752 lines
107 KiB
Markdown
752 lines
107 KiB
Markdown
# 产品参考页面功能映射表
|
||
|
||
> 规划日期:2026-07-23(北京时间)
|
||
> 状态:需求已收口,作为《今晚全量联调与明早测试执行计划》的权威附件,三人交叉评审与用户确认均已完成;用户已明确开始执行,`T_due=2026-07-24 08:00`,55 个候选 PA 本轮维持 `approvedCandidateActions=0`。
|
||
> 冻结规则:用户确认本附件仍不代表开始实现;只有用户明确说“开始执行”后才允许修改业务代码、接口接线、样式和测试,或运行测试、构建与 MuMu。
|
||
|
||
## 一、范围、优先级与计数
|
||
|
||
本附件只做产品甄别,不复制参考代码。优先级固定为:
|
||
|
||
1. 用户对当前 `jiapuapp` 的明确需求;
|
||
2. 当前真实后端合同、线上文档和可复现响应;
|
||
3. 当前项目的路由、架构、安全、国风视觉和无障碍基线;
|
||
4. `C:\Users\Rain\Desktop\job\app设计`;
|
||
5. `C:\Users\Rain\Desktop\job\Jiapu-App`。
|
||
|
||
基线计数:
|
||
|
||
| 对象 | 分母 | 本附件覆盖 |
|
||
| --- | ---: | ---: |
|
||
| 当前 `jiapuapp` 活动路由 | 52 | 52,沿用 `docs/接口与页面映射总表.md` 的 A/G/T/F/R/N/M 稳定编号 |
|
||
| 设计参考文件 | 60=59 PNG+1 单页 PDF | 60,`D001`—`D060` |
|
||
| 完成项目活动路由 | 78 | 78,`J001`—`J078` |
|
||
| 完成项目注释路由声明 | 1 | 1,`JX001` |
|
||
| 完成项目未注册页面文件 | 7 | 7,`JU01`—`JU07` |
|
||
| 完成项目媒体资产 | 531 | 531 个进入资产候选池;实际采用前另建逐文件 `RAxxx` |
|
||
| 本轮规划确认前批准的新增当前路由 | 0 | 0;候选先复用现有 owner 或保持关闭/待确认 |
|
||
|
||
完成项目 `pages.json` 共有 79 个 `path` 文本,其中 `pages/index/vertical-swiper/vertical-swiper` 整段被注释,因此活动路由分母是 78,不是 79;`pages/render/render` 已计入 78。
|
||
|
||
## 二、稳定 ID 与逐动作规则
|
||
|
||
- 设计证据的完整格式是 `Dxxx-Pxx-Sxx-Axx`:文件、页面/PDF 页、页面状态、来源证据基记录。当前每张单页 PNG 都作为独立 `S01` 状态证据,表内 `Dxxx-P01-Axx` 是省略 `S01` 的短写,不表示不同文件可以合并。
|
||
- 完成项目的完整格式是 `Jxxx-Sxx-Axx`。同一路由上的正常、空、管理、编辑、权限等状态先区分,再对查看、创建、删除、邀请、支付等来源证据基记录编号;表内省略默认 `S01`。注释路由用 `JX001`,未注册文件用 `JUxx`。
|
||
- 通常一个 `Axx` 对应一个独立动作。若旧截图或旧代码分支把多个控件不可分地记在同一物理证据中,基记录后必须追加稳定语义后缀,例如 `J073-A02@comment`、`@reaction`、`@share`;每个后缀分别绑定合同键、六类结论和 PA。341 只统计物理基记录,语义后缀不重复增加来源文件/代码记录,但不能用同一基号合并不同产品动作。
|
||
- 当前产品 owner:沿用 A01、G01、T01、F01、R01、N01、M01 等编号。共享 owner 使用 `S-ID`、`S-PERM`、`S-FILE`、`S-REGION`、`S-SESSION`。
|
||
- 一行可列同一页面的多个动作,但每个动作都必须有动作 ID、合同键和结论;不同结论不得合并。
|
||
- 文件名、画面、路由或源码相似不能单独证明“重复”。它们可能是普通态、管理态、编辑态、空态、错误态、不同角色态或主题态;只有入口、对象、动作、数据、接口、权限和返回行为全部等价后才能共用当前 owner,源状态 ID 始终保留。
|
||
|
||
六类甄别结论固定为:`直接采用`、`改造后采用`、`仅参考交互`、`后端缺失,暂时关闭`、`与当前产品冲突,明确舍弃`、`待用户确认`。
|
||
|
||
所有动作继承以下门禁:
|
||
|
||
1. 正常、加载、空、失败、无权限、提交中、明确失败、结果未知、返回与重进状态按动作性质覆盖。
|
||
2. 当前 OpenAPI 没有稳定 capability 投影;写入口在权限 owner 确认前只能显示禁用原因,403 不能反推权限。
|
||
3. 所有 `int64` ID 必须先通过十进制字符串 wire 门禁;不安全 number 解析后禁止继续使用。
|
||
4. 参考稿的亮红导航、旧 uView 控件、旧图标、固定尺寸和旧数据层不进入视觉目标;只借鉴信息结构,视觉统一回当前国风系统。
|
||
5. `DECLARED_UNVERIFIED` 只表示受保护 OpenAPI 有声明;收到“开始执行”并取得本轮真实证据前,没有任何动作可预先标 `LIVE_VERIFIED`。
|
||
|
||
## 三、当前合同键
|
||
|
||
本节是源页面逐动作映射使用的唯一合同索引。每个键只能有一个 `contractState`,每个当前 operation 必须写成 `METHOD + 完整 path`。快照中有 operation 但已知 schema、权限、唯一 owner、结果确认或静态门禁冲突时,状态取更严重的 `CONTRACT_CONFLICT`;门禁脚本期望、但受保护快照没有的路径只能记为“门禁目标”,不能冒充当前 operation。当前没有任何键可预先标 `LIVE_VERIFIED`。
|
||
|
||
### 3.1 共享合同
|
||
|
||
| 合同键 | 当前 operation 或唯一 owner | `contractState` | 当前阻塞和门禁 |
|
||
| --- | --- | --- | --- |
|
||
| `C-S-ID` | OpenAPI 中所有 `genealogyId`、`personId`、`memberId`、`appUserId`、内容 ID、文件 ID、`avatarOssId` 及关系引用;无独立 operation | `CONTRACT_CONFLICT` | 当前 `int64` JSON number 不能满足 JavaScript 安全整数门禁;严格门禁包括 `genealogy-workspace-openapi-contract.ps1`、`g03-bootstrap-openapi-contract.ps1`、`lineage-openapi-contract.ps1`。所有 ID 动作继承本键。 |
|
||
| `C-S-CAPABILITY` | 家谱、成员、世系等读取 DTO 中的服务端 capability/角色字段;无独立 operation | `CONTRACT_CONFLICT` | 快照没有闭合 `canView/canEdit/canInvite/canAudit/canDelete` owner,不能由前端角色名或一次 403 推测。 |
|
||
| `C-S-CONTENT-LOCK` | 无跨谱文、成长记录和重要证件的统一访问密码/内容锁 operation | `MISSING_OPERATION` | 不得复用登录密码、A05 重置密码或参考项目三套旧 wrapper;若以后批准,必须先定义独立资源、可见性、校验、重置和限流 owner。 |
|
||
| `C-S-PLATFORM-SHARE` | 当前 UniApp/Android 系统分享 adapter;无后端 operation | `NOT_APPLICABLE` | 唯一 owner 只负责调起平台分享、取消/失败和返回状态;分享内容必须由对应业务读取 owner 提供,例如 M08 当前活动家谱票据用 `C-G-INVITE-LIST`、APP 推广用 `C-M-PROMO`、宣传视频用 `C-M-PROMO-VIDEO`、F10 家族视频用 `C-F-VIDEO-READ`。未在冻结候选真机验证前产品动作最多为 `PARTIAL`。 |
|
||
| `C-S-PLATFORM-CLIPBOARD` | 当前 UniApp/Android 系统剪贴板 adapter;无后端 operation | `NOT_APPLICABLE` | 唯一 owner 只负责复制动作、拒绝/失败和返回状态,不拥有被复制的票据或推荐码;业务内容分别来自 `C-G-INVITE-LIST`、`C-M-REFERRAL`。未在冻结候选真机验证前不得宣称复制成功。 |
|
||
| `C-S-SAFE-EXTERNAL-OPEN` | 当前 UniApp/Android 外部链接打开 adapter 与目标 allowlist;无后端 operation | `NOT_APPLICABLE` | 唯一 owner 只负责 HTTPS、官方域名 allowlist、取消/失败和返回状态,不拥有下载地址内容;任意参考 URL、HTTP 地址或应用市场 scheme 均不得直接迁入。 |
|
||
| `C-S-NAV` | 当前 `pages.json`、route key、参数 validator、返回与根切换的本地导航 owner;无后端 operation | `NOT_APPLICABLE` | 只拥有导航结构,不拥有目标页数据或权限;所有跨页 PA 自动继承,参考项目菜单不能绕过当前注册路由。 |
|
||
| `C-LOCAL` | 协议、关于、版本号等经批准的正式本地静态 owner | `NOT_APPLICABLE` | 只适用于无需远端事实的内容,不能用于邀请码、通知详情、支付结果或人物资料。 |
|
||
|
||
### 3.2 A 认证与账号
|
||
|
||
| 合同键 | 当前 operation 或唯一 owner | `contractState` | 当前阻塞和门禁 |
|
||
| --- | --- | --- | --- |
|
||
| `C-A-TAC-API` | `GET /captcha/require`<br>`POST /captcha/challenge`<br>`POST /captcha/verify` | `CONTRACT_CONFLICT` | `auth-tac-openapi-contract.ps1` 是已知红灯;其中“密码登录必须消费 `validToken`”与已确认的“密码登录不接收 `validToken`、TAC 为客户端强制前置”冲突,执行时必须先修订门禁口径。 |
|
||
| `C-A-TAC-A11Y` | 复用 `GET /captcha/require`、`POST /captcha/challenge`、`POST /captcha/verify`;`VerificationPayload` 声明多种验证码载荷 | `CONTRACT_CONFLICT` | 快照并非完全缺 operation;当前冲突是无拖动替代的服务端可用性、选择/降级语义和真机证据未闭合,`auth-android-accessibility-release-gate.ps1` 仍为红灯。 |
|
||
| `C-A-LOGIN` | `POST /genealogy/app/auth/login` | `CONTRACT_CONFLICT` | 密码 wire、TAC 口径和会话结果未闭合;关联 `auth-tac-openapi-contract.ps1`、`password-change-openapi-contract.ps1`。 |
|
||
| `C-A-SMS-SEND` | `POST /genealogy/app/auth/sms/code` | `CONTRACT_CONFLICT` | 公共发码场景、`validToken`、四位/六位 OTP 及换绑场景归属冲突;本键是该 path 的唯一 owner,注册和重置不得重复拥有。 |
|
||
| `C-A-SMS-LOGIN` | `POST /genealogy/app/auth/login/sms` | `CONTRACT_CONFLICT` | OTP schema 与 TAC 发码闭环未通过 `auth-tac-openapi-contract.ps1`。 |
|
||
| `C-A-REGISTER` | `POST /genealogy/app/auth/register` | `CONTRACT_CONFLICT` | OTP 和密码唯一 wire owner 未闭合;另依赖 `C-A-SMS-SEND`。 |
|
||
| `C-A-RESET` | `PUT /genealogy/app/auth/password/reset` | `CONTRACT_CONFLICT` | OTP、密码策略及旧 MD5 路径冲突;另依赖 `C-A-SMS-SEND`。 |
|
||
| `C-A-WECHAT` | 无 APP 微信登录 operation | `MISSING_OPERATION` | `GET /auth/code` 是遗留接口,不是可确认的当前 APP 微信登录 owner。 |
|
||
| `C-A-PROFILE-READ` | `GET /genealogy/app/auth/profile` | `CONTRACT_CONFLICT` | 当前响应不能满足严格资料 DTO;关联 `profile-openapi-contract.ps1`。 |
|
||
| `C-A-PROFILE-WRITE` | `PUT /genealogy/app/auth/profile` | `CONTRACT_CONFLICT` | dirty-only merge、版本/CAS、清空语义和结果未知恢复未闭合;关联 `profile-update-openapi-contract.ps1`。 |
|
||
| `C-A-PASSWORD-CHANGE` | `PUT /genealogy/app/auth/password` | `CONTRACT_CONFLICT` | 密码 wire、全部会话撤销和稳定错误码未闭合;关联 `password-change-openapi-contract.ps1`。 |
|
||
| `C-A-PHONE-SEND` | 无当前受保护的换绑专用发码 operation | `MISSING_OPERATION` | 门禁目标 `POST /genealogy/app/auth/phone/sms/code` 未出现在受保护快照;公共发码不得擅自替代。 |
|
||
| `C-A-PHONE-CHANGE` | `PUT /genealogy/app/auth/phone` | `CONTRACT_CONFLICT` | 当前密码、新号 OTP、会话撤销和结果语义未闭合;关联 `phone-change-openapi-contract.ps1`。 |
|
||
| `C-A-DEACTIVATE` | `POST /genealogy/app/auth/account/deactivate` | `CONTRACT_CONFLICT` | `AccountDeactivateBody.smsCode` 的四位内联 schema 与 `phone-change-openapi-contract.ps1` 要求的统一短信 Secret/六位口径冲突;另依赖 `C-A-SMS-SEND`。敏感操作仅限人工窗口。 |
|
||
| `C-A-LOGOUT` | `DELETE /genealogy/app/auth/logout` | `CONTRACT_CONFLICT` | token/client 归属、幂等和终态错误未闭合;关联 `logout-openapi-contract.ps1`。 |
|
||
|
||
### 3.3 G 家谱、行政区划、申请与成员
|
||
|
||
| 合同键 | 当前 operation 或唯一 owner | `contractState` | 当前阻塞和门禁 |
|
||
| --- | --- | --- | --- |
|
||
| `C-S-REGION-CHILDREN` | `GET /genealogy/region/children` | `DECLARED_UNVERIFIED` | 共享行政区划 owner;待线上字段和层级语义验真。 |
|
||
| `C-S-REGION-PATH` | `GET /genealogy/region/path/{regionCode}` | `DECLARED_UNVERIFIED` | 待祖先路径顺序和缺失码语义验真。 |
|
||
| `C-S-REGION-SEARCH` | `GET /genealogy/region/search` | `CONTRACT_CONFLICT` | `g03-bootstrap-openapi-contract.ps1` 错把目标写成未声明的 `GET /genealogy/app/region/search`,门禁必须按快照真实路径重订。 |
|
||
| `C-S-REGION-DETAIL` | `GET /genealogy/region/{regionCode}` | `DECLARED_UNVERIFIED` | 待详情字段验真。 |
|
||
| `C-G-MINE` | `GET /genealogy/app/genealogies/mine` | `CONTRACT_CONFLICT` | 通用列表响应不能提供稳定 ID、角色和 capability;关联 `genealogy-workspace-openapi-contract.ps1`、`g03-bootstrap-openapi-contract.ps1`。 |
|
||
| `C-G-PUBLIC` | `GET /genealogy/app/genealogies/public` | `CONTRACT_CONFLICT` | 搜索游标、结果 DTO 和错误语义未满足 `join-application-openapi-contract.ps1`。 |
|
||
| `C-G-OPTIONS` | `GET /genealogy/app/genealogies/options` | `DECLARED_UNVERIFIED` | 不能在未验真前与 public/mine 列表混用。 |
|
||
| `C-G-DETAIL-READ` | `GET /genealogy/app/genealogies/{genealogyId}` | `CONTRACT_CONFLICT` | 通用对象响应且与 overview 形成两个单谱读取候选;关联 `genealogy-workspace-openapi-contract.ps1`。 |
|
||
| `C-G-OVERVIEW` | `GET /genealogy/app/genealogies/{genealogyId}/overview` | `CONTRACT_CONFLICT` | 稳定 DTO、访问状态和 capability 未闭合;关联 workspace、G03、G11 门禁。 |
|
||
| `C-G-SETTINGS` | `PUT /genealogy/app/genealogies/{genealogyId}` | `CONTRACT_CONFLICT` | dirty-only merge、版本/CAS、权限和 pending 申请保护未闭合;关联 `g11-settings-openapi-contract.ps1`。 |
|
||
| `C-G-CREATE-GENEALOGY` | `POST /genealogy/app/genealogies` | `CONTRACT_CONFLICT` | G03 第一次写只有通用结果,不能确认稳定 `genealogyId`、幂等和结果未知状态。 |
|
||
| `C-T-PERSON-CREATE` | `POST /genealogy/app/genealogies/{genealogyId}/lineage/persons` | `CONTRACT_CONFLICT` | G03 第二次写兼通用人物创建 owner;根人物保护、稳定 `personId`、ID wire 和权限未闭合。 |
|
||
| `C-G-CREATE-RECOVERY` | 无可确认的幂等结果查询或创建续办 operation | `MISSING_OPERATION` | mine/overview 的存在不能证明可安全恢复第一次写;门禁目标 `GET /genealogy/app/genealogy-bootstrap-operations/{operationKey}` 未声明。现有 G03 两个门禁仍按原子 bootstrap 设计,与已确认两阶段方案冲突,执行时须先重订。 |
|
||
| `C-G-JOIN-CREATE` | `POST /genealogy/app/genealogies/{genealogyId}/join-applies` | `CONTRACT_CONFLICT` | 幂等 receipt、稳定申请 ID 和结果语义未闭合;关联 `join-application-openapi-contract.ps1`。 |
|
||
| `C-G-JOIN-RECOVERY` | 无当前申请提交结果查询 operation | `MISSING_OPERATION` | 门禁目标 `GET /genealogy/app/genealogies/join-apply-requests/{requestKey}` 未声明。 |
|
||
| `C-G-JOIN-MINE` | `GET /genealogy/app/genealogies/join-applies/mine` | `CONTRACT_CONFLICT` | 游标和 typed item 未闭合。 |
|
||
| `C-G-JOIN-WITHDRAW` | `DELETE /genealogy/app/genealogies/join-applies/{applyId}` | `CONTRACT_CONFLICT` | 权限、幂等和稳定结果未闭合。 |
|
||
| `C-G-JOIN-PENDING` | `GET /genealogy/app/genealogies/{genealogyId}/join-applies/pending` | `CONTRACT_CONFLICT` | capability、游标和 typed item 未闭合。 |
|
||
| `C-G-JOIN-AUDIT` | `PUT /genealogy/app/genealogies/{genealogyId}/join-applies/{applyId}/audit` | `CONTRACT_CONFLICT` | 审核权限、并发、重复审核和结果 receipt 未闭合。 |
|
||
| `C-G-INVITE-LIST` | 无当前可邀请家谱/活动票据列表或单票据读取 operation | `MISSING_OPERATION` | M08 不得从本地列表推断邀请权限,也不得用静态票据恢复签发/撤销结果。 |
|
||
| `C-G-INVITE-ISSUE` | 无当前家谱邀请票据签发 operation | `MISSING_OPERATION` | 门禁目标幂等签发 path 未出现在受保护快照;响应未知时只能经权威列表恢复,不得再次盲签。 |
|
||
| `C-G-INVITE-REVOKE` | 无当前家谱邀请票据撤销 operation | `MISSING_OPERATION` | 门禁目标撤销 path 未出现在受保护快照;撤销竞态与未知结果必须经权威列表收敛。 |
|
||
| `C-G-INVITE-RESOLVE` | 无当前邀请码解析 operation | `MISSING_OPERATION` | 不得以本地解码、旧 wrapper 或普通搜索代替。 |
|
||
| `C-G-INVITE-REDEEM` | 无当前邀请码兑换/直接入谱 operation | `MISSING_OPERATION` | 不得借普通加入申请绕过独立邀请语义。 |
|
||
| `C-G-INVITE-RESULT` | 无当前邀请码兑换结果查询 operation | `MISSING_OPERATION` | 结果未知时不得重复提交。 |
|
||
| `C-G-POEM` | `GET /genealogy/app/genealogies/{genealogyId}/generation-poems`<br>`POST /genealogy/app/genealogies/{genealogyId}/generation-poems`<br>`POST /genealogy/app/genealogies/{genealogyId}/generation-poems/batch/preview`<br>`POST /genealogy/app/genealogies/{genealogyId}/generation-poems/batch/save`<br>`GET /genealogy/app/genealogies/{genealogyId}/generation-poems/management`<br>`PUT /genealogy/app/genealogies/{genealogyId}/generation-poems/{poemId}` | `CONTRACT_CONFLICT` | `g12-generation-poem-openapi-contract.ps1` 要求另一套唯一 GET/PUT、版本/CAS 和旧入口移除,门禁目标与当前六个 operation 不一致。 |
|
||
| `C-G-MEMBER-READ` | `GET /genealogy/app/genealogies/{genealogyId}/members`<br>`GET /genealogy/app/genealogies/{genealogyId}/members/options` | `CONTRACT_CONFLICT` | 成员与世系人物身份、typed item 和 capability 未闭合。 |
|
||
| `C-G-MEMBER-UPDATE` | `PUT /genealogy/app/genealogies/{genealogyId}/members/{memberId}` | `CONTRACT_CONFLICT` | body 中 `lineagePersonId` 同时成为邀请绑定候选,尚无唯一 mutation owner。 |
|
||
| `C-G-MEMBER-REMOVE` | `DELETE /genealogy/app/genealogies/{genealogyId}/members/{memberId}` | `CONTRACT_CONFLICT` | 移除权限、所有者保护和结果未知处理未闭合。 |
|
||
| `C-G-MEMBER-LEAVE` | `DELETE /genealogy/app/genealogies/{genealogyId}/members/me` | `CONTRACT_CONFLICT` | 本人退出约束、最后管理员/所有者保护及终态未闭合。 |
|
||
| `C-G-MEMBER-TRANSFER` | `PUT /genealogy/app/genealogies/{genealogyId}/members/owner-transfer` | `CONTRACT_CONFLICT` | 高风险权限迁移、并发和结果确认未闭合。 |
|
||
| `C-G-SORT` | 无家谱批量排序或始祖世代安全 operation | `MISSING_OPERATION` | 不能复用人物 `sortOrder` 或字辈接口。 |
|
||
| `C-G-ADMIN` | 无管理员列表、授权和细粒度 capability operation | `MISSING_OPERATION` | members operation 不能在无明确角色/capability 合同时替代。 |
|
||
| `C-G-DELETE` | 无当前删除家谱 operation | `MISSING_OPERATION` | 参考项目 `delGenealogy` 不是当前合同;不得借设置 PUT、成员退出或本地移除列表伪装删除。 |
|
||
|
||
`invite-ticket-openapi-contract.ps1` 中以下目标路径均未出现在受保护快照,只是门禁目标:`GET /genealogy/app/genealogies/{genealogyId}/invite-tickets/mine`、`POST /genealogy/app/genealogies/{genealogyId}/invite-tickets`、`DELETE /genealogy/app/genealogies/{genealogyId}/invite-tickets/{inviteTicketId}`、`POST /genealogy/app/genealogy-invite-tickets/resolve`、`POST /genealogy/app/genealogy-invite-redemptions`、`GET /genealogy/app/genealogy-invite-redemption-requests/{requestKey}`。
|
||
|
||
### 3.4 T 世系与邀请绑定
|
||
|
||
| 合同键 | 当前 operation 或唯一 owner | `contractState` | 当前阻塞和门禁 |
|
||
| --- | --- | --- | --- |
|
||
| `C-T-TREE` | `GET /genealogy/app/genealogies/{genealogyId}/lineage/tree` | `CONTRACT_CONFLICT` | 当前通用树不能满足头像卡、稳定图关系、窗口化、遮蔽和权限合同;`lineage-openapi-contract.ps1` 的 v2 路径只是未声明目标。 |
|
||
| `C-T-DETAIL` | `GET /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}` | `CONTRACT_CONFLICT` | 通用对象、ID/capability 未闭合,T03 仍是 fixture 半成品;关联 `t03-member-remote-contract.ps1`。 |
|
||
| `C-T-LIST` | `GET /genealogy/app/genealogies/{genealogyId}/lineage/persons`<br>`GET /genealogy/app/genealogies/{genealogyId}/lineage/persons/page`<br>`GET /genealogy/app/genealogies/{genealogyId}/lineage/persons/options` | `CONTRACT_CONFLICT` | 三个读取 owner 的边界、typed item、ID 和 capability 未闭合。 |
|
||
| `C-T-PARENT` | `POST /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/parents` | `CONTRACT_CONFLICT` | 父/母意图、`sex` enum、重复关系、图版本和权限未闭合。 |
|
||
| `C-T-SPOUSE` | `POST /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/spouses` | `CONTRACT_CONFLICT` | 关系方向、重复/冲突、图版本和权限未闭合。 |
|
||
| `C-T-SIBLING` | `POST /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/siblings` | `CONTRACT_CONFLICT` | 性别、共同父母、排行和关系原子性未闭合。 |
|
||
| `C-T-CHILD` | `POST /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/children` | `CONTRACT_CONFLICT` | 儿/女 `sex` enum、另一父母、排行和关系原子性未闭合。 |
|
||
| `C-T-EDIT` | `PUT /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}` | `CONTRACT_CONFLICT` | 宽 body、字段白名单、并发、头像链及 `appUserId` 绑定混入同一 PUT。 |
|
||
| `C-T-RANK` | 候选但非独立 owner:`PUT /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}` | `CONTRACT_CONFLICT` | 只有单人物 `sortOrder`,没有同辈原子重排、冲突版本或完整结果;正式 PUT owner 仍是 `C-T-EDIT`。 |
|
||
| `C-T-BIND-INVITE` | 无当前人物邀请签发、送达和接受 operation | `MISSING_OPERATION` | 家谱票据目标也未声明,且不能证明等于“绑定某一人物”。 |
|
||
| `C-T-BIND-IDENTITY` | 无受邀账号身份查找或安全匹配 operation | `MISSING_OPERATION` | 不得按手机号、昵称或参考本地数据猜 `appUserId/memberId`。 |
|
||
| `C-T-BIND-MUTATION` | 冲突候选:`PUT /genealogy/app/genealogies/{genealogyId}/members/{memberId}`<br>冲突候选:`PUT /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}` | `CONTRACT_CONFLICT` | 一个写 `lineagePersonId`,一个写 `appUserId`;快照没有指定唯一 owner、原子性或禁止双写规则。 |
|
||
| `C-T-BIND-RESULT` | 无当前人物绑定结果查询 operation | `MISSING_OPERATION` | 结果未知时不得重试或双写。 |
|
||
| `C-T-DELETE` | `DELETE /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}` | `CONTRACT_CONFLICT` | 当前语义更接近停用;根人物、被引用人物、权限及图版本未闭合。 |
|
||
|
||
### 3.5 文件链
|
||
|
||
| 合同键 | 当前 operation 或唯一 owner | `contractState` | 当前阻塞和门禁 |
|
||
| --- | --- | --- | --- |
|
||
| `C-S-FILE-BINARY-WRITE` | `POST /genealogy/app/files/upload`<br>`POST /genealogy/app/files/resumable/init`<br>`POST /genealogy/app/files/resumable/chunk`<br>`POST /genealogy/app/files/resumable/complete` | `CONTRACT_CONFLICT` | 上传成功结果、`ossId` 安全 wire、断点续传幂等及完成后可访问事实未闭合。 |
|
||
| `C-S-FILE-REFERENCE-WRITE` | `POST /genealogy/app/files/reference`<br>`DELETE /genealogy/app/files/reference` | `CONTRACT_CONFLICT` | 引用对象身份、重复引用、删除引用与删除二进制边界未闭合。 |
|
||
| `C-S-FILE-READ` | 无按 `ossId`/文件 ID 恢复可访问 URL 或授权读取的 GET operation | `MISSING_OPERATION` | 上传返回值或历史 URL 不能替代冷启动读取 owner。 |
|
||
|
||
### 3.6 F 家族内容
|
||
|
||
| 合同键 | 当前 operation 或唯一 owner | `contractState` | 当前阻塞和门禁 |
|
||
| --- | --- | --- | --- |
|
||
| `C-F-FEED-READ` | `GET /genealogy/app/genealogies/{genealogyId}/feeds`<br>`GET /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}` | `CONTRACT_CONFLICT` | 读 DTO、游标、作者投影和媒体策略未闭合;关联 `family-feed-read-openapi-contract.ps1`。 |
|
||
| `C-F-FEED-PAGE-LEGACY` | `GET /genealogy/app/genealogies/{genealogyId}/feeds/page` | `CONTRACT_CONFLICT` | 门禁识别为应移除的重复读取 owner。 |
|
||
| `C-F-FEED-WRITE` | `POST /genealogy/app/genealogies/{genealogyId}/feeds`<br>`PUT /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}`<br>`POST /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/likes`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/likes` | `DECLARED_UNVERIFIED` | 媒体另依赖文件链,所有 ID 另依赖 `C-S-ID`。 |
|
||
| `C-F-FEED-MODERATION` | 无动态置顶或加精 operation | `MISSING_OPERATION` | 不能用 `sortOrder/status` 猜测管理语义,也不能只改本地列表。 |
|
||
| `C-F-COMMENT-READ` | `GET /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments`<br>`GET /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}/replies` | `CONTRACT_CONFLICT` | 根评论/回复投影、删除占位和游标语义未闭合。 |
|
||
| `C-F-COMMENT-PAGE` | `GET /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/page`<br>`GET /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}/replies/page` | `CONTRACT_CONFLICT` | `/comments/page` 是重复 owner 候选,回复分页也须与 canonical 读取统一。 |
|
||
| `C-F-COMMENT-WRITE` | `POST /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}` | `DECLARED_UNVERIFIED` | 回复创建只在 `parentCommentId` 真实语义确认后复用 POST。 |
|
||
| `C-F-ARTICLE` | `GET /genealogy/app/genealogies/{genealogyId}/article-categories`<br>`GET /genealogy/app/genealogies/{genealogyId}/articles`<br>`POST /genealogy/app/genealogies/{genealogyId}/articles`<br>`GET /genealogy/app/genealogies/{genealogyId}/articles/{articleId}`<br>`PUT /genealogy/app/genealogies/{genealogyId}/articles/{articleId}`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/articles/{articleId}` | `DECLARED_UNVERIFIED` | 分类只有读取;文章字段、富文本和媒体白名单待验真。 |
|
||
| `C-F-ARTICLE-CATEGORY-WRITE` | 无谱文分类新增、编辑或删除 operation | `MISSING_OPERATION` | 分类读取不能反推分类管理能力,不得借文章 POST/PUT 代替。 |
|
||
| `C-F-ALBUM` | `GET /genealogy/app/genealogies/{genealogyId}/albums`<br>`POST /genealogy/app/genealogies/{genealogyId}/albums`<br>`PUT /genealogy/app/genealogies/{genealogyId}/albums/{albumId}`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/albums/{albumId}` | `DECLARED_UNVERIFIED` | 封面媒体和删除语义另受文件与权限门禁约束。 |
|
||
| `C-F-PHOTO-READ` | `GET /genealogy/app/genealogies/{genealogyId}/albums/{albumId}/photos` | `DECLARED_UNVERIFIED` | 照片访问 URL 仍依赖 `C-S-FILE-READ`。 |
|
||
| `C-F-PHOTO-WRITE` | `POST /genealogy/app/genealogies/{genealogyId}/albums/{albumId}/photos`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/albums/{albumId}/photos/{photoId}` | `DECLARED_UNVERIFIED` | 新增照片是“文件写+照片记录写”两段动作。 |
|
||
| `C-F-PHOTO-EDIT` | 无照片元数据编辑 operation | `MISSING_OPERATION` | 不得借相册 PUT 或本地数组修改。 |
|
||
| `C-F-VIDEO-DELETE` | `DELETE /genealogy/app/genealogies/{genealogyId}/videos/{videoId}` | `DECLARED_UNVERIFIED` | 孤立删除没有读取对象来源时不得启用。 |
|
||
| `C-F-VIDEO-READ` | 无视频列表、详情或播放资源读取 operation | `MISSING_OPERATION` | 不使用参考项目 URL 或全局 store 代替。 |
|
||
| `C-F-VIDEO-WRITE` | 无视频发布或编辑 operation | `MISSING_OPERATION` | 文件上传不等于视频实体发布。 |
|
||
| `C-F-VIDEO-COMMENT` | 无家族视频评论读取、发表、回复或删除 operation | `MISSING_OPERATION` | 动态评论 `C-F-COMMENT-*` 只拥有 feed 资源,不能跨资源复用为视频评论。 |
|
||
| `C-F-VIDEO-REACTION` | 无家族视频点赞/取消点赞 operation | `MISSING_OPERATION` | 不得用本地计数、动画或参考项目裸请求冒充服务端反应状态。 |
|
||
|
||
### 3.7 R 族务记录
|
||
|
||
| 合同键 | 当前 operation 或唯一 owner | `contractState` | 当前阻塞和门禁 |
|
||
| --- | --- | --- | --- |
|
||
| `C-R-RELATIVE` | `GET /genealogy/app/genealogies/{genealogyId}/relative-records`<br>`POST /genealogy/app/genealogies/{genealogyId}/relative-records`<br>`GET /genealogy/app/genealogies/{genealogyId}/relative-records/{relativeId}`<br>`PUT /genealogy/app/genealogies/{genealogyId}/relative-records/{relativeId}`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/relative-records/{relativeId}` | `DECLARED_UNVERIFIED` | 收/送方向、金额精度、人物关联和权限待验真。 |
|
||
| `C-R-CEREMONY` | `GET /genealogy/app/genealogies/{genealogyId}/ceremonies`<br>`POST /genealogy/app/genealogies/{genealogyId}/ceremonies`<br>`GET /genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}`<br>`PUT /genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}`<br>`GET /genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}/gifts`<br>`POST /genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}/gifts`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}/gifts/{giftId}` | `DECLARED_UNVERIFIED` | 祭祀献礼不能直接等同参考“贺礼邀请”。 |
|
||
| `C-R-GROWTH` | `GET /genealogy/app/genealogies/{genealogyId}/growth-records`<br>`POST /genealogy/app/genealogies/{genealogyId}/growth-records`<br>`GET /genealogy/app/genealogies/{genealogyId}/growth-records/{recordId}`<br>`PUT /genealogy/app/genealogies/{genealogyId}/growth-records/{recordId}`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/growth-records/{recordId}` | `DECLARED_UNVERIFIED` | 人物 ID、分类 enum 和媒体字段待验真。 |
|
||
| `C-R-MEMO` | `GET /genealogy/app/genealogies/{genealogyId}/memos`<br>`POST /genealogy/app/genealogies/{genealogyId}/memos`<br>`GET /genealogy/app/genealogies/{genealogyId}/memos/{memoId}`<br>`PUT /genealogy/app/genealogies/{genealogyId}/memos/{memoId}`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/memos/{memoId}` | `DECLARED_UNVERIFIED` | 日期、提醒和权限字段待验真。 |
|
||
| `C-R-MERIT-BASE` | `GET /genealogy/app/genealogies/{genealogyId}/merit-records`<br>`POST /genealogy/app/genealogies/{genealogyId}/merit-records`<br>`DELETE /genealogy/app/genealogies/{genealogyId}/merit-records/{meritId}` | `DECLARED_UNVERIFIED` | 只支持列表、新增和单删;图片另依赖文件链。 |
|
||
| `C-R-MERIT-DETAIL` | 无功德详情 operation | `MISSING_OPERATION` | 列表项投影不能伪装远端详情。 |
|
||
| `C-R-MERIT-EDIT` | 无功德编辑 operation | `MISSING_OPERATION` | 不得用再次 POST 猜测新增/编辑复用语义。 |
|
||
| `C-R-LIFE` | 无人生事件 operation | `MISSING_OPERATION` | 保持关闭。 |
|
||
| `C-R-DOCUMENT` | 无重要证件 operation | `MISSING_OPERATION` | 隐私敏感,不能迁移参考旧接口或示例数据。 |
|
||
| `C-R-GREETING` | 无独立“贺礼邀请”列表、详情、增改删 operation | `MISSING_OPERATION` | `relative-records` 是人情往来,`ceremonies/gifts` 是祭祀/献礼;二者都不能因名称接近而冒充本业务。 |
|
||
|
||
### 3.8 N 通知
|
||
|
||
| 合同键 | 当前 operation 或唯一 owner | `contractState` | 当前阻塞和门禁 |
|
||
| --- | --- | --- | --- |
|
||
| `C-N-LIST` | `GET /genealogy/app/notifications` | `CONTRACT_CONFLICT` | 当前是无稳定 item/type/target schema 的通用列表;关联 `notification-read-openapi-contract.ps1`。 |
|
||
| `C-N-UNREAD-COUNT` | 无当前未读数 operation | `MISSING_OPERATION` | 门禁目标 `GET /genealogy/app/notifications/unread-count` 未声明。 |
|
||
| `C-N-READ-ONE` | `POST /genealogy/app/notifications/{notificationId}/read` | `CONTRACT_CONFLICT` | 幂等、当前账号归属及稳定结果未闭合。 |
|
||
| `C-N-READ-ALL` | `POST /genealogy/app/notifications/read-all` | `CONTRACT_CONFLICT` | 当前账号范围、幂等和结果未闭合。 |
|
||
| `C-N-DETAIL-SAME-SESSION` | 本地 owner:N01 当前会话不可变列表项快照;来源仍是 `GET /genealogy/app/notifications` | `CONTRACT_CONFLICT` | 同会话投影可保留,但列表 item/type/target schema 不稳定;不得猜业务深链。 |
|
||
| `C-N-DETAIL-COLD-START` | 无通知详情或按通知 ID 重取 operation | `MISSING_OPERATION` | 冷启动、进程重启、深链或快照丢失时诚实关闭。 |
|
||
| `C-N-TYPED-REMINDER` | 候选复用 `GET /genealogy/app/notifications` | `CONTRACT_CONFLICT` | 现有列表缺稳定生日/疫苗/备忘等 type、目标 route key、参数和权限失效 schema,不能从文案猜类型。 |
|
||
|
||
### 3.9 M 我的
|
||
|
||
| 合同键 | 当前 operation 或唯一 owner | `contractState` | 当前阻塞和门禁 |
|
||
| --- | --- | --- | --- |
|
||
| `C-M-HELP-LIST` | `GET /genealogy/app/help-articles` | `CONTRACT_CONFLICT` | 完整列表 DTO 未满足 `help-center-openapi-contract.ps1`。当前 M06 的文章阅读必须由列表项投影承接。 |
|
||
| `C-M-HELP-DETAIL` | `GET /genealogy/app/help-articles/{helpId}` | `CONTRACT_CONFLICT` | operation 已声明,但当前门禁指定完整列表为唯一远端 owner;规划不新增独立详情路由,先统一 owner 后才可启用本键。 |
|
||
| `C-M-FEEDBACK` | `GET /genealogy/app/feedback`<br>`POST /genealogy/app/feedback` | `DECLARED_UNVERIFIED` | 列表范围、提交幂等和结果未知处理待验真。 |
|
||
| `C-M-PROMO` | `GET /genealogy/app/promotions` | `DECLARED_UNVERIFIED` | 只证明推广内容读取,不代表邀请码、积分、奖励或分享变现。 |
|
||
| `C-M-PROMO-VIDEO` | 无独立广告/宣传视频列表、详情或播放资源 operation | `MISSING_OPERATION` | `GET /genealogy/app/promotions` 未证明返回稳定可播放媒体;家族视频 `C-F-VIDEO-READ` 不能跨域替代。 |
|
||
| `C-M-PROMO-VIDEO-COMMENT` | 无广告/宣传视频评论读取、发表、回复或删除 operation | `MISSING_OPERATION` | 不得借动态评论或家族视频评论 owner 冒充。 |
|
||
| `C-M-PROMO-VIDEO-REACTION` | 无广告/宣传视频点赞/取消点赞 operation | `MISSING_OPERATION` | 不得用本地计数或参考控件冒充服务端状态。 |
|
||
| `C-M-REFERRAL` | 无 APP 推广推荐码/二维码签发或读取 operation | `MISSING_OPERATION` | 推广推荐码不是家谱邀请票据,不能解析、兑换或直接入谱,也不能借 `C-G-INVITE-ISSUE` 冒充。 |
|
||
| `C-M-REWARD` | 无邀请奖励、积分余额或奖励明细 operation | `MISSING_OPERATION` | 不得从推广文案、邀请码或本地计数推断奖励。 |
|
||
| `C-M-VIP-READ` | `GET /genealogy/app/vip/packages`<br>`GET /genealogy/app/vip/orders` | `DECLARED_UNVERIFIED` | 待 typed item、金额单位和订单状态验真。 |
|
||
| `C-M-VIP-ORDER` | `POST /genealogy/app/vip/orders` | `CONTRACT_CONFLICT` | 通用对象结果没有稳定订单 ID、幂等键、订单详情或结果未知恢复链。 |
|
||
| `C-M-VIP-PAY` | 无支付、支付结果查询、取消或退款 operation | `MISSING_OPERATION` | 不得由创建订单 HTTP 200 进入成功页。 |
|
||
| `C-M-MONEY` | 无余额、资金流水、提现提交或提现状态 operation | `MISSING_OPERATION` | 文件上传不能单独启用收款码/提现流程。 |
|
||
|
||
未直接出现在某一 PA 合同列的键也有明确用途,不能被误当成漏接动作:`C-S-ID/C-S-CAPABILITY/C-S-NAV` 是全部相关 PA 自动继承的共享门禁;`C-G-DETAIL-READ` 是与 overview 竞争、待退役的诊断键;`C-G-MEMBER-UPDATE` 是 `C-T-BIND-MUTATION` 的冲突候选 operation 证据;`C-F-FEED-PAGE-LEGACY/C-F-COMMENT-PAGE` 是待移除的重复读取 owner;`C-F-PHOTO-EDIT` 记录未获批准产品动作的合同缺口;`C-M-HELP-DETAIL` 记录被 list-only 决策压住的声明 operation。它们不增加 PA 分母,也不能绕过对应 canonical owner。
|
||
|
||
## 四、第一参考源:60 个设计文件
|
||
|
||
### 4.1 D001—D030
|
||
|
||
| 文件 ID / 文件 | 页面与逐动作 ID | 当前合同键与 owner | 甄别结论与改造边界 |
|
||
| --- | --- | --- | --- |
|
||
| `D001` `4、族谱网APP端-思维导图.pdf` | `D001-P01-A01` APP 功能树;`A02` 后台/网站/PC 分支 | A/G/T/F/R/N/M;其他端无当前路由 | `A01 仅参考交互`,作为反向覆盖目录;`A02 与当前产品冲突,明确舍弃`,不扩张本仓库 |
|
||
| `D002` `编辑家族视频.png` | `D002-P01-A01` 选择并删除视频 | `C-F-VIDEO-READ/C-F-VIDEO-DELETE` → F10 | `后端缺失,暂时关闭`;不能因有孤立 DELETE 就启用管理页 |
|
||
| `D003` `编辑相册.png` | `D003-P01-A01` 改名/描述/封面;`A02` 删除相册 | `C-F-ALBUM`、`C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` → F07/F08 | 两项均 `改造后采用`;权限、结果未知、封面文件链和删除确认必须重做 |
|
||
| `D004` `创建家谱 .png` | `D004-P01-A01` 填姓氏/谱名/堂号/地望/祠堂/访问权限并创建 | `C-S-REGION-CHILDREN/C-S-REGION-PATH/C-S-REGION-SEARCH/C-S-REGION-DETAIL`、`C-G-CREATE-GENEALOGY`、`C-T-PERSON-CREATE`、`C-G-CREATE-RECOVERY` → G03 | `改造后采用`;自由文本地望不能代替必填 `regionCode`;固定两阶段顺序,但首写无稳定词法 ID 或结果未知时必须停止,不能从 mine 列表猜回 |
|
||
| `D005` `登陆.png` | `D005-P01-A01` 密码登录;`A02` 忘记;`A03` 注册;`A04` 微信登录 | `C-A-TAC-API/C-A-TAC-A11Y/C-A-LOGIN/C-A-SMS-SEND/C-A-RESET/C-A-REGISTER/C-A-WECHAT` → A01/A04/A05 | A01—A03 `改造后采用`,补 TAC/协议/错误;A04 `后端缺失,暂时关闭` |
|
||
| `D006` `调整世代.png` | `D006-P01-A01` 调整始祖世代并联动其他成员 | `C-G-SORT` → G 候选 | `后端缺失,暂时关闭`;不能借 T06 排行或 G12 字辈 |
|
||
| `D007` `发布视频.png` | `D007-P01-A01` 标题/描述/上传并发布视频 | `C-F-VIDEO-WRITE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` → F10 | `后端缺失,暂时关闭`;上传存在也不等于视频实体发布存在 |
|
||
| `D008` `功德录(1).png` | `D008-P01-A01` 浏览功德记录;`A02` 进入管理 | `C-R-MERIT-BASE/C-R-MERIT-DETAIL` → R11 | A01 `改造后采用`;A02 `仅参考交互`,详情/编辑合同不足 |
|
||
| `D009` `功德录.png` | `D009-P01-A01` 多选记录;`A02` 删除 | `C-R-MERIT-BASE` → R11 | A01 `仅参考交互`;A02 `改造后采用`,服务端仅单删且需权限/二次确认 |
|
||
| `D010` `管理世代.png` | `D010-P01-A01` 浏览字辈代次;`A02` 编辑;`A03` 新增 | `C-G-POEM` → G12 | 三项 `改造后采用`;统一到 G12 单一 owner,不建立“世代”第二合同 |
|
||
| `D011` `加入家谱.png` | `D011-P01-A01` 粘贴邀请码并直接加入 | `C-G-INVITE-RESOLVE/C-G-INVITE-REDEEM/C-G-INVITE-RESULT` → G06 | `后端缺失,暂时关闭`;不可借普通 `C-G-JOIN-CREATE` |
|
||
| `D012` `家谱主页 – 1.png` | `D012-P01-A01` 家谱总览;`A02` 模块导航 | `C-G-OVERVIEW` → G05 | A01/A02 均为 `仅参考交互`;作为独立总览状态证据保留,不能因与 D043 相似就判重复;红色整页视觉不直接采纳 |
|
||
| `D013` `家谱主页 – 22.png` | `D013-P01-A01` 贺礼邀请列表;`A02` 分类筛选;`A03` 新建 | `C-R-GREETING` → R 候选 | 三项 `待用户确认`;“贺礼邀请”既非人情簿也未证明等于祭祀献礼 |
|
||
| `D014` `家谱主页 – 23.png` | `D014-P01-A01` 多选贺礼;`A02` 删除 | 同 D013 | A01 `仅参考交互`;A02 `待用户确认`,语义与权限未定 |
|
||
| `D015` `家谱主页 – 24.png` | `D015-P01-A01` 贺礼详情 | 同 D013 | `待用户确认`;不能用 ceremony gift 详情猜产品语义 |
|
||
| `D016` `家谱主页 – 25.png` | `D016-P01-A01` 创建/编辑贺礼 | 同 D013 | `待用户确认`;标题、类型、金额、受邀人和状态合同均需定义 |
|
||
| `D017` `家谱主页 – 26.png` | `D017-P01-A01` 成长日志列表;`A02` 分类/筛选;`A03` 新建 | `C-R-GROWTH` → R08 | 三项 `改造后采用`;人物 ID 与 recordType enum 先验真 |
|
||
| `D018` `家谱主页 – 27.png` | `D018-P01-A01` 成长日志详情 | `C-R-GROWTH` → R08 | `改造后采用` |
|
||
| `D019` `家谱主页 – 28.png` | `D019-P01-A01` 多选成长记录;`A02` 删除 | `C-R-GROWTH` → R08 | A01 `仅参考交互`;A02 `改造后采用`,只删测试数据并二次确认 |
|
||
| `D020` `家谱主页 – 29.png` | `D020-P01-A01` 新建成长日志 | `C-R-GROWTH` → R08 | `改造后采用`;绑定真实人物,禁止本地假插入 |
|
||
| `D021` `家谱主页 – 30.png` | `D021-P01-A01` 人情簿列表;`A02` 新建 | `C-R-RELATIVE` → R03/R04 | 两项 `改造后采用`;收/送方向、金额精度先验真 |
|
||
| `D022` `家谱主页 – 31.png` | `D022-P01-A01` 多选人情记录;`A02` 删除 | `C-R-RELATIVE` → R03/R04 | A01 `仅参考交互`;A02 `改造后采用` |
|
||
| `D023` `家谱主页 – 32.png` | `D023-P01-A01` 新建/编辑人情记录 | `C-R-RELATIVE` → R04 | `改造后采用` |
|
||
| `D024` `家谱主页 – 33.png` | `D024-P01-A01` 备忘列表;`A02` 新建 | `C-R-MEMO` → R10 | 两项 `改造后采用` |
|
||
| `D025` `家谱主页 – 34.png` | `D025-P01-A01` 管理员列表;`A02` 添加 | `C-G-ADMIN/C-G-MEMBER-READ` → G 候选 | 两项 `待用户确认`;无 capability owner,不新增假页面 |
|
||
| `D026` `家谱主页 – 35.png` | `D026-P01-A01` 多选管理员;`A02` 删除;`A03` 权限配置 | `C-G-ADMIN/C-G-MEMBER-READ/C-G-MEMBER-REMOVE` | A01 `仅参考交互`;A02/A03 `待用户确认`,破坏性/授权能力未闭合 |
|
||
| `D027` `家谱主页 – 36.png` | `D027-P01-A01` 选择成员并添加管理员 | `C-G-ADMIN/C-G-MEMBER-READ` | `待用户确认` |
|
||
| `D028` `家谱主页 – 37.png` | `D028-P01-A01` 配置管理员权限 | `C-G-ADMIN` | `待用户确认`;不能把前端勾选框当服务端 capability |
|
||
| `D029` `家谱主页 – 38.png` | `D029-P01-A01` 发布文字/图片动态;`A02` 置顶;`A03` 加精 | `C-F-FEED-WRITE/C-F-FEED-MODERATION/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` → F02 | A01 `改造后采用`;A02/A03 `后端缺失,暂时关闭` |
|
||
| `D030` `家谱主页 – 39.png` | `D030-P01-A01` 表格式世系浏览 | `C-T-TREE` → T01 | `仅参考交互`;可作为辅助模式候选,但头像卡树是当前必需主模式 |
|
||
|
||
### 4.2 D031—D060
|
||
|
||
| 文件 ID / 文件 | 页面与逐动作 ID | 当前合同键与 owner | 甄别结论与改造边界 |
|
||
| --- | --- | --- | --- |
|
||
| `D031` `家谱主页 – 40.png` | `D031-P01-A01` 搜索世系人物;`A02` 选择定位 | `C-T-LIST/C-T-TREE` → T01/T07 | 两项 `改造后采用`;搜索与树定位共享人物 ID owner |
|
||
| `D032` `家谱主页 – 41.png` | `D032-P01-A01` 头像人物卡树;`A02` 横纵浏览 | `C-T-TREE/C-S-FILE-READ` → T01 | 两项 `改造后采用`,且是用户明确的 T01 必需能力;视觉重做为当前国风 |
|
||
| `D033` `家谱主页 – 42.png` | `D033-P01-A01` 查看资料;`A02` 父亲;`A03` 母亲;`A04` 配偶;`A05` 兄弟姐妹;`A06` 排行;`A07` 儿子;`A08` 女儿;`A09` 邀请绑定;`A10` 编辑 | `C-T-DETAIL/C-T-PARENT/C-T-SPOUSE/C-T-SIBLING/C-T-RANK/C-T-CHILD/C-T-BIND-INVITE/C-T-BIND-IDENTITY/C-T-BIND-MUTATION/C-T-BIND-RESULT/C-T-EDIT` → T01/T03—T06/独立邀请流程 | 十项均为用户明确需求,产品取舍为 `改造后采用`;合同不足的动作执行态关闭且产品完成度 BLOCKED,不能删入口或假成功 |
|
||
| `D034` `家谱主页 – 43.png` | `D034-P01-A01` 查看人物资料空态;`A02` 资料/亲属切换;`A03` 邀请其激活绑定;`A04` 编辑 | `C-T-DETAIL/C-T-BIND-INVITE/C-T-BIND-IDENTITY/C-T-BIND-MUTATION/C-T-BIND-RESULT/C-T-EDIT` → T03/T05/邀请流程 | A01/A02/A04 `改造后采用`;A03 产品需求已批准但当前 `后端缺失,暂时关闭` |
|
||
| `D035` `家谱主页 – 44.png` | `D035-P01-A01` 查看人物亲属列表;`A02` 点亲属继续查看 | `C-T-DETAIL/C-T-LIST` → T03 | 两项 `改造后采用`;避免递归叠原生页,沿用单实例轨迹 |
|
||
| `D036` `家谱主页 – 45.png` | `D036-P01-A01` 选择/绑定成长对象;`A02` 编辑头像姓名排行等人物字段;`A03` 填成长日志 | `C-T-BIND-INVITE/C-T-BIND-IDENTITY/C-T-BIND-MUTATION/C-T-BIND-RESULT/C-T-EDIT/C-T-RANK/C-R-GROWTH` → T04/T05/T06/R08 | A01 `后端缺失,暂时关闭`;A02/A03 `改造后采用`且必须按 owner 拆分,不能把排行和人物编辑合为宽表单 |
|
||
| `D037` `家谱主页 – 46.png` | `D037-P01-A01` 阅读富文本详情 | `C-R-CEREMONY/C-M-HELP-LIST` → 取决于来源 | `仅参考交互`;通用长文阅读形态可复用,但数据 owner 必须由入口决定 |
|
||
| `D038` `家谱主页 – 47.png` | `D038-P01-A01` 编辑人物基础资料;`A02` 微信/QQ/地址/学历/职业等扩展隐私资料 | `C-T-EDIT` → T05 | A01 `改造后采用`;A02 `与当前产品冲突,明确舍弃`,当前需求未授权且后端无隐私/可见性 owner,不采集、不存储、不上传 |
|
||
| `D039` `家谱主页 – 48.png` | `D039-P01-A01` 帮助分类;`A02` 搜索 | `C-M-HELP-LIST` → M06 | 两项 `改造后采用` |
|
||
| `D040` `家谱主页 – 49.png` | `D040-P01-A01` 阅读帮助文章 | `C-M-HELP-LIST` → M06 | `改造后采用`;由完整列表项投影承接,不新增独立远端 owner |
|
||
| `D041` `家谱主页 – 50.png` | `D041-P01-A01` 分享应用;`A02` 邀请奖励/积分;`A03` 微信小程序首次登录限制 | `C-M-PROMO/C-S-PLATFORM-SHARE/C-M-REWARD/C-A-WECHAT` → 无当前路由的 M 推广候选 | A01 `仅参考交互`;A02/A03 `待用户确认`并保持关闭,禁止承诺积分或微信链,更不得覆盖 M08 家谱邀请 |
|
||
| `D042` `家谱主页 – 51.png` | `D042-P01-A01` 填标题/描述并提交反馈 | `C-M-FEEDBACK` → M07 | `改造后采用`;真实提交失败和结果未知不得清空 |
|
||
| `D043` `家谱主页.png` | `D043-P01-A01` 家谱总览;`A02` 模块导航 | `C-G-OVERVIEW` → G05 | A01/A02 均为 `仅参考交互`;独立保留为可能的角色、主题或业务状态,待入口/数据/权限证据证明后才决定是否与 D012 共用状态实现 |
|
||
| `D044` `家族视频.png` | `D044-P01-A01` 视频列表;`A02` 播放;`A03` 管理;`A04` 发布 | `C-F-VIDEO-READ/C-F-VIDEO-WRITE/C-F-VIDEO-DELETE` → F10 | 四项 `后端缺失,暂时关闭`;播放 UI 可做关闭页信息参考 |
|
||
| `D045` `家族相册.png` | `D045-P01-A01` 照片墙;`A02` 预览;`A03` 上传照片;`A04` 编辑相册 | `C-F-ALBUM/C-F-PHOTO-READ/C-F-PHOTO-WRITE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` → F08/F09 | A01—A04 均为 `改造后采用`;A03/A04 必须在文件、权限和两段写闭环后实施 |
|
||
| `D046` `谱文(1).png` | `D046-P01-A01` 管理谱文分类 | `C-F-ARTICLE-CATEGORY-WRITE` → F04/F06 | `仅参考交互`;当前合同只有分类读取,无分类增改删,管理动作关闭 |
|
||
| `D047` `谱文.png` | `D047-P01-A01` 浏览谱文分类;`A02` 进入内容 | `C-F-ARTICLE` → F04 | 两项 `改造后采用` |
|
||
| `D048` `谱文详情.png` | `D048-P01-A01` 阅读谱文;`A02` 添加/编辑 | `C-F-ARTICLE` → F05/F06 | 两项 `改造后采用`;富文本和媒体必须消毒/归一化 |
|
||
| `D049` `设置世代.png` | `D049-P01-A01` 编辑代数/字辈;`A02` 保存;`A03` 删除 | `C-G-POEM` → G12 | A01—A03 均为 `改造后采用`;A03 只能改造成停用/恢复,不得猜测为物理删除 |
|
||
| `D050` `首页 – 14.png` | `D050-P01-A01` 我的家谱列表;`A02` 搜索;`A03` 创建;`A04` 普通申请加入;`A05` 邀请码直入 | `C-G-MINE/C-G-PUBLIC/C-G-OPTIONS/C-G-CREATE-GENEALOGY/C-T-PERSON-CREATE/C-G-CREATE-RECOVERY/C-G-JOIN-CREATE/C-G-JOIN-RECOVERY/C-G-INVITE-RESOLVE/C-G-INVITE-REDEEM/C-G-INVITE-RESULT` → G01/G03/G06/G08 | A01—A04 `改造后采用`;A05 `后端缺失,暂时关闭` |
|
||
| `D051` `首页 – 16.png` | `D051-P01-A01` 家族动态列表;`A02` 图片墙;`A03` 评论/回复;`A04` 发布 | `C-F-FEED-READ/C-F-FEED-WRITE/C-F-COMMENT-READ/C-F-COMMENT-WRITE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` → F01/F02/F03 | 四项 `改造后采用`;不复制示例图片、电话号码或静态评论 |
|
||
| `D052` `首页 – 18.png` | `D052-P01-A01` 通知列表;`A02` 全部已读;`A03` 审核加入;`A04` 打开活动通知 | `C-N-LIST/C-N-READ-ALL/C-N-DETAIL-SAME-SESSION/C-N-DETAIL-COLD-START/C-G-JOIN-AUDIT` → N01/N02/G10 | A01—A03 `改造后采用`;A03 必须深链到 G10,不能由 N01 直接审核;A04 `后端缺失,暂时关闭`,不得在无目标合同时伪造跳转 |
|
||
| `D053` `首页 – 19.png` | `D053-P01-A01` 查看本人资料;`A02` 推广;`A03` 反馈;`A04` 安全;`A05` 帮助;`A06` 退出 | `C-A-PROFILE-READ/C-M-PROMO/C-M-FEEDBACK/C-A-PASSWORD-CHANGE/C-A-PHONE-CHANGE/C-A-LOGOUT/C-M-HELP-LIST` → M01/M03/M06/M07/M10;A02 为无当前路由候选 | A01、A03—A06 `改造后采用`;A02 同为 `改造后采用`的候选证据,但不承诺奖励且不得覆盖 M08 家谱邀请 |
|
||
| `D054` `首页 .png` | `D054-P01-A01` 我的家谱列表;`A02` 创建;`A03` 加入 | 同 D050 | A01—A03 均为 `仅参考交互`;独立保留为可能的主题、角色或业务状态,不能只按颜色相似度与 D050 合并 |
|
||
| `D055` `思维导图.png` | `D055-P01-A01` APP 认证/家谱/世系/内容/族务/消息/我的全功能树;`A02` 后台;`A03` 网站;`A04` PC 管理端 | A/G/T/F/R/N/M;其他端无当前路由 | A01 `仅参考交互`并作为全项目反向检查目录;A02—A04 `与当前产品冲突,明确舍弃` |
|
||
| `D056` `添加功德人.png` | `D056-P01-A01` 姓名/内容/图片并新增功德记录 | `C-R-MERIT-BASE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` → R11 | `改造后采用`;当前无编辑/详情 operation,图片 owner 待确认 |
|
||
| `D057` `添加谱文.png` | `D057-P01-A01` 标题/正文/落款/图片质量/媒体并保存 | `C-F-ARTICLE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` → F06 | `改造后采用`;只提交当前合同白名单,图片质量不是后端业务字段 |
|
||
| `D058` `相册.png` | `D058-P01-A01` 相册列表;`A02` 新建;`A03` 打开详情 | `C-F-ALBUM` → F07/F08 | 三项 `改造后采用` |
|
||
| `D059` `新建相册.png` | `D059-P01-A01` 名称/描述并创建相册 | `C-F-ALBUM` → F07 | `改造后采用` |
|
||
| `D060` `字辈谱.png` | `D060-P01-A01` 浏览字辈;`A02` 管理 | `C-G-POEM` → G12 | 两项 `改造后采用` |
|
||
|
||
## 五、第二参考源:78 条活动路由
|
||
|
||
“参考 wrapper”只证明旧项目尝试过某动作,不是当前合同。未列入 wrapper 的裸 `uni.request`、全局 store 传 URL、硬编码数据和被注释调用均不得迁入。
|
||
|
||
### 5.1 J001—J026
|
||
|
||
| 路由 ID / 参考路由 | 页面与逐动作 ID | 参考 wrapper | 当前合同键与 owner | 甄别结论与边界 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `J001` `pages/index/index` | `J001-A01` 读用户/家谱;`A02` 切谱;`A03` 模块导航;`A04` 宣传视频 | `getALLCreatGenealogyList`, `getAuthByUserGenealogy`, `getCreatGenealogy`, `getDictDataByDictCode`, `getUserInfo`, `getVideopublicize` | `C-G-MINE/C-G-OVERVIEW/C-A-PROFILE-READ/C-M-PROMO-VIDEO` → G01/G05;A04 为无当前路由候选 | A01—A03 `仅参考交互`并拆 owner;A04 `后端缺失,暂时关闭`,拒绝跨域巨型首页 |
|
||
| `J002` `pages/login/login` | `J002-A01` 密码登录;`A02` 注册;`A03` 重置;`A04` 微信登录 | `getCaptcha`, `getDictDataByDictCodeNoToken`, `login`, `register`, `userResetPwd`, `wechatAppLogin` | `C-A-TAC-API/C-A-TAC-A11Y/C-A-LOGIN/C-A-SMS-SEND/C-A-REGISTER/C-A-RESET/C-A-WECHAT` → A01/A04/A05 | A01—A03 `改造后采用`;A04 `后端缺失,暂时关闭`;页面必须拆 owner |
|
||
| `J003` `pages/render/render` | `J003-A01` 阳历/农历日期时间选择演示 | 无 | `C-LOCAL` → 共享控件候选 | `与当前产品冲突,明确舍弃`活动路由;需要日期选择时只参考控件行为 |
|
||
| `J004` `pages/index/addGenealogy` | `J004-A01` 输入邀请信息直接入谱 | `inviteCreatGenealogy` | `C-G-INVITE-RESOLVE/C-G-INVITE-REDEEM/C-G-INVITE-RESULT` → G06 | `后端缺失,暂时关闭`;与 G08 普通申请隔离 |
|
||
| `J005` `pages/index/createGenealogy` | `J005-A01` 选字典/地区并创建家谱 | `addCreatGenealogy`, `getDictDataByDictCode` | `C-S-REGION-CHILDREN/C-S-REGION-PATH/C-S-REGION-SEARCH/C-S-REGION-DETAIL/C-G-CREATE-GENEALOGY/C-T-PERSON-CREATE/C-G-CREATE-RECOVERY` → G03 | `改造后采用`;旧一次提交改为两阶段顺序,首写结果未知时停止并人工对账 |
|
||
| `J006` `pages/index/invite` | `J006-A01` 邀请家人空壳 | 无 | `C-G-INVITE-ISSUE` | `与当前产品冲突,明确舍弃`空壳;不冒充 T01 邀请绑定 |
|
||
| `J007` `pages/index/genealogyList/index` | `J007-A01` 家谱列表/选择;`A02` 删除家谱;`A03` 读配置 | `delGenealogy`, `getCreatGenealogy`, `getDictDataByDictCode`, `getDictDataByDictCodeNoToken` | `C-G-MINE/C-G-DELETE` → G01 | A01/A03 `改造后采用`;A02 `待用户确认`且不执行真实删除 |
|
||
| `J008` `pages/index/genealogyList/characterTable` | `J008-A01` 查看字辈 | `getCharacterTable` | `C-G-POEM` → G12 | `改造后采用` |
|
||
| `J009` `pages/index/genealogyList/add` | `J009-A01` 添加/编辑字辈;`A02` 删除 | `addCharacterTable`, `deleteCharacterTable` | `C-G-POEM` → G12 | A01/A02 均为 `改造后采用`;A02 只能按停用/恢复合同改造,拒绝物理删除猜测 |
|
||
| `J010` `pages/index/puwen/classList` | `J010-A01` 读取并选择谱文分类 | `getDictDataByDictCode` | `C-F-ARTICLE` → F04/F06 | `仅参考交互`;分类必须来自当前文章合同 |
|
||
| `J011` `pages/index/puwen/index` | `J011-A01` 谱文列表/筛选;`A02` 访问密码;`A03` 删除 | `deleteLiterature`, `getDictDataByDictCode`, `getLiterature`, `pw_is_cehck` | `C-F-ARTICLE/C-S-CONTENT-LOCK` → F04/F05 | A01/A03 `改造后采用`;A02 `待用户确认`,当前无内容锁 owner |
|
||
| `J012` `pages/index/puwen/genealogy` | `J012-A01` 谱文详情 | `getLiteratureDetails` | `C-F-ARTICLE` → F05 | `改造后采用`;作为独立入口/详情状态证据保留,证明等价后才与其他详情入口共用实现 |
|
||
| `J013` `pages/index/puwen/add` | `J013-A01` 新建;`A02` 编辑;`A03` 读原详情 | `addLiterature`, `getLiteratureDetails` | `C-F-ARTICLE` → F06 | 三项 `改造后采用` |
|
||
| `J014` `pages/index/puwen/wjmm` | `J014-A01` 重置谱文访问密码;`A02` 成长日志访问密码;`A03` 证件访问密码 | `addLiterature`, `cz_update_password`, `cz_update_password_hx`, `getLiteratureDetails`, `pw_update_password`, `pw_update_password_hx`, `zy_update_password`, `zy_update_password_hx` | `C-S-CONTENT-LOCK` | 三项 `待用户确认`;明确不映射 A05,拒绝跨 F/R/证件的复制污染 |
|
||
| `J015` `pages/index/album/index` | `J015-A01` 相册列表 | `getPhotocategoryList` | `C-F-ALBUM` → F07 | `改造后采用` |
|
||
| `J016` `pages/index/album/add` | `J016-A01` 新建相册 | `addPhotocategory` | `C-F-ALBUM` → F07 | `改造后采用` |
|
||
| `J017` `pages/index/album/details` | `J017-A01` 照片列表;`A02` 上传;`A03` 删除照片 | `deletePhoto`, `getPhotoList`, `uploadPhoto` | `C-F-PHOTO-READ/C-F-PHOTO-WRITE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` → F08/F09 | 三项 `改造后采用`;上传与记录两段确认 |
|
||
| `J018` `pages/index/album/edit` | `J018-A01` 编辑相册 | `addPhotocategory` | `C-F-ALBUM` → F07/F08 | `改造后采用`;不复用“新增”旧 wrapper 语义 |
|
||
| `J019` `pages/index/document/index` | `J019-A01` 证件列表;`A02` 密码校验;`A03` 删除 | `deletePhotodocument`, `getPhotodocument`, `zy_is_cehck` | `C-R-DOCUMENT/C-S-CONTENT-LOCK` | 三项 `待用户确认`;默认关闭,不迁移身份证明或真实 PII |
|
||
| `J020` `pages/index/document/add` | `J020-A01` 新建/编辑证件;`A02` 选择类型 | `addPhotodocument`, `getDictDataByDictCode` | `C-R-DOCUMENT` | 两项 `待用户确认`且默认关闭 |
|
||
| `J021` `pages/index/video/index` | `J021-A01` 视频列表;`A02` 播放;`A03` 删除 | `deleteVideo`, `getVideoList` | `C-F-VIDEO-READ/C-F-VIDEO-DELETE` → F10 | A01—A03 均为 `后端缺失,暂时关闭`;A03 不得因存在孤立删除 operation 就暴露入口 |
|
||
| `J022` `pages/index/video/add` | `J022-A01` 上传;`A02` 发布/编辑视频 | `addVideo`, `uploadFile` | `C-F-VIDEO-WRITE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` → F10 | 两项 `后端缺失,暂时关闭` |
|
||
| `J023` `pages/index/video/xcindex` | `J023-A01` 宣传视频列表 | `getVideopublicize` | `C-M-PROMO-VIDEO` | `待用户确认`;宣传与家族视频分离 |
|
||
| `J024` `pages/index/video/details` | `J024-A01` 从全局 store 取 URL 播放 | 无 | `C-F-VIDEO-READ` → F10 | `仅参考交互`;全局 URL 传递方式明确舍弃 |
|
||
| `J025` `pages/index/meritsVirtues/index` | `J025-A01` 功德列表;`A02` 删除 | `deleteVirtues`, `getVirtuesList` | `C-R-MERIT-BASE` → R11 | 两项 `改造后采用` |
|
||
| `J026` `pages/index/meritsVirtues/add` | `J026-A01` 新增;`A02` 编辑;`A03` 读取详情 | `addVirtues`, `getVirtuesDetail` | `C-R-MERIT-BASE/C-R-MERIT-EDIT/C-R-MERIT-DETAIL` → R11 | A01 `改造后采用`;A02/A03 `后端缺失,暂时关闭`,当前无详情/编辑 operation,不能假完成 |
|
||
|
||
### 5.2 J027—J052
|
||
|
||
| 路由 ID / 参考路由 | 页面与逐动作 ID | 参考 wrapper | 当前合同键与 owner | 甄别结论与边界 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `J027` `pages/index/meritsVirtues/details` | `J027-A01` 功德详情 | `getVirtuesDetail` | `C-R-MERIT-DETAIL` → R11 | `后端缺失,暂时关闭`独立详情;可在列表使用服务端已有投影,但不能伪造详情 |
|
||
| `J028` `pages/index/gift/index` | `J028-A01` 贺礼邀请列表;`A02` 分类;`A03` 删除 | `deleteGift`, `getDictDataByDictCode`, `getGift` | `C-R-GREETING` | 三项 `待用户确认`;先定义业务语义 |
|
||
| `J029` `pages/index/gift/details` | `J029-A01` 贺礼详情 | `getGiftInfo` | 同 J028 | `待用户确认` |
|
||
| `J030` `pages/index/gift/add` | `J030-A01` 新建;`A02` 编辑;`A03` 分类;`A04` 读取详情 | `addGift`, `getDictDataByDictCode`, `getGiftInfo` | 同 J028 | 四项 `待用户确认` |
|
||
| `J031` `pages/index/log/index` | `J031-A01` 成长列表;`A02` 删除/批量;`A03` 进入详情 | `deleteDevelopmentlog`, `development`, `getDevelopmentlogList` | `C-R-GROWTH` → R08 | A01—A03 均为 `改造后采用`;A02 只按当前单条合同和权限实现;与 J070/J071 分别保留为可能的入口/筛选/角色状态 |
|
||
| `J032` `pages/index/log/details` | `J032-A01` 成长详情 | `getDevelopmentlogDetails` | `C-R-GROWTH` → R08 | `改造后采用` |
|
||
| `J033` `pages/index/log/add` | `J033-A01` 新增;`A02` 编辑;`A03` 分类 | `addDevelopmentlog`, `getDevelopmentlogDetails`, `getDictDataByDictCode` | `C-R-GROWTH` → R08 | 三项 `改造后采用` |
|
||
| `J034` `pages/index/favor/index` | `J034-A01` 人情簿列表;`A02` 删除 | `deleteCashgift`, `getCashgiftList` | `C-R-RELATIVE` → R03 | 两项 `改造后采用` |
|
||
| `J035` `pages/index/favor/details` | `J035-A01` 人情记录详情 | `getCashgiftDetails` | `C-R-RELATIVE` → R03/R04 | `改造后采用` |
|
||
| `J036` `pages/index/favor/add` | `J036-A01` 新增;`A02` 编辑 | `addCashgift`, `getCashgiftDetails` | `C-R-RELATIVE` → R04 | 两项 `改造后采用` |
|
||
| `J037` `pages/index/memorandum/index` | `J037-A01` 备忘列表;`A02` 删除 | `deleteMemorandum`, `getMemorandum` | `C-R-MEMO` → R10 | 两项 `改造后采用` |
|
||
| `J038` `pages/index/memorandum/add` | `J038-A01` 新增;`A02` 编辑;`A03` 读取详情 | `addMemorandum`, `getMemorandumInfo` | `C-R-MEMO` → R10 | 三项 `改造后采用` |
|
||
| `J039` `pages/index/memorandum/details` | `J039-A01` 备忘详情 | `getMemorandumInfo` | `C-R-MEMO` → R10 | `改造后采用` |
|
||
| `J040` `pages/index/admin/index` | `J040-A01` 管理员列表;`A02` 移除 | `getManageUserDel`, `getManageUserList` | `C-G-ADMIN/C-G-MEMBER-READ/C-G-MEMBER-REMOVE` | 两项 `待用户确认`;移除须影响预览和再认证 |
|
||
| `J041` `pages/index/admin/add` | `J041-A01` 静态成员勾选;`A02` 进入权限页 | 无 | `C-G-ADMIN` | A01/A02 均为 `与当前产品冲突,明确舍弃`;该半成品不迁移,不把假成员列表带入当前产品 |
|
||
| `J042` `pages/index/admin/power` | `J042-A01` 读取权限;`A02` 提交管理员权限 | `addManageUser`, `getManagePower` | `C-G-ADMIN` | 两项 `待用户确认`,合同缺失前关闭 |
|
||
| `J043` `pages/index/familyCircle/index` | `J043-A01` 动态列表;`A02` 评论列表;`A03` 评论;`A04` 删除动态 | `addComment`, `deleteUsernews`, `getComment`, `getUsernewsList` | `C-F-FEED-READ/C-F-FEED-WRITE/C-F-COMMENT-READ/C-F-COMMENT-WRITE` → F01/F03 | 四项 `改造后采用`;列表和评论/删除拆 owner |
|
||
| `J044` `pages/index/familyCircle/add` | `J044-A01` 发布动态;`A02` 取公开字典 | `addUsernews`, `getDictDataByDictCodeNoToken` | `C-F-FEED-WRITE` → F02 | A01/A02 `改造后采用`;A02 仅使用当前明确字段 owner |
|
||
| `J045` `pages/index/tree/index` | `J045-A01` 按父母展开表格式世系 | `getGenealogyUserByParentsId` | `C-T-TREE` → T01 | `仅参考交互`;不复制旧接口和递归数据形状 |
|
||
| `J046` `pages/index/tree/tree` | `J046-A01` 树谱;`A02` 查看资料;`A03` 添加/编辑亲属;`A04` 删除人物 | `getGenealogyUser`, `userDel` | `C-T-TREE/C-T-DETAIL/C-T-PARENT/C-T-SPOUSE/C-T-SIBLING/C-T-CHILD/C-T-EDIT/C-T-DELETE` → T01/T03—T05 | A01—A03 `仅参考交互`并按当前 owner 重做;A04 `待用户确认`,停用不是物理删除 |
|
||
| `J047` `pages/message/index` | `J047-A01` 通知/广告/文章混排;`A02` 直接审核入谱;`A03` 人物列表 | `auditInGenealogy`, `getad_list`, `getArticleList`, `getNoticeList`, `getUserList` | `C-N-LIST/C-G-JOIN-AUDIT/C-T-LIST` → N01/G10 | A01 `仅参考交互`但须拆类型;A02 `改造后采用`为跳 G10,不在 N01 写;A03 `与当前产品冲突,明确舍弃`错位数据 |
|
||
| `J048` `pages/message/details` | `J048-A01` 通知详情 | `getNoticeDetails` | `C-N-DETAIL-SAME-SESSION/C-N-DETAIL-COLD-START` → N02 | `后端缺失,暂时关闭` LIVE 详情;仅允许列表当代内存投影 |
|
||
| `J049` `pages/mine/index` | `J049-A01` 我的主页/资料;`A02` 宣传/广告;`A03` 删除账号 | `delUser`, `getad_list`, `getDictDataByDictCodeNoToken`, `getUserInfo`, `getVideopublicize` | `C-A-PROFILE-READ/C-M-PROMO/C-A-DEACTIVATE` → M01/M10 | A01 `改造后采用`;A02/A03 `待用户确认`,A03 为敏感注销候选且不归主页直调 |
|
||
| `J050` `pages/mine/help` | `J050-A01` 帮助分类;`A02` 文章列表 | `getArticleList`, `getHelpClass` | `C-M-HELP-LIST` → M06 | 两项 `改造后采用` |
|
||
| `J051` `pages/mine/setting` | `J051-A01` 设置导航;`A02` 帮助/协议内容 | `getArticleList`, `getHelpClass` | `C-M-HELP-LIST/C-LOCAL` → M03/M10 | A01/A02 均为 `仅参考交互`;设置只做导航,不另建数据 owner |
|
||
| `J052` `pages/mine/password` | `J052-A01` 修改密码 | `userEditPWD` | `C-A-PASSWORD-CHANGE` → M04 | `改造后采用`;旧密码 wire 不能迁移为新合同 |
|
||
|
||
### 5.3 J053—J078 与注释路由
|
||
|
||
| 路由 ID / 参考路由 | 页面与逐动作 ID | 参考 wrapper | 当前合同键与 owner | 甄别结论与边界 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `J053` `pages/mine/opinion` | `J053-A01` 提交反馈 | `addUseropinion` | `C-M-FEEDBACK` → M07 | `改造后采用` |
|
||
| `J054` `pages/mine/share` | `J054-A01` 展示推广;`A02` 立即分享 | 无 | `C-M-PROMO/C-S-PLATFORM-SHARE` → 无当前路由的 M 推广候选 | A01 `改造后采用`候选证据;A02 `仅参考交互`,旧错误跳创建家谱明确舍弃;不得覆盖 M08 家谱邀请 |
|
||
| `J055` `pages/mine/vip_xf` | `J055-A01` 套餐;`A02` 创建/支付 VIP | `getMemberLevel`, `getUserInfo`, `payVip` | `C-M-VIP-READ/C-M-VIP-ORDER/C-M-VIP-PAY` → M09 | A01 `改造后采用`为只读;A02 `后端缺失,暂时关闭`支付闭环 |
|
||
| `J056` `pages/mine/vip_success` | `J056-A01` 查询购买记录/成功 | `vip_log` | `C-M-VIP-READ/C-M-VIP-PAY` → M09 | `后端缺失,暂时关闭`成功页;只能由权威订单结果进入 |
|
||
| `J057` `pages/mine/helpDetails` | `J057-A01` 帮助详情 | `getArticleDetails` | `C-M-HELP-LIST` → M06 | `改造后采用`产品意图;当前由列表项投影承接,旧独立详情 owner 不迁入 |
|
||
| `J058` `pages/index/relationship/index` | `J058-A01` 静态人物/亲属资料;`A02` 邀请激活 | 无 | `C-T-DETAIL/C-T-BIND-INVITE/C-T-BIND-IDENTITY/C-T-BIND-MUTATION/C-T-BIND-RESULT` → T03/邀请流程 | A01 `仅参考交互`;A02 产品需求保留但当前 `后端缺失,暂时关闭` |
|
||
| `J059` `pages/index/tree/personalData` | `J059-A01` 人物资料 | `getUserInfoId` | `C-T-DETAIL` → T03 | `改造后采用` |
|
||
| `J060` `pages/index/tree/add` | `J060-A01` 绑定账号;`A02` 编辑头像/姓名/排行/父亲/生卒;`A03` 确认 | 无 | `C-T-BIND-INVITE/C-T-BIND-IDENTITY/C-T-BIND-MUTATION/C-T-BIND-RESULT/C-T-EDIT/C-T-RANK/C-T-PARENT` → T04—T06 | A01—A03 均为 `与当前产品冲突,明确舍弃`;宽静态表单实现不迁移,字段须逐 owner 甄别后重做 |
|
||
| `J061` `pages/mine/userInfo` | `J061-A01` 本人资料;`A02` 添加父母;`A03` 配偶;`A04` 兄弟姐妹;`A05` 子女;`A06` 单人;`A07` 人物编辑;`A08` 排行/层级 | `addBrotherSister`, `addChildren`, `addOneUser`, `addParents`, `addUserspouse`, `getDictDataByDictCode`, `getDictDataByDictCodeNoToken`, `getLevelList`, `getMomList`, `getUserInfoId`, `getUserSpouseInfoId`, `userEdit` | `C-A-PROFILE-READ/C-A-PROFILE-WRITE/C-T-PARENT/C-T-SPOUSE/C-T-SIBLING/C-T-CHILD/C-T-EDIT/C-T-RANK` → M02/T04—T06 | A01—A05、A07/A08 `改造后采用`产品意图,但必须拆 owner;A06 与当前产品冲突,`明确舍弃`未绑定通用人物新建;旧一页多模式和旧 wrapper 全部舍弃 |
|
||
| `J062` `pages/index/log/selectUser` | `J062-A01` 选择成长人物;`A02` 管理员选择分支 | `getUserList` | `C-T-LIST/C-R-GROWTH/C-G-ADMIN` → R08 | A01 `改造后采用`;A02 `与当前产品冲突,明确舍弃`未完成分支 |
|
||
| `J063` `pages/index/genealogyList/ancestorsOrder` | `J063-A01` 调整始祖世代空占位 | 无 | `C-G-SORT` | `与当前产品冲突,明确舍弃`空文件;功能候选保持后端缺失关闭 |
|
||
| `J064` `pages/mine/helpList` | `J064-A01` 按分类读帮助文章 | `getArticleList` | `C-M-HELP-LIST` → M06 | `改造后采用` |
|
||
| `J065` `pages/content/detail` | `J065-A01` 账号协议;`A02` 帮助/关于富文本 | `getNewsDetails` | `C-LOCAL/C-M-HELP-LIST` → A/M06/M10 共享查看器 | A01/A02 均为 `仅参考交互`;入口决定 owner,明确不是 F05 谱文 |
|
||
| `J066` `pages/mine/fenxiang` | `J066-A01` 推广推荐码/二维码;`A02` 复制;`A03` 下载 App;`A04` 分享变现 | 无 | `C-M-REFERRAL/C-M-PROMO/C-M-MONEY/C-S-PLATFORM-CLIPBOARD/C-S-PLATFORM-SHARE/C-S-SAFE-EXTERNAL-OPEN` → 无当前路由的 M 推广候选 | A01/A02 `后端缺失,暂时关闭`,明确不是家谱票据;A03 `仅参考交互`且只能由安全外链 owner 承接;A04 `待用户确认`;四项均不得覆盖 M08 |
|
||
| `J067` `pages/login/register` | `J067-A01` 注册;`A02` 性别/邀请码;`A03` 协议 | `getCaptcha`, `getDictDataByDictCodeNoToken`, `register` | `C-A-TAC-API/C-A-TAC-A11Y/C-A-SMS-SEND/C-A-REGISTER/C-LOCAL` → A04 | A01—A03 `改造后采用`;A02 只保留当前合同字段,旧邀请码不迁入 |
|
||
| `J068` `pages/mine/changemobile` | `J068-A01` 当前密码+新号换绑 | `userEditMobile` | `C-A-TAC-API/C-A-TAC-A11Y/C-A-PHONE-SEND/C-A-PHONE-CHANGE` → M05 | `改造后采用`产品目标;旧缺 TAC/OTP/会话撤销合同明确舍弃 |
|
||
| `J069` `pages/index/sortGenealogy` | `J069-A01` 读取用户家谱;`A02` 批量排序 | `changeGenealogySort`, `getALLCreatGenealogyList` | `C-G-MINE/C-G-SORT` → G01 候选 | A01 `改造后采用`并复用 G01;A02 `后端缺失,暂时关闭`,不同于 T06/G12 |
|
||
| `J070` `pages/index/log/list` | `J070-A01` 人物/分类成长列表;`A02` 密码校验;`A03` 删除;`A04` 新建 | `cz_is_cehck`, `deleteDevelopmentlog`, `getDevelopmentlogList`, `getDictDataByDictCode` | `C-R-GROWTH/C-S-CONTENT-LOCK` → R08 | A01/A03/A04 `改造后采用`并独立保留此筛选/入口状态;证明与 J031 等价后才共用实现;A02 `待用户确认` |
|
||
| `J071` `pages/index/log/class` | `J071-A01` 成长分类;`A02` 进入列表;`A03` 错位删除逻辑 | `deleteDevelopmentlog`, `getDevelopmentlogList`, `getDictDataByDictCode` | `C-R-GROWTH` → R08 | A01/A02 `仅参考交互`;A03 `与当前产品冲突,明确舍弃` |
|
||
| `J072` `pages/index/video/video2` | `J072-A01` 纵滑播放;`A02` 评论;`A03` 点赞;`A04` 分享;`A05` 裸请求旧 HTTP | 无 | `C-F-VIDEO-READ/C-F-VIDEO-COMMENT/C-F-VIDEO-REACTION/C-S-PLATFORM-SHARE` → F10 候选 | A01—A04 `仅参考交互`但分别进入浏览、评论、点赞、分享候选,不能共用读取 owner;A05 `与当前产品冲突,明确舍弃` |
|
||
| `J073` `pages/index/video/video3` | `J073-A01` 宣传纵滑播放;`J073-A02@comment` 评论;`J073-A02@reaction` 点赞;`J073-A02@share` 分享;`J073-A03` 裸请求旧接口 | 无 | A01 → `C-M-PROMO-VIDEO`;A02@comment → `C-M-PROMO-VIDEO-COMMENT`;A02@reaction → `C-M-PROMO-VIDEO-REACTION`;A02@share → `C-M-PROMO-VIDEO/C-S-PLATFORM-SHARE` | A01 与三个 A02 语义子动作均 `仅参考交互`,不代表批准宣传业务;A03 `与当前产品冲突,明确舍弃` |
|
||
| `J074` `pages/index/video/video4` | `J074-A01@browse` 第三套纵滑;`J074-A01@comment` 评论;`J074-A02` 旧 HTTP 与外部云接口 | 无 | A01@browse → `C-F-VIDEO-READ`;A01@comment → `C-F-VIDEO-COMMENT`;A02 无可迁移 owner | 两个 A01 语义子动作均 `仅参考交互`;A02 `与当前产品冲突,明确舍弃` |
|
||
| `J075` `pages/message/ad_detail` | `J075-A01` 广告/宣传消息详情 | `ad_detail`, `getDictDataByDictCodeNoToken` | `C-N-DETAIL-SAME-SESSION/C-N-DETAIL-COLD-START/C-M-PROMO` → N02 | `待用户确认`;服务端消息类型/目标未闭合前关闭 |
|
||
| `J076` `pages/mine/withdrawal` | `J076-A01` 余额;`A02` 资金流水;`A03` 进入提现 | `getUserInfo`, `money_log` | `C-M-MONEY` | 三项 `待用户确认`且关闭 |
|
||
| `J077` `pages/mine/tixian` | `J077-A01` 提现金额;`A02` 上传收款码;`A03` 提交;`A04` 混入成长日志残留 | `add_tixian`, `addDevelopmentlog`, `getDevelopmentlogDetails`, `getDictDataByDictCode` | `C-M-MONEY/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | A01—A03 `待用户确认`且关闭;A04 `与当前产品冲突,明确舍弃`复制污染 |
|
||
| `J078` `pages/mine/tixian_log` | `J078-A01` 提现记录/状态/审核时间 | `tixian_log` | `C-M-MONEY` | `待用户确认`且关闭 |
|
||
| `JX001` `pages/index/vertical-swiper/vertical-swiper`(注释) | `JX001-A01` 纵向短视频实验 | 无 | `C-F-VIDEO-READ` → F10 | `与当前产品冲突,明确舍弃`活动路由候选;只保留交互证据且不计 78 分母 |
|
||
|
||
## 六、7 个未注册页面文件
|
||
|
||
| 文件 ID / 相对路径 | 页面与逐动作 ID | 参考 wrapper | 当前 owner | 甄别结论 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `JU01` `pages/index/genealogyList.vue` | `JU01-A01` 全功能菜单导航;`A02` 错配按钮/文案 | 无 | `C-S-NAV/C-G-OVERVIEW` → G05 与各业务域 | A01 `仅参考交互`并作为可能的角色/菜单状态保留;A02 `与当前产品冲突,明确舍弃`;未注册页面不自动新增路由 |
|
||
| `JU02` `pages/index/tree/tree2.vue` | `JU02-A01` 树谱;`A02` 资料;`A03` 父母;`A04` 配偶;`A05` 兄弟姐妹;`A06` 儿子;`A07` 女儿;`A08` 编辑;`A09` 其他关系入口;`A10` 删除 | `getGenealogyUser`, `userDel` | `C-T-TREE/C-T-DETAIL/C-T-PARENT/C-T-SPOUSE/C-T-SIBLING/C-T-CHILD/C-T-EDIT/C-T-DELETE/C-S-NAV` → T01/T03—T06 | A01—A09 `仅参考交互`并作为另一树状态证据保留,旧代码整体舍弃;A10 `待用户确认`。其中“女儿”复用 `addSon` 是反例 |
|
||
| `JU03` `pages/index/vertical-swiper/j-video.nvue` | `JU03-A01` 视频子项播放/暂停 | 无 | `C-F-VIDEO-READ` → F10 | `仅参考交互`;随实验页不注册 |
|
||
| `JU04` `pages/index/vertical-swiper/vertical-swiper.nvue` | `JU04-A01` 纵向列表;`A02` 播放切换 | 无 | `C-F-VIDEO-READ` → F10 | 两项 `仅参考交互`;这是 JX001 的目标文件,不计活动路由 |
|
||
| `JU05` `pages/index/video/douyin-scrollview/douyin-scrollview.vue` | `JU05-A01` 纵滑;`JU05-A02` 播放;`JU05-A03` 评论;`JU05-A04@reaction` 点赞;`JU05-A04@share` 分享;`JU05-A05` 裸请求旧/外部接口 | 无 | A01/A02 → `C-F-VIDEO-READ`;A03 → `C-F-VIDEO-COMMENT`;A04@reaction → `C-F-VIDEO-REACTION`;A04@share → `C-F-VIDEO-READ/C-S-PLATFORM-SHARE` | A01—A03 与两个 A04 语义子动作均 `仅参考交互`;A05 `与当前产品冲突,明确舍弃` |
|
||
| `JU06` `pages/index/video/douyin-scrollview/douyin-scrollview.nvue` | `JU06-A01` 纵滑;`JU06-A02` 播放;`JU06-A03` 评论;`JU06-A04@reaction` 点赞;`JU06-A04@share` 分享;`JU06-A05` 裸请求旧/外部接口 | 无 | A01/A02 → `C-F-VIDEO-READ`;A03 → `C-F-VIDEO-COMMENT`;A04@reaction → `C-F-VIDEO-REACTION`;A04@share → `C-F-VIDEO-READ/C-S-PLATFORM-SHARE` | A01—A03 与两个 A04 语义子动作均 `仅参考交互`;A05 `与当前产品冲突,明确舍弃` |
|
||
| `JU07` `pages/mine/index2.vue` | `JU07-A01` 资料;`A02` 反馈;`A03` 帮助;`A04` 设置;`A05` 退出 | `getUserInfo` | `C-A-PROFILE-READ/C-M-FEEDBACK/C-M-HELP-LIST/C-A-PASSWORD-CHANGE/C-A-PHONE-CHANGE/C-A-LOGOUT/C-S-NAV` → M01/M06/M07/M10 | 五项 `仅参考交互`;作为可能的角色/布局状态保留,未注册事实不等同于无产品价值 |
|
||
|
||
## 七、反向覆盖索引
|
||
|
||
| 当前 owner | 设计证据 | 完成项目证据 | 规划结论 |
|
||
| --- | --- | --- | --- |
|
||
| A01/A04/A05 认证 | D005、D053、D055 | J002、J065、J067 | 密码/短信/注册/找回按 TAC 与当前合同改造;微信关闭 |
|
||
| G01/G03/G05 家谱工作区 | D004、D012、D043、D050、D054、D055 | J001、J005、J007、JU01 | 列表/概览/两阶段创建采用;旧巨型首页和菜单壳不迁移 |
|
||
| G06/G08—G10 加入与审核 | D011、D050、D052 | J004、J047 | 普通申请采用;邀请码直入关闭;通知只能回流 G10 |
|
||
| G11/G12 设置与字辈 | D006、D010、D049、D060 | J008、J009、J063、J069 | 字辈采用;始祖世代和家谱排序缺 owner 关闭 |
|
||
| G 管理员与破坏性成员动作 | D025—D028 | J040—J042 | 待用户确认;无 capability 前关闭 |
|
||
| T01/T03—T08 | D030—D036、D038、D055 | J045、J046、J058—J062、JU02 | T01 十入口已批准;头像卡/面板按当前架构重做;排行/绑定按合同关闭但不删需求 |
|
||
| F01—F03 动态 | D029、D051、D055 | J043、J044 | 动态/评论改造采用;置顶/加精关闭 |
|
||
| F04—F06 谱文 | D046—D048、D057 | J010—J014 | 列表/详情/编辑采用;内容密码待确认 |
|
||
| F07—F09 相册/媒体 | D003、D045、D058、D059 | J015—J018 | 相册/照片采用;共享文件链闭合前不假上传 |
|
||
| F10 视频 | D002、D007、D044 | J021、J022、J024、J072、J074、JX001、JU03—JU06;J023/J073 为独立 M 宣传视频证据 | 家族视频完整后端链缺失,保持关闭;纵滑只作交互证据;宣传视频不得借 F10 owner |
|
||
| R01/R02 人物录与人物资料 | D031、D034—D036、D038 | J058—J062 | R01、R02 分别作为 PA-049、PA-038/048 的独立路由状态,复用唯一列表/详情/编辑数据 owner;R02 通用新建本地预览舍弃,编辑只导航 T05 |
|
||
| R03/R04 人情往来 | D021—D023 | J034—J036 | 改造采用 |
|
||
| R05—R07 礼仪/贺礼候选 | D013—D016、D037 | J028—J030 | “贺礼邀请”语义待确认,不能强塞祭祀献礼 |
|
||
| R08 成长 | D017—D020、D036 | J031—J033、J062、J070、J071 | 改造采用;各入口/筛选/角色状态分别保留,证明等价后才共用 R08 实现 |
|
||
| R10/R11 备忘/功德 | D008、D009、D024、D056 | J025—J027、J037—J039 | 现有 operation 范围内采用;缺详情/编辑的动作关闭 |
|
||
| R09/重要证件 | D055 | J019、J020 | 人生事件与证件均缺 owner;证件另有隐私风险,保持关闭/待确认 |
|
||
| N01/N02 与 G01/M01 未读入口 | D052、D055 | J047、J048、J075 | 列表/已读采用;未读计数使用唯一 `C-N-UNREAD-COUNT` owner,当前缺 operation 不从分页长度推断;N02 仅列表当代投影,详情/目标跳转关闭 |
|
||
| M01—M10 | D039—D042、D053、D055 | J049—J057、J064—J068、J075—J078、JU07 | M08 保持当前“家谱邀请票据” owner;资料/安全/帮助/反馈/关于采用;APP 推广、推荐码、奖励、变现均为无当前路由候选,分别使用 `C-M-PROMO/C-M-REFERRAL/C-M-REWARD/C-M-MONEY`,不得冒充家谱邀请 |
|
||
| S-ID/S-PERM/S-FILE/S-REGION | D003、D004、D032、D036、D038、D045、D056、D057 | 所有含 ID、权限、上传、地区动作的 J/JU 记录 | 全域唯一 owner;任何一个域不得另造兼容 ID、权限或上传协议 |
|
||
|
||
## 八、规范产品动作账本
|
||
|
||
本账本在用户确认规划前冻结产品动作身份和分母。`PA-xxx` 是产品动作,不是来源文件数量;`CUR:` 表示当前路由基线,`!` 表示只作为反例、禁止迁移。`D001-A01`(全项目功能目录)与 `D055-A01`(全项目思维导图)由全部 PA 继承,不在每行重复。PA 的“来源证据反链”栏允许把单页、默认状态的设计动作简写为 `Dxxx-Axx`;它与源表中的完整 `Dxxx-P01-S01-Axx` 是同一 ID,不是新增来源。相同 PA 下的多个来源仍保留各自 `D/J/JX/JU` 状态 ID、六类结论和验收记录;共用 owner 不等于合并状态证据。
|
||
|
||
边界固定为:`必需`进入产品完成分母;`候选`保留稳定 PA ID,但用户未单独批准时不进入完成分母,初始 `productCompletion=NOT_APPLICABLE`。规划阶段没有任何 PA 可标 `COMPLETE`。表中 `P/B/NA` 分别表示 `PARTIAL/BLOCKED/NOT_APPLICABLE`。
|
||
|
||
### 8.1 A 认证:PA-001—PA-006
|
||
|
||
| PA | 唯一 owner / 产品动作 | 边界 | 合同键 | 来源证据反链 | 初始 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PA-001` | A01 密码+TAC 登录 | 必需 | `C-A-TAC-API/C-A-TAC-A11Y/C-A-LOGIN` | D005-A01;J002-A01;CUR:A01 | B |
|
||
| `PA-002` | A01 短信 TAC、发码并登录 | 必需 | `C-A-TAC-API/C-A-TAC-A11Y/C-A-SMS-SEND/C-A-SMS-LOGIN` | D005-A01〔登录视觉态〕;CUR:A01 | B |
|
||
| `PA-003` | A04 TAC、发码并注册 | 必需 | `C-A-TAC-API/C-A-TAC-A11Y/C-A-SMS-SEND/C-A-REGISTER` | D005-A03;J002-A02;J067-A01—A03;CUR:A04 | B |
|
||
| `PA-004` | A05 TAC、发码并找回密码 | 必需 | `C-A-TAC-API/C-A-TAC-A11Y/C-A-SMS-SEND/C-A-RESET` | D005-A02;J002-A03;CUR:A05 | B |
|
||
| `PA-005` | A-LEGAL 阅读服务条款/隐私协议 | 必需 | `C-LOCAL` | J065-A01;J067-A03;D005-A01—A03〔登录协议态〕 | P |
|
||
| `PA-006` | A01 微信一键登录 | 候选 | `C-A-WECHAT` | D005-A04;D041-A03;J002-A04 | NA |
|
||
|
||
### 8.2 G 家谱工作区:PA-007—PA-034
|
||
|
||
| PA | 唯一 owner / 产品动作 | 边界 | 合同键 | 来源证据反链 | 初始 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PA-007` | G01 查看/筛选我的家谱列表 | 必需 | `C-G-MINE` | D050-A01;D054-A01〔主题态〕;J001-A01;J007-A01/A03;J069-A01;CUR:G01 | B |
|
||
| `PA-008` | G01 切换当前家谱上下文 | 必需 | `C-G-MINE/C-G-OVERVIEW` | J001-A02;D012-A01/A02、D043-A01/A02〔不同总览状态〕;CUR:G01 | B |
|
||
| `PA-009` | G03 两阶段创建家谱及首位人物;仅首写稳定返回 ID 后续办 | 必需 | `C-S-REGION-CHILDREN/C-S-REGION-PATH/C-S-REGION-SEARCH/C-S-REGION-DETAIL/C-G-CREATE-GENEALOGY/C-T-PERSON-CREATE/C-G-CREATE-RECOVERY` | D004-A01;D050-A03;D054-A02;J005-A01;CUR:G03 | B |
|
||
| `PA-010` | G05 查看家谱总览并进入模块 | 必需 | `C-G-OVERVIEW` | D012-A01/A02〔状态一〕;D043-A01/A02〔状态二〕;J001-A03;JU01-A01〔菜单态〕;!JU01-A02;CUR:G05 | B |
|
||
| `PA-011` | G06 搜索公开家谱 | 必需 | `C-G-PUBLIC/C-G-OPTIONS` | D050-A02;CUR:G06 | B |
|
||
| `PA-012` | G08 提交普通加入申请 | 必需 | `C-G-JOIN-CREATE/C-G-JOIN-RECOVERY` | D050-A04;D054-A03;CUR:G08 | B |
|
||
| `PA-013` | G09 查看我的加入申请 | 必需 | `C-G-JOIN-MINE` | CUR:G09 | B |
|
||
| `PA-014` | G09 撤回加入申请 | 必需 | `C-G-JOIN-WITHDRAW` | CUR:G09 | B |
|
||
| `PA-015` | G10 查看待审核申请 | 必需 | `C-G-JOIN-PENDING` | D052-A03;J047-A02〔通知回流态〕;CUR:G10 | B |
|
||
| `PA-016` | G10 审核申请(同意/拒绝) | 必需 | `C-G-JOIN-AUDIT` | D052-A03;J047-A02;CUR:G10 | B |
|
||
| `PA-017` | G11 查看家谱设置 | 必需 | `C-G-OVERVIEW` | CUR:G11 | B |
|
||
| `PA-018` | G11 更新允许修改的家谱设置 | 必需 | `C-G-SETTINGS` | CUR:G11 | B |
|
||
| `PA-019` | G12 查看字辈/代次 | 必需 | `C-G-POEM` | D010-A01;D060-A01;J008-A01;CUR:G12 | B |
|
||
| `PA-020` | G12 新增字辈 | 必需 | `C-G-POEM` | D010-A03;D060-A02〔管理入口〕;J009-A01;CUR:G12 | B |
|
||
| `PA-021` | G12 编辑字辈 | 必需 | `C-G-POEM` | D010-A02;D049-A01/A02;J009-A01;CUR:G12 | B |
|
||
| `PA-022` | G12 停用/恢复字辈 | 必需 | `C-G-POEM` | D049-A03;J009-A02 | B |
|
||
| `PA-023` | M08 选择有正式邀请权限的家谱并查看当前活动票据状态 | 必需 | `C-G-MINE/C-G-INVITE-LIST` | CUR:M08 | B |
|
||
| `PA-024` | G06 解析、确认、兑换家谱邀请码,查询结果并刷新权威工作区后直接入谱 | 必需 | `C-G-INVITE-RESOLVE/C-G-INVITE-REDEEM/C-G-INVITE-RESULT/C-G-MINE/C-G-OVERVIEW` | D011-A01;D050-A05;J004-A01;CUR:G06 | B |
|
||
| `PA-025` | G01 调整多个家谱展示顺序 | 候选 | `C-G-SORT` | J069-A02 | NA |
|
||
| `PA-026` | G-SORT 调整始祖世代 | 候选 | `C-G-SORT` | D006-A01;J063-A01〔空壳反例〕 | NA |
|
||
| `PA-027` | G-ADMIN 查看管理员列表 | 候选 | `C-G-ADMIN/C-G-MEMBER-READ` | D025-A01;D026-A01〔管理态〕;J040-A01 | NA |
|
||
| `PA-028` | G-ADMIN 选择并新增管理员 | 候选 | `C-G-ADMIN/C-G-MEMBER-READ` | D025-A02;D027-A01;!J041-A01;!J062-A02〔未完成分支〕 | NA |
|
||
| `PA-029` | G-ADMIN 查看/修改管理员权限 | 候选 | `C-G-ADMIN` | D026-A03;D028-A01;J042-A01/A02;!J041-A02 | NA |
|
||
| `PA-030` | G-ADMIN 移除管理员 | 候选 | `C-G-ADMIN/C-G-MEMBER-REMOVE` | D026-A02;J040-A02 | NA |
|
||
| `PA-031` | G-MEMBER 移除家谱账号成员 | 候选 | `C-G-MEMBER-REMOVE` | 当前成员合同;D055-A01 | NA |
|
||
| `PA-032` | G-MEMBER 主动退出家谱 | 候选 | `C-G-MEMBER-LEAVE` | 当前成员合同;D055-A01 | NA |
|
||
| `PA-033` | G-MEMBER 转移家谱所有者 | 候选 | `C-G-MEMBER-TRANSFER` | 当前成员合同;D055-A01 | NA |
|
||
| `PA-034` | G01 删除家谱 | 候选 | `C-G-DELETE` | J007-A02 | NA |
|
||
|
||
### 8.3 T 世系与成员:PA-035—PA-052
|
||
|
||
| PA | 唯一 owner / 产品动作 | 边界 | 合同键 | 来源证据反链 | 初始 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PA-035` | T01 读取并呈现头像人物卡世系树 | 必需 | `C-T-TREE/C-S-FILE-READ` | D032-A01;D033-A01—A10〔面板前置态〕;J046-A01;JU02-A01〔另一树态〕;CUR:T01 | B |
|
||
| `PA-036` | T01 横纵浏览、搜索并定位人物 | 必需 | `C-T-TREE/C-T-LIST` | D031-A01/A02;D032-A02;CUR:T01;CUR:T07 | B |
|
||
| `PA-037` | T01 选择人物并打开唯一操作面板 | 必需 | `C-T-TREE` | D033-A01—A10〔十入口面板态〕;J046-A01—A03;JU02-A01—A09 | B |
|
||
| `PA-038` | T03 查看人物真实资料;R02 为独立展示状态 | 必需 | `C-T-DETAIL` | D033-A01;D034-A01〔空/未绑定态〕;J046-A02;J058-A01;J059-A01;JU02-A02;CUR:T03;CUR:R02 | B |
|
||
| `PA-039` | T03 查看亲属并继续进入亲属资料 | 必需 | `C-T-DETAIL/C-T-LIST` | D034-A02;D035-A01/A02;J058-A01 | B |
|
||
| `PA-040` | T04 添加父亲 | 必需 | `C-T-PARENT` | D033-A02;J046-A03;J061-A02;JU02-A03;!J060-A02〔宽表单〕;CUR:T04 | B |
|
||
| `PA-041` | T04 添加母亲 | 必需 | `C-T-PARENT` | D033-A03;J061-A02;JU02-A03;CUR:T04 | B |
|
||
| `PA-042` | T04 添加配偶 | 必需 | `C-T-SPOUSE` | D033-A04;J046-A03;J061-A03;JU02-A04;CUR:T04 | B |
|
||
| `PA-043` | T04 添加兄弟姐妹 | 必需 | `C-T-SIBLING` | D033-A05;J061-A04;JU02-A05;CUR:T04 | B |
|
||
| `PA-044` | T04 添加儿子 | 必需 | `C-T-CHILD` | D033-A07;J061-A05;JU02-A06;CUR:T04 | B |
|
||
| `PA-045` | T04 添加女儿 | 必需 | `C-T-CHILD` | D033-A08;J061-A05;JU02-A07〔`addSon` 反例〕;CUR:T04 | B |
|
||
| `PA-046` | T06 原子调整同辈排行 | 必需 | `C-T-RANK` | D033-A06;D036-A02;!J060-A02;J061-A08;CUR:T06 | B |
|
||
| `PA-047` | T-BIND 邀请并绑定人物与账号 | 必需 | `C-T-BIND-INVITE/C-T-BIND-IDENTITY/C-T-BIND-MUTATION/C-T-BIND-RESULT` | D033-A09;D034-A03;D036-A01;J058-A02;!J060-A01 | B |
|
||
| `PA-048` | T05 编辑人物资料及头像;R02 编辑入口只委托本 owner | 必需 | `C-T-EDIT/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | D033-A10;D034-A04;D036-A02;D038-A01;!D038-A02〔扩展隐私字段〕;J046-A03;!J060-A02/A03;!J061-A06〔通用人物新建〕;J061-A07;JU02-A08;CUR:T05;CUR:R02 | B |
|
||
| `PA-049` | T07 查看/搜索世系人物目录;R01 为独立展示状态 | 必需 | `C-T-LIST` | D031-A01/A02;J062-A01;CUR:T07;CUR:R01 | B |
|
||
| `PA-050` | T08 查看人物/成员状态 | 必需 | `C-T-LIST/C-G-MEMBER-READ` | D034-A01〔未绑定态〕;CUR:T08 | B |
|
||
| `PA-051` | T05 停用世系人物 | 候选 | `C-T-DELETE` | J046-A04;JU02-A10 | NA |
|
||
| `PA-052` | T01 使用表格式世系辅助模式 | 候选 | `C-T-TREE` | D030-A01〔表格态〕;J045-A01〔递归态〕 | NA |
|
||
|
||
### 8.4 F 家族内容:PA-053—PA-082
|
||
|
||
| PA | 唯一 owner / 产品动作 | 边界 | 合同键 | 来源证据反链 | 初始 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PA-053` | F01 查看家族动态列表 | 必需 | `C-F-FEED-READ` | D051-A01/A02;J043-A01;CUR:F01 | B |
|
||
| `PA-054` | F03 查看动态详情 | 必需 | `C-F-FEED-READ` | D051-A01/A02〔动态内容态〕;CUR:F03 | B |
|
||
| `PA-055` | F02 发布文字/图片动态 | 必需 | `C-F-FEED-WRITE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | D029-A01;D051-A04;J044-A01/A02;CUR:F02 | B |
|
||
| `PA-056` | F02 唯一编辑 owner 编辑动态;F03 仅提供入口 | 必需 | `C-F-FEED-WRITE` | CUR:F02;入口 CUR:F03 | P |
|
||
| `PA-057` | F03 删除动态 | 必需 | `C-F-FEED-WRITE` | J043-A04 | P |
|
||
| `PA-058` | F03 点赞/取消点赞 | 必需 | `C-F-FEED-WRITE` | 当前 feed 合同;CUR:F03 | P |
|
||
| `PA-059` | F03 评论或回复动态 | 必需 | `C-F-COMMENT-READ/C-F-COMMENT-WRITE` | D051-A03;J043-A02/A03 | B |
|
||
| `PA-060` | F03 删除本人评论 | 必需 | `C-F-COMMENT-WRITE` | 当前评论合同;CUR:F03 | P |
|
||
| `PA-061` | F01 置顶动态 | 候选 | `C-F-FEED-MODERATION` | D029-A02 | NA |
|
||
| `PA-062` | F01 加精动态 | 候选 | `C-F-FEED-MODERATION` | D029-A03 | NA |
|
||
| `PA-063` | F04 浏览谱文分类与列表 | 必需 | `C-F-ARTICLE` | D047-A01/A02;J010-A01;J011-A01;CUR:F04 | P |
|
||
| `PA-064` | F05 阅读谱文详情 | 必需 | `C-F-ARTICLE` | D048-A01;J012-A01〔独立详情态〕;J013-A03;CUR:F05 | P |
|
||
| `PA-065` | F06 新建谱文 | 必需 | `C-F-ARTICLE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | D048-A02;D057-A01;J013-A01;CUR:F06 | B |
|
||
| `PA-066` | F06 编辑谱文 | 必需 | `C-F-ARTICLE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | D048-A02;D057-A01;J013-A02;CUR:F06 | B |
|
||
| `PA-067` | F05 唯一删除 owner 删除谱文;F04 仅提供入口 | 必需 | `C-F-ARTICLE` | J011-A03;CUR:F05 | P |
|
||
| `PA-068` | F04 增改删谱文分类 | 候选 | `C-F-ARTICLE-CATEGORY-WRITE` | D046-A01 | NA |
|
||
| `PA-069` | F05 设置、校验或重置谱文访问密码;获批前不启用 | 候选 | `C-S-CONTENT-LOCK` | J011-A02;J014-A01 | NA |
|
||
| `PA-070` | F07 查看相册列表 | 必需 | `C-F-ALBUM` | D058-A01/A03;J015-A01;CUR:F07 | P |
|
||
| `PA-071` | F07 新建相册 | 必需 | `C-F-ALBUM` | D058-A02;D059-A01;J016-A01 | P |
|
||
| `PA-072` | F07 编辑相册资料/封面 | 必需 | `C-F-ALBUM/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | D003-A01;D045-A04;J018-A01 | B |
|
||
| `PA-073` | F07 删除相册 | 必需 | `C-F-ALBUM` | D003-A02 | P |
|
||
| `PA-074` | F08 查看并预览相册照片 | 必需 | `C-F-PHOTO-READ/C-S-FILE-READ` | D045-A01/A02;J017-A01;CUR:F08 | B |
|
||
| `PA-075` | F09 上传文件并新增照片记录 | 必需 | `C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ/C-F-PHOTO-WRITE` | D045-A03;J017-A02;CUR:F09 | B |
|
||
| `PA-076` | F08 删除照片 | 必需 | `C-F-PHOTO-WRITE` | J017-A03 | P |
|
||
| `PA-077` | F10 查看家族视频列表 | 必需 | `C-F-VIDEO-READ` | D044-A01;J021-A01;CUR:F10 | B |
|
||
| `PA-078` | F10 播放/查看视频详情 | 必需 | `C-F-VIDEO-READ` | D044-A02;J021-A02;J024-A01〔全局 URL 反例〕 | B |
|
||
| `PA-079` | F10 发布视频 | 候选 | `C-F-VIDEO-WRITE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | D007-A01;D044-A04;J022-A01/A02 | NA |
|
||
| `PA-080` | F10 编辑视频 | 候选 | `C-F-VIDEO-WRITE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | D044-A03〔管理入口〕;J022-A02 | NA |
|
||
| `PA-081` | F10 删除视频 | 候选 | `C-F-VIDEO-READ/C-F-VIDEO-DELETE` | D002-A01;J021-A03 | NA |
|
||
| `PA-082` | F10 纵滑短视频浏览/播放模式 | 候选 | `C-F-VIDEO-READ` | J072-A01;J074-A01@browse;JX001-A01;JU03-A01;JU04-A01/A02;JU05-A01/A02;JU06-A01/A02;!J072-A05;!J074-A02;!JU05-A05;!JU06-A05 | NA |
|
||
|
||
### 8.5 R 人物与族务:PA-083—PA-124
|
||
|
||
| PA | 唯一 owner / 产品动作 | 边界 | 合同键 | 来源证据反链 | 初始 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PA-083` | R03 查看/筛选人情往来记录 | 必需 | `C-R-RELATIVE` | D021-A01;D022-A01〔管理态〕;J034-A01;CUR:R03 | P |
|
||
| `PA-084` | R04 查看人情记录详情 | 必需 | `C-R-RELATIVE` | J035-A01;CUR:R04 | P |
|
||
| `PA-085` | R04 新建人情记录 | 必需 | `C-R-RELATIVE` | D021-A02;D023-A01;J036-A01;CUR:R04 | P |
|
||
| `PA-086` | R04 编辑人情记录 | 必需 | `C-R-RELATIVE` | D023-A01;J036-A02;CUR:R04 | P |
|
||
| `PA-087` | R04 唯一删除 owner 删除人情记录;R03 仅提供入口 | 必需 | `C-R-RELATIVE` | D022-A02;J034-A02;CUR:R04 | P |
|
||
| `PA-088` | R05 查看祭祀/礼仪列表 | 必需 | `C-R-CEREMONY` | CUR:R05 | P |
|
||
| `PA-089` | R06 查看祭祀/礼仪详情 | 必需 | `C-R-CEREMONY` | D037-A01〔通用长文状态,入口决定 owner〕;CUR:R06 | P |
|
||
| `PA-090` | R07 新建祭祀/礼仪 | 必需 | `C-R-CEREMONY` | CUR:R07 | P |
|
||
| `PA-091` | R07 编辑祭祀/礼仪 | 必需 | `C-R-CEREMONY` | CUR:R07 | P |
|
||
| `PA-092` | R06 唯一删除 owner 删除祭祀/礼仪;R05 仅提供入口 | 必需 | `C-R-CEREMONY` | 当前 ceremony 合同;CUR:R06 | P |
|
||
| `PA-093` | R06 查看祭祀献礼 | 必需 | `C-R-CEREMONY` | 当前 gifts 合同 | P |
|
||
| `PA-094` | R06 新增祭祀献礼 | 必需 | `C-R-CEREMONY` | 当前 gifts 合同;CUR:R06 | P |
|
||
| `PA-095` | R06 删除祭祀献礼 | 必需 | `C-R-CEREMONY` | 当前 gifts 合同;CUR:R06 | P |
|
||
| `PA-096` | R08 查看/筛选成长记录 | 必需 | `C-R-GROWTH` | D017-A01/A02〔普通态〕;D019-A01〔管理态〕;J031-A01〔旧入口〕;J070-A01〔人物/分类态〕;J071-A01/A02〔分类态〕;CUR:R08 | P |
|
||
| `PA-097` | R08 查看成长记录详情 | 必需 | `C-R-GROWTH` | D018-A01;J031-A03;J032-A01 | P |
|
||
| `PA-098` | R08 新建成长记录 | 必需 | `C-R-GROWTH` | D017-A03;D020-A01;J033-A01/A03;J070-A04 | P |
|
||
| `PA-099` | R08 编辑成长记录 | 必需 | `C-R-GROWTH` | J033-A02 | P |
|
||
| `PA-100` | R08 删除成长记录 | 必需 | `C-R-GROWTH` | D019-A02;J031-A02;J070-A03;!J071-A03〔错位逻辑〕 | P |
|
||
| `PA-101` | R08 选择成长记录对应人物 | 必需 | `C-T-LIST/C-R-GROWTH` | D036-A01/A03;J062-A01 | B |
|
||
| `PA-102` | R08 设置、校验或重置成长记录访问密码 | 候选 | `C-S-CONTENT-LOCK` | J014-A02;J070-A02 | NA |
|
||
| `PA-103` | R10 查看备忘录列表 | 必需 | `C-R-MEMO` | D024-A01;J037-A01;CUR:R10 | P |
|
||
| `PA-104` | R10 查看备忘详情 | 必需 | `C-R-MEMO` | J038-A03;J039-A01 | P |
|
||
| `PA-105` | R10 新建备忘 | 必需 | `C-R-MEMO` | D024-A02;J038-A01 | P |
|
||
| `PA-106` | R10 编辑备忘 | 必需 | `C-R-MEMO` | J038-A02 | P |
|
||
| `PA-107` | R10 删除备忘 | 必需 | `C-R-MEMO` | J037-A02 | P |
|
||
| `PA-108` | R11 查看功德记录 | 必需 | `C-R-MERIT-BASE` | D008-A01〔普通态〕;D009-A01〔管理态〕;J025-A01;CUR:R11 | P |
|
||
| `PA-109` | R11 新增功德记录 | 必需 | `C-R-MERIT-BASE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | D056-A01;J026-A01 | B |
|
||
| `PA-110` | R11 删除功德记录 | 必需 | `C-R-MERIT-BASE` | D009-A02;J025-A02 | P |
|
||
| `PA-111` | R11 查看独立功德详情 | 候选 | `C-R-MERIT-DETAIL` | D008-A02〔进入管理/详情证据〕;J026-A03;J027-A01 | NA |
|
||
| `PA-112` | R11 编辑功德记录 | 候选 | `C-R-MERIT-EDIT` | J026-A02 | NA |
|
||
| `PA-113` | R09 查看/管理人生事件 | 必需 | `C-R-LIFE` | D055-A01;CUR:R09 | B |
|
||
| `PA-114` | R-DOCUMENT 查看重要证件列表 | 候选 | `C-R-DOCUMENT` | J019-A01 | NA |
|
||
| `PA-115` | R-DOCUMENT 查看重要证件详情 | 候选 | `C-R-DOCUMENT` | J019-A01〔列表进入详情状态〕 | NA |
|
||
| `PA-116` | R-DOCUMENT 新建重要证件 | 候选 | `C-R-DOCUMENT/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | J020-A01/A02 | NA |
|
||
| `PA-117` | R-DOCUMENT 编辑重要证件 | 候选 | `C-R-DOCUMENT/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | J020-A01/A02 | NA |
|
||
| `PA-118` | R-DOCUMENT 删除重要证件 | 候选 | `C-R-DOCUMENT` | J019-A03 | NA |
|
||
| `PA-119` | R-DOCUMENT 校验或重置证件访问密码 | 候选 | `C-S-CONTENT-LOCK` | J014-A03;J019-A02 | NA |
|
||
| `PA-120` | R-GREETING 查看/筛选贺礼邀请列表 | 候选 | `C-R-GREETING` | D013-A01/A02;D014-A01〔管理态〕;J028-A01/A02 | NA |
|
||
| `PA-121` | R-GREETING 查看贺礼邀请详情 | 候选 | `C-R-GREETING` | D015-A01;J029-A01;D037-A01〔通用详情态〕 | NA |
|
||
| `PA-122` | R-GREETING 新建贺礼邀请 | 候选 | `C-R-GREETING` | D013-A03;D016-A01;J030-A01/A03 | NA |
|
||
| `PA-123` | R-GREETING 编辑贺礼邀请 | 候选 | `C-R-GREETING` | D016-A01;J030-A02/A04 | NA |
|
||
| `PA-124` | R-GREETING 删除贺礼邀请 | 候选 | `C-R-GREETING` | D014-A02;J028-A03 | NA |
|
||
|
||
### 8.6 N 消息:PA-125—PA-131
|
||
|
||
| PA | 唯一 owner / 产品动作 | 边界 | 合同键 | 来源证据反链 | 初始 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PA-125` | N01 查看通知活动集合,并由 G01/M01 消费同一未读计数 owner | 必需 | `C-N-LIST/C-N-UNREAD-COUNT` | D052-A01;J047-A01〔混排反例〕;CUR:N01;CUR:G01;CUR:M01 | B |
|
||
| `PA-126` | N01 标记单条通知已读 | 必需 | `C-N-READ-ONE` | 当前通知合同;CUR:N01 | B |
|
||
| `PA-127` | N01 全部标记已读 | 必需 | `C-N-READ-ALL` | D052-A02;CUR:N01 | B |
|
||
| `PA-128` | N02 查看通知详情 | 必需 | `C-N-DETAIL-SAME-SESSION/C-N-DETAIL-COLD-START` | D052-A04;J048-A01;CUR:N02 | B |
|
||
| `PA-129` | N01 从通知安全回流目标业务页 | 必需 | `C-N-LIST/C-N-DETAIL-COLD-START` | D052-A03/A04;J047-A02;!J047-A03 | B |
|
||
| `PA-130` | N02 查看广告/宣传消息详情 | 候选 | `C-N-DETAIL-SAME-SESSION/C-N-DETAIL-COLD-START/C-M-PROMO` | J075-A01 | NA |
|
||
| `PA-131` | N01 支持生日、疫苗、备忘等类型化提醒 | 候选 | `C-N-TYPED-REMINDER` | D055-A01 | NA |
|
||
|
||
### 8.7 M 我的:PA-132—PA-160
|
||
|
||
| PA | 唯一 owner / 产品动作 | 边界 | 合同键 | 来源证据反链 | 初始 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PA-132` | M01 查看“我的”主页和本人资料摘要 | 必需 | `C-A-PROFILE-READ` | D053-A01;J049-A01;JU07-A01〔另一布局态〕;CUR:M01 | B |
|
||
| `PA-133` | M02 编辑本人资料及头像 | 必需 | `C-A-PROFILE-READ/C-A-PROFILE-WRITE/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | J061-A01;CUR:M02 | B |
|
||
| `PA-134` | M03 查看安全设置入口及脱敏绑定信息 | 必需 | `C-A-PROFILE-READ` | D053-A04;J051-A01;JU07-A04;CUR:M03 | B |
|
||
| `PA-135` | M04 修改登录密码 | 必需 | `C-A-PASSWORD-CHANGE` | J052-A01;CUR:M04 | B |
|
||
| `PA-136` | M05 换绑手机号 | 必需 | `C-A-TAC-API/C-A-TAC-A11Y/C-A-PHONE-SEND/C-A-PHONE-CHANGE` | J068-A01;CUR:M05 | B |
|
||
| `PA-137` | M06 浏览/搜索帮助分类与列表 | 必需 | `C-M-HELP-LIST` | D039-A01/A02;J050-A01/A02;J064-A01;JU07-A03;CUR:M06 | B |
|
||
| `PA-138` | M06 阅读帮助文章 | 必需 | `C-M-HELP-LIST` | D040-A01;D037-A01〔通用长文态〕;J057-A01;J065-A02 | B |
|
||
| `PA-139` | M07 提交反馈 | 必需 | `C-M-FEEDBACK` | D042-A01;D053-A03〔反馈入口〕;J053-A01;JU07-A02;CUR:M07 | P |
|
||
| `PA-140` | M07 查看本人反馈记录 | 必需 | `C-M-FEEDBACK` | 当前 feedback GET;CUR:M07 | P |
|
||
| `PA-141` | M-PROMO 查看 APP 推广内容 | 候选 | `C-M-PROMO` | D053-A02;J049-A02;J054-A01 | NA |
|
||
| `PA-142` | M-PROMO 分享应用 | 候选 | `C-M-PROMO/C-S-PLATFORM-SHARE` | D041-A01;J054-A02;!旧跳转创建家谱 | NA |
|
||
| `PA-143` | M-PROMO 展示/复制 APP 推广推荐码或二维码 | 候选 | `C-M-REFERRAL/C-M-PROMO/C-S-PLATFORM-CLIPBOARD` | J066-A01/A02 | NA |
|
||
| `PA-144` | M-PROMO 展示邀请奖励或积分 | 候选 | `C-M-REWARD` | D041-A02 | NA |
|
||
| `PA-145` | M09 查看 VIP 套餐 | 必需 | `C-M-VIP-READ` | J055-A01;CUR:M09 | P |
|
||
| `PA-146` | M09 创建 VIP 订单 | 必需 | `C-M-VIP-ORDER` | J055-A02;CUR:M09 | B |
|
||
| `PA-147` | M09 查看 VIP 订单记录 | 必需 | `C-M-VIP-READ` | J056-A01;CUR:M09 | P |
|
||
| `PA-148` | M09 支付并确认 VIP 最终结果 | 候选 | `C-M-VIP-PAY` | J055-A02;J056-A01〔假成功页反例〕 | NA |
|
||
| `PA-149` | M10 查看关于、协议、版本信息 | 必需 | `C-LOCAL` | D053-A05;J051-A02;J065-A02;CUR:M10 | P |
|
||
| `PA-150` | M10 唯一会话 owner 安全退出登录;M01/M03 仅提供入口 | 必需 | `C-A-LOGOUT` | D053-A06;JU07-A05;CUR:M10 | B |
|
||
| `PA-151` | M03 注销账号 | 候选 | `C-A-DEACTIVATE/C-A-SMS-SEND` | J049-A03 | NA |
|
||
| `PA-152` | M-MONEY 查看余额和资金流水 | 候选 | `C-M-MONEY` | J076-A01/A02 | NA |
|
||
| `PA-153` | M-MONEY 提交提现申请及收款码 | 候选 | `C-M-MONEY/C-S-FILE-BINARY-WRITE/C-S-FILE-REFERENCE-WRITE/C-S-FILE-READ` | J076-A03;J077-A01—A03;!J077-A04 | NA |
|
||
| `PA-154` | M-MONEY 查看提现记录和状态 | 候选 | `C-M-MONEY` | J078-A01 | NA |
|
||
| `PA-155` | M-PROMO 调起平台分享并承接变现资格/结果 | 候选 | `C-M-MONEY/C-M-PROMO/C-S-PLATFORM-SHARE` | J066-A04 | NA |
|
||
| `PA-156` | M-PROMO 查看广告/宣传视频 | 候选 | `C-M-PROMO-VIDEO` | J001-A04;J023-A01;J049-A02〔广告/视频混排反例〕;J073-A01;!J073-A03〔旧接口〕 | NA |
|
||
| `PA-157` | M08 幂等签发家谱邀请票据并在结果未知时恢复权威状态 | 必需 | `C-G-INVITE-ISSUE/C-G-INVITE-LIST` | !J006-A01〔空壳反例〕;CUR:M08 | B |
|
||
| `PA-158` | M08 显示、复制并系统分享当前活动家谱邀请票据 | 必需 | `C-G-INVITE-LIST/C-S-PLATFORM-CLIPBOARD/C-S-PLATFORM-SHARE` | CUR:M08 | B |
|
||
| `PA-159` | M08 撤销活动家谱邀请票据并收敛竞态/未知结果 | 必需 | `C-G-INVITE-REVOKE/C-G-INVITE-LIST` | CUR:M08 | B |
|
||
| `PA-160` | M-PROMO 经官方 allowlist 打开应用下载页 | 候选 | `C-M-PROMO/C-S-SAFE-EXTERNAL-OPEN` | J066-A03 | NA |
|
||
|
||
### 8.8 F/M 视频互动追加候选:PA-161—PA-166
|
||
|
||
这些动作追加在账本末尾,是因为交叉评审发现旧 PA-082 把浏览、评论、点赞、分享误并到读取合同,且宣传视频不能借家族视频 owner;稳定 PA 不回收、不重排。
|
||
|
||
| PA | 唯一 owner / 产品动作 | 边界 | 合同键 | 来源证据反链 | 初始 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PA-161` | F10 查看/发表短视频评论 | 候选 | `C-F-VIDEO-COMMENT` | J072-A02;J074-A01@comment;JU05-A03;JU06-A03 | NA |
|
||
| `PA-162` | F10 点赞/取消点赞短视频 | 候选 | `C-F-VIDEO-REACTION` | J072-A03;JU05-A04@reaction;JU06-A04@reaction | NA |
|
||
| `PA-163` | F10 系统分享短视频 | 候选 | `C-F-VIDEO-READ/C-S-PLATFORM-SHARE` | J072-A04;JU05-A04@share;JU06-A04@share | NA |
|
||
| `PA-164` | M-PROMO 查看/发表宣传视频评论 | 候选 | `C-M-PROMO-VIDEO-COMMENT` | J073-A02@comment | NA |
|
||
| `PA-165` | M-PROMO 点赞/取消点赞宣传视频 | 候选 | `C-M-PROMO-VIDEO-REACTION` | J073-A02@reaction | NA |
|
||
| `PA-166` | M-PROMO 系统分享宣传视频 | 候选 | `C-M-PROMO-VIDEO/C-S-PLATFORM-SHARE` | J073-A02@share | NA |
|
||
|
||
### 8.9 共享门禁、状态变体与冻结计数
|
||
|
||
共享门禁不是额外的用户产品动作,不增加 PA 分母,但所有相关 PA 必须通过:
|
||
|
||
| 门禁 owner | 完成前置 |
|
||
| --- | --- |
|
||
| `S-ID` | 全部 ID 使用安全十进制字符串 wire |
|
||
| `S-PERM` | 服务端 capability、撤权刷新和 403 语义 |
|
||
| `S-FILE` | 选择/上传、业务引用、访问 URL、重进显示 |
|
||
| `S-REGION` | 行政区划和 `regionCode` |
|
||
| `S-SESSION` | 会话持久化、失效、账号切换和迟到响应隔离 |
|
||
| `S-NAV` | route key、必填参数、返回与根切换 |
|
||
| `S-A11Y` | 触控、字号、焦点、读屏和系统返回 |
|
||
|
||
PA 是产品动作分母,状态变体是独立验收分母。已知跨路由复用与 N02 状态先冻结为:
|
||
|
||
| 状态 ID | 入口与条件 | `contractState` | `dataMode` | `productCompletion` |
|
||
| --- | --- | --- | --- | --- |
|
||
| `PA-038-S01` | 从 T01/T07 进入 T03 查看人物资料 | `CONTRACT_CONFLICT` | `LOCAL_PREVIEW` | `BLOCKED` |
|
||
| `PA-038-S02` | 从 F01→R01→R02 的人物录上下文查看同一人物资料 | `CONTRACT_CONFLICT` | `LOCAL_PREVIEW` | `BLOCKED` |
|
||
| `PA-048-S01` | T03 进入 T05 编辑;T05 是唯一 mutation owner | `CONTRACT_CONFLICT` | `LOCAL_PREVIEW` | `BLOCKED` |
|
||
| `PA-048-S02` | R02 的编辑入口只导航 T05,不在 R02 本地保存或报成功 | `CONTRACT_CONFLICT` | `CLOSED` | `BLOCKED` |
|
||
| `PA-049-S01` | T01 进入 T07 世系成员目录 | `CONTRACT_CONFLICT` | `LOCAL_PREVIEW` | `BLOCKED` |
|
||
| `PA-049-S02` | F01 进入 R01 人物录,并保留 R01→R02→R01 返回现场 | `CONTRACT_CONFLICT` | `LOCAL_PREVIEW` | `BLOCKED` |
|
||
| `PA-125-S01` | N01 读取通知活动集合 | `CONTRACT_CONFLICT` | `LOCAL_PREVIEW` | `BLOCKED` |
|
||
| `PA-125-S02` | G01 显示共享未读计数;不得从分页列表长度推断 | `MISSING_OPERATION` | `CLOSED` | `BLOCKED` |
|
||
| `PA-125-S03` | M01 显示同一共享未读计数;账号切换后必须失效 | `MISSING_OPERATION` | `CLOSED` | `BLOCKED` |
|
||
| `PA-128-S01` | 从 N01 当前会话、且完整列表项快照仍在时打开 | `CONTRACT_CONFLICT` | `LOCAL_PREVIEW` | `PARTIAL` |
|
||
| `PA-128-S02` | 冷启动、进程重启、外部深链或快照丢失 | `MISSING_OPERATION` | `CLOSED` | `BLOCKED` |
|
||
|
||
R02 现存的“通用新建人物本地预览”和 T06 现存的“关系修正本地预览”不是已批准 PA:二者均不得保存、造 ID、改列表或显示成功;本轮分别关闭/移除,不能偷换成 T04 关系新增、G03 首人创建或 PA-046 排行。用户以后若明确需要独立创建人物或关系修正,必须重新规划独立产品动作及原子合同。
|
||
|
||
其他外观相似、同路由或同动作来源也按 `PA-xxx-Snn` 追加独立状态验收记录;只有入口、对象、数据、接口、权限、动作和返回行为全部证明等价时才能复用状态实现,不能删除来源状态 ID 或减少验收分母。规划阶段的 `P/PARTIAL` 只说明当前存在结构或 `LOCAL_PREVIEW`,不代表动作是 LIVE,也不能绕过 `C-S-ID/C-S-CAPABILITY` 等共享冲突。
|
||
|
||
冻结计数为:
|
||
|
||
- `productActionsTotal=166`;
|
||
- `requiredActions=111`,进入产品完成分母;
|
||
- `candidateActions=55`,用户未单独批准时不进入完成分母;
|
||
- `approvedCandidateActions=0`;
|
||
- 规划阶段 `completeRequiredActions=0`、`partialRequiredActions=42`、`blockedRequiredActions=69`、`notApplicableCandidateActions=55`。
|
||
|
||
候选日后获批只改变边界和完成态,不创建新 PA ID;用户拒绝的候选也保留 ID 与拒绝记录,不删除或重排。
|
||
|
||
## 九、甄别分母与确认后冻结方式
|
||
|
||
当前源证据共拆出 341 条动作记录:
|
||
|
||
| 结论 | 设计源 | 完成项目活动/注释路由 | 未注册文件 | 合计 |
|
||
| --- | ---: | ---: | ---: | ---: |
|
||
| 直接采用 | 0 | 0 | 0 | 0 |
|
||
| 改造后采用 | 86 | 75 | 0 | 161 |
|
||
| 仅参考交互 | 19 | 26 | 26 | 71 |
|
||
| 后端缺失,暂时关闭 | 15 | 18 | 0 | 33 |
|
||
| 与当前产品冲突,明确舍弃 | 5 | 17 | 3 | 25 |
|
||
| 待用户确认 | 14 | 36 | 1 | 51 |
|
||
| 合计 | 139 | 172 | 30 | 341 |
|
||
|
||
这里的 341 是“源状态动作记录”,不是 341 个已经判定互不相同或已经判定重复的产品功能。多个截图和旧页面可能是独立状态,也可能在证据充分后共用同一个实现 owner。
|
||
|
||
`D001-A01` 与 `D055-A01` 是全部 PA 继承的全局覆盖目录;`D001-A02`、`D055-A02—A04` 是非本仓库端形态,统一作为全局冲突舍弃证据;`J003-A01` 是纯日期时间选择演示,统一作为全局冲突舍弃证据。`J003` 是唯一不生成 PA 反链的源基 ID;上述全局动作仍必须进入 341 条来源证据计数,不能用全局规则掩盖其他逐动作遗漏。
|
||
|
||
本次交给用户确认的证据与产品动作范围分别冻结为:
|
||
|
||
- `referenceEvidenceRecords=341`;
|
||
- `adaptedReferenceEvidenceRecords=161`,只是“改造后采用”的来源证据数量,不是产品动作分母;
|
||
- `interactionEvidenceRecords=71`,只增加独立交互/状态验收证据,不新增数据合同;
|
||
- `closedReferenceEvidenceRecords=33`;
|
||
- `rejectedReferenceEvidenceRecords=25`;
|
||
- `pendingReferenceEvidenceRecords=51`,已反链到候选 PA,用户未单独批准时不进入实现范围;
|
||
- `productActionsTotal=166`、`requiredActions=111`、`candidateActions=55`、`approvedCandidateActions=0`;
|
||
- `approvedNewRoutes=0`,当前提案全部先落现有 owner 或诚实关闭。
|
||
|
||
用户确认后,执行第 0 批只能:
|
||
|
||
1. 重算源文件、活动/注释路由与未注册文件清单,确认 341 条状态动作记录未因源变化失效;
|
||
2. 原样冻结 PA-001—PA-166、111 个必需动作、55 个候选动作及全部来源反链;执行阶段不得再归并、拆分、删除或重排 PA;
|
||
3. 对已证明等价的状态动作可共用实现 owner,但每个来源状态 ID 仍保留独立验收记录;新发现的角色/数据/权限/错误状态追加 `PA-xxx-Snn`,不能覆盖既有状态或改变产品动作身份;
|
||
4. “待用户确认”若本次仍无单独选择,一律维持候选 PA 的 `NOT_APPLICABLE`,不新增路由;
|
||
5. 分别报告路由分母、`requiredActions=111`、`liveCompletedActions`、逐 PA 四字段和 341 条来源证据去向,不得把来源证据条数、代码复用或结构遍历充当产品完成率;
|
||
6. 任一参考动作即使关闭态检查通过,其必需 PA 的 `productCompletion` 仍可为 `BLOCKED`;候选未获批则为 `NOT_APPLICABLE`,不能写成整个项目 PASS。
|
||
|
||
## 十、参考项目资产复用索引
|
||
|
||
用户已允许把第二参考源中的图标等资产作为当前产品的复用候选。当前只读分母为 `referenceAssetFiles=531`,全部位于 `Jiapu-App\static`,约 6.45 MiB;按声明扩展名为 PNG 307、GIF 221、SVG 2、JPG 1,按文件签名为 PNG 311、GIF 217、SVG 2、JPG 1。已发现 6 个扩展名/MIME 不一致和 14 组完全重复文件。
|
||
|
||
资产不会增加或改变 PA 分母。任何文件在复制前必须建立 `RAxxx` 记录并绑定一个已批准 PA 及其目标路由/组件/状态;相似图标、不同选中态、禁用态、权限态或主题态仍分别留证。逐文件字段和来源、隐私、旧品牌、格式、安全、视觉、无障碍、性能、候选构建验收门禁以主计划第 11.10 节为准。
|
||
|
||
当前候选分类只用于确定优先甄别顺序,不是逐文件采用结论;在 `RAxxx` 记录通过门禁前,以下各类采用数都仍为 0:
|
||
|
||
| 类别 | 例子 | 初始决定 |
|
||
| --- | --- | --- |
|
||
| 水墨/宗祠/谱书氛围 | `iconpng/902.png`、`iconpng/z8526@2x.png`、`login/bj.jpg`、`iconpng/book.png` | 优先甄别,尚未形成采用结论;固定文字、裁切、格式和可读性先处理 |
|
||
| 世系人物卡装饰 | `iconpng/treeBJ.png` | 优先甄别,尚未形成采用结论;若采用优先九宫格或重绘,避免 81×105 小图直接拉伸 |
|
||
| 中性导航/功能图标 | `icon/index.svg`、`navigation/*`、`tabulation/*`、`pu/*`、`jr.png` | 优先逐文件甄别直接复用或重绘,尚未形成采用结论;必须统一当前图标系统 |
|
||
| 默认头像风格 | `nan.png`、`nv.png`、`treeman.png` 及尺寸变体 | `待用户确认`具体风格;先过来源、肖像、偏见和重复哈希门禁 |
|
||
| 水墨蝴蝶动效 | `login/hd*.gif` | 仅作动效方向候选;必须有静态降级、减少动态效果和性能预算 |
|
||
| QQ 表情、抖音/视频实验、支付/微信/支付宝、VIP/奖励、旧 logo/口号 | `emojis/qq/*`、`douyin/*`、视频实验图、`wx.png`、`zfb.png`、`logo.png` 等 | `与当前产品冲突,明确舍弃`直接迁入;必要时仅参考语义并重绘 |
|
||
|
||
规划确认时固定:
|
||
|
||
- `referenceAssetFiles=531`;
|
||
- `approvedDirectReuseAssets=0`;
|
||
- `approvedAdaptReuseAssets=0`;
|
||
- `assetReuseAuthorization=USER_ALLOWED_WITH_PER_FILE_GATES`。
|
||
|
||
收到“开始执行”后,采用数只能随已完成门禁的 `RAxxx` 增加;不能整目录复制,不能用资产存在反向启用 F10、支付、邀请奖励等关闭或候选功能,也不能迁移旧组件、样式或外部资源地址。
|