Files
youle_cocos/docs/superpowers/reports/2026-09-07-profile-layout-auth.md
T

2.4 KiB

资料列表与实名认证接线

资料列表

Layer17_PlayerInfo 保留调整后的精灵层级。InfoText 作为可滚动视口,Content 使用纵向 Layout,根据显示的数据实例化 PlayerInfoTextItem.prefab。文字自动换行并调整行高,删除项目后不留空行;签名背景作为最后一项随文字增高,内容超出视口时可以滚动。

  • 字体、颜色、行宽:在 assets/framework/ui/prefabs/widgets/PlayerInfoTextItem.prefab 的 Label 中配置,沿用原文字样式。
  • 项目间距:在 Layer17_PlayerInfo/InfoText/Content 对应节点的 Layout 配置(实际位于 group-18 下),当前 spacingY=14。
  • 签名背景:最小高度 79,文字上下内边距 10。
  • 根节点 ProfileInfoListView 已指定文本 prefab、认证 prefab、容器、滚动组件和签名引用。
  • lobby-panel.ts 提供有序文字数组;新增或移除显示字段不需要手工摆放坐标。

实名认证

Spirit484 打开 Layer18_Auth;姓名、身份证输入框,Spirit493 提交,以及 Spirit485 退出已接通。背景启用拦截,输入框支持身份证末位 X,重新打开时清空输入。

严格沿用原工程 03_Banwords.js 的本地姓名长度、身份证地址/日期范围/校验位规则及提示文案。原工程没有服务器身份核验请求,本次也不产生该请求、不保存身份证信息;“认证成功!”仅表示通过原工程的本地校验。

验证

  • Game View 中 37 项检查通过,覆盖动态行数、换行、签名增高、滚动回缩、实际 LobbyPanel 接线、输入错误提示、提交和退出事件。
  • 12 项相关单元测试通过,包括与原始 IDValidator 对照的校验测试。
  • Cocos 工程严格类型检查、导入边界检查通过;三个 prefab 的缺失引用均为 0。
  • 已检查资料页、认证页实际渲染,修正 EditBox 文字垂直偏移,并通过原生输入验证中文姓名及含 X 的身份证文本。
  • Electron 鼠标模拟未进入 Game View 的 Cocos 输入系统,因此鼠标实点退出未验证;退出按钮事件接线已通过运行时检查。
  • 核对任务开始时的文件哈希,既有改动中仅预定的 Layer17 prefab 与 lobby-panel.ts 发生变化,其余保留。

可复用预览检查脚本:cocoscreator_projects/scripts/verify-profile-preview.mjs。所有序列化资源均通过 Cocos 编辑器 API 创建和保存。