wps加载项(vue)的项目结构和交互

147 阅读2分钟

一、项目结构全景图

├── public/                                    # 静态资源目录
│   └── ribbon.xml                            # WPS功能区定义文件
├── src/                                      # 源代码目录
│   ├── assets/                              # 静态资源文件
│   │   ├── base.css                         # 基础样式文件
│   │   └── main.css                         # 主样式文件
│   ├── components/                          # Vue组件目录
│   │   ├── js/                             # JavaScript逻辑文件
│   │   │   ├── dialog.js                   # 对话框交互逻辑
│   │   │   ├── systemdemo.js               # 系统演示功能
│   │   │   ├── taskpane.js                 # 任务窗格控制逻辑
│   │   │   └── util.js                     # 工具函数库
│   │   ├── Dialog.vue                      # 对话框界面组件
│   │   ├── Root.vue                        # 根页面组件
│   │   ├── TaskPane.vue                    # 任务窗格界面组件
│   │   └── ribbon.js                       # 功能区交互逻辑
│   ├── router/                             # 路由配置目录
│   │   └── index.js                        # Vue Router配置文件
│   ├── App.vue                             # Vue根组件
│   └── main.js                             # Vue应用入口文件
├── .eslintrc.cjs                               # ESLint 配置文件
├── .prettierrc.json                        # Prettier 代码格式化配置文件
├── README.md                               # 项目说明文档
├── index.html                              # HTML入口文件
├── jsconfig.json                           # JavaScript配置文件
├── manifest.xml                            # WPS插件清单文件
├── package-lock.json                       # npm依赖锁定文件
├── package.json                            # 项目配置和依赖声明
└── vite.config.js                          # Vite构建配置文件

二、项目交互关系图

    A[manifest.xml] --> B[WPS Office]
    B --> C[ribbon.xml]
    C --> D[功能区按钮]
    D --> E[ribbon.js]
    E --> F{操作类型}
    F -->|对话框| G[Dialog.vue]
    F -->|任务窗格| H[TaskPane.vue]
    F -->|其他| I[其他功能]

    G --> J[dialog.js]
    H --> K[taskpane.js]

    J --> L[WPS JSAPI]
    K --> L

    E --> L

    M[index.html] --> N[main.js]
    N --> O[Vue应用]
    O --> P[App.vue]
    P --> Q[Vue Router]
    Q --> G
    Q --> H
    Q --> R[Root.vue]

    S[public/静态资源] --> B
    T[src/源码] --> O
   

1755511725490.jpg

三、核心模块功能总结

1. WPS 集成层

  • manifest.xml: 插件入口配置,定义功能区文件
  • ribbon.xml: 功能区界面定义,配置按钮和事件
  • ribbon.js: 功能区事件处理,协调WPS API调用

2. Vue 应用层

  • main.js: 应用入口,初始化Vue实例和路由
  • App.vue: 根组件,提供路由视图容器
  • router/index.js: 路由配置,管理页面跳转

3. 界面组件层

  • Dialog.vue: 对话框界面,提供模态窗口功能
  • TaskPane.vue: 任务窗格界面,提供侧边栏功能
  • Root.vue: 默认首页界面

4. 业务逻辑层

  • dialog.js: 对话框业务逻辑,处理文档操作
  • taskpane.js: 任务窗格业务逻辑,控制窗格行为
  • systemdemo.js: 系统集成功能演示
  • util.js: 工具函数库

四、数据流与控制流

1. 用户操作流程

用户点击功能区按钮
  ↓
ribbon.js 接收事件
  ↓
根据按钮类型执行不同操作
  ↓
调用 WPS JSAPI 或创建界面
  ↓
Vue 组件渲染界面
  ↓
用户与界面交互
  ↓
Vue 组件调用 JS 逻辑
  ↓
JS 逻辑调用 WPS API
  ↓
WPS 执行操作并返回结果
  ↓
Vue 响应式更新界面

2. WPS API 调用链

Vue组件方法调用
  ↓
JS逻辑模块处理
  ↓
window.Application 对象调用
  ↓
WPS 应用程序执行
  ↓
结果返回给 JS 模块
  ↓
Vue 组件状态更新
  ↓
界面自动刷新