# 完整项目目录
# 代码目录
esign-plugin-demo
│ .env
│ .eslintrc.js // eslint 配置文件
│ .gitignor // git上传配置文件
│ babel.config.js // babel 配置文件
│ lerna.json // lerna.json
│ package.json // package.json
│ README.md // 说明文档
│ tsconfig.json // ts 配置文件
│ vue.config.js // vue 配置文件
│ yarn.lock
├─demo-event-api // 指令集
│ index.ts
│ README.md
│
├─pluginManager // 插件引用方式管理目录
│ index.ts
│
├─plugins // 插件目录(必选)
│ │ config.json // 插件配置文件目录
│ │ README.md
│ │
│ ├─base // 基础业务域目录
│ │ ├─dynamic-routes-plugin // 动态路由插件
│ │ │ │ package.json // 插件的 package.json (用于插件打包,pkg.name = base-hello-world-plugin)
│ │ │ │
│ │ │ ├─package.json // 插件依赖
│ │ │ └─src // 插件源文件目录
│ │ │ │ index.ts
│ │ │ ├─pages
│ │ │ │ │ HelloWorld.vue
│ │ │ │ ├─index
│ │ │ │ index.less
│ │ │ │ index.tsx
│ │ │ └─plugin // 插件源码目录
│ │ │ index.ts // 插件源码
│ │ │
│ │ ├─events-plugin // 事件交互插件
│ │ │ │─package.json
│ │ │ │
│ │ │ └─src
│ │ │ │ index.ts
│ │ │ ├─components // UI组件目录
│ │ │ │ body.tsx
│ │ │ │ header.tsx
│ │ │ │ index.module.less
│ │ │ └─plugin
│ │ │ events-body-plugin.ts
│ │ │ events-header-plugin.ts
│ │ │
│ │ ├─flows-plugin // 流程类插件(一对多)
│ │ │ │─package.json
│ │ │ └─src
│ │ │ │ index.ts
│ │ │ ├─components
│ │ │ │ ├─Flow1Component
│ │ │ │ │ index.module.less
│ │ │ │ │ index.tsx
│ │ │ │ ├─Flow3Component
│ │ │ │ │ index.module.less
│ │ │ │ │ index.tsx
│ │ │ │ └─FlowBaseComponent
│ │ │ │ index.module.less
│ │ │ │ index.tsx
│ │ │ └─plugin
│ │ │ flows-1-plugin.ts
│ │ │ flows-3-plugin.ts
│ │ │ flows-base-plugin.ts
│ │ │
│ │ ├─hello-world-plugin // UI类插件(一对一)
│ │ │ │─package.json
│ │ │ └─src
│ │ │ │ index.ts
│ │ │ ├─components
│ │ │ │ HelloWorld.vue
│ │ │ └─plugin
│ │ │ index.ts
│ │ │
│ │ ├─logic-plugin // 逻辑插件
│ │ │ │ .esignrc.js
│ │ │ │─package.json
│ │ │ │ tsconfig.json
│ │ │ └─src
│ │ │ │ index.ts
│ │ │ │ typings.d.ts
│ │ │ ├─logics //逻辑目录
│ │ │ │ index.ts
│ │ │ └─plugin
│ │ │ index.ts
│ │ │
│ │ ├─register-plugin // 扩展Hooks
│ │ │ │─package.json
│ │ │ └─src
│ │ │ │ index.ts
│ │ │ ├─components
│ │ │ │ body.tsx
│ │ │ │ index.module.less
│ │ │ │ workflow.tsx
│ │ │ └─plugin
│ │ │ index.ts
│ │ │
│ │ ├─store-event-plugin // 数据sdk
│ │ │ │─package.json
│ │ │ └─src
│ │ │ │ index.ts
│ │ │ ├─components
│ │ │ │ index.module.less
│ │ │ │ index.tsx
│ │ │ └─plugin
│ │ │ index.ts
│ │
│ ├─demo //demo
│ │ └─flows-plugin
│ │ │─package.json
│ │ └─src
│ │ │ index.ts
│ │ ├─components
│ │ │ ├─Flow1Component
│ │ │ │ index.module.less
│ │ │ │ index.tsx
│ │ │ ├─Flow2Component
│ │ │ │ index.module.less
│ │ │ │ index.tsx
│ │ │ └─Flow3Component
│ │ │ index.module.less
│ │ │ index.tsx
│ │ └─plugin
│ │ flows-1-plugin.ts
│ │ flows-2-plugin.ts
│ │ flows-3-plugin.ts
│ │
│ └─hangzhou //业务域
│ └─ui-header-plugin
│ │─package.json
│ └─src
│ │ index.ts
│ ├─components
│ │ Header.vue
│ └─plugin
│ index.ts
│
├─public
│ │ favicon.ico
│ │ index.html
│
└─src // demo 目录(vue项目目录结构)
│ App.vue
│ main.ts
├─assets
│ logo.png
├─js
│ loaderPlugin //插件加载处理
├─router
│ index.ts
│
├─store // vue store目录
│ │ index.ts
│ │
│ └─modules
│ pluginData.ts
├─utils
│ lazy.ts
│
└─views
EventView.vue // 事间交互
FlowView.vue // 流程
HomeView.vue // UI类
HomeView2.vue
LogicView.vue // 逻辑
RegisterHooksView.vue // 扩展Hooks
StoreView.vue // 数据sdk
UIView.vue // UI类
# 打包目录
dist
│ favicon.ico
│ index.html
├─css
│ app.2a9f0b2f.css
│ test.2b43d5ff.css
├─js
│ app.e0d4b820.js
│ app.e0d4b820.js.map
│ chunk-vendors.a3fbc213.js
│ chunk-vendors.a3fbc213.js.map
│ events.36c56b02.js
│ events.36c56b02.js.map
│ flowView.8fa81784.js
│ flowView.8fa81784.js.map
│ registerHooks.f41f3755.js
│ registerHooks.f41f3755.js.map
│ test.8ffea619.js
│ test.8ffea619.js.map
└─plugins
│ config.json
├─base
│ ├─dynamic-routes-plugin
│ │ index.0.0.1.js
│ ├─events-plugin
│ │ index.0.0.1.js
│ ├─flows-plugin
│ │ index.0.0.1.js
│ ├─hello-world-plugin
│ │ index.0.0.1.js
│ ├─logic-plugin
│ │ index.0.0.1.js
│ ├─register-plugin
│ │ index.0.0.1.js
│ └─store-event-plugin
│ index.0.0.1.js
├─demo
│ └─flows-plugin
│ index.0.0.1.js
└─hangzhou