build / build (push) Successful in 1m58s
把子应用接入从「人背文档 + 逐字对齐字符串」变成「向导引导 + 机器生成正确配置 + 每步可自检」。 - Onboarding.vue:五步(应用档案 / 工程接入 / 回调注册 / 流程编排 / 联调验收),步骤条可任意跳转不强制线性 - STEP② 配置生成器为核心:按「端点形态(平台验签式/X-Flw 式)× 接入场景(新接入/存量升级)× ① 的 context-path/bizType」实时生成 yh.flow-callback 块、Maven 依赖、FlowCallbackHandler 骨架。X-Flw 式追加「端点第二段非 oapi、必须显式 callback-url 直连」警示;无 ctx 时 base-path 整行注释。对齐规范 §7.2 推导式 - 前置条件清单把散落文档里的前置变成可勾选待办;Redis 公共组件与 trust-registry 两条高危静默断点红底强调 - STEP③ 登记检查:私网/开发机地址、base_path 漏填、与声明的 target 不一致逐条判定给修复建议;「发一条 flow.ping」复用 callbackProbe - STEP④ 变量契约显性化:解析 contentJson 取 CONDITION 节点出边表达式,与已知变量(近 50 条办件 formData 聚合 + 内置 8 个,口径同编辑器)核对,引用从未出现的键即警示「运行时会挂起」 - STEP⑤ 六项自检 + 一键生成 markdown 自检报告(纯前端拼装不落库) 数据源全部复用已有接口(appList/regList/callbackProbe/defList/defGet/callbackLogs/adminInstances),零新增表、零新增写接口。路由 /admin/onboarding(modId 108,需 UserBase 配 app_module)。vite build 通过,产物已构建进 front/dist/。
107 lines
5.2 KiB
TypeScript
107 lines
5.2 KiB
TypeScript
import type { RouteRecordRaw } from "vue-router";
|
||
|
||
/**
|
||
* 流程中心路由。菜单自 2026-09-15 起改由 UserBase app_module 下发(与 Notice/svc-hall/事项库一致,
|
||
* 层级经 BoaModule.children 承载),本表仍是路由的唯一来源,两处需保持对齐:
|
||
* ① path 必须与 app_module.path 逐字一致(layout 优先按 path 匹配菜单高亮,modId 仅兜底);
|
||
* ② meta.modId = 对应 app_module.custom_id(后端 FlowBaseController 取 custom_id 作 modId)。
|
||
* 数据/授权维护见 UserBase 侧「模块管理」与 flow-center接入UserBase菜单.sql。
|
||
* 办理页 /task/:taskId 为 UserMsg jumpPath 落地页(不挂菜单)。
|
||
* <p>
|
||
* 详情/深链页(不挂菜单)通过 meta.parentId 关联父级菜单(UserBase 同款范式):左侧菜单保持
|
||
* 父级高亮、面包屑补全"父页>本页"。同一详情页可能被多个列表进入(如办件详情既可从"我提交的"
|
||
* 也可从"办件记录"),此时列表页跳转带 ?pid=<父菜单modId> 动态覆盖 meta.parentId 静态默认。
|
||
*/
|
||
const routes: RouteRecordRaw[] = [
|
||
{
|
||
path: "/workbench",
|
||
name: "flow_workbench",
|
||
component: () => import("@/views/flow/Workbench.vue"),
|
||
meta: { title: "工作台", modId: 100 },
|
||
},
|
||
{
|
||
path: "/task/:taskId",
|
||
name: "flow_task_handle",
|
||
component: () => import("@/views/flow/TaskHandle.vue"),
|
||
// 父级默认指向我的待办所在的"工作台"(外部消息落地页无 pid,走静态默认)
|
||
meta: { title: "任务办理", parentId: 100 },
|
||
},
|
||
{
|
||
path: "/instance/:instanceId",
|
||
name: "flow_instance_detail",
|
||
component: () => import("@/views/flow/InstanceDetail.vue"),
|
||
meta: { title: "办件详情", parentId: 102 },
|
||
},
|
||
{
|
||
// 流程示意图深链页(不挂菜单,同 /task/:taskId 模式);跨应用入口 window.open 整页跳转
|
||
path: "/diagram",
|
||
name: "flow_diagram",
|
||
component: () => import("@/views/flow/FlowDiagram.vue"),
|
||
meta: { title: "流程示意图", parentId: 103 },
|
||
},
|
||
{
|
||
path: "/admin/instances",
|
||
name: "flow_admin_instances",
|
||
component: () => import("@/views/flow/admin/Instances.vue"),
|
||
meta: { title: "办件记录", modId: 102 },
|
||
},
|
||
{
|
||
path: "/admin/defs",
|
||
name: "flow_admin_defs",
|
||
component: () => import("@/views/flow/admin/Defs.vue"),
|
||
meta: { title: "流程定义", modId: 103 },
|
||
},
|
||
{
|
||
// 流程编辑器(钉钉式卡片流;深链页不挂菜单,同 /diagram 模式)。
|
||
// query:空=新建;id=编辑草稿;id+baseGuid=升版本(载入该版内容为底稿)
|
||
path: "/admin/defs/editor",
|
||
name: "flow_def_editor",
|
||
component: () => import("@/views/flow/admin/def-editor/index.vue"),
|
||
meta: { title: "流程编辑器", parentId: 103 },
|
||
},
|
||
{
|
||
// 回调管理(原 104 办理人映射已于 2026-10-10 下线,由 应用设置-科室管理 承载)
|
||
path: "/admin/callbacks",
|
||
name: "flow_admin_callbacks",
|
||
component: () => import("@/views/flow/admin/Callbacks.vue"),
|
||
meta: { title: "回调管理", modId: 105 },
|
||
},
|
||
{
|
||
// 条件路由维护(flw_router 注册表,2026-09-24):菜单需在 UserBase 侧配置同 path 的 app_module
|
||
path: "/admin/routers",
|
||
name: "flow_admin_routers",
|
||
component: () => import("@/views/flow/admin/Routers.vue"),
|
||
meta: { title: "条件路由", modId: 106 },
|
||
},
|
||
{
|
||
// 应用设置(2026-10-10 四议题):tab1 应用管理(flw_app 白名单,学校池同步);
|
||
// tab2 科室管理(Part E 填充)。菜单需在 UserBase 侧配置同 path 的 app_module(custom_id=107)
|
||
path: "/admin/app-setting",
|
||
name: "flow_admin_app_setting",
|
||
component: () => import("@/views/flow/admin/AppSetting.vue"),
|
||
meta: { title: "应用设置", modId: 107 },
|
||
},
|
||
{
|
||
// 接入向导(2026-10-15 议题二 P1):五步引导 + 配置生成器(源头消灭配置形态静默断点)。
|
||
// 与「应用设置-对接健康度」互补:向导管接入时一次引导,健康度管对接后持续体检。
|
||
// 菜单需在 UserBase 侧配置同 path 的 app_module(custom_id=108)
|
||
path: "/admin/onboarding",
|
||
name: "flow_admin_onboarding",
|
||
component: () => import("@/views/flow/admin/Onboarding.vue"),
|
||
meta: { title: "接入向导", modId: 108 },
|
||
},
|
||
{
|
||
// 办件进度嵌入页(iframe 免签嵌入,App.vue 对 /embed/* 前缀旁路 CAS 与 layout):
|
||
// 不挂菜单、无 parentId(子应用 Drawer 内打开,非管理面导航);query.token 必填
|
||
path: "/embed/instance",
|
||
name: "flow_embed_instance",
|
||
component: () => import("@/views/flow/EmbedInstance.vue"),
|
||
meta: { title: "办件进度" },
|
||
},
|
||
{ path: "/", redirect: "/workbench" },
|
||
// 兜底:UserMsg jumpPath / bizUrl 等外部深链若落到未登记路由,避免 no-match 静默空白页
|
||
{ path: "/:pathMatch(.*)*", redirect: "/workbench" },
|
||
];
|
||
|
||
export default routes;
|