wangsli
|
2526052e73
|
支持企微通讯录缺失手机号(07-26-internal-ops-recovery-baseline)
|
2026-07-27 13:05:27 +08:00 |
|
wangsli
|
abb6a22f5c
|
统一 Node 22 与后端安全运行基线(07-15-production-trust-closeout-cleanup)
|
2026-07-16 05:17:18 +08:00 |
|
wangsli
|
5a64809004
|
OSMOKE1 修复 OA-only smoke 账号治理
|
2026-05-23 14:46:14 +08:00 |
|
wangsli
|
c119183da6
|
WRULE1 实现企微审批链校验器 POC
|
2026-05-21 00:35:10 +08:00 |
|
wangsli
|
56b720b8ab
|
WARCH3/WCHECK1/WEXT1 完成受控上线后续自动化
Issue: WARCH3, WCHECK1, WEXT1
|
2026-05-20 13:58:40 +08:00 |
|
wangsli
|
5cd960cf90
|
WARCH1 实现企微审批最小历史留存
|
2026-05-20 00:22:27 +08:00 |
|
wangsli
|
09bb202ce2
|
WREAD1 准备企微审批可读性门禁
|
2026-05-19 21:09:12 +08:00 |
|
wangsli
|
37ac4f592f
|
WACP3 实现企微审批补偿拉取 POC
|
2026-05-19 19:37:51 +08:00 |
|
wangsli
|
8122898348
|
WCBK1 实现企微审批回调只读 POC
|
2026-05-19 15:00:22 +08:00 |
|
wangsli
|
5b47755241
|
WAPC2F 实现企微审批样件 dry-run
|
2026-05-19 13:07:46 +08:00 |
|
wangsli
|
08987ba921
|
WAPC2 实现企微审批只读 POC
|
2026-05-19 10:07:10 +08:00 |
|
wangsli
|
82b211e1a5
|
WRV1 收口企微运行优先门禁
|
2026-05-19 01:45:58 +08:00 |
|
wangsli
|
56a1fc3b1d
|
WOUAFIX 收口 OA 与企微用户一致性差异
|
2026-05-19 00:35:50 +08:00 |
|
wangsli
|
6273201a13
|
WOUA 增加 OA 与企微用户只读对账
|
2026-05-18 21:08:51 +08:00 |
|
wangsli
|
40abbc3fbf
|
P2D-CORR/P2-ORG 收口只读主数据巡检
|
2026-05-16 02:16:13 +08:00 |
|
wangsli
|
72e38db4e5
|
AP6 增加审批催办与效率摘要
|
2026-05-12 10:41:47 +08:00 |
|
wangsli
|
78b07ad895
|
R106/A1-A6 固化自动视觉巡检门禁
|
2026-05-07 19:38:47 +08:00 |
|
wangsli
|
86975dd2a4
|
R105/A2-A5 补强试运行自动化验收
|
2026-05-07 12:52:18 +08:00 |
|
wangsli
|
6f9e1d30a2
|
A2/A4/A6 实现员工头像后端、组织架构接口与合同模型
|
2026-03-29 11:29:17 +08:00 |
|
wangsli
|
42c63d7f6a
|
feat: 补充 R17-4 试点观测导出脚本
|
2026-03-21 22:11:22 +08:00 |
|
wangsli
|
d8fff0ba21
|
chore(P14-8): 完成运营化与验收收口
|
2026-03-06 23:24:16 +08:00 |
|
wangsli
|
1412fead5d
|
feat: 完成P13治理收尾并创建P14执行合同(Issue: P13-1,P13-2,P13-3,P13-4,P13-5,P13-6,P13-7,P13-8,P14-0)
|
2026-02-13 00:25:04 +08:00 |
|
wangsli
|
6bc09f557b
|
feat: 完成P6-P8后端能力与P9路由重构(V1-V2,D1,D3,B1-B2,B4,I1-I4,P9A2-P9A3)
|
2026-02-10 11:28:28 +08:00 |
|
wangsli
|
3cc3013d5a
|
feat(server): OIDC 登录支持(F23)
- 引入 openid-client,新增 /api/auth/oidc/login + /api/auth/oidc/callback
- 通过 email 绑定既有员工账号,保留密码登录 fallback
- OIDC 状态存 cookie(HMAC) + PKCE + SameSite=lax 防 CSRF
- 更新 env/README 与 v3 CSV 状态推进
|
2026-02-09 21:01:36 +08:00 |
|
wangsli
|
c791e67b20
|
feat(server): MinIO/S3 对象存储兼容(F21)
- 新增 storage 抽象:local 与 s3: 前缀兼容(不改 schema)
- invoice-pool 上传/预览/ocr 读取适配 S3/MinIO
- trialrun compose 增加 minio profile + env 示例与 runbook 指引
- 更新 README 与 v3 CSV 状态推进
|
2026-02-09 20:42:53 +08:00 |
|
wangsli
|
6ecebf8ad6
|
feat(server): /metrics 可观测与日志上下文(F22)
- 新增 Prometheus 指标端点 /metrics(HTTP + DB + 作业统计)
- request.log 绑定 requestId/actorId,避免日志难追踪
- cron/pg-boss 作业增加 metrics 计数(runs/processed)
- 更新 env/runbook/README 与 v3 CSV 状态推进
|
2026-02-09 20:30:41 +08:00 |
|
wangsli
|
55924c8ff8
|
feat: Worker 进程拆分(F20)
- 新增 worker 进程入口(npm run worker)只跑作业不监听端口
- trialrun compose 增加 worker profile(server 可 JOBS_ENABLED=false)
- 更新 runbook/.env.example/README 说明与 v3 CSV 状态推进
|
2026-02-09 20:22:33 +08:00 |
|
wangsli
|
dff1aabc26
|
feat(server): 完成 F19~F19d pg-boss 作业系统迁移\n\n- 引入 pg-boss(JOB_DRIVER=pgboss)并保留 cron 回滚\n- OCR/委派回收/超期归档改由 pg-boss schedule + work 执行\n- OCR_PROVIDER=off 自动 unschedule ocr.tick\n- 更新 trialrun env/compose/runbook 与 README,并推进 CSV 状态为 DONE
|
2026-02-09 20:05:01 +08:00 |
|
wangsli
|
f233a0d5bc
|
feat: 完成 F17 报表导出(CSV/XLSX)\n\n- 后端新增 /api/exports/* 导出接口(含权限与审计记录)\n- CSV 采用流式生成,XLSX 使用 exceljs\n- 前端在报销/票据/审计页加入导出入口(下载 Blob)\n- 更新 P5 蓝图 v3 中 F17 状态为 DONE
|
2026-02-09 19:35:51 +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
|
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
|
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
|
c4df9a419a
|
feat(server): 完成 P2 后端能力(支付幂等、委派回收、OCR异步、审计)
|
2026-02-07 21:54:29 +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 |
|