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

29 lines
2.4 KiB
Markdown

# 资料列表与实名认证接线
## 资料列表
`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 创建和保存。