Browse Source

chore: 微应用重构

master
wangxiang 2 years ago
parent
commit
6d73129e17
  1. 12
      src/enums/microAppEnum.ts
  2. 8
      src/qiankun/index.ts
  3. 2
      src/qiankun/state.ts
  4. 6
      src/store/modules/microApp.ts
  5. 6
      src/views/workflow/extension/form/helper/WorkflowFormDesign.vue

12
src/enums/microAppEnum.ts

@ -7,17 +7,17 @@
export enum GlStateEnum { export enum GlStateEnum {
// 表单设计器 // 表单设计器
FORM_DESIGN_PROPS_KEY = 'MICRO_FORM_DESIGN_PROPS_KEY', FORM_DESIGN_APP_PROPS_KEY = 'MICRO_FORM_DESIGN_APP_PROPS_KEY',
FORM_DESIGN_EMIT_KEY = 'MICRO_FORM_DESIGN_EMIT_KEY', FORM_DESIGN_APP_EMIT_KEY = 'MICRO_FORM_DESIGN_APP_EMIT_KEY',
// 工作流设计器 // 工作流设计器
WORKFLOW_DESIGN_PROPS_KEY = 'MICRO_WORKFLOW_DESIGN_PROPS_KEY', WORKFLOW_DESIGN_APP_PROPS_KEY = 'MICRO_WORKFLOW_DESIGN_APP_PROPS_KEY',
WORKFLOW_DESIGN_EMIT_KEY = 'MICRO_WORKFLOW_DESIGN_EMIT_KEY', WORKFLOW_DESIGN_APP_EMIT_KEY = 'MICRO_WORKFLOW_DESIGN_APP_EMIT_KEY',
} }
export enum FORM_DESIGN_COMPONENTS { export enum FORM_DESIGN_APP_COMPONENTS {
DESIGN = 'MicroDesign', DESIGN = 'MicroDesign',
PREVIEW = 'MicroPreview' PREVIEW = 'MicroPreview'
} }
export enum WORKFLOW_DESIGN_COMPONENTS { export enum WORKFLOW_DESIGN_APP_COMPONENTS {
} }

8
src/qiankun/index.ts

@ -54,10 +54,10 @@ function registerApps() {
addGlobalUncaughtErrorHandler((event) => console.log(event)); addGlobalUncaughtErrorHandler((event) => console.log(event));
// 初始化全局通信 // 初始化全局通信
microState = initGlState({ microState = initGlState({
[GlStateEnum.FORM_DESIGN_PROPS_KEY]: {}, [GlStateEnum.FORM_DESIGN_APP_PROPS_KEY]: {},
[GlStateEnum.FORM_DESIGN_EMIT_KEY]: {}, [GlStateEnum.FORM_DESIGN_APP_EMIT_KEY]: {},
[GlStateEnum.WORKFLOW_DESIGN_PROPS_KEY]: {}, [GlStateEnum.WORKFLOW_DESIGN_APP_PROPS_KEY]: {},
[GlStateEnum.WORKFLOW_DESIGN_EMIT_KEY]: {}, [GlStateEnum.WORKFLOW_DESIGN_APP_EMIT_KEY]: {},
}); });
// 启动qiankun // 启动qiankun
start({ start({

2
src/qiankun/state.ts

@ -37,7 +37,7 @@ export function initGlState(state?: Recordable): MicroAppStateActions {
const microAppStore = useMicroAppStore(); const microAppStore = useMicroAppStore();
const actions = initGlobalState(state); const actions = initGlobalState(state);
actions.onGlobalStateChange((newState, prev) => { actions.onGlobalStateChange((newState, prev) => {
const { [GlStateEnum.FORM_DESIGN_EMIT_KEY]: formDesignEmit, [GlStateEnum.WORKFLOW_DESIGN_EMIT_KEY]: workflowDesignEmit } = newState; const { [GlStateEnum.FORM_DESIGN_APP_EMIT_KEY]: formDesignEmit, [GlStateEnum.WORKFLOW_DESIGN_APP_EMIT_KEY]: workflowDesignEmit } = newState;
!isEmpty(formDesignEmit) && microAppStore.setFormDesignApp(formDesignEmit); !isEmpty(formDesignEmit) && microAppStore.setFormDesignApp(formDesignEmit);
!isEmpty(workflowDesignEmit) && microAppStore.setWorkflowDesignApp(workflowDesignEmit); !isEmpty(workflowDesignEmit) && microAppStore.setWorkflowDesignApp(workflowDesignEmit);
}); });

6
src/store/modules/microApp.ts

@ -7,7 +7,7 @@
import { defineStore } from 'pinia'; import { defineStore } from 'pinia';
import { store } from '/@/store'; import { store } from '/@/store';
import { merge } from 'lodash-es'; import { merge } from 'lodash-es';
import { FORM_DESIGN_COMPONENTS, WORKFLOW_DESIGN_COMPONENTS } from '/@/enums/microAppEnum'; import { FORM_DESIGN_APP_COMPONENTS, WORKFLOW_DESIGN_APP_COMPONENTS } from '/@/enums/microAppEnum';
interface MicroAppState { interface MicroAppState {
formDesignApp: Recordable; formDesignApp: Recordable;
@ -22,10 +22,10 @@ export const useMicroAppStore = defineStore({
}), }),
getters: { getters: {
getFormDesignApp(): Function { getFormDesignApp(): Function {
return (component: FORM_DESIGN_COMPONENTS) => this.formDesignApp[component] || {}; return (component: FORM_DESIGN_APP_COMPONENTS) => this.formDesignApp[component] || {};
}, },
getWorkflowDesignApp(): Function { getWorkflowDesignApp(): Function {
return (component: WORKFLOW_DESIGN_COMPONENTS) => this.workflowDesignApp[component] || {}; return (component: WORKFLOW_DESIGN_APP_COMPONENTS) => this.workflowDesignApp[component] || {};
} }
}, },
actions: { actions: {

6
src/views/workflow/extension/form/helper/WorkflowFormDesign.vue

@ -25,7 +25,7 @@
import { apps } from '/@/qiankun/apps'; import { apps } from '/@/qiankun/apps';
import { addFormDefinitionJson, editFormDefinitionJson, getFormDefinitionJson } from '/@/api/platform/workflow/extension/controller/formDefinitionJson'; import { addFormDefinitionJson, editFormDefinitionJson, getFormDefinitionJson } from '/@/api/platform/workflow/extension/controller/formDefinitionJson';
import { FormDefinitionJson } from '/@/api/platform/workflow/extension/entity/formDefinitionJson'; import { FormDefinitionJson } from '/@/api/platform/workflow/extension/entity/formDefinitionJson';
import { FORM_DESIGN_COMPONENTS } from '/@/enums/microAppEnum'; import { FORM_DESIGN_APP_COMPONENTS } from '/@/enums/microAppEnum';
interface TableState { interface TableState {
tag: string; tag: string;
@ -60,7 +60,7 @@
props: { props: {
...getSubDefineProps(), ...getSubDefineProps(),
// props // props
[GlStateEnum.FORM_DESIGN_PROPS_KEY]: formDesignProps [GlStateEnum.FORM_DESIGN_APP_PROPS_KEY]: formDesignProps
} }
}), { sandbox: { experimentalStyleIsolation: true }}); }), { sandbox: { experimentalStyleIsolation: true }});
// //
@ -91,7 +91,7 @@
/** 处理弹出框提交 */ /** 处理弹出框提交 */
async function handleSubmitForm(status: string) { async function handleSubmitForm(status: string) {
try { try {
const formDesignApp: Recordable = microAppStore.getFormDesignApp(FORM_DESIGN_COMPONENTS.DESIGN), const formDesignApp: Recordable = microAppStore.getFormDesignApp(FORM_DESIGN_APP_COMPONENTS.DESIGN),
formRef: Recordable = formDesignApp.getRef().$refs['form-design']; formRef: Recordable = formDesignApp.getRef().$refs['form-design'];
state.form.json = formRef.getWidgetFormJson(); state.form.json = formRef.getWidgetFormJson();
state.form.status = status; state.form.status = status;

Loading…
Cancel
Save