smart-admin-web 10.20.0 → 10.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/dist/api/index.d.ts +19 -1
  2. package/dist/api/index.js +85 -66
  3. package/dist/api/index.js.map +1 -1
  4. package/dist/api/schema.d.ts +448 -1
  5. package/dist/assets/icons/ph-subset.json.js +1 -1
  6. package/dist/components/FormContainer/index.vue.js +87 -75
  7. package/dist/components/FormContainer/index.vue.js.map +1 -1
  8. package/dist/components/UserPicker/UserAvatar.vue.d.ts +8 -0
  9. package/dist/components/UserPicker/UserAvatar.vue.js +8 -0
  10. package/dist/components/UserPicker/UserAvatar.vue.js.map +1 -0
  11. package/dist/components/UserPicker/UserAvatar2.vue.js +38 -0
  12. package/dist/components/UserPicker/UserAvatar2.vue.js.map +1 -0
  13. package/dist/components/UserPicker/index.vue.js +1 -1
  14. package/dist/components/UserPicker/index2.vue.js +328 -186
  15. package/dist/components/UserPicker/index2.vue.js.map +1 -1
  16. package/dist/index.js +248 -246
  17. package/dist/layouts/NoticeBell.vue.js +2 -2
  18. package/dist/layouts/NoticeBell2.vue.js +18 -17
  19. package/dist/layouts/NoticeBell2.vue.js.map +1 -1
  20. package/dist/lib/runtime.js +1 -1
  21. package/dist/lib/watermark.d.ts +1 -1
  22. package/dist/locales/en-US.d.ts +62 -3
  23. package/dist/locales/en-US.js +66 -7
  24. package/dist/locales/en-US.js.map +1 -1
  25. package/dist/locales/kernelMenuTitles.js +2 -1
  26. package/dist/locales/kernelMenuTitles.js.map +1 -1
  27. package/dist/locales/zh-CN.d.ts +62 -3
  28. package/dist/locales/zh-CN.js +66 -7
  29. package/dist/locales/zh-CN.js.map +1 -1
  30. package/dist/router/viewRegistry.js +6 -6
  31. package/dist/router/viewRegistry.js.map +1 -1
  32. package/dist/style.css +1 -1
  33. package/dist/theme/naive-theme.js +72 -67
  34. package/dist/theme/naive-theme.js.map +1 -1
  35. package/dist/types/api.d.ts +91 -0
  36. package/dist/types/api.js +17 -15
  37. package/dist/types/api.js.map +1 -1
  38. package/dist/utils/shake.d.ts +1 -0
  39. package/dist/utils/shake.js +30 -0
  40. package/dist/utils/shake.js.map +1 -0
  41. package/dist/views/login/LoginForm.vue.js +2 -2
  42. package/dist/views/login/LoginForm2.vue.js +135 -135
  43. package/dist/views/login/LoginForm2.vue.js.map +1 -1
  44. package/dist/views/login/components/LoginDesk.vue.js +1 -1
  45. package/dist/views/login/components/LoginDesk2.vue.js +59 -47
  46. package/dist/views/login/components/LoginDesk2.vue.js.map +1 -1
  47. package/dist/views/personal/notice2.vue.js +1 -1
  48. package/dist/views/personal/notice2.vue.js.map +1 -1
  49. package/dist/views/personal/sessions.vue.js +2 -2
  50. package/dist/views/personal/sessions2.vue.js +41 -40
  51. package/dist/views/personal/sessions2.vue.js.map +1 -1
  52. package/dist/views/system/ai-usage/index.vue.js +3 -3
  53. package/dist/views/system/ai-usage/index2.vue.js +13 -12
  54. package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
  55. package/dist/views/system/config/components/AdvancedSection.vue.js +3 -3
  56. package/dist/views/system/config/components/AdvancedSection2.vue.js +2 -1
  57. package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -1
  58. package/dist/views/system/dict/index.vue.js +2 -2
  59. package/dist/views/system/dict/index2.vue.js +12 -1
  60. package/dist/views/system/dict/index2.vue.js.map +1 -1
  61. package/dist/views/system/file/index2.vue.js +1 -0
  62. package/dist/views/system/file/index2.vue.js.map +1 -1
  63. package/dist/views/system/job/index.vue.js +3 -3
  64. package/dist/views/system/job/index2.vue.js +182 -181
  65. package/dist/views/system/job/index2.vue.js.map +1 -1
  66. package/dist/views/system/job-log/components/AttemptTable2.vue.js +8 -3
  67. package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -1
  68. package/dist/views/system/job-log/index.vue.js +1 -1
  69. package/dist/views/system/job-log/index2.vue.js +5 -5
  70. package/dist/views/system/job-log/index2.vue.js.map +1 -1
  71. package/dist/views/system/log/exception/index.vue.js +2 -2
  72. package/dist/views/system/log/exception/index2.vue.js +8 -5
  73. package/dist/views/system/log/exception/index2.vue.js.map +1 -1
  74. package/dist/views/system/log/login/index2.vue.js +21 -12
  75. package/dist/views/system/log/login/index2.vue.js.map +1 -1
  76. package/dist/views/system/log/op/index.vue.js +2 -2
  77. package/dist/views/system/log/op/index2.vue.js +50 -40
  78. package/dist/views/system/log/op/index2.vue.js.map +1 -1
  79. package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
  80. package/dist/views/system/menu/components/ButtonManager2.vue.js +45 -36
  81. package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
  82. package/dist/views/system/menu/index.vue.js +2 -2
  83. package/dist/views/system/menu/index2.vue.js +11 -11
  84. package/dist/views/system/menu/index2.vue.js.map +1 -1
  85. package/dist/views/system/module/index.vue.js +1 -1
  86. package/dist/views/system/module/index2.vue.js +171 -117
  87. package/dist/views/system/module/index2.vue.js.map +1 -1
  88. package/dist/views/system/notice/index.vue.js +3 -3
  89. package/dist/views/system/notice/index2.vue.js +1 -0
  90. package/dist/views/system/notice/index2.vue.js.map +1 -1
  91. package/dist/views/system/org/index.vue.js +2 -2
  92. package/dist/views/system/org/index2.vue.js +70 -67
  93. package/dist/views/system/org/index2.vue.js.map +1 -1
  94. package/dist/views/system/position/index.vue.js +2 -2
  95. package/dist/views/system/position/index2.vue.js +57 -48
  96. package/dist/views/system/position/index2.vue.js.map +1 -1
  97. package/dist/views/system/recycle/index.vue.js +1 -1
  98. package/dist/views/system/recycle/index2.vue.js +3 -1
  99. package/dist/views/system/recycle/index2.vue.js.map +1 -1
  100. package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +2 -0
  101. package/dist/views/system/role/components/GrantMenuSheet.vue.js +2 -2
  102. package/dist/views/system/role/components/GrantMenuSheet2.vue.js +54 -49
  103. package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -1
  104. package/dist/views/system/role/components/GrantMenuTable.vue.js +1 -1
  105. package/dist/views/system/role/components/GrantMenuTable2.vue.js +159 -195
  106. package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
  107. package/dist/views/system/role/components/grantMenuGroups.d.ts +54 -0
  108. package/dist/views/system/role/components/grantMenuGroups.js +116 -76
  109. package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
  110. package/dist/views/system/role/index.vue.js +2 -2
  111. package/dist/views/system/role/index2.vue.js +152 -145
  112. package/dist/views/system/role/index2.vue.js.map +1 -1
  113. package/dist/views/system/session/index2.vue.js +39 -35
  114. package/dist/views/system/session/index2.vue.js.map +1 -1
  115. package/dist/views/system/user/components/UserGrantEffectiveTable.vue.d.ts +10 -0
  116. package/dist/views/system/user/components/UserGrantEffectiveTable.vue.js +5 -0
  117. package/dist/views/system/user/components/UserGrantEffectiveTable.vue.js.map +1 -0
  118. package/dist/views/system/user/components/UserGrantEffectiveTable2.vue.js +96 -0
  119. package/dist/views/system/user/components/UserGrantEffectiveTable2.vue.js.map +1 -0
  120. package/dist/views/system/user/components/UserGrantMenuSheet.vue.d.ts +13 -0
  121. package/dist/views/system/user/components/UserGrantMenuSheet.vue.js +8 -0
  122. package/dist/views/system/user/components/UserGrantMenuSheet.vue.js.map +1 -0
  123. package/dist/views/system/user/components/UserGrantMenuSheet2.vue.js +216 -0
  124. package/dist/views/system/user/components/UserGrantMenuSheet2.vue.js.map +1 -0
  125. package/dist/views/system/user/components/UserGrantMenuTable.vue.d.ts +13 -0
  126. package/dist/views/system/user/components/UserGrantMenuTable.vue.js +8 -0
  127. package/dist/views/system/user/components/UserGrantMenuTable.vue.js.map +1 -0
  128. package/dist/views/system/user/components/UserGrantMenuTable2.vue.js +186 -0
  129. package/dist/views/system/user/components/UserGrantMenuTable2.vue.js.map +1 -0
  130. package/dist/views/system/user/components/UserGrantNodeRow.vue.d.ts +31 -0
  131. package/dist/views/system/user/components/UserGrantNodeRow.vue.js +8 -0
  132. package/dist/views/system/user/components/UserGrantNodeRow.vue.js.map +1 -0
  133. package/dist/views/system/user/components/UserGrantNodeRow2.vue.js +171 -0
  134. package/dist/views/system/user/components/UserGrantNodeRow2.vue.js.map +1 -0
  135. package/dist/views/system/user/components/UserGrantOverviewDrawer.vue.d.ts +21 -0
  136. package/dist/views/system/user/components/UserGrantOverviewDrawer.vue.js +5 -0
  137. package/dist/views/system/user/components/UserGrantOverviewDrawer.vue.js.map +1 -0
  138. package/dist/views/system/user/components/UserGrantOverviewDrawer2.vue.js +178 -0
  139. package/dist/views/system/user/components/UserGrantOverviewDrawer2.vue.js.map +1 -0
  140. package/dist/views/system/user/components/userGrantState.d.ts +64 -0
  141. package/dist/views/system/user/components/userGrantState.js +117 -0
  142. package/dist/views/system/user/components/userGrantState.js.map +1 -0
  143. package/dist/views/system/user/index.vue.js +2 -2
  144. package/dist/views/system/user/index2.vue.js +250 -207
  145. package/dist/views/system/user/index2.vue.js.map +1 -1
  146. package/package.json +3 -3
@@ -5,7 +5,7 @@ const e = {
5
5
  系统运维: "menuTitle.catalog.ops",
6
6
  任务调度: "menuTitle.catalog.schedule",
7
7
  日志审计: "menuTitle.catalog.audit",
8
- "AI 管理": "menuTitle.catalog.ai",
8
+ "AI 网关管理": "menuTitle.catalog.ai",
9
9
  工作台: "menuTitle.page.workbench",
10
10
  机构管理: "menuTitle.page.org",
11
11
  岗位管理: "menuTitle.page.position",
@@ -47,6 +47,7 @@ const e = {
47
47
  "用户-启停": "menuTitle.button.userToggle",
48
48
  "用户-导入": "menuTitle.button.userImport",
49
49
  "用户-导出": "menuTitle.button.userExport",
50
+ "用户-授权菜单": "menuTitle.button.userGrantMenus",
50
51
  "角色-查询": "menuTitle.button.roleQuery",
51
52
  "角色-新增": "menuTitle.button.roleCreate",
52
53
  "角色-更新": "menuTitle.button.roleUpdate",
@@ -1 +1 @@
1
- {"version":3,"file":"kernelMenuTitles.js","sources":["../../src/locales/kernelMenuTitles.ts"],"sourcesContent":["// 内核种子(DefaultMenuSeed / DefaultModuleSeed)里中文标题原文 → i18n key 的映射。\n// 种子只插不更新,库里存的是中文,所以侧栏等处按标题原文查表翻译;文案本体在 locales 的 menuTitle 命名空间。\n// createSmartAdmin 把它作为最底层注册(内核 < 插件 < 应用),应用的 menuTitles 同键覆盖它。\n// 后端新增 / 改名种子标题时,同批在这里与两份语言包补键;kernelMenuTitles.spec.ts 校验表与语言包对得上。\n// 用户在菜单管理页改过标题的节点查不到表,按原文显示,这是有意的:改名即自定义,不替他翻译。\nexport const KERNEL_MENU_TITLES: Record<string, string> = {\n 系统: 'menuTitle.module.system',\n 业务中心: 'menuTitle.module.business',\n 组织管理: 'menuTitle.catalog.org',\n 系统运维: 'menuTitle.catalog.ops',\n 任务调度: 'menuTitle.catalog.schedule',\n 日志审计: 'menuTitle.catalog.audit',\n 'AI 管理': 'menuTitle.catalog.ai',\n 工作台: 'menuTitle.page.workbench',\n 机构管理: 'menuTitle.page.org',\n 岗位管理: 'menuTitle.page.position',\n 用户管理: 'menuTitle.page.user',\n 角色管理: 'menuTitle.page.role',\n 系统配置: 'menuTitle.page.config',\n 字典管理: 'menuTitle.page.dict',\n 菜单管理: 'menuTitle.page.menu',\n 模块管理: 'menuTitle.page.module',\n 消息通知: 'menuTitle.page.notice',\n 回收站: 'menuTitle.page.recycle',\n 服务器监控: 'menuTitle.page.monitor',\n 缓存管理: 'menuTitle.page.cache',\n 接口文档: 'menuTitle.page.apiDocs',\n 定时任务: 'menuTitle.page.job',\n 执行记录: 'menuTitle.page.jobLog',\n 任务监控: 'menuTitle.page.jobMonitor',\n 登录日志: 'menuTitle.page.loginLog',\n 操作日志: 'menuTitle.page.opLog',\n 异常日志: 'menuTitle.page.exceptionLog',\n 在线会话: 'menuTitle.page.session',\n 文件管理: 'menuTitle.page.file',\n 'AI 模型': 'menuTitle.page.aiModel',\n 用量统计: 'menuTitle.page.aiUsage',\n '机构-查询': 'menuTitle.button.orgQuery',\n '机构-新增': 'menuTitle.button.orgCreate',\n '机构-更新': 'menuTitle.button.orgUpdate',\n '机构-删除': 'menuTitle.button.orgDelete',\n '机构-复制': 'menuTitle.button.orgCopy',\n '岗位-查询': 'menuTitle.button.positionQuery',\n '岗位-新增': 'menuTitle.button.positionCreate',\n '岗位-更新': 'menuTitle.button.positionUpdate',\n '岗位-删除': 'menuTitle.button.positionDelete',\n '用户-查询': 'menuTitle.button.userQuery',\n '用户-新增': 'menuTitle.button.userCreate',\n '用户-更新': 'menuTitle.button.userUpdate',\n '用户-删除': 'menuTitle.button.userDelete',\n '用户-重置密码': 'menuTitle.button.userResetPassword',\n '用户-启停': 'menuTitle.button.userToggle',\n '用户-导入': 'menuTitle.button.userImport',\n '用户-导出': 'menuTitle.button.userExport',\n '角色-查询': 'menuTitle.button.roleQuery',\n '角色-新增': 'menuTitle.button.roleCreate',\n '角色-更新': 'menuTitle.button.roleUpdate',\n '角色-删除': 'menuTitle.button.roleDelete',\n '角色-授权菜单': 'menuTitle.button.roleGrantMenus',\n '角色-数据范围': 'menuTitle.button.roleDataScope',\n '角色-授权用户': 'menuTitle.button.roleGrantUsers',\n 连通性探针: 'menuTitle.button.ping',\n '配置-查询': 'menuTitle.button.configQuery',\n '配置-新增': 'menuTitle.button.configCreate',\n '配置-更新': 'menuTitle.button.configUpdate',\n '配置-删除': 'menuTitle.button.configDelete',\n '配置-上传Logo': 'menuTitle.button.configUploadLogo',\n '高敏权限-查询': 'menuTitle.button.sensitiveQuery',\n '高敏权限-新增': 'menuTitle.button.sensitiveCreate',\n '高敏权限-删除': 'menuTitle.button.sensitiveDelete',\n 'MFA-清除用户二因子': 'menuTitle.button.mfaClear',\n '字典类型-查询': 'menuTitle.button.dictTypeQuery',\n '字典类型-新增': 'menuTitle.button.dictTypeCreate',\n '字典类型-更新': 'menuTitle.button.dictTypeUpdate',\n '字典类型-删除': 'menuTitle.button.dictTypeDelete',\n '字典项-查询': 'menuTitle.button.dictItemQuery',\n '字典项-新增': 'menuTitle.button.dictItemCreate',\n '字典项-更新': 'menuTitle.button.dictItemUpdate',\n '字典项-删除': 'menuTitle.button.dictItemDelete',\n '菜单-查询': 'menuTitle.button.menuQuery',\n '菜单-新增': 'menuTitle.button.menuCreate',\n '菜单-更新': 'menuTitle.button.menuUpdate',\n '菜单-删除': 'menuTitle.button.menuDelete',\n '模块-查询': 'menuTitle.button.moduleQuery',\n '模块-新增': 'menuTitle.button.moduleCreate',\n '模块-更新': 'menuTitle.button.moduleUpdate',\n '模块-删除': 'menuTitle.button.moduleDelete',\n '通知-查询': 'menuTitle.button.noticeQuery',\n '通知-发布': 'menuTitle.button.noticePublish',\n '通知-删除': 'menuTitle.button.noticeDelete',\n '回收站-查询': 'menuTitle.button.recycleQuery',\n '回收站-彻底删除': 'menuTitle.button.recyclePurge',\n '回收站-恢复': 'menuTitle.button.recycleRestore',\n '服务器监控-查询': 'menuTitle.button.monitorQuery',\n '缓存-清授权': 'menuTitle.button.cacheFlushAuth',\n '缓存-清字典': 'menuTitle.button.cacheFlushDict',\n '缓存-清配置': 'menuTitle.button.cacheFlushConfig',\n '缓存-重建门户菜单': 'menuTitle.button.cacheRebuildPortal',\n '接口文档-查看契约': 'menuTitle.button.apiDocsView',\n '任务-查询': 'menuTitle.button.jobQuery',\n '任务-新增': 'menuTitle.button.jobCreate',\n '任务-更新': 'menuTitle.button.jobUpdate',\n '任务-删除': 'menuTitle.button.jobDelete',\n '任务-启停': 'menuTitle.button.jobToggle',\n '任务-执行一次': 'menuTitle.button.jobRun',\n '记录-查询': 'menuTitle.button.jobLogQuery',\n '记录-终止': 'menuTitle.button.jobLogKill',\n '记录-清空': 'menuTitle.button.jobLogClear',\n '监控-查询': 'menuTitle.button.jobMonitorQuery',\n '登录日志-查询': 'menuTitle.button.loginLogQuery',\n '登录日志-清空': 'menuTitle.button.loginLogClear',\n '操作日志-查询': 'menuTitle.button.opLogQuery',\n '操作日志-清空': 'menuTitle.button.opLogClear',\n '操作日志-导出': 'menuTitle.button.opLogExport',\n '异常日志-查询': 'menuTitle.button.exceptionLogQuery',\n '异常日志-清空': 'menuTitle.button.exceptionLogClear',\n '在线会话-查询': 'menuTitle.button.sessionQuery',\n 强制下线: 'menuTitle.button.sessionKick',\n '文件-查询': 'menuTitle.button.fileQuery',\n '文件-上传': 'menuTitle.button.fileUpload',\n '文件-删除': 'menuTitle.button.fileDelete',\n '文件-下载': 'menuTitle.button.fileDownload',\n 'AI 厂商-查询': 'menuTitle.button.aiProviderQuery',\n 'AI 厂商-新增': 'menuTitle.button.aiProviderCreate',\n 'AI 厂商-更新': 'menuTitle.button.aiProviderUpdate',\n 'AI 厂商-删除': 'menuTitle.button.aiProviderDelete',\n 'AI 厂商-测试连接': 'menuTitle.button.aiProviderTest',\n 'AI 用量-查询': 'menuTitle.button.aiUsageQuery',\n}\n"],"names":["KERNEL_MENU_TITLES"],"mappings":"AAKO,MAAMA,IAA6C;AAAA,EACxD,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AAAA,EACb,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AACd;"}
1
+ {"version":3,"file":"kernelMenuTitles.js","sources":["../../src/locales/kernelMenuTitles.ts"],"sourcesContent":["// 内核种子(DefaultMenuSeed / DefaultModuleSeed)里中文标题原文 → i18n key 的映射。\n// 种子只插不更新,库里存的是中文,所以侧栏等处按标题原文查表翻译;文案本体在 locales 的 menuTitle 命名空间。\n// createSmartAdmin 把它作为最底层注册(内核 < 插件 < 应用),应用的 menuTitles 同键覆盖它。\n// 后端新增 / 改名种子标题时,同批在这里与两份语言包补键;kernelMenuTitles.spec.ts 校验表与语言包对得上。\n// 用户在菜单管理页改过标题的节点查不到表,按原文显示,这是有意的:改名即自定义,不替他翻译。\nexport const KERNEL_MENU_TITLES: Record<string, string> = {\n 系统: 'menuTitle.module.system',\n 业务中心: 'menuTitle.module.business',\n 组织管理: 'menuTitle.catalog.org',\n 系统运维: 'menuTitle.catalog.ops',\n 任务调度: 'menuTitle.catalog.schedule',\n 日志审计: 'menuTitle.catalog.audit',\n 'AI 网关管理': 'menuTitle.catalog.ai',\n 工作台: 'menuTitle.page.workbench',\n 机构管理: 'menuTitle.page.org',\n 岗位管理: 'menuTitle.page.position',\n 用户管理: 'menuTitle.page.user',\n 角色管理: 'menuTitle.page.role',\n 系统配置: 'menuTitle.page.config',\n 字典管理: 'menuTitle.page.dict',\n 菜单管理: 'menuTitle.page.menu',\n 模块管理: 'menuTitle.page.module',\n 消息通知: 'menuTitle.page.notice',\n 回收站: 'menuTitle.page.recycle',\n 服务器监控: 'menuTitle.page.monitor',\n 缓存管理: 'menuTitle.page.cache',\n 接口文档: 'menuTitle.page.apiDocs',\n 定时任务: 'menuTitle.page.job',\n 执行记录: 'menuTitle.page.jobLog',\n 任务监控: 'menuTitle.page.jobMonitor',\n 登录日志: 'menuTitle.page.loginLog',\n 操作日志: 'menuTitle.page.opLog',\n 异常日志: 'menuTitle.page.exceptionLog',\n 在线会话: 'menuTitle.page.session',\n 文件管理: 'menuTitle.page.file',\n 'AI 模型': 'menuTitle.page.aiModel',\n 用量统计: 'menuTitle.page.aiUsage',\n '机构-查询': 'menuTitle.button.orgQuery',\n '机构-新增': 'menuTitle.button.orgCreate',\n '机构-更新': 'menuTitle.button.orgUpdate',\n '机构-删除': 'menuTitle.button.orgDelete',\n '机构-复制': 'menuTitle.button.orgCopy',\n '岗位-查询': 'menuTitle.button.positionQuery',\n '岗位-新增': 'menuTitle.button.positionCreate',\n '岗位-更新': 'menuTitle.button.positionUpdate',\n '岗位-删除': 'menuTitle.button.positionDelete',\n '用户-查询': 'menuTitle.button.userQuery',\n '用户-新增': 'menuTitle.button.userCreate',\n '用户-更新': 'menuTitle.button.userUpdate',\n '用户-删除': 'menuTitle.button.userDelete',\n '用户-重置密码': 'menuTitle.button.userResetPassword',\n '用户-启停': 'menuTitle.button.userToggle',\n '用户-导入': 'menuTitle.button.userImport',\n '用户-导出': 'menuTitle.button.userExport',\n '用户-授权菜单': 'menuTitle.button.userGrantMenus',\n '角色-查询': 'menuTitle.button.roleQuery',\n '角色-新增': 'menuTitle.button.roleCreate',\n '角色-更新': 'menuTitle.button.roleUpdate',\n '角色-删除': 'menuTitle.button.roleDelete',\n '角色-授权菜单': 'menuTitle.button.roleGrantMenus',\n '角色-数据范围': 'menuTitle.button.roleDataScope',\n '角色-授权用户': 'menuTitle.button.roleGrantUsers',\n 连通性探针: 'menuTitle.button.ping',\n '配置-查询': 'menuTitle.button.configQuery',\n '配置-新增': 'menuTitle.button.configCreate',\n '配置-更新': 'menuTitle.button.configUpdate',\n '配置-删除': 'menuTitle.button.configDelete',\n '配置-上传Logo': 'menuTitle.button.configUploadLogo',\n '高敏权限-查询': 'menuTitle.button.sensitiveQuery',\n '高敏权限-新增': 'menuTitle.button.sensitiveCreate',\n '高敏权限-删除': 'menuTitle.button.sensitiveDelete',\n 'MFA-清除用户二因子': 'menuTitle.button.mfaClear',\n '字典类型-查询': 'menuTitle.button.dictTypeQuery',\n '字典类型-新增': 'menuTitle.button.dictTypeCreate',\n '字典类型-更新': 'menuTitle.button.dictTypeUpdate',\n '字典类型-删除': 'menuTitle.button.dictTypeDelete',\n '字典项-查询': 'menuTitle.button.dictItemQuery',\n '字典项-新增': 'menuTitle.button.dictItemCreate',\n '字典项-更新': 'menuTitle.button.dictItemUpdate',\n '字典项-删除': 'menuTitle.button.dictItemDelete',\n '菜单-查询': 'menuTitle.button.menuQuery',\n '菜单-新增': 'menuTitle.button.menuCreate',\n '菜单-更新': 'menuTitle.button.menuUpdate',\n '菜单-删除': 'menuTitle.button.menuDelete',\n '模块-查询': 'menuTitle.button.moduleQuery',\n '模块-新增': 'menuTitle.button.moduleCreate',\n '模块-更新': 'menuTitle.button.moduleUpdate',\n '模块-删除': 'menuTitle.button.moduleDelete',\n '通知-查询': 'menuTitle.button.noticeQuery',\n '通知-发布': 'menuTitle.button.noticePublish',\n '通知-删除': 'menuTitle.button.noticeDelete',\n '回收站-查询': 'menuTitle.button.recycleQuery',\n '回收站-彻底删除': 'menuTitle.button.recyclePurge',\n '回收站-恢复': 'menuTitle.button.recycleRestore',\n '服务器监控-查询': 'menuTitle.button.monitorQuery',\n '缓存-清授权': 'menuTitle.button.cacheFlushAuth',\n '缓存-清字典': 'menuTitle.button.cacheFlushDict',\n '缓存-清配置': 'menuTitle.button.cacheFlushConfig',\n '缓存-重建门户菜单': 'menuTitle.button.cacheRebuildPortal',\n '接口文档-查看契约': 'menuTitle.button.apiDocsView',\n '任务-查询': 'menuTitle.button.jobQuery',\n '任务-新增': 'menuTitle.button.jobCreate',\n '任务-更新': 'menuTitle.button.jobUpdate',\n '任务-删除': 'menuTitle.button.jobDelete',\n '任务-启停': 'menuTitle.button.jobToggle',\n '任务-执行一次': 'menuTitle.button.jobRun',\n '记录-查询': 'menuTitle.button.jobLogQuery',\n '记录-终止': 'menuTitle.button.jobLogKill',\n '记录-清空': 'menuTitle.button.jobLogClear',\n '监控-查询': 'menuTitle.button.jobMonitorQuery',\n '登录日志-查询': 'menuTitle.button.loginLogQuery',\n '登录日志-清空': 'menuTitle.button.loginLogClear',\n '操作日志-查询': 'menuTitle.button.opLogQuery',\n '操作日志-清空': 'menuTitle.button.opLogClear',\n '操作日志-导出': 'menuTitle.button.opLogExport',\n '异常日志-查询': 'menuTitle.button.exceptionLogQuery',\n '异常日志-清空': 'menuTitle.button.exceptionLogClear',\n '在线会话-查询': 'menuTitle.button.sessionQuery',\n 强制下线: 'menuTitle.button.sessionKick',\n '文件-查询': 'menuTitle.button.fileQuery',\n '文件-上传': 'menuTitle.button.fileUpload',\n '文件-删除': 'menuTitle.button.fileDelete',\n '文件-下载': 'menuTitle.button.fileDownload',\n 'AI 厂商-查询': 'menuTitle.button.aiProviderQuery',\n 'AI 厂商-新增': 'menuTitle.button.aiProviderCreate',\n 'AI 厂商-更新': 'menuTitle.button.aiProviderUpdate',\n 'AI 厂商-删除': 'menuTitle.button.aiProviderDelete',\n 'AI 厂商-测试连接': 'menuTitle.button.aiProviderTest',\n 'AI 用量-查询': 'menuTitle.button.aiUsageQuery',\n}\n"],"names":["KERNEL_MENU_TITLES"],"mappings":"AAKO,MAAMA,IAA6C;AAAA,EACxD,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AAAA,EACX,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AAAA,EACb,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AACd;"}
@@ -41,11 +41,19 @@ declare const _default: {
41
41
  };
42
42
  userPicker: {
43
43
  title: string;
44
+ org: string;
44
45
  available: string;
45
46
  selected: string;
46
- add: string;
47
- added: string;
48
- addChecked: string;
47
+ searchName: string;
48
+ searchAccount: string;
49
+ selectPage: string;
50
+ unselectPage: string;
51
+ total: string;
52
+ existing: string;
53
+ remove: string;
54
+ emptySelected: string;
55
+ prevPage: string;
56
+ nextPage: string;
49
57
  clear: string;
50
58
  };
51
59
  notFound: {
@@ -241,6 +249,9 @@ declare const _default: {
241
249
  deleteConfirm: string;
242
250
  disableConfirm: string;
243
251
  builtinNoDisable: string;
252
+ delegatable: string;
253
+ delegatableHint: string;
254
+ builtinNotDelegatable: string;
244
255
  saved: string;
245
256
  deleted: string;
246
257
  };
@@ -355,6 +366,7 @@ declare const _default: {
355
366
  userToggle: string;
356
367
  userImport: string;
357
368
  userExport: string;
369
+ userGrantMenus: string;
358
370
  roleQuery: string;
359
371
  roleCreate: string;
360
372
  roleUpdate: string;
@@ -551,6 +563,47 @@ declare const _default: {
551
563
  totpInviteToken: string;
552
564
  totpInviteExpires: string;
553
565
  };
566
+ userGrant: {
567
+ action: string;
568
+ title: string;
569
+ tabGrant: string;
570
+ tabEffective: string;
571
+ hint: string;
572
+ noRoles: string;
573
+ readonly: string;
574
+ readonlyNoReason: string;
575
+ follow: string;
576
+ allow: string;
577
+ deny: string;
578
+ effective: string;
579
+ ineffective: string;
580
+ expired: string;
581
+ deniedByAncestor: string;
582
+ notGrantable: string;
583
+ expireLongTerm: string;
584
+ remark: string;
585
+ leaked: string;
586
+ leakedFrom: string;
587
+ summary: string;
588
+ unsaved: string;
589
+ invalidExpiry: string;
590
+ saved: string;
591
+ overview: string;
592
+ colUser: string;
593
+ colMenu: string;
594
+ colState: string;
595
+ colSource: string;
596
+ colEffect: string;
597
+ colStatus: string;
598
+ colExpire: string;
599
+ colGrantor: string;
600
+ colGrantTime: string;
601
+ colRemark: string;
602
+ adjust: string;
603
+ statusActive: string;
604
+ statusExpiring: string;
605
+ statusExpired: string;
606
+ };
554
607
  mfa: {
555
608
  bindTitle: string;
556
609
  recoveryTitle: string;
@@ -1247,6 +1300,7 @@ declare const _default: {
1247
1300
  grantSummary: string;
1248
1301
  grantSummarySplit: string;
1249
1302
  grantUnsaved: string;
1303
+ systemMenusBuiltinOnly: string;
1250
1304
  dataScope: string;
1251
1305
  scopeType: string;
1252
1306
  customOrgs: string;
@@ -1747,6 +1801,9 @@ declare const _default: {
1747
1801
  denied: string;
1748
1802
  demoReadOnly: string;
1749
1803
  superAdminRequired: string;
1804
+ menuNotGrantable: string;
1805
+ targetIsDelegatedAdmin: string;
1806
+ delegatedGrantExpiryInvalid: string;
1750
1807
  };
1751
1808
  user: {
1752
1809
  notFound: string;
@@ -1757,11 +1814,13 @@ declare const _default: {
1757
1814
  outOfDataScope: string;
1758
1815
  avatarUrlInvalid: string;
1759
1816
  cannotOperateSelf: string;
1817
+ menuGrantInvalid: string;
1760
1818
  };
1761
1819
  role: {
1762
1820
  notFound: string;
1763
1821
  codeExists: string;
1764
1822
  notDelegatable: string;
1823
+ systemMenuNotAssignable: string;
1765
1824
  };
1766
1825
  org: {
1767
1826
  notFound: string;
@@ -41,11 +41,19 @@ const e = {
41
41
  },
42
42
  userPicker: {
43
43
  title: "选择用户",
44
+ org: "机构",
44
45
  available: "可选用户",
45
46
  selected: "已选",
46
- add: "添加",
47
- added: "已选",
48
- addChecked: "添加选中",
47
+ searchName: "搜索姓名",
48
+ searchAccount: "搜索账号",
49
+ selectPage: "全选本页",
50
+ unselectPage: "取消本页",
51
+ total: "共 {n} 人",
52
+ existing: "已有",
53
+ remove: "移除",
54
+ emptySelected: "尚未选择用户",
55
+ prevPage: "上一页",
56
+ nextPage: "下一页",
49
57
  clear: "清空"
50
58
  },
51
59
  notFound: {
@@ -243,6 +251,9 @@ const e = {
243
251
  deleteConfirm: "确定删除应用「{title}」?",
244
252
  disableConfirm: "确定停用应用「{title}」?门户将不再显示该应用",
245
253
  builtinNoDisable: "内置应用不可停用",
254
+ delegatable: "可转授",
255
+ delegatableHint: "打开后,普通管理员能把本应用的菜单单独授给或拒给用户(限时)",
256
+ builtinNotDelegatable: "内置应用固定不可转授",
246
257
  saved: "保存成功",
247
258
  deleted: "已删除"
248
259
  },
@@ -313,7 +324,7 @@ const e = {
313
324
  ops: "系统运维",
314
325
  schedule: "任务调度",
315
326
  audit: "日志审计",
316
- ai: "AI 管理"
327
+ ai: "AI 网关管理"
317
328
  },
318
329
  page: {
319
330
  workbench: "工作台",
@@ -359,6 +370,7 @@ const e = {
359
370
  userToggle: "用户-启停",
360
371
  userImport: "用户-导入",
361
372
  userExport: "用户-导出",
373
+ userGrantMenus: "用户-授权菜单",
362
374
  roleQuery: "角色-查询",
363
375
  roleCreate: "角色-新增",
364
376
  roleUpdate: "角色-更新",
@@ -563,6 +575,47 @@ const e = {
563
575
  totpInviteToken: "邀请令牌",
564
576
  totpInviteExpires: "过期时间"
565
577
  },
578
+ userGrant: {
579
+ action: "授权菜单",
580
+ title: "授权菜单 · {name}",
581
+ tabGrant: "单独授权",
582
+ tabEffective: "有效权限",
583
+ hint: "常规授权请走角色,这里只放例外。允许只作用于这一个节点;拒绝连同下级一起收回,且优先于任何允许。",
584
+ noRoles: "该用户没有任何角色,数据范围为「仅本人」:能打开授权的页面,但只看得到自己创建的数据。",
585
+ readonly: "只能查看,不能修改:{reason}",
586
+ readonlyNoReason: "只能查看,不能修改",
587
+ follow: "跟随角色",
588
+ allow: "允许",
589
+ deny: "拒绝",
590
+ effective: "有效",
591
+ ineffective: "无效",
592
+ expired: "已过期",
593
+ deniedByAncestor: "被上级拒绝",
594
+ notGrantable: "该模块只允许超管授权",
595
+ expireLongTerm: "长期",
596
+ remark: "授权理由(选填)",
597
+ leaked: "以下接口仍可调用:",
598
+ leakedFrom: "{code}(来自 {from})",
599
+ summary: "允许 {allow} · 拒绝 {deny}",
600
+ unsaved: "有未保存的修改",
601
+ invalidExpiry: "有 {count} 条记录的到期日缺失或超出可选范围",
602
+ saved: "授权已保存",
603
+ overview: "单独授权一览",
604
+ colUser: "用户",
605
+ colMenu: "菜单",
606
+ colState: "状态",
607
+ colSource: "来源",
608
+ colEffect: "效果",
609
+ colStatus: "有效期",
610
+ colExpire: "到期",
611
+ colGrantor: "授权人",
612
+ colGrantTime: "授权时间",
613
+ colRemark: "授权理由",
614
+ adjust: "去调整",
615
+ statusActive: "生效中",
616
+ statusExpiring: "7 天内到期",
617
+ statusExpired: "已过期"
618
+ },
566
619
  mfa: {
567
620
  bindTitle: "设置身份验证器",
568
621
  recoveryTitle: "使用恢复码",
@@ -1250,6 +1303,7 @@ const e = {
1250
1303
  grantSummary: "已授权 {on} / {total} 项",
1251
1304
  grantSummarySplit: "页面 {pages} · 按钮 {buttons}",
1252
1305
  grantUnsaved: "有未保存的修改",
1306
+ systemMenusBuiltinOnly: "除「用户管理」「角色管理」外,系统自带的菜单只能授给内置角色,这里不显示",
1253
1307
  dataScope: "数据范围",
1254
1308
  scopeType: "范围类型",
1255
1309
  customOrgs: "自定义机构",
@@ -1749,7 +1803,10 @@ const e = {
1749
1803
  perm: {
1750
1804
  denied: "无权限访问",
1751
1805
  demoReadOnly: "当前为演示环境,禁止修改操作",
1752
- superAdminRequired: "该操作仅限超级管理员执行"
1806
+ superAdminRequired: "该操作仅限超级管理员执行",
1807
+ menuNotGrantable: "该菜单所属模块不允许转授",
1808
+ targetIsDelegatedAdmin: "对方是管理员,只有超管能为其单独授权",
1809
+ delegatedGrantExpiryInvalid: "允许必须设置到期日,且最长 {maxDays} 天"
1753
1810
  },
1754
1811
  user: {
1755
1812
  notFound: "用户不存在",
@@ -1759,12 +1816,14 @@ const e = {
1759
1816
  passwordReused: "新密码不能与当前或最近使用过的密码相同",
1760
1817
  outOfDataScope: "目标用户超出当前数据范围",
1761
1818
  avatarUrlInvalid: "头像地址不合法",
1762
- cannotOperateSelf: "不能对自己执行此操作"
1819
+ cannotOperateSelf: "不能对自己执行此操作",
1820
+ menuGrantInvalid: "授权变更不合法:同一菜单只能出现一次,到期时间须晚于当前时间"
1763
1821
  },
1764
1822
  role: {
1765
1823
  notFound: "角色不存在",
1766
1824
  codeExists: "角色编码已存在",
1767
- notDelegatable: "目标角色不可转授"
1825
+ notDelegatable: "目标角色不可转授",
1826
+ systemMenuNotAssignable: "除「用户管理」「角色管理」外,系统自带的菜单只能授给内置角色"
1768
1827
  },
1769
1828
  org: {
1770
1829
  notFound: "机构不存在",