4.7 KiB
4.7 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | P26-0 | P26执行合同建档与范围冻结 | 创建并校验门户 SSO 与 IM 入口执行合同 CSV 并冻结本轮统一入口与单点登录边界 | CSV 通过校验且明确本期只做 OIDC 统一入口与深链通知 不做消息卡片回调审批 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-21_09-20-00-p26-portal-sso-im-entry.csv | manual | TODO | TODO | TODO | issues/2026-03-21_09-20-00-p26-portal-sso-im-entry.csv|server/src/routes/auth.js|client/src/pages/LoginPage.tsx|client/src/router/index.tsx | [] | P26 固定复用现有 openid-client 能力和 targetPath 语义 不另起认证栈 |
| 3 | P26-1 | SSO OIDC 提供方注册与登录页统一 | 补齐 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 依赖 不新增厂商专属 SDK |
| 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 深链通知 2.0 | 将审批 付款 异常 催办统一为签名 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 | 文档矩阵与回归同步 | 同步门户 SSO IM 深链能力到规格书 边界文档 Feature Matrix 与回归清单 | 规格书 边界文档 Feature Matrix 与回归清单对 Portal SSO IM 深链描述一致且事实源可追溯 | python3 scripts/validate-feature-matrix.py && git diff --check | manual | TODO | TODO | TODO | docs/requirements-specification.md|docs/integration-boundaries.md|docs/feature-matrix.md|docs/mobile/pwa-regression-checklist.md|issues/2026-03-21_09-20-00-p26-portal-sso-im-entry.csv | ["P26-4"] | 仅把已承诺的 OIDC 和深链入口纳入文档 不提前登记厂商扩展 backlog |
| 8 | P26-6 | P26三个月里程碑验收 | 完成门户首页 SSO 统一入口和 IM 深链后的三个月阶段收口 | 门户 SSO 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_09-20-00-p26-portal-sso-im-entry.csv|server/scripts/regression-im-notifier.sh|server/scripts/regression-all.sh|client/src/pages/PortalHomePage.tsx | ["P26-5"] | P26 是三个月里程碑收口阶段 验收以试点部门可用为准 |