13 KiB
当前项目与参考项目第三轮操作流程复审
审查日期:2026-08-23
参考项目:C:\Users\Rain\Desktop\job\Jiapu-App(浏览器,已登录)
当前项目:C:\Users\Rain\Desktop\job\jiapuapp(MuMu,已登录)
后端项目:C:\Users\Rain\Desktop\job\Genealogy
结论
本轮不再按页面数量判断缺失,而是按“从哪里进入、填写什么、提交前校验、成功或失败后去哪里、返回是否丢状态、是否需要密码”复审操作链路。
- 第二轮确认的 14 项参考对比差异仍成立。
- 当前项目原有 1 项成长记录误报未保存修改的问题仍成立。
- 本轮新增确认 3 项当前流程问题:公开家谱的“申请加入”完全点不进去、谱主无法绑定自己的世系人物、消息中心从家谱首页进入后可见返回出口却固定去“我的”。
- 当前未决问题合计为 14 项参考对比差异和 4 项当前流程缺陷,共 18 项。
- 密码能力并未缺失,但参考项目与当前项目采用了不同契约:参考项目在创建谱文、重要证件、成长日志时强制设置查看密码和两组密保;当前项目创建时不要求密码,创建后可按单条内容选择设置 8 至 128 位密码,并通过实名手机号短信找回。是否必须恢复参考项目的“创建即强制加密”,需要产品与后端共同确认,不能仅由前端自行改成一样。
- 本轮只做审查、点击验证与文档整理,没有修改业务代码、接口契约或测试数据。
操作流程复审表
| 编号 | 用户流程 | 参考项目 | 当前项目 | 健康度 | 结论 |
|---|---|---|---|---|---|
| 1 | 登录与找回登录密码 | 账号密码登录;忘记密码使用账号、姓名、生日和新密码 | 支持密码/短信登录;忘记密码使用手机号短信码和新密码 | 基本健康 | 能力已覆盖,身份校验方式不同,不算缺页 |
| 2 | 修改登录密码 | 旧密码、新密码、重复新密码 | 旧密码、新密码、重复新密码 | 健康 | 核心步骤一致 |
| 3 | 更换手机号 | 输入登录密码和新手机号 | 新手机号加短信验证码 | 基本健康 | 安全契约不同;当前以后端最新短信换绑接口为准 |
| 4 | 家谱首页与切换当前家谱 | 首页选择家谱进入 | 首页卡片和“切换当前家谱”弹层均可用 | 健康 | 本轮已点击切换并恢复到“真机联调10159371” |
| 5 | 添加家谱入口 | 搜索/邀请码加入和创建家谱 | “搜索家谱”与“继续创建”分流 | 健康 | 当前是融合入口,不需要复制参考页面数量 |
| 6 | 创建家谱 | 姓氏、谱名、堂号、始迁祖、地区、简介、访问规则 | 在此基础上还有祖籍地、详细地址、封面;空提交有字段级提示 | 基本健康 | 当前字段更完整;firstAncestorName 后端落库仍是既有差异 |
| 7 | 未修改创建页直接返回 | 直接返回 | 直接返回,不弹放弃确认 | 健康 | 本轮已点击验证 |
| 8 | 邀请码加入 | 输入邀请码后确认 | 搜索页提供邀请码输入、查询和加入结果 | 基本健康 | 入口与校验链已存在;未兑换真实邀请码,避免写入成员数据 |
| 9 | 搜索公开家谱并申请加入 | 搜索结果可进入申请流程 | 搜索结果可显示,但“申请加入”点击无任何跳转或提示 | 阻断 | 新增 P0 前端缺陷,详见发现 1 |
| 10 | 管理邀请 | 可生成和使用邀请 | 可查看有效期、失效状态并生成新邀请码 | 基本健康 | 本轮看到失效邀请码与“生成新邀请码”;未点击生成,避免写操作 |
| 11 | 审核加入申请 | 管理员在消息/管理入口处理 | 独立“申请审核”页,当前数据为空时空状态正常 | 基本健康 | 没有待审样本,未执行同意/拒绝写操作 |
| 12 | 成员编辑、角色与人物绑定 | 管理员列表管理成员 | 普通目标成员具备编辑、解绑、移除、转让能力投影 | 不健康 | 当前唯一谱主记录显示未绑定人物且只读,没有另一条自绑定路径,详见发现 2 |
| 13 | 世系与成员资料 | 参考项目包含世系、成员和管理员入口 | 当前融合为世系图、成员目录、人物详情、成员状态和证件档案 | 基本健康 | 属于融合升级,不按参考页面数补页 |
| 14 | 发布家族动态 | 填写内容并发布 | 发布编辑器可进入;空白未修改时返回不会误弹确认 | 健康 | 本轮点击进入并直接返回验证通过;未提交写操作 |
| 15 | 谱文、证件、成长记录的密码查看 | 三类内容创建时强制密码和两组密保,查看前输入密码 | 三类内容均支持单条内容的设置、修改、关闭、解锁和找回 | 待产品确认 | 能力存在,但保护时机、保护粒度和找回方式不同,详见密码矩阵 |
| 16 | 图片和视频查看 | 图片展示;视频以封面/条目进入后播放 | 图片预览入口存在;家族视频列表仍直接铺设播放器 | 不健康 | 既有 P0:未达到“先显示封面,点击后播放” |
| 17 | 消息中心 | 独立消息导航,含服务入口和申请消息 | 从首页铃铛进入后,页头无返回,底栏高亮“我的”,按钮固定“返回我的” | 有瑕疵 | Android 系统返回可回退,但可见导航与来源不一致,详见发现 3 |
| 18 | 家谱设置 | 可进入并编辑 | 首次读取失败,重试仍失败 | 阻断 | 既有 P0,基础设置和永久删除资格仍被同一聚合请求共同阻断 |
| 19 | 删除、归档、转让、审批、购买、提现 | 有对应确认或提交步骤 | 前端均有确认与错误状态设计 | 仅代码复审 | 为避免修改真实数据,本轮没有执行不可逆或财务写操作 |
本轮新增确认的问题
1. P0:公开家谱“申请加入”被路由参数校验直接拦截
点击证据:公开家谱列表正常显示,点击“申请加入”后页面完全不变,也没有错误提示。
代码原因:
pages/genealogy/search.vue打开G08时传入genealogyId和genealogyName。utils/navigation/routes.js的G08只声明必填genealogyId和可选source。- 导航网关会拒绝所有未声明参数,因此
genealogyName在调用uni.navigateTo前就触发异常。 - 本轮对所有可静态识别的
openPage("路由键", { ... })调用做了路由字段扫描,只发现这一处字面量参数不匹配。
完成条件:删除多余的 genealogyName 传参,或由 G08 契约明确声明并消费该字段;随后加入一条自动化检查,点击公开家谱的“申请加入”必须进入申请表单,返回后仍回到搜索结果。
证据:
2. P1:谱主自己的成员记录无法绑定世系人物
运行时证据:当前测试家谱只有 1 位成员,该成员角色为谱主,亲属关系未填写、世系人物未绑定,页面只显示“当前账号只能查看这位成员”。
前后端交叉确认:
- 前端仅在
member.capabilities.canEdit为真时开放编辑器。 - 后端能力投影明确令所有谱主目标
canEdit=false。 - 后端更新接口还会对谱主目标抛出“不能直接修改谱主成员”。
- 当前前端、OpenAPI 和后端项目中没有发现单独的“谱主绑定本人世系人物”入口。
这会造成首次创建家谱后的闭环断点:唯一成员正是谱主,但谱主无法把自己绑定到创建出的始祖或其他世系人物。若产品确实禁止管理员接口编辑谱主,应另设只允许修改本人关系和人物绑定的窄接口,不能开放角色和成员移除能力。
证据:
3. P2:消息中心的可见返回方向与实际来源不一致
消息中心可从家谱首页铃铛进入,路由也允许来源为 G01;但页面使用根页头、底栏固定高亮“我的”,空状态和错误状态按钮都写死为“返回我的”。系统返回键仍可回到上一页,所以不是完全阻断,但用户会被可见操作带离原流程。
完成条件:消息中心保留来源并显示返回;或明确把消息中心定义为独立根入口并统一首页、个人中心和底栏导航语义。
证据:
密码流程专项对比
| 场景 | 参考项目 | 当前项目 | 判定 |
|---|---|---|---|
| 密码登录 | 账号加密码 | 手机号加密码,并可切换短信登录 | 已覆盖 |
| 忘记登录密码 | 账号、姓名、生日、新密码、确认密码 | 手机号、短信验证码、新密码、确认密码 | 已覆盖,找回凭据不同 |
| 修改登录密码 | 旧密码、新密码、确认密码 | 旧密码、新密码、确认密码 | 已覆盖 |
| 更换手机号 | 登录密码、新手机号 | 新手机号、当前绑定手机号短信验证 | 已覆盖,后端契约不同 |
| 新建谱文 | 查看密码必填且至少 6 位;两组密保问题和答案必填 | 创建时无密码字段;保存后可选择设置 8 至 128 位密码 | 流程差异,待确认 |
| 新建重要证件 | 查看密码必填且至少 6 位;两组密保问题和答案必填 | 创建时无密码字段;保存后可选择设置 8 至 128 位密码 | 流程差异,待确认 |
| 新建成长日志 | 查看密码必填且至少 6 位;两组密保问题和答案必填 | 创建时无密码字段;保存后可选择设置 8 至 128 位密码 | 流程差异,待确认 |
| 查看受保护内容 | 输入该内容的查看密码 | 输入单条内容密码,成功后取得 15 分钟短时访问授权 | 已覆盖,当前授权边界更明确 |
| 忘记内容密码 | 回答任意一组密保后重设密码 | 查询实名手机号找回资格、发送短信码、校验后重设 | 已覆盖,但无实名手机号时不可用 |
| 修改/关闭内容密码 | 编辑时通过密保修改;参考页面未发现独立关闭操作 | 有权限者可设置、修改或关闭 | 当前能力更完整 |
参考项目密码弹层证据:
当前测试家谱没有受保护的真实内容,因此本轮没有伪造数据,也没有声称已经在 MuMu 中完成错误密码、短信发送和解锁成功的端到端验证。当前侧结论来自页面实现、请求契约、OpenAPI 和后端接口的四方核对;在修复前应准备一条受保护谱文、一条受保护成长记录和一份受保护证件做真机回归。
与第二轮 14 项差异的关系
第三轮没有推翻第二轮清单,以下差异仍需处理:
- 家谱设置整体读取失败。
- 家族视频不是封面卡片进入播放。
- 功德记录媒体后端契约未闭环。
- 礼仪封面未显示。
- 谱文封面未显示。
- 家谱级重要证件聚合入口缺失。
- VIP 订单号、支付时间、到期时间显示不完整。
- 提现单号、审核备注、打款参考号、到账时间显示不完整。
- 推广注册链接和二维码缺失。
- 谱文、礼仪、视频封面缺少明确移除契约。
- 多类参考内容的创建时间字段未覆盖。
- 贺礼簿列表缺少首图。
- “家族恩人”业务语义缺失。
- 创建家谱的始迁祖未由后端落库。
具体字段、责任方和完成条件继续以 第二轮独立复审 为准;本报告补充操作链路和密码差异,不重复制造另一套业务清单。
验证范围与限制
- 本轮重新点击了家谱切换、添加家谱分流、搜索家谱、创建家谱、创建页空提交校验、创建页返回、家谱总览、邀请码管理、成员列表、申请审核、消息中心、家族动态发布页与返回。
- 参考项目重新进入了加入家谱、创建家谱、管理员、消息、世系和受保护内容密码弹层。
- 没有执行生成邀请码、提交加入申请、审批、保存、删除、归档、谱主转让、短信发送、支付或提现等写操作。
- 两端账号和数据集不同,因此只比较入口、步骤、字段、状态、权限与返回关系,不比较具体数据条数。
- 未执行屏幕阅读器、外接键盘焦点顺序和自动对比度测试;本轮不声明完整无障碍验收通过。
- 当前受保护内容缺少真机样本;密码错误、短信找回、15 分钟授权过期和三类内容解锁回归仍需在测试数据准备后完成。



