wangsli
|
2c58061ec7
|
feat: 完成 F18 审批规则维护(API+前端)\n\n- 新增 /api/approval-rules 管理接口(system.settings)并写审计\n- 前端新增审批规则页与菜单入口(system.settings)\n- 更新 P5 蓝图 v3 中 F18 状态为 DONE
|
2026-02-09 19:20:53 +08:00 |
|
wangsli
|
38b66b01a6
|
feat(server): 完成 F15 邮件通知(SMTP/Nodemailer)\n\n- 新增 email 服务(EMAIL_ENABLED + SMTP_* 配置)\n- 待办/审批/付款/密码重置触发可选邮件,失败降级不阻塞\n- 更新 server/README 邮件配置说明,并推进 CSV 状态为 DONE
|
2026-02-09 19:07:32 +08:00 |
|
wangsli
|
5faf843cee
|
feat(server): 站内通知基础设施与关键事件触发(F14,F30)
- 新增 notifications 表与 API(list/mark-read)
- submit/approve/reject/return/transfer/pay/forgot-password 写入站内通知
- 通知失败降级,不阻塞主流程
|
2026-02-09 17:45:17 +08:00 |
|
wangsli
|
8bd068f2a3
|
feat(server): 票据增强闭环(F9/F10/F11/F12/F13/F28)
- /invoice-pool 新增 unbind、PATCH 修正、manual archive、OCR retry、判重例外 override(含 VALID_004/006/007)
- signed-url 签发/下载写入审计日志(脱敏 extra)
- 新增未绑定票据自动归档作业 + 一次性执行脚本
- 回归脚本增强:workflow-actions/dedup/audit/ocr 覆盖上述场景;v3 CSV 状态推进至 DONE
|
2026-02-09 17:09:34 +08:00 |
|
wangsli
|
f755ff0dda
|
feat(server): P5 基础能力补齐(组织/报销/代办/认证安全)
- 组织/人员/委派对齐:费用类型、部门、员工别名、配置只读与回归脚本(F2/F3/F26/F27/F29/F31/F40)
- 报销单 PATCH/DELETE 与 items CRUD(事务内重算 total_amount)(F4/F5)
- 行政代提交/代上传后端校验与审计(F7/F8)
- 认证安全基线:首次登录改密、失败锁定、弱密码拦截与回归脚本(F36/F37/F39/F41)
|
2026-02-09 16:20:31 +08:00 |
|
wangsli
|
4223d81eb4
|
feat(server): 试运行部署与运营基线(E13/E14/E17/E19/E20/E21)
- 增加 deploy/trialrun:Docker Compose + env 模板 + runbook + 发布/回滚 checklist
- 新增 DB/文件存储备份恢复脚本(backup/restore)
- 新增 system.users 运营接口:创建/启用禁用/重置密码/分配角色 + 审计
- 新增 seed:trialrun 引导管理员账号(一次性口令)
- 补齐 SIGTERM/SIGINT 优雅停机(关闭 job/HTTP/DB)
|
2026-02-09 01:12:49 +08:00 |
|
wangsli
|
89c0ed2ec1
|
feat(server): 单域托管 client/dist 与 SPA 回退(E12)
- 新增 SERVE_CLIENT_DIST/CLIENT_DIST_DIR 配置
- 开启后注册 @fastify/static 并对非 /api GET(html) 回退 index.html
- docker-compose.yml 与 README 补充用法
|
2026-02-09 00:06:59 +08:00 |
|
wangsli
|
75d5b3d5de
|
feat(server): readiness 与作业统计可观测性(E11)
- 新增 /ready(DB 探活失败返回 503)
- OCR 作业输出 claimed/available/duplicate/failed 统计
- README 补充 /health 与 /ready 说明
|
2026-02-09 00:02:49 +08:00 |
|
wangsli
|
479565f737
|
feat(server): 安全基线(Helmet+限流+脱敏)(E10)
- 注册 @fastify/helmet(CSP 关闭)
- 引入 @fastify/rate-limit,并对 login/forgot/reset 按开关启用
- Fastify logger 增加敏感字段 redaction(authorization/cookie/password 等)
|
2026-02-08 23:58:55 +08:00 |
|
wangsli
|
7597756fad
|
feat(server): 试运行性能索引补强(E9)
- reimbursement_forms/invoice_pool/workflow_tasks/audit_logs 增加常用筛选组合索引
- 仅新增索引与迁移,便于回滚
|
2026-02-08 23:51:45 +08:00 |
|
wangsli
|
f4c476883e
|
feat: 默认账号文档与登录失败体验(E8)
- README 补充 seed:dev 默认账号(仅本地联调)
- LoginPage 增加后端不可达提示与 data-testid
- errorMessages 补充 SYS_001/AUTH_003 可读化
|
2026-02-08 23:42:59 +08:00 |
|
wangsli
|
65e7b37ebd
|
feat(server): 完成 P3 后端API与回归(D2~D9)
- workflow: 任务详情/转审候选/列表分页字段(D5)
- reimbursements: 列表API + pay凭证字段/幂等增强(D7)
- invoice-pool: 列表/详情API + 上传pending_ocr(D9)
- ocr/audit: mock provider + 回归脚本 + regression-all开关(D2/D3)
- CI: 新增 ci-minimal / ci-regression 工作流(D4)
|
2026-02-08 23:08:18 +08:00 |
|
wangsli
|
0cd44a3d6a
|
feat(server): 委派回收并发防重 + 最小门禁闸门
- delegationRevokeJob 改用 FOR UPDATE SKIP LOCKED + UPDATE RETURNING 原子认领
- regression-workflow-actions 新增 RUN_DELEGATION_CONCURRENCY_CHECK 并发校验开关
- README 补充最小门禁与并发语义说明
|
2026-02-08 11:38:58 +08:00 |
|
wangsli
|
c4df9a419a
|
feat(server): 完成 P2 后端能力(支付幂等、委派回收、OCR异步、审计)
|
2026-02-07 21:54:29 +08:00 |
|
wangsli
|
c290e03fef
|
feat(client): 初始化前端壳与鉴权守卫(P1-5)
- 技术栈:React 18 + TypeScript + Vite + Tailwind
- API 层:ApiError + 401 自动刷新 + single-flight 重试
- 鉴权:内存 Access Token + Cookie Refresh + 启动 bootstrap
- RBAC:权限映射 + RequireAuth/RequirePermission 路由守卫
- 布局:OA 工作台壳层 + 侧边栏 + 5 个占位页面
- 样式:复用 hyb-web 视觉 token(单向同步)
- 文档:新增 client README,补充 server 联调说明
|
2026-02-07 16:43:57 +08:00 |
|
wangsli
|
f527633716
|
feat(server): 完成 P0+P1 后端能力(工作流、RBAC、付款归档)
P0 MVP:
- 认证:login/refresh/logout/forgot/reset + tokenVersion
- RBAC:角色到权限映射 + requirePermission
- 发票池:upload/bind/signed-url + 判重(VALID_003/VALID_005)
- 报销:create/view/submit + 单号生成
- 工作流:approve + department_manager 解析
P1 扩展:
- 动作:reject/return/withdraw(含 comment)
- transfer:任务转审 + 链路上限 3
- pay:approved -> paid + 发票归档 used_complete
- 动态审批链:approval_rules 驱动
回归脚本:
- smoke-test.sh / regression-dedup.sh / regression-workflow-actions.sh
|
2026-02-07 16:43:31 +08:00 |
|