feat(ui): dsh设置「用户管理」→「用户设置」;「平台管理」→「系统管理 + 每项弹窗管理」

用户要求(2026-09-13):
- portal-entry:「用户管理」改名「用户设置」+ 去掉「打开管理台」入口(order 让位 102→103)
- business-plugins:删掉跳转 portal 的按钮;分区改为管理项列表,5 项每项点开是原生弹窗;
  「用户管理」弹窗内可直接 通过/禁用/启用/删除(调平台 admin API,不跳门户)
- 版本:portal-entry 0.5.2 / business-plugins 0.3.0(均已铺发生效)
- 验收脚本同步更新,npm run verify 全绿
This commit is contained in:
admin committed 2026-09-13 19:46:23 +08:00
1 parent 5869a4a979
commit 281c0816fa
3 files changed
+201 -82

No files matched your search

+4 -4
View File
@@ -104,12 +104,12 @@ ok("存在 platform-admin 分区", !!pa);
if (pa) ok("其 order = 102", pa.meta.order === 102);
ROLE = "admin"; delete globalThis.__OPENED;
const tAdmin = text(await render(pa.Comp)).join(" | ");
ok("admin:含分区标题「平台管理」", tAdmin.includes("平台管理"));
ok("admin:6 张卡齐全", ["当前实例","熔断","用户","存储","候选池","运行时"].every(k => tAdmin.includes(k)));
ok("admin:含只读声明", tAdmin.includes("只读"));
ok("admin:含分区标题「系统管理」", tAdmin.includes("系统管理"));
ok("admin:5 个管理项齐全", ["用户管理","候选池","运行时","存储","当前实例"].every(k => tAdmin.includes(k)));
ok("admin:不再是只读(提示改为弹窗内管理)", tAdmin.includes("弹窗"));
ROLE = "active";
const tUser = text(await render(pa.Comp)).join(" | ");
ok("非 admin:被门禁挡住", tUser.includes("仅对管理员显示"));
ok("非 admin:不出现任何指标卡", !["候选池","运行时"].some(k => tUser.includes(k)));
ok("非 admin:不出现任何管理项", !["候选池","运行时"].some(k => tUser.includes(k)));
console.log(failed === 0 ? "\n结论:全绿 ✅" : "\n结论:有 " + failed + " 项失败 ❌");
process.exit(failed === 0 ? 0 : 1);