提交图
35 次代码提交
作者 SHA1 备注 提交日期
wangsli fb164eb690 增加 PC 企业微信扫码登录(07-30-pc-wecom-qr-login)
ci-minimal / check-minimal (push) Canceled after 0s
ci-e2e / e2e (push) Canceled after 0s
2026-07-30 17:16:22 +08:00
wangsli 130518f471 完善企微开通与部署端口契约(07-26-internal-ops-recovery-baseline) 2026-07-26 23:44:44 +08:00
wangsli 6ddedf1e0e 修复认证挑战与可信代理安全边界(07-17-auth-challenge-trusted-proxy-hardening) 2026-07-17 14:24:58 +08:00
wangsli 28e8e746b7 完善 readiness、发布追溯与敏感治理(07-15-production-trust-closeout-cleanup) 2026-07-16 05:17:38 +08:00
wangsli 7f96cc0379 oa-email-code-login 实现邮箱验证码登录 2026-05-27 06:49:58 +08:00
wangsli 8122898348 WCBK1 实现企微审批回调只读 POC 2026-05-19 15:00:22 +08:00
wangsli 27968fba49 WHMS 实现企微HR主数据镜像同步 2026-05-18 19:19:07 +08:00
wangsli 9ae42dadc1 HRWD-0..9 实现人事生命周期企微通讯录同步 2026-05-17 21:01:28 +08:00
wangsli 916cc3b7f7 ATTV1 实现考勤统一入口与企微同步 2026-05-17 16:56:24 +08:00
wangsli 677aa6cac3 R59 A1-A6:极简考勤打卡
- 新增 AttendanceRecord 与 AttendancePolicy 模型
- 上下班打卡、今日状态、月度统计端点
- 考勤管理页面(我的/团队/设置三 Tab)
- 移动端快速打卡入口
- 管理员补卡与审计日志
- 单测覆盖打卡幂等、迟到计算、工时计算、权限边界
2026-04-11 21:57:27 +08:00
wangsli 9939657790 R23-1/R23-2/R23-4:完成项目沟通回填与收口治理后端 2026-03-22 11:31:08 +08:00
wangsli 215e3967bc R18-1/R18-3: 接入企业微信入口绑定与免登回退 2026-03-22 08:33:53 +08:00
wangsli 1e52f1c225 feat: 完成 R13/R14/R15/R16 小团队管理核心能力 2026-03-21 20:31:34 +08:00
wangsli e39e41287e feat(P25-1/P25-5/P26-1/P26-3/P24-1/P29-4): 落地内部OA够用版后端与试运行能力
关联 Issue: P25-1, P25-2, P25-3, P25-4, P25-5, P26-1, P26-3, P24-1, P24-2, P29-1, P29-2, P29-3, P29-4
2026-03-21 18:03:20 +08:00
wangsli 6f534e9a3c feat(P19AI1-1,P19AI1-2): 实现AI建议引擎与权限门禁后端 2026-03-10 14:20:59 +08:00
wangsli 0168ebfe2e feat(P19ERP3-1,P19ERP3-2): 实现资产ERP摘要服务与建卡/流转出站联动 2026-03-09 11:15:21 +08:00
wangsli 486660df06 feat(P19ERP2-1,P19ERP2-2): 实现采购ERP凭证与摘要出站服务 2026-03-08 23:50:02 +08:00
wangsli a1b1d7cfc9 feat(P19ERP1-1,P19ERP1-2): 新增ERP主数据同步模型与服务 2026-03-08 16:28:56 +08:00
wangsli 195f46a2e3 feat(G1,P16A,P16B): 收口主数据核心与节假日日历增强 2026-03-07 17:29:03 +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 3b221a2202 feat(P11-P12): 落地治理开关与移动端MVP(G0-G6/H1/M1-M4)
- 新增 Feature Flag 模型、评估服务与管理 API(erp_sync/invoice_verification)\n- 完成 ERP 与验真灰度收口(路由/服务/作业统一判定)\n- 补齐 pay 与手动 sync 的 department_id 灰度上下文\n- 增加管理后台开关页、PWA 基础设施与移动拍照/审批页面\n- 增加回归脚本、安全基线与压测脚本,更新文档与执行合同\n\nIssue: G0,G1,G2,G3,G4,G5,G6,H1,M1,M2,M3,M4
2026-02-11 20:33:30 +08:00
wangsli bec21e1b38 feat: 完成P10生产硬化与矩阵收口(P10E1-P10G1) 2026-02-10 11:25:18 +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 1855a82011 feat(server): 敏感字段加密与脱敏(F25)
- 新增敏感字段加密服务(AES-256-GCM,FIELD_ENCRYPTION_KEY)
- users 详情返回银行卡/身份证脱敏字段;新增 /users/:id/sensitive 特权明文接口并写审计
- 权限新增 system.users_sensitive(hr/admin)
- 更新 env/README 与 v3 CSV 状态推进
2026-02-09 20:51:34 +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 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 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 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 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