feat(api): 接通评分权重设置到真实后端(读权重/模板 + 互斥双模式保存)
读:GET /profile/me/review-weights + GET /review-weight-templates 并行拉取
写:PUT /profile/me/review-weights,实测为两种互斥模式(实网 2026-09-30 验证)
· 套用模板:只传 { templateCode }
· 自定义: 只传 { weights }(八个维度全给、总和 100)
· 同时传两者 / 未知 templateCode / 缺维度 / 总和≠100 → 一律 400 code=1001
接口文档的 body 示例是错的,见《联调问题清单-致后端》§1.12
- 维度集合改为以后端下发为准:原前端自造的「九大中文维度」与后端八个
英文 token 不一致(后端无「地理位置/工作强度」,多出 JD_CLARITY、
SALARY_TRANSPARENCY 等),照旧实现会默认显示错误的维度集合
- 后端不下发维度中文名 → constants 新增 WEIGHT_DIMENSION_LABEL /
WEIGHT_DIMENSION_ORDER / WEIGHT_TOTAL 作为唯一真相源;未登记 token
追加末尾并原样显示,不静默吞掉后端新增维度
- 新增 matchWeightTemplate():保存时据此在两种互斥模式间二选一
- saveWeightSettings 增加可选 templateCode 参数;保存后用服务端回传值
覆盖本地编辑态(不调 refresh,避免整页闪回 loading)
- 新增 weight-settings.test.ts(10 例):锁住映射顺序/中文名/未知 token
兜底、模板 id 映射、模式判定(含维度数不同不得误判)、双模式 body 互斥
- mock 形态与真实同构(同八维 + 同四模板),避免两套口径分叉
|