Files
danyang-match/.github/PULL_REQUEST_TEMPLATE.md
WorkBuddy ca0db57f24 chore(release): 冻结 v1.1.0 版本
- 同步版本号:VERSION / backend pom / admin-web / miniapp 均升至 1.1.0
- 合并本轮代码审查修复(详见 docs/CODE-REVIEW-2026-09-24.md):
  - 后端:微信登录真实实现 RealWechatLoginProvider、实名核验真实实现 RealIdentityVerificationProvider(本地强校验 + 可配置第三方 + fail-closed/fail-fast)
  - 照片直传落库端点 POST /me/photos/confirm(fileKey 归属校验 + 对象存在性校验后 savePhoto)
  - 刷新 Token Redis TTL 修正(getExpirationMs()*2 的 4h → refreshExpirationMs 的 14 天)
  - 管理端 token 改为 HttpOnly Cookie + silent-refresh,移除 localStorage 明文存储与 30+ 处手工注入
  - 小程序:红娘接单鉴权头错位修复、serviceType 中文映射、生产域名可配置
- 隔离本地产物(.workbuddy/、*.bundle、*.dump、secrets、application-dev.yml 等已被 .gitignore 覆盖)

未验证项(打标签 ≠ 生产发布):
- 后端编译 / 单测未在本环境执行(Maven 慢、Docker DNS 受限)
- 管理端 登录→刷新→登出 端到端、小程序真机走查待人工验收
- 生产部署需注入 WECHAT_APP_ID / WECHAT_APP_SECRET、VERIFICATION_API_URL / VERIFICATION_API_KEY 与小程序生产域名
2026-09-30 12:10:00 +08:00

3.6 KiB
Raw Permalink Blame History

变更摘要

风险分级(见审查标准 §2)

  • T0 琐碎(纯文案/文档/格式化/资源重命名)
  • T1 常规(单端功能/Bug/UI/单 API)
  • T2 高危(鉴权/支付/隐私/跨端契约/DB schema/并发幂等/已知阻塞项)— 需 2 人复核

验证方式(必填,证据优先)

  • 本地测试/契约守卫命令与结果:
  • 运行时实测(如涉及渲染/接口,贴 mock/路由/关键响应):
  • 负向注入(新增或修改测试时必填:故意改坏后测试是否转红):

技术栈审查清单(按本 PR 涉及项打勾)

后端 Java / Spring Boot

  • 业务拒绝用 BusinessException+ApiResponseCode(HTTP 400≤code<500),无裸 RuntimeException
  • 测试对业务拒绝断言 400 ≤ status < 500(非仅 != 200)
  • 核心不变量(INV-014/015、Required/Mutual/Block 等)未被绕过
  • 主键/唯一键/CHECK 约束与 Java 枚举一致,无静默 no-op 写
  • 无新增死表/死配置(system_configs/match_rule_configs 类)

小程序 miniapp

  • app.json/pages.json 路径与磁盘文件一致、无前导 /
  • ignoreDevUnusedFiles/ignoreUploadUnusedFiles = false(资源不被吞)
  • 跨端字段名与后端规范名一致(tsc 不保护 JS 层字段名)
  • WXSS 无通配符/属性选择器/嵌套注释;<image> 显式高度
  • 胶囊安全区让出 --nav-right

管理端 admin-web

  • 渲染相关状态走 ref/reactive,已补渲染态实测
  • 颜色/字号收敛到 src/theme/ token,EP 主色阶补全 -light-N/-dark-2/-rgb
  • 表单校验类型安全、出错保留输入
  • 触摸目标 ≥44px,尊重 prefers-reduced-motion

数据库迁移 SQL

  • V<序号>__<描述>.sql 命名,版本连续唯一
  • 向后兼容,NOT NULL 新列有默认值/迁移
  • CHECK 约束与枚举一致,破坏性变更有回滚方案

测试 / 契约守卫

  • 无空壳 skip/pass 测试
  • 已做负向注入证明判别力
  • scripts/run-ui-contracts.mjs 的 MIN_GUARDS(当前 23) 同步(增删守卫必改)

脚本 / 基础设施

  • 脚本真实依赖已在 CI 对应 job 安装(非仅本地能跑)
  • 密钥仅运行期、不落盘;本地栈固定 -p danyang

判据纪律自查(见审查标准 §5,对应改动必查)

  • 非空数据验证(无空数据假绿,如推荐/列表返回空也能过)
  • 无直连绕过(关键路径至少一个经 HTTP 层断言)
  • 约束相关改动在带约束环境验证(无测试库缺约束假绿)
  • 小程序改动不走 Mini Program Compile Check 的"仅 tsc"假绿,已真编译/查资源
  • 合并后回读 git rev-parse HEAD + 轮询 CI 确认本次 head 真 success

已知阻塞 / 决策关联

  • 本 PR 是否触碰上线阻塞项(微信真实登录 / 照片直传落库)?若是:✅本次解决 / ⚠️未解决已登记 known-risks
  • 是否与 decision-register 的 LOCKED 决策冲突?若是:已回决策层确认(附结论)
  • 是否产生新债务?若是:已登记 known-risks.md(编号 KR-xx)

关联