| content |
{"Commits":[{"Sha1":"afcd11436 {"Commits":[{"Sha1":"afcd1143678a58861a5cabc05dbd9768c7c58052","Message":"feat(console): 合并多因素验证改造、列表移除退场与状态提示对齐\n\n将 feat/console-layout 上的第三档交互改进、多因素验证绑定与登录验证码改造、列表状态提示对齐合入 main。\n\n实现内容:\n- 合入用户组移除成员的退场动画与个人中心退出其他登录后的行高亮\n- 合入 6 格验证码与输满自动提交、绑定页大字倒计时与取消确认、登录成功标记与倒计时进度环\n- 合入所有账号、企业列表的待办提示与状态徽标同一行\n\n验证:\n- 合并后 iam-admin-web 与 docs/console 的代码树与 feat/console-layout 一致;该树已在 IAM-ui 执行 npm run check 通过,包含格式、Lint、类型检查、27 组共 252 项测试及生产构建\n- git diff --cached --check 通过\n- 主目录中演示数据相关的未提交改动(scripts/experience、docs/console/demo-data.md)与 P12 文档未纳入本次合并\n- 减少动态效果模式未在浏览器中模拟;验收脚本未运行;本次不涉及后端代码,未重跑后端检查\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-13T20:34:37-07:00"},{"Sha1":"e89aafa0cfa32442a18b91a9e6e892cb485fc2ff","Message":"style(console): 把列表状态的待办提示放到状态徽标同一行\n\n平台「所有账号」的待激活账号、「企业列表」的待设置所有者企业,提示写在状态徽标下方另起一行,使这些行比其他行高,列表参差不齐。\n\n实现内容:\n- 公共 OpenableRow 的状态单元格改为徽标与提示同一行(inline-flex,列太窄时整体换行),提示取消上边距\n- 同步更新相关注释中提示位置的描述\n\n验证:\n- npm run check(Prettier、ESLint、tsc、Vitest、构建):通过,27 个测试文件 252 项测试全部通过\n- 浏览器(5173 Vite,连接演示后台):1280 宽下所有账号 20 行(含 4 个待激活)、企业列表 6 行(含 1 个需要设置所有者)行高均为 56px;375 宽下所有账号行高同为 56px,页面无横向溢出\n- 验收脚本:未运行\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-13T20:33:37-07:00"},{"Sha1":"2c8b658c8ba637573d666bec33eda68ffe8673dc","Message":"feat(console): 改造多因素验证绑定与登录验证码输入并加入成功标记\n\n绑定认证器页的剩余时间只是二维码下一行小字,验证码是普通输入框还要手动提交,「取消绑定并清除」与确认按钮并排却会作废本次绑定;登录验证成功后直接跳走,没有完成反馈,各处倒计时也只有文字。\n\n实现内容:\n- 新增 CodeInput:外观 6 个数字框,底层一个透明原生输入框,保留粘贴、one-time-code 自动填充与读屏名称;只收数字,带空格的粘贴也可用(不设 maxLength 以免截断),退格删除最后一位,输满调用一次完成回调\n- 绑定页与登录验证都改用 6 格并输满自动提交;首次绑定未设好正式密码时不提交并提示,验证码保留;恢复码仍用普通输入框,切换后焦点移到新输入框\n- 绑定剩余时间改为二维码下方的大字「分:秒」(成功色,最后 1 分钟提醒色)与时限说明,读屏只在剩不到 1 分钟时提醒一次;「确认成功后旧认证器与旧恢复码立即失效」移到确认按钮下方,仅重新绑定时显示\n- 「取消绑定并清除」改为左上角「← 取消绑定」,点击后就地展开确认,确认后才通知服务端作废\n- 宽屏两栏时右栏与二维码托板垂直居中,右栏更高时仍从顶部排列\n- 新增 SuccessMark:登录流程验证成功或绑定完成后面板换成描画对勾,onComplete 仍立即调用并告知外层,MfaPage 与刷新身份并行至少停留 640ms;减少动态效果时不描画不停留\n- 新增 CountdownRing 与 useCountdown:非登录流程的验证剩余时间、验证冷却、登录限流等待在文字旁加 14px 进度环,最后 20% 改用提醒色\n- motion.md 补充成功标记与进度环;原有 MFA 测试中被自动提交取代的点击步骤已删除,冷却测试改为切到假计时器后补满第 6 位;新增 6 格输入、倒计时、未设密码不提交、取消确认、成功标记与进度环测试\n\n验证:\n- 从暂存内容导出的独立快照执行 Prettier 检查、tsc、ESLint 与 Vitest:通过,27 个测试文件 252 项测试全部通过;工作区完整 npm run check(含生产构建)通过\n- 浏览器(5173 Vite,1280 宽):用户已在演示环境完成真实绑定并登录,绑定时使用的是改造过程中的哪一版页面未确认;另在页面内临时拦截 MFA 接口、使用虚构二维码与密钥,确认正常、输入一半、取消确认、最后 1 分钟变色与首次绑定(含正式密码)布局,未发出真实绑定请求\n- 减少动态效果模式未在浏览器中模拟;验收脚本未运行\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-13T20:33:26-07:00"},{"Sha1":"549ada99615519240dea8d63657dc02a35cdd7f7","Message":"feat(console): 为移除用户组成员和退出其他登录加入退场与高亮提示\n\n用户组「已选成员」点移除后整行瞬间消失,下面的行直接跳上来,焦点也会丢失;个人中心退出其他登录后,弹窗关闭时看不出列表里哪一行变了。\n\n实现内容:\n- 新增公共 useLeaving:数据立即更新,被移除的项在原位置保留一个退出时长(200ms,减少动态效果 120ms)并标记退场,重新加回的项不再退场\n- 用户组已选成员改为三层结构,移除时淡出并以 grid-template-rows 收起高度,退场中的行 inert;焦点移到相邻一行的「移除」,没有其他成员时落到列表容器\n- 个人中心退出其他登录成功后记录这次登录,弹窗关闭时对应行以 .is-updated 高亮一次\n- motion.md 新增「移除退场与退出登录提示」一节;补充 useLeaving 与焦点移交测试\n\n验证:\n- 从暂存内容导出的独立快照执行 Prettier 检查、tsc、ESLint 与 Vitest:通过,27 个测试文件 246 项测试全部通过\n- 浏览器:用户在演示环境中自行查看了用户组移除与退出登录高亮效果\n- 未运行生产构建与验收脚本\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-13T20:32:42-07:00"},{"Sha1":"ac027351294b1b637ff587f0570f635d9f8e2b38","Message":"feat(console): 合并第二档交互动效与开通企业数容错\n\n将 feat/console-layout 上的开通企业数容错修正与第二档交互动效合入 main。\n\n实现内容:\n- 合入后端未返回 tenant_counts 时概况显示「暂时无法获取」而不出错的修正\n- 合入详情页标签下划线滑动(切换标签不再整页重挂载)、四个概览页首屏错落入场、平台概览对勾描画与组织架构图以视野中心为锚点的平滑缩放\n\n验证:\n- feat/console-layout 以当前 main 为基础,合并后的代码树与分支一致;该树已在 IAM-ui 执行 npm run check 通过,包含格式、Lint、类型检查、27 组共 244 项测试及生产构建\n- git diff --cached --check 通过\n- 减少动态效果模式未在浏览器中模拟;验收脚本未运行;本次不涉及后端代码,未重跑后端检查\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-13T19:26:33-07:00"}],"HeadCommit":{"Sha1":"afcd1143678a58861a5cabc05dbd9768c7c58052","Message":"feat(console): 合并多因素验证改造、列表移除退场与状态提示对齐\n\n将 feat/console-layout 上的第三档交互改进、多因素验证绑定与登录验证码改造、列表状态提示对齐合入 main。\n\n实现内容:\n- 合入用户组移除成员的退场动画与个人中心退出其他登录后的行高亮\n- 合入 6 格验证码与输满自动提交、绑定页大字倒计时与取消确认、登录成功标记与倒计时进度环\n- 合入所有账号、企业列表的待办提示与状态徽标同一行\n\n验证:\n- 合并后 iam-admin-web 与 docs/console 的代码树与 feat/console-layout 一致;该树已在 IAM-ui 执行 npm run check 通过,包含格式、Lint、类型检查、27 组共 252 项测试及生产构建\n- git diff --cached --check 通过\n- 主目录中演示数据相关的未提交改动(scripts/experience、docs/console/demo-data.md)与 P12 文档未纳入本次合并\n- 减少动态效果模式未在浏览器中模拟;验收脚本未运行;本次不涉及后端代码,未重跑后端检查\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-13T20:34:37-07:00"},"CompareURL":"pengzhiyu/IAM/compare/cf70e039ad30edff8e3a51877be4561ed564e95f...afcd1143678a58861a5cabc05dbd9768c7c58052","Len":15}... |