dev2 · 2026-08-21 v2 · 先确认结构,结构点头后才做高保真 HTML
🔴 总原则(长官 2026-08-21 定):B 端平板端与手机端现状就挺好,只新增功能,不改原样式。
⇒ 出图一律「现状 ‖ 新增后」对照,新增块用橙虚线 +「新增」标签圈出,
其余部分逐像素照现网,不重新设计。
【实证】现有席位页admin/orgs/[id]/seats/page.tsx已有:批量生成→结果弹窗→下载 Excel、
重置密码显明文、停用/启用、PATCH .../extend {extend_days}续期接口
⇒ 子席位的开通与管控照搬这套交互,不另造轮子。
┌─ 子席位 ───────────────────────────────────────────────────────────────┐
│ │
│ ┌ 筛选条 ────────────────────────────────────────────────────────────┐ │
│ │ 时间 [今天][本周][本月][自定义 ▾] 机构 [_______搜索] │ │
│ │ 账号 [_________] 状态 [全部▾] 来源 [全部▾] [查询] [重置] │ │
│ │ 状态: 未绑定/生效中/已停用 │ │
│ │ /已到期/30天内到期 │ │
│ │ 来源: 门店开 / 后台开 │ │
│ └────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌ 快速统计(随筛选联动 · 全局合计)──────────────────────────────────┐ │
│ │ 期间开通 128 生效中 96 已到期 21 未绑定 11 │ │
│ └────────────────────────────────────────────────────────────────────┘ │
│ [ 导出对账单(本月) ]│
│ ┌ 机构聚合列表 ──────────────────────────────────────────────────────┐ │
│ │ 机构名称 期间开通 累计 生效中 已到期 未绑定 操作 │ │
│ │ ─────────────────────────────────────────────────────────────────── │ │
│ │ 视阅瞳视(廊坊)… 12 34 28 4 2 [明细] │ │
│ │ 枣庄大眼汤娃… 8 21 19 1 1 [明细] │ │
│ │ 杭州医瞳眼科… 5 12 10 2 0 [明细] │ │
│ └────────────────────────────────────────────────────────────────────┘ │
│ 共 3 家 · 每页 20 ▾ < 1 > │
└────────────────────────────────────────────────────────────────────────┘
空态(筛选无结果) 加载态 错误态
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────────┐
│ (插画/图标) │ │ ⌛ 加载中… │ │ ⚠ 加载失败 │
│ 该时段没有开通记录 │ │ (骨架屏 3 行) │ │ 网络异常,[重试] │
│ [清空筛选] │ │ │ │ │
└──────────────────┘ └──────────────────┘ └──────────────────────┘
┌─ 子席位明细 · 视阅瞳视(廊坊)视光科技有限公司 ────────────── ✕ ─┐
│ 时间范围:2026-08-01 ~ 2026-08-21 共 12 条 │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ 账号 微信 手机号 开通日 到期日 状态 操作 │ │
│ │ ────────────────────────────────────────────────────────── │ │
│ │ sub0012 [头像]小明妈 138****8012 08-03 27-08-03 生效中 [⋯]│ │
│ │ sub0013 未绑定 — 08-05 27-08-05 未绑定 [⋯]│ │
│ │ sub0014 [头像]乐乐爸 139****2231 07-02 26-07-02 已到期 [⋯]│ │
│ └────────────────────────────────────────────────────────────┘ │
│ 每页 20 ▾ < 1 2 > │
│ [⋯] 展开:重置密码 | 换绑 | 停用/启用 (续期=二期,一期不放) │
└────────────────────────────────────────────────────────────────┘
说明:弹框宽 ≈ 1000px(放得下 7 列 + 分页);不用抽屉(长官 8-21 定)
① 重置密码(照搬现有席位页:确认 → 显明文 → 可下载)
┌─ 重置密码 ─────────────── ✕ ─┐ ┌─ 新密码已生成 ──────── ✕ ─┐
│ 账号 sub0012 的密码将被重置, │ → │ 账号 sub0012 │
│ 家长需用新密码重新登录。 │ │ 新密码 8Kd39fQ2 [复制] │
│ [取消] [确认重置] │ │ ⚠ 仅此一次显示 [下载] [知道了]│
└───────────────────────────────┘ └───────────────────────────┘
② 换绑 ③ 停用 / 启用
┌─ 换绑 ──────────── ✕ ─┐ ┌─ 停用确认 ────────── ✕ ─┐
│ 当前:[头像]小明妈 │ │ 停用后该家长将无法登录, │
│ 换绑后原微信立即失效。 │ │ 档案数据保留。 │
│ 新手机号 [__________] │ │ [取消] [确认停用] │
│ [取消] [确认] │ └─────────────────────────┘
└────────────────────────┘
④ 续期(复用现有 extend 接口)
┌─ 续期 ─────────────────── ✕ ─┐ ⚠ 二期功能,一期灰置并提示
│ 当前到期 2027-08-03 │ 「二期开放」
│ 延长 [365] 天 → 2028-08-02 │
│ [取消] [确认续期] │
└───────────────────────────────┘
┌─ 机构详情 · 视阅瞳视(廊坊) ────────────────────────────┐
│ …(现有:基本信息 / 席位 / 服务记录 …) │
│ ┌────────────────────────────────────────────────────┐ │
│ │ 子席位 34 个(生效中 28) 查看 > │ │ ← 点击跳「子席位」页
│ └────────────────────────────────────────────────────┘ │ 并自动带本机构筛选
└────────────────────────────────────────────────────────┘
┌─ 子席位开通管理 ───────────────────────────────────────────┐
│ 已开通 34 个 生效中 28 未绑定 2 已到期 4 │
│ [ + 开通子席位 ] │
│ ┌ 开通历史 ────────────────────────────────────────────┐ │
│ │ 批次时间 数量 有效期 操作人 │ │
│ │ 2026-08-03 10:22 5 2026-08-03起1年 张店长 │ │
│ │ 2026-07-15 09:10 3 2026-07-15起1年 张店长 │ │
│ └──────────────────────────────────────────────────────┘ │
│ 共 8 批 < 1 2 > │
│ ⓘ 子席位不计入本机构席位数;停用/换绑等管控请联系平台。 │
└────────────────────────────────────────────────────────────┘
空态:「还没有开通子席位,点右上角开通」
┌─ 开通子席位 ─────────── ✕ ─┐ ┌─ 开通成功 ─────────────── ✕ ─┐
│ 开通数量 [ 5 ] (1~50) │ → │ 已开通 5 个,请把账号密码交给家长│
│ 有效期 365 天(固定) │ │ ┌──────────────────────────┐ │
│ 到期日 2027-08-21 │ │ │ 账号 初始密码 │ │
│ ⓘ 按月与平台对账,不在线支付 │ │ │ sub0031 8Kd39fQ2 [复制] │ │
│ [取消] [确认开通] │ │ │ sub0032 Pw72mZ1x [复制] │ │
└─────────────────────────────┘ │ └──────────────────────────┘ │
│ ⚠ 密码仅此一次显示 │
│ [下载 Excel] [知道了] │
└──────────────────────────────┘
【实证】现网**没有独立登录页**,是 `h5/chat/page.tsx:3098` 的**阻塞式弹层**
(Phase 46.8 席位密码登录窗)。照它,不新建页面。
┌ 阻塞弹层(现网样式)┐ ┌ 绑手机号「新增」┐ ┌ 绑微信(现网已有)┐
│ 席位登录 │ │ 手机号 [______] │ │ [微信头像] │
│ 账号 [________] │ → │ 验证码 [___][发送]│ → │ 确认以该微信登录 │
│ 密码 [________] │ │ [下一步] │ │ [确认绑定] │
│ [登录] │ │ ⓘ 一个手机号只能 │ └─────────────────┘
└────────────────┘ │ 绑定一个子席位 │
│ 🔴 新增:现网 users 表只有
│ seat_bound_unionid/openid,
│ 无手机号字段,需新增
错误:账号或密码错误 └─────────────────┘
停用:该账号已停用,请联系门店
到期:服务已到期(2026-07-02),请联系门店续期
【实证】现网首页功能入口是一排小药丸按钮(不是大方块卡片):
h5/chat/page.tsx:2860-2925 —— 每个按钮 = 圆形图标(w-5 h-5 rounded-full,图标色 #2fa37c)
+ 文字(text-[12px] font-semibold text-[#1f3a30])+ 可选 NEW 徽章
(text-[10px] text-white bg-[#2fa37c] px-1.5 rounded-full)。样式照抄,不改。
现状(门店席位登录) 新增后(子席位家长登录)
┌────────────────────────────┐ ┌────────────────────────────┐
│ 赵阳智脑·陪孩子守护一双明亮眼睛│ │ 赵阳智脑·陪孩子守护一双明亮眼睛│
│ 解读报告·实时问答·上万案例参考│ │ 解读报告·实时问答·上万案例参考│
│ │ │ │
│ (报告秒读)(历史解读) │ │ (报告秒读 4次)(历史解读) │ ← 药丸内加剩余次数
│ (抗近领航 NEW)(近视的世界NEW)│ │ (近视的世界 NEW)(孩子档案 NEW)│ ← 抗近领航/找同款
│ (找同款案例) │ │ │ 由开关下发自然隐藏
│ │ │ ┌ 我的孩子 ──────── 新增 ┐│ ← 橙虚线圈出
│ …对话区(不动)… │ │ │ 小禾 8岁 · 最近08-03 >││
│ │ │ │ 小满 5岁 · 暂无记录 >││
│ │ │ └───────────────────────┘│
│ │ │ …对话区(不动)… │
└────────────────────────────┘ └────────────────────────────┘
只加两处:①「报告秒读」药丸内显示剩余次数 ②新增「孩子档案」药丸 + 首页「我的孩子」卡片。
其余(hero 文案、对话区、其他药丸)一行不改。
有数据 空态
┌────────────────────────────┐ ┌────────────────────────────┐
│ ← 孩子档案 [+ 新建] │ │ ← 孩子档案 [+ 新建] │
│ ┌────────────────────────┐ │ │ │
│ │ 小禾 8岁 女 │ │ │ (插画) │
│ │ 最近检查 08-03 · 共5次 >│ │ │ 还没有建立孩子档案 │
│ └────────────────────────┘ │ │ [ + 新建档案 ] │
│ ┌────────────────────────┐ │ └────────────────────────────┘
│ │ 小满 5岁 男 │ │
│ │ 还没有检查记录 >│ │
│ └────────────────────────┘ │
└────────────────────────────┘
┌────────────────────────────┐
│ ← 新建档案 │
│ 姓名 * [__________] │
│ 家长身份 * [请选择 ▾] │ ← 爸爸/妈妈/爷爷/奶奶/其他
│ 出生年月日 *[____-__-__] │
│ 年龄 8岁(自动) │ ← 只读
│ 性别 (男) (女) │
│ 身份证号 [__________] │ ← 选填
│ │
│ [ 保存 ] │
└────────────────────────────┘
校验错误:红字贴在字段下「请填写姓名」
┌────────────────────────────┐ ┌────────────────────────────┐
│ ← 小禾 8岁 女 [编辑] │ │ ← 小禾 8岁 女 [编辑] │
│ ┌──────────┬──────────┐ │ │ ┌──────────┬──────────┐ │
│ │ 检查记录 ●│ 眼轴变化 │ │ │ │ 检查记录 │ 眼轴变化●│ │
│ └──────────┴──────────┘ │ │ └──────────┴──────────┘ │
│ [+ 添加检查单] │ │ 眼轴变化(mm) [分享] │
│ ┌────────────────────────┐ │ │ 24┤ ╭─○ │
│ │ 2026-08-03 视阅瞳视 >│ │ │ 23┤ ╭──○───╯ │
│ │ 眼轴 23.8/23.6 │ │ │ 22┤ ○───○──╯ │
│ │ 裸眼 0.8/0.9 │ │ │ └┬────┬────┬────┬────┬─ │
│ └────────────────────────┘ │ │ 3月 5月 7月 8月 │
│ ┌────────────────────────┐ │ │ ─○─ 右眼 ─●─ 左眼 │
│ │ 2026-05-11 杭州医瞳 >│ │ │ ⓘ 需要 2 次以上记录才出曲线│
│ └────────────────────────┘ │ └────────────────────────────┘
│ [分享] │ 空态:暂无眼轴数据
└────────────────────────────┘
┌────────────────────────────┐
│ ← 创建检查单 │
│ ┌ 检查信息 ──────── [读取上次]│ ← 一键带出上次:地点/戴镜/身高体重/防控
│ │ 检查日期 * [____-__-__] │ │
│ │ 验光地点 [__________] │ │
│ └──────────────────────────┘ │
│ ┌ 主诉和既往史 ────────────┐ │
│ │ 主诉 [______________] │ │
│ │ 既往史 [______________] │ │
│ └──────────────────────────┘ │
│ ┌ 身高和体重 ──────────────┐ │
│ │ 身高[___]cm 体重[___]kg │ │
│ └──────────────────────────┘ │
│ ┌ 戴镜情况 ────────────────┐ │
│ │ [请选择 ▾] 戴镜/不戴镜 │ │
│ └──────────────────────────┘ │
│ ┌ 验光 ────────── 如何填写ⓘ│ │
│ │ 验光方式 [小瞳 ▾] │ │ ← 无/小瞳/快散/中散/慢散
│ │ 右眼OD 左眼OS │ │ (选哪个,下面字段不变)
│ │ 球镜 * [____] [____] │ │
│ │ 柱镜 * [____] [____] │ │
│ │ 轴位 * [____] [____] │ │
│ │ 矫正视力 *[____] [____] │ │
│ │ ┌ 电脑验光单 ──────────┐ │ │ 🔴 图挂在本段下方
│ │ │ [📷 拍照/上传] │ │ │
│ │ │ 上传后自动填上面的数值 │ │ │
│ │ └──────────────────────┘ │ │
│ └──────────────────────────┘ │
│ ┌ 眼轴检查 ────── 如何填写ⓘ│ │
│ │ 右眼OD 左眼OS │ │
│ │ 眼轴 * [____] [____] │ │
│ │ 眼压 [____] [____] │ │
│ │ K1 * [____] [____] │ │
│ │ K2 * [____] [____] │ │
│ │ ┌ 眼轴曲率报告单 ──────┐ │ │ 🔴 图挂在本段下方
│ │ │ [📷 拍照/上传] │ │ │
│ │ └──────────────────────┘ │ │
│ │ Worth 4孔灯 [________] │ │ ← 长官定:改输入框(现网无枚举)
│ │ 交替遮盖(33CM)[_______] │ │
│ │ 眼位 [________] │ │
│ └──────────────────────────┘ │
│ ┌ 眼底 ────────────────────┐ │
│ │ 结论 (未见明显异常)(异常) │ │
│ │ [📷 眼底照相] (只存不识别)│ │
│ └──────────────────────────┘ │
│ ┌ OCT ─────────────────────┐ │
│ │ 结论 (未见明显异常)(异常) │ │
│ │ [📷 OCT 图] (只存不识别)│ │
│ └──────────────────────────┘ │
│ ┌ 防控措施 ────────────────┐ │
│ │ 眼镜类 ▾ │ │ ← 长官定方案B:大类下再选具体型号
│ │ [憩尔目全焦][压轴双控] │ │ 大类沿用现有六项(光疗/远疗/眼镜/
│ │ [离焦镜][OK镜][DOT]… │ │ 训练/营养/其他),型号为**新增层**
│ │ 光疗类 ▾ [红光治疗][益视亮]│ │
│ │ 远疗类 / 理疗类 / 食疗类 / 药品类│
│ └──────────────────────────┘ │
│ ┌ 防控笔记 ────────────────┐ │
│ │ [多行文本] 0/500 │ │
│ └──────────────────────────┘ │
│ ┌ 其它(视功能、眼压等)────┐ │
│ │ [📷 上传] (只存不识别)│ │
│ └──────────────────────────┘ │
│ [ 取消 ] [ 提交 ] │
└────────────────────────────┘
识别中 识别成功 识别失败
┌──────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ [缩略图] │ │ [缩略图] ✓ 已识别 │ │ [缩略图] ⚠ 未能识别 │
│ ⌛ 识别中…(约5秒) │ │ 已自动填入 6 项数值 │ │ 图片不清晰或非验光单 │
│ │ │ 请核对后提交 │ │ [重新上传] 或手动填写 │
└──────────────────┘ └──────────────────────┘ └──────────────────────┘
· 回填字段高亮 2 秒 + 右侧标「自动填」小标,家长一眼知道哪些是识别来的
· 家长可直接改写任何回填值(以家长最终确认为准)
· 图片一律存档(识别失败也存)
┌────────────────────────────┐ ┌ 分享卡 ──────────────────┐
│ ← 2026-08-03 检查单 [分享] │ │ 小禾的眼轴变化 │
│ 地点 视阅瞳视 · 小瞳验光 │ │ [曲线缩略图] │
│ 眼轴 23.8 / 23.6 │ │ 赵阳智脑 · 孩子档案 │
│ 裸眼 0.8 / 0.9 │ │ [发送给朋友][生成图片] │
│ …各段只读展示… │ └───────────────────────────┘
│ 附图 [验光单][眼轴单][眼底] │ 导出 PDF:二期(按钮暂不放)
└────────────────────────────┘
| 场景 | 表现 |
|---|---|
| 未绑定 | 后台明细「未绑定」灰标;C 端首次登录强制绑手机号+微信 |
| 已停用 | C 端登录拦截「该账号已停用」;后台行标灰 |
| 已到期 | C 端登录拦截「服务已到期,请联系门店」;数据保留 |
| 秒读用完 | 首页角标「剩余 0 次」,点进去提示「本年度次数已用完」;档案内识别不受影响 |
| 门店可见性 | 门店端看不到家长档案与检查单(一期);后台「子席位」页也只显示账号维度,不展示档案内容 |
结构确认后:①按 ~/.claude/rules/prototype-mockup-standards.md 扒真实令牌做高保真 HTML
(PC 用后台绿/蓝体系、H5 用平台手机端色系,两套不串)②放 docs/superpowers/demos/ 并 commit 锁定。
请长官过一遍结构:有没有画多的、画少的、位置不对的。
云机环境 · 非验收证据。