4.2 KiB
4.2 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | P26-0 | P26执行合同刷新建档与范围收缩 | 创建并校验门户 SSO 与 IM 入口 refresh 合同 CSV 并冻结本轮只做统一入口 OIDC 和深链体验的边界 | refresh CSV 通过校验且明确本期只做海音达内部统一入口和轻量通知治理 不做消息卡片回调审批 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-21_10-40-00-p26-portal-sso-im-entry-refresh.csv | manual | TODO | TODO | TODO | issues/2026-03-21_10-40-00-p26-portal-sso-im-entry-refresh.csv|issues/2026-03-21_09-20-00-p26-portal-sso-im-entry.csv|server/src/routes/auth.js|client/src/pages/LoginPage.tsx | [] | supersede 2026-03-21_09-20-00-p26-portal-sso-im-entry.csv 并把通知模板路由中心收缩为轻量治理 |
| 3 | P26-1 | OIDC provider 列表与回退登录 | 补齐 OIDC provider 列表 账号绑定与本地密码回退登录的统一入口 | 支持查询 provider 列表 发起 OIDC 登录 回调绑定和密码登录回退且登录页展示一致 | cd server && npm test -- tests/unit/routes/notifications.test.js && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | server/src/routes/auth.js|server/src/services/oidc/index.js|server/src/config.js|client/src/pages/LoginPage.tsx|client/src/auth/AuthContext.tsx|client/src/api/auth.ts | ["P26-0"] | 优先复用 openid-client 与现有登录体系 不新增厂商专属认证栈 |
| 4 | P26-2 | Portal Home 最小统一入口 | 新增统一门户首页展示我的待办 我的申请 预算预警 公告与快捷入口 | 门户首页按权限显示卡片并从单一路径进入审批 财务 采购 资产 差旅常用入口 | cd server && npm test -- tests/unit/routes/workflow.permissions.test.js tests/unit/routes/ai.test.js && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | server/src/routes/portal.js|server/src/routes/dashboard.js|client/src/pages/PortalHomePage.tsx|client/src/layouts/AppShellLayout.tsx|client/src/router/index.tsx|client/src/api/dashboard.ts | ["P26-1"] | Portal Home 优先聚合现有待办 看板和通知数据 不新建复杂门户后端 |
| 5 | P26-3 | IM 深链统一与移动分流 | 将审批 付款 异常 催办统一为签名 deep link 和标准 targetPath 并覆盖移动入口 | 通知消息统一产出签名 targetPath 且过期校验 跨端跳转和移动分流语义一致 | cd server && npm test -- tests/unit/routes/notifications.test.js tests/unit/services/imRouting.test.js tests/unit/services/imEnqueue.test.js && ./scripts/regression-im-notifier.sh && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | server/src/routes/notifications.js|server/src/services/notifications|server/src/constants/notificationTypes.js|client/src/pages/NotificationsPage.tsx|client/src/router/index.tsx|client/src/pages/MobileApprovalsPage.tsx | ["P26-2"] | 继续坚持页面处理型深链 不引入 IM 回调审批 |
| 6 | P26-4 | 轻量通知模板与路由策略 | 补齐通知模板和路由策略的最小治理能力以支持渠道禁用 降级和受众配置 | 通知模板和路由策略可配置且渠道失败时可降级到次级通道或站内通知 但不引入复杂编排 | cd server && npm test -- tests/unit/routes/notifications.test.js tests/unit/services/imRouting.test.js && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | server/src/routes/notifications.js|server/src/services/notifications/channelConfig.js|server/src/services/notifications/imRouting.js|client/src/pages/NotificationChannelsPage.tsx|client/src/api/notificationChannels.ts | ["P26-3"] | 仅做轻量模板和路由治理 不扩展飞书钉钉生产通道 |
| 7 | P26-5 | P26回归与三个月里程碑收口 | 完成统一入口 OIDC 和 IM 深链后的三个月阶段收口 | 门户首页 OIDC 和 IM 深链在试点部门可用且 server client 主回归绿灯 | cd server && npm test && ./scripts/regression-im-notifier.sh && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | issues/2026-03-21_10-40-00-p26-portal-sso-im-entry-refresh.csv|server/scripts/regression-im-notifier.sh|server/scripts/regression-all.sh|client/src/pages/PortalHomePage.tsx | ["P26-4"] | P26-lite 为内部 OA 第二优先级阶段 |