Vibot 审批系统从 MVP 到完善的演进计划
字数
1193 字
阅读时间
6 分钟
参考文档:
docs/prd.md(Epic 5 与相关域)、docs/architecture.md(Supabase + Vue 架构)、docs/database-schema.md&docs/database/approvals/*.md(完整数据模型)、docs/database/core/*.md(用户/RBAC)。本文定义 MVP 之后的四阶段路线,使自动化开发代理可据此查阅相关文件并实施。
阶段总览
| 阶段 | 目标 | 关键交付 | 相关目录 |
|---|---|---|---|
| Phase 1 模板化 | 支持多类型审批、配置化流程 | form/approval 模板 & 流程规则 | docs/database/approvals/form_templates.md、approval_templates.md、approval_workflow_rules.md |
| Phase 2 通知/SLA | 自动提醒、钉钉/邮件、SLA 升级 | notifications + Edge Functions + 钉钉集成 | docs/database/approvals/notifications.md、notification_channels.md、supabase/functions/* |
| Phase 3 多租户运营 | 三家公司上线、超级视图、公司切换 | token company 切换、跨租户报表 | docs/architecture.md 多租户章节、docs/prd.md 平台目标 |
| Phase 4 自动化/分析 | 批量审批、BI、目标联动 | Flow 自动决策、审批 KPI 报表 | docs/prd.md Epic 5/8、docs/database/goals/*.md |
Phase 1:模板化 & 流程配置
目标:引入表单模板、审批模板与流程规则,满足 docs/prd.md Epic 5 Story 5.3 的“可视化配置”。
工作项
- 表单/模板体系
- 启用
form_templates、form_template_revisions、form_instances(见docs/database/approvals/form_templates.md)。 - 实现模板管理 UI:
apps/web-antd/src/views/approvals/templates(新建)显示 JSON Schema/UISchema。
- 启用
- 审批模板
approval_templates(参考docs/database/approvals/approval_templates.md)联动默认流程/表单/通知配置。- 新建 Edge Function
create-request-from-template,根据模板填充approval_requests + form_instances。
- 流程规则与审批人配置
approval_workflow_rules,approval_approversUI 与 API;在apps/web-antd/src/views/approvals/designer提供节点配置。- 扩展提交函数:根据流程规则生成多级
approval_request_assignments。
- 文档与迁移
- 更新
docs/implementation-guide.md“模板化阶段”章节。 supabase db diff -f phase1-templates。
- 更新
Phase 2:通知、SLA 与钉钉
目标:满足 docs/prd.md Epic 5 + Epic 9(数据与集成)对提醒/外部集成的要求。
工作项
- SLA 配置与触发器
- 按
docs/database/approvals/approval_sla_rules.md完成 CRUD 与 UI;完善apply_assignment_sla()逻辑、记录提醒偏移。
- 按
- 通知系统
- 启用
notification_channels/notifications(参考对应 docs);实现后台 Job 轮询通知状态。 - Edge Functions:
send-notification(站内/邮件)、dingtalk-webhook(钉钉);记录结果到notifications。
- 启用
- 前端
apps/web-antd/src/views/approvals/inbox展示通知 & 提醒,普通用户可查看状态。
- 监控
- 在
docs/architecture.mdSRE 部分添加通知/告警流程;Grafana/Supabase Insights 看通知失败率。
- 在
Phase 3:多租户运营与公司切换
目标:实现 docs/prd.md 总体目标中提到的“三家公司统一管理”,并提供超级管理视图。
工作项
- 公司切换 UX
- 登录后读取
auth.jwt().company_id与user_profiles,在apps/web-antd/src/views/_core/layout增加公司选择器;重新获取 token。
- 登录后读取
- 超级老板视图
- Edge Function
multi-tenant-report使用 service role 聚合不同company_id数据,写详细审计日志。 - 前端
apps/web-antd/src/views/approvals/overview可切换“全部公司/单公司”。
- Edge Function
- 权限申请与审计
permission_change_requests+audit_logs(参考docs/database/security)落地流程,支撑 RBAC 变更记录。
- 文档
docs/implementation-guide.md更新“多租户运营”章节;在docs/database/supabase-integration.md描述 token 重签与 Edge Function 策略。
Phase 4:自动化 & 分析
目标:对应 docs/prd.md Epic 8(目标与 BI)和 Epic 5 后续 story,实现批量审批/智能建议/BI。
工作项
- 自动化规则
- 扩展
approval_workflow_rules支持auto_decision类型(如金额 < X 自动通过),记录结果于approval_actions。
- 扩展
- 批量操作与 API
- Edge Function
bulk-approval(admin 可对多条记录操作);确保审计与 RLS 合规。
- Edge Function
- BI 与目标联动
- 构建
approval_metrics视图(或 materialized view),供apps/web-antd/src/views/goals-bi使用。 - 与
docs/database/goals/*.md中goal_sets、goal_milestones联动,用于 KPI。
- 构建
- 性能/监控
- 引入缓存(Edge Functions + Redis/HTTP Cache)与
pgaudit细粒度策略。
- 引入缓存(Edge Functions + Redis/HTTP Cache)与
实施节奏与依赖
- 每阶段前先更新
docs/database-schema.md,运行scripts/generate_db_docs.py,确保文档→DDL→实现一致。 - 每阶段都需:
- 迁移脚本
supabase/schemas/*.sql; - Edge Functions(位于
supabase/functions/*)与相应单元测试; - 前端页面调整(
apps/web-antd/src/views/approvals,apps/web-antd/src/views/requests,_core等)。
- 迁移脚本
- 任何新通知/集成都要在
docs/database/supabase-integration.md记录配置步骤,让自动化代理能够查阅。
输出文档 & 验收
- 每阶段完成后更新:
docs/implementation-guide.md、docs/plan/post-mvp-roadmap.md(本文件)、docs/database/supabase-integration.md、相关 API/前端 README。 - 验收标准:引用
docs/prd.md对应 Epic 的验收要点(Given/When/Then),并记录在apps/web-antd/README或 QA 文档。