Files
jiapuapp/docs/third-pass-operation-flow-audit-2026-08-23.md
T

13 KiB
Raw Blame History

当前项目与参考项目第三轮操作流程复审

审查日期:2026-08-23
参考项目:C:\Users\Rain\Desktop\job\Jiapu-App(浏览器,已登录)
当前项目:C:\Users\Rain\Desktop\job\jiapuappMuMu,已登录)
后端项目: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 时传入 genealogyIdgenealogyName
  • utils/navigation/routes.jsG08 只声明必填 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 项差异的关系

第三轮没有推翻第二轮清单,以下差异仍需处理:

  1. 家谱设置整体读取失败。
  2. 家族视频不是封面卡片进入播放。
  3. 功德记录媒体后端契约未闭环。
  4. 礼仪封面未显示。
  5. 谱文封面未显示。
  6. 家谱级重要证件聚合入口缺失。
  7. VIP 订单号、支付时间、到期时间显示不完整。
  8. 提现单号、审核备注、打款参考号、到账时间显示不完整。
  9. 推广注册链接和二维码缺失。
  10. 谱文、礼仪、视频封面缺少明确移除契约。
  11. 多类参考内容的创建时间字段未覆盖。
  12. 贺礼簿列表缺少首图。
  13. “家族恩人”业务语义缺失。
  14. 创建家谱的始迁祖未由后端落库。

具体字段、责任方和完成条件继续以 第二轮独立复审 为准;本报告补充操作链路和密码差异,不重复制造另一套业务清单。

验证范围与限制

  • 本轮重新点击了家谱切换、添加家谱分流、搜索家谱、创建家谱、创建页空提交校验、创建页返回、家谱总览、邀请码管理、成员列表、申请审核、消息中心、家族动态发布页与返回。
  • 参考项目重新进入了加入家谱、创建家谱、管理员、消息、世系和受保护内容密码弹层。
  • 没有执行生成邀请码、提交加入申请、审批、保存、删除、归档、谱主转让、短信发送、支付或提现等写操作。
  • 两端账号和数据集不同,因此只比较入口、步骤、字段、状态、权限与返回关系,不比较具体数据条数。
  • 未执行屏幕阅读器、外接键盘焦点顺序和自动对比度测试;本轮不声明完整无障碍验收通过。
  • 当前受保护内容缺少真机样本;密码错误、短信找回、15 分钟授权过期和三类内容解锁回归仍需在测试数据准备后完成。