feat(i7): async webhook delivery queue, OPS RBAC, UI role routing; docs and runbook

- Architect: I7_DESIGN.md, I7_IMPLEMENTATION_REVIEW.md; parallel index + track B
- Backend: @EnableMethodSecurity; OPS login; CallbackInbox PreAuthorize; IntegrationCatalog triple role
- Webhook: V2 webhook_platform_delivery; planner + scheduler + single-shot forwarder; tests
- Frontend: Pinia hasAnyRole; MainLayout/HomeView/router for OPS vs dev
- Runbook §10.5 delivery config

Made-with: Cursor
This commit is contained in:
2026-04-06 23:01:10 +08:00
parent ce49fe143c
commit 5fe7181b35
33 changed files with 936 additions and 200 deletions
+5 -5
View File
@@ -12,7 +12,7 @@ const routes = [
path: "",
name: "home",
component: () => import("../views/HomeView.vue"),
meta: { roles: ["SYS_ADMIN", "DEVELOPER"] },
meta: { roles: ["SYS_ADMIN", "DEVELOPER", "OPS"] },
},
{
path: "customers",
@@ -66,25 +66,25 @@ const routes = [
path: "integration/environments",
name: "integration-environments",
component: () => import("../views/IntegrationEnvironmentsView.vue"),
meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "集成环境" },
meta: { roles: ["SYS_ADMIN", "DEVELOPER", "OPS"], title: "集成环境" },
},
{
path: "integration/product-lines",
name: "integration-product-lines",
component: () => import("../views/IntegrationProductLinesView.vue"),
meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "产品线" },
meta: { roles: ["SYS_ADMIN", "DEVELOPER", "OPS"], title: "产品线" },
},
{
path: "callbacks/:id",
name: "callback-inbox-detail",
component: () => import("../views/CallbackInboxDetailView.vue"),
meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "Callback 详情" },
meta: { roles: ["SYS_ADMIN", "OPS"], title: "Callback 详情" },
},
{
path: "callbacks",
name: "callback-inbox",
component: () => import("../views/CallbackInboxView.vue"),
meta: { roles: ["SYS_ADMIN", "DEVELOPER"], title: "Callback 收件箱" },
meta: { roles: ["SYS_ADMIN", "OPS"], title: "Callback 收件箱" },
},
{
path: "contracts/new",