import type { RouteRecordRaw } from "vue-router"; /** * 办事大厅路由(V2.0 Part B.6)。 * * modId 是菜单 ↔ 路由的稳定契约(UserBase app_module 按本应用 appKey 配置), * 新 modId 提案(旧 CMS 21/22 随迁移退役): * 23=办事事项 24=服务字典 25=表单管理 26=办件记录 27=我的办件 * 发起页 /apply 与详情 /apply-detail 为参数页,不挂菜单(parentId 仅作面包屑归属)。 */ const routes: RouteRecordRaw[] = [ // 管理面:办事事项 { path: "/svc/item", name: "svc_item_list", component: () => import("@/views/svc/ServiceItemList.vue"), meta: { title: "办事事项", modId: 23 }, }, { path: "/svc/item/edit", name: "svc_item_edit", component: () => import("@/views/svc/ServiceItemEdit.vue"), meta: { title: "编辑事项", modId: 28, parentId: 23 }, }, // 管理面:服务字典 { path: "/svc/dict", name: "svc_dict", component: () => import("@/views/svc/ServiceDictManage.vue"), meta: { title: "服务字典", modId: 24 }, }, // 管理面:表单管理 { path: "/svc/form", name: "svc_form", component: () => import("@/views/svc/ServiceFormManage.vue"), meta: { title: "表单管理", modId: 25 }, }, // 管理面:办件记录 { path: "/svc/apply", name: "svc_apply_admin", component: () => import("@/views/svc/ApplyManage.vue"), meta: { title: "办件记录", modId: 26 }, }, // 用户面:我的办件 { path: "/my", name: "svc_apply_my", component: () => import("@/views/svc/ApplyMy.vue"), meta: { title: "我的办件", modId: 27 }, }, // 用户面:发起(CMS 指南页"我要办理"跳入:/#/apply?siteCode=&itemCode=) { path: "/apply", name: "svc_apply", component: () => import("@/views/svc/Apply.vue"), meta: { title: "在线办理", parentId: 27 }, }, // 用户面:办件详情 { path: "/apply-detail", name: "svc_apply_detail", component: () => import("@/views/svc/ApplyDetail.vue"), meta: { title: "办件详情", parentId: 27 }, }, // 应用入口默认页(pcUrl 直达时落到我的办件) { path: "/", redirect: "/my" }, // 兜底:外部深链(bizUrl 等)若拼成路径参数形态(/#/apply-detail/12)会 no-match, // catch-all 避免静默空白页(回落我的办件,用户可自行进详情) { path: "/:pathMatch(.*)*", redirect: "/my" }, ]; export default routes;