# 用户旅程全景台账 v0.1（OPC 平台 × 中转站）

> 生成：2026-09-17 ｜ 依据指令：20260917-1321 ｜ 基准：现有 15 个小程序页 + 2 个网页 + M2 new-api
> 定级：✅ 端到端可用 ｜ 🟡 做了一半（页面有、链路断）｜ 🟠 只有蒙面（壳在、无下一步）｜ ⬜ 未开始（有规划无页面）｜ ❌ 连蒙面都没有

## 总览：五类用户 × 七条大旅程

| 旅程 | 谁在走 | 定级 | 现有什么 | 缺什么（=下一步要做的） |
|:--|:--|:--|:--|:--|
| **J1 账号与身份** | 全员 | ⬜ | 无登录功能；"我的"页有身份卡展示 | 微信联合登录（小程序静默+网页扫码）、身份选择/切换（个人⇄OPC⇄服务商）、实名认证 |
| **J2 个人证明线** | C 端 | 🟡→🟠 | cert 三页流程壳、card 名片页、prove 主页、inbox 查看记录 | 建档分步引导（30 秒 L0）、核验流转真状态、简历生成页、可见性/撤回设置 |
| **J3 OPC 转化线** | C 端 | ⬜ | biz 企业主页蒙面 | 输企业名自动回填建档、企业认领/授权书、个人⇄企业切换入口 |
| **J4 服务商线** | OPC 服务商 | 🟠 | vendor 机构详情蒙面、msg 站内信蒙面 | 入驻路径（邀请 or 自助+审核）、微信绑定+订阅消息、接单工作台、Lead 状态机 |
| **J5 中转站线** | C 端开发者 | 🟡（后台 ✅） | **new-api 后台端到端 ✅（M2 真实跑通）**；两端前台蒙面+mock | 前台接真实 API（USE_MOCK=false 即通）、注册/登录挂账号体系、余额预警 |
| **J6 管理后台** | 平台管理员 | ❌ | 无 | 后台站点：登录、核验审核台、用户/企业管理、数据看板、服务商管理 |
| **J7 消息通知（横切）** | 全员 | ⬜ | msg/inbox 蒙面 | 站内信真收发、微信订阅消息（需引导授权）、短信兜底 |

## 细分台账（按旅程逐步拆）

### J1 账号与身份（认证工作）
| # | 子旅程 | 定级 | 说明 |
|:--|:--|:--|:--|
| 1.1 | 小程序静默登录（wx.login） | ⬜ | 代码里没有 wx.login 调用 |
| 1.2 | 网页登录（微信扫码 / 手机号） | ❌ | 网页连登录入口都没有 |
| 1.3 | 身份选择：个人 / OPC / 服务商 | ⬜ | ⚠️ **旅程设计待定①**：切换入口放哪、服务商身份怎么亮 |
| 1.4 | 实名认证 | ⬜ | docs/01 有表设计，无页面 |

### J2 个人证明线（P0 主链路）
| # | 子旅程 | 定级 | 现状 |
|:--|:--|:--|:--|
| 2.1 | 建档引导（头像→标签→联系，30 秒 L0） | 🟠 | 只有 profile-edit 编辑页，无分步引导 |
| 2.2 | 证书核验（选→填→结果） | 🟡 | 三页链路壳完整、有状态机 mock；**止步于结果页，无"点亮到证明"动线** |
| 2.3 | 证明主页浏览 | 🟠 | prove 页在，数据是演示用户 |
| 2.4 | 名片/简历生成与转发 | 🟠 | card 页有名片壳；**简历生成页不存在**（OUTPUTS 三产物缺一） |
| 2.5 | 谁看了我 | 🟠 | inbox 列表壳，4 条假记录 |
| 2.6 | 可见性设置 / 撤回 | ❌ | 无页面无逻辑 |

### J3 OPC 转化线
| # | 子旅程 | 定级 | 现状 |
|:--|:--|:--|:--|
| 3.1 | 个人 → 开企业身份（输企业名自动回填） | ⬜ | 核心获客转化点，完全没搭 |
| 3.2 | 企业认领（授权书） | ⬜ | |
| 3.3 | 企业主页展示 | 🟠 | biz 页蒙面（hero + 写死类目） |
| 3.4 | 个人⇄企业身份切换 | ⬜ | 挂在 1.3 一起做 |

### J4 服务商线
| # | 子旅程 | 定级 | 现状 |
|:--|:--|:--|:--|
| 4.1 | 入驻（成为服务商） | ⬜ | ⚠️ **旅程设计待定②**：后台邀请制 vs 自助申请+资质审核（docs 写"资质审核+签约，入驻走星灵ONE"） |
| 4.2 | 绑微信 + 订阅消息推送 | ⬜ | ⚠️ **旅程设计待定③**：平台发绑定链接 vs 后台单独邀请；订阅消息需用户主动授权 |
| 4.3 | 收站内信（生意上门提示） | 🟠 | msg 页壳；推送链路零 |
| 4.4 | 接单工作台（Lead 认领→跟进） | ❌ | Lead 状态机 P0 文档有、页面零 |

### J5 中转站线（下游客户）
| # | 子旅程 | 定级 | 现状 |
|:--|:--|:--|:--|
| 5.1 | 发现 → 注册 → 首充 | 🟠 | 充值页壳（兑换码 mock）；注册即 J1 |
| 5.2 | 建 Key → 接入 → 首调成功 | 🟡 | 前台 Key 页 mock 可操作；**M2 new-api 真实后端已端到端验证**，接上即活 |
| 5.3 | 日常调用 → 余额预警 → 续费 | ⬜ | 预警阈值 new-api 有配置项，未启用 |
| 5.4 | 小程序内用中转站 | 🟠 | relay Tab 页 mock，同 5.2 |
| 5.5 | 站长运营（渠道/定价/发码/对账） | ✅ | **全项目唯一端到端完成**：new-api 管理后台真实可用 |

### J6 管理后台（管理员，网页端）
| # | 子旅程 | 定级 | 现状 |
|:--|:--|:--|:--|
| 6.1 | 管理员登录（RBAC） | ❌ | 独立 Web 后台站点未建 |
| 6.2 | 核验审核台（复核/出三态） | ❌ | 人工兜底队列，P0 主链路一环 |
| 6.3 | 用户/企业管理 | ❌ | |
| 6.4 | 数据看板（漏斗/营收） | ❌ | |
| 6.5 | 服务商管理（资质审核/邀请/设身份） | ❌ | 承接 4.1 |

### J7 消息通知（横切所有旅程）
| # | 子旅程 | 定级 |
|:--|:--|:--|
| 7.1 | 站内信真收发 | ⬜ |
| 7.2 | 微信订阅消息（需引导授权，非绑即推） | ⬜ |
| 7.3 | 短信兜底（通道+签名报备） | ⬜ |

## 三个旅程设计待定（需用户拍板，不是技术问题）

| # | 问题 | 选项 |
|:--|:--|:--|
| ① | 身份选择放哪：注册时选 vs 注册后随时切 | A 首页顶部切换（文档原设计）+ 服务商身份在"我的"里申请开通 |
| ② | 服务商入驻路径：后台邀请制 vs 自助申请+审核 | 文档写"资质审核+签约"→ 建议自助申请+审核，邀请制作大客户通道 |
| ③ | 服务商绑微信：平台发链接 vs 后台单独邀请 | 建议入驻通过后自动发绑定引导（站内信+短信），订阅消息授权内嵌在首次使用时 |

## 开发排序建议（"先把门面架起来，再一个一个往里加"）

```
第一批（通主链路）：J1.1/1.2 登录注册 → J2.1 建档引导 → J2.2 核验流补全动线 → J6.2 审核台（串成端到端：提交→人工→点亮）
第二批（转化与变现）：J3.1 开企业身份 → J5.2 中转站接真实 API → J5.3 余额预警
第三批（生态）：J4 服务商线（4.1→4.2→4.4）→ J6 其余后台 → J7 通知
```
