docs: 完成度盘点(F-1~F-97)、确认函 E 组、交接摘要 §一·二十八与 AGENTS 更新
docs/08 是计划与现实的对账:完成度表、未完成按「能不能上线」排序(P0/P1/P2 + 卡点→找谁→编号)、 97 条编号问题、施工记录 6.1~6.4(每条都带验证方式,不写没有证据的「已完成」)。 docs/01 新增 E 组第二轮待确认:E1 union_id(H5 与小程序不能同时上线的阻断项)、 E2 D3 限流口径更新、E3 二期时点;D3 那行划掉。 交接摘要 §一·二十八 把坐标从「M5 后端」刷新到「一期功能收口」:120/121、V17、 27 实体/33 表、36 脚本/1548 断言,以及这 20 多轮最该记住的 7 条(含 F-96: 三处「没断言就往下走」把排查引向了完全错误的方向)。 AGENTS.md:H5 那条「没有可直接联调的独立 dev server」已过时,改为三端行为的说明。
This commit is contained in:
+64
-1
@@ -217,7 +217,7 @@ B1 选 A,但希望增加审批环节
|
||||
|---|---|---|---|
|
||||
| D1 | OCR 引擎选型 | 待比价(腾讯云 / 百度 / 本地模型) | 需同时评估**数据出境合规** |
|
||||
| D2 | 视觉大模型(VLM)选型 | 抽成**可替换接口**,不绑定供应商 | 实测触发率仅 2%~10%,成本可控 |
|
||||
| D3 | 门禁限流阈值 | 同 openid 每小时 ≤10 次 | 上线后按真实数据标定 |
|
||||
| ~~D3~~ | ~~门禁限流阈值~~ | ⚠️ **口径已更新,见 E2**:改为"**只对失败计数**"(按人 10 次/小时、按 IP 20 次/分钟、成功侧 200 次/分钟)—— 旧口径会把整间教室挡住 | 压测后已改(2026-09-30) |
|
||||
| D4 | 材料识别强特征词表 | 平台预置 + 租户可自维护 | **需在"社会评价"批次数据上补充标定** |
|
||||
| D5 | 一寸照片形态判定阈值 | 用真实样本标定(宽高比容差、背景纯净度) | — |
|
||||
| D6 | 微信三条来源通道的体积上限 | 需真机实测 | 决定超限提示与降级路径 |
|
||||
@@ -225,6 +225,69 @@ B1 选 A,但希望增加审批环节
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## E 组 · 第二轮待确认(2026-09-30 新增)
|
||||
|
||||
> 上一轮回执(2026-09-28)之后,开发又推进了一大段,**新出现三件需要外部推动的事**。
|
||||
> 其中 **E1 是真正的阻断项**(不是"我们还没做",而是"**没有它做不了**")。
|
||||
|
||||
### E1. ⚠️ `union_id`:两条填报腿不能同时上线(阻断项)
|
||||
|
||||
**背景(一句话)**:同一个学生用「H5 扫码」与「微信小程序」进来时,
|
||||
微信给出的是**两个不同的 openid**(不同 appid 各自签发),
|
||||
系统会把他当成**两个人** —— 他第二次进来会看到「该信息已被登记」。
|
||||
|
||||
**事实核对**(我们这边已就绪的部分):
|
||||
|
||||
| 项 | 状态 |
|
||||
|---|---|
|
||||
| `sys_user.union_id` 字段 | ✅ **已预留** |
|
||||
| 「按 union_id 认人」的方案 | ✅ **已写进代码注释**(`MpH5AuthService` 类头) |
|
||||
| 实际读写 | ❌ **零**(683 个用户全为 `null`)—— 因为拿不到 union_id |
|
||||
|
||||
**需要谁做什么**:
|
||||
|
||||
| 谁 | 做什么 |
|
||||
|---|---|
|
||||
| **商务 / 客户** | 确认是否注册并认证**微信开放平台**账号(¥300/年),并把**小程序与公众号都绑定到它** |
|
||||
| 我方开发 | 拿到 union_id 后:登录时存 union_id,并按 union_id 认人(预计 0.5 人日) |
|
||||
| 客户决策 | 若**一期只上 H5**(推荐),此事可推迟;**但"小程序上线"必须先完成这一步** |
|
||||
|
||||
**建议**:一期按 H5 单腿上线(学生扫 H5 码即可填报),小程序作为第二条腿,
|
||||
在开放平台绑定完成后一起开。**这样不必等它,但必须知道它挡着什么。**
|
||||
|
||||
回复:☐ 现在就办(我方可提供绑定步骤) ☐ 一期只上 H5,二期再办 ☐ 其他 ______
|
||||
|
||||
### E2. D3 门禁限流阈值口径已更新(备案,无需回复)
|
||||
|
||||
原 D3 写的是「同 openid 每小时 ≤10 次」。**压测后已改为"只对失败计数"**:
|
||||
|
||||
| 计数器 | 计什么 | 限额 | 为什么 |
|
||||
|---|---|---|---|
|
||||
| 失败(按人) | **只计失败** | 10 次/小时 | 防猜 |
|
||||
| 失败(按 IP) | **只计失败** | 20 次/分钟 | 防枚举 |
|
||||
| 成功(按 IP) | 只计成功 | 200 次/分钟 | 防"批量取数据" |
|
||||
|
||||
**为什么必须改**:一个班的学生坐在同一间教室、连同一个 WiFi,出口是同一个公网 IP。
|
||||
按旧口径,60 人同时扫码时**只有 20 个能进**,其余 40 个看到「操作过于频繁」——
|
||||
而那是**首次落地第一分钟就会发生的事**。
|
||||
|
||||
关键区分:**枚举攻击产生的是失败,教室产生的是成功。**
|
||||
|
||||
### E3. 二期(社会收集 / 社会评价 / 专项职业能力)的启动时点
|
||||
|
||||
一期范围已按约定锁死为「学校收集 + 自主认定」(其他模式一律返回 `40044`)。
|
||||
但**二期什么时候启动**会影响两件现在就能做、也可以等的事:
|
||||
|
||||
| 事项 | 如果二期在 3 个月内启动 | 如果更晚 |
|
||||
|---|---|---|
|
||||
| D4 材料识别强特征词表标定 | 建议现在就在社会评价批次数据上标定 | 可现在只做学校批次的标定 |
|
||||
| D5 一寸照片形态阈值标定 | 同上 | 同上 |
|
||||
| 二期审核流与会话设计 | 建议现在出一版概要设计,避免一期代码挡住它 | 一期交付后再说 |
|
||||
|
||||
回复:☐ 二期预计 ____ 启动 ☐ 暂无计划
|
||||
|
||||
## 附:已闭环的决策(无需再讨论)
|
||||
|
||||
| 决策 | 内容 | 依据 |
|
||||
|
||||
Reference in New Issue
Block a user