直接打开 `/merchant`、从 `/console` 迁移、店铺管理深链或 Auth return context;publishHash 只用于返回,不授予权限。
商家身份与店铺选择
先完成统一身份验证和项目授权,再带着稳定店铺上下文进入运营工作区
商家身份与项目选择 · 页面级细化任务包
完成统一身份验证,确认服务端可管理项目,再建立不暴露 token 的商家工作区会话。
服务端建立短时 MerchantSession,返回可管理项目清单、当前 project context 与安全 return receipt。
Auth OTP / active order-web session → ManagedProjectList → ProjectAuthorization → MerchantSession;前端不持久化 bearer token。
桌面双栏呈现身份价值与登录任务;390px 先登录、后项目选择,OTP 错误关联字段,切换账号后焦点回到身份入口。
merchant_signin_view · otp_request · auth_result · project_select · session_established;邮箱、OTP、token 与项目秘密不进埋点。
- public-booking-platform 源码与 order.reits.tech EC2 immutable release 均为 6f3e62a
- 当前 `/merchant` 是 43 行 HTML + 147 行 JS 的摘要门户,完整编辑与审核仍集中在 `/console` 的 219 行 HTML + 1,080 行 JS
- 当前 CareDoor 项目 prj_129868b87ef6fd83 / tokyo-care-setagaya / JPY / Asia-Tokyo / publishHash 9b35721a9d59cef8
- 当前 merchant-portal 只支持邮箱 OTP,并把 merchantPortalToken 写入 localStorage;console 另存 matrixOrderToken
- 受保护 cookie / BFF 会话尚未实现
- 当前只有全局 owner/admin 或 ownerMemberId,没有项目成员角色清单
- 目标 `/merchant/sign-in` 与独立项目选择路由尚不存在
七页分别改变身份、今日、审核、容量、目录、发布和治理边界
身份方式、return context 与安全说明
MERCHANT-LOGIN-READY→ 发送邮箱验证码Auth challenge + ManagedProjectList
MERCHANT-LOGIN-LOAD→ 取消并返回ManagedProjectList
MERCHANT-LOGIN-NO-PROJECT→ 申请项目权限项目清单
MERCHANT-LOGIN-PROJECT-PARTIAL→ 重试项目授权Auth / session exchange
MERCHANT-LOGIN-AUTH-FAILED→ 重新验证身份登录入口
MERCHANT-LOGIN-OFFLINE→ 重新连接ProjectAuthorization
MERCHANT-LOGIN-PROJECT-DENY→ 选择其他项目ProjectContext
MERCHANT-LOGIN-PROJECT-CONFIRM→ 确认进入项目MerchantSession receipt
MERCHANT-LOGIN-SESSION-READY→ 进入今日工作台target-booking-merchant-loginIMPLEMENTATION MAP
目标定义与下一轮逐页细化入口
当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。
页面区域
- 商家品牌
- 登录方式
- 验证码挑战
- 账号恢复
- 项目选择
- 角色/scope
- 服务状态
- 安全返回
用户动作
- 继续统一登录
- 验证 OTP
- 选择店铺
- 切换账号
- 返回店铺
- 进入工作台
必须状态
- 登录入口就绪
- 身份与项目加载
- 没有可管理项目
- 项目列表部分失败
- Auth 服务失败
- 离线禁止登录
- 项目权限不足
- 切换店铺确认
- 商家会话已建立
数据契约
- AuthRequest
- OtpChallenge
- MerchantSession
- ManagedProjectList
- ProjectAuthorization
- ReturnContext
- AuditEvent
TARGET MODULES
目标页面必须交付的模块
- 01店铺品牌与环境
- 02手机/邮箱/企业身份
- 03OTP 与限流
- 04可管理项目选择
- 05角色与权限摘要
- 06返回消费者页
- 07会话安全
PRODUCT ROUTE INDEX
预约平台 · 商家 的 21 个稳定 Screen ID
同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。
//shop/:publishHash/t/:publishHash/booking-status/console?t=:hash/mini/official/security/console?t=:hash//shop/:publishHash/t/:publishHash/booking-status/mini/merchant/sign-in/merchant/:projectId/today/merchant/:projectId/bookings/merchant/:projectId/schedule/merchant/:projectId/services/merchant/:projectId/storefront/merchant/:projectId/settings