smart-admin-web 10.5.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 (718) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +78 -0
  3. package/dist/App.vue.d.ts +3 -0
  4. package/dist/App.vue.js +54 -0
  5. package/dist/App.vue.js.map +1 -0
  6. package/dist/App2.vue.js +5 -0
  7. package/dist/App2.vue.js.map +1 -0
  8. package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
  9. package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
  10. package/dist/api/client.d.ts +29 -0
  11. package/dist/api/client.js +139 -0
  12. package/dist/api/client.js.map +1 -0
  13. package/dist/api/index.d.ts +672 -0
  14. package/dist/api/index.js +638 -0
  15. package/dist/api/index.js.map +1 -0
  16. package/dist/api/reauthGate.d.ts +16 -0
  17. package/dist/api/reauthGate.js +21 -0
  18. package/dist/api/reauthGate.js.map +1 -0
  19. package/dist/api/schema.d.ts +10230 -0
  20. package/dist/assets/icons/ph-subset.json.js +16 -0
  21. package/dist/assets/icons/ph-subset.json.js.map +1 -0
  22. package/dist/assets/oauth/dingtalk.svg.js +5 -0
  23. package/dist/assets/oauth/dingtalk.svg.js.map +1 -0
  24. package/dist/assets/oauth/gitee.svg.js +5 -0
  25. package/dist/assets/oauth/gitee.svg.js.map +1 -0
  26. package/dist/assets/oauth/github.svg.js +5 -0
  27. package/dist/assets/oauth/github.svg.js.map +1 -0
  28. package/dist/assets/oauth/qq.svg.js +5 -0
  29. package/dist/assets/oauth/qq.svg.js.map +1 -0
  30. package/dist/assets/oauth/wechat.svg.js +5 -0
  31. package/dist/assets/oauth/wechat.svg.js.map +1 -0
  32. package/dist/assets/oauth/wecom.svg.js +5 -0
  33. package/dist/assets/oauth/wecom.svg.js.map +1 -0
  34. package/dist/assets/svg/star.svg.js +6 -0
  35. package/dist/assets/svg/star.svg.js.map +1 -0
  36. package/dist/components/ApiSelect/index.vue.d.ts +22 -0
  37. package/dist/components/ApiSelect/index.vue.js +50 -0
  38. package/dist/components/ApiSelect/index.vue.js.map +1 -0
  39. package/dist/components/ApiSelect/index2.vue.js +5 -0
  40. package/dist/components/ApiSelect/index2.vue.js.map +1 -0
  41. package/dist/components/AppIcon.vue.d.ts +7 -0
  42. package/dist/components/AppIcon.vue.js +33 -0
  43. package/dist/components/AppIcon.vue.js.map +1 -0
  44. package/dist/components/AppIcon2.vue.js +5 -0
  45. package/dist/components/AppIcon2.vue.js.map +1 -0
  46. package/dist/components/Chart/BarChart.vue.d.ts +13 -0
  47. package/dist/components/Chart/BarChart.vue.js +27 -0
  48. package/dist/components/Chart/BarChart.vue.js.map +1 -0
  49. package/dist/components/Chart/BarChart2.vue.js +5 -0
  50. package/dist/components/Chart/BarChart2.vue.js.map +1 -0
  51. package/dist/components/Chart/LineChart.vue.d.ts +15 -0
  52. package/dist/components/Chart/LineChart.vue.js +33 -0
  53. package/dist/components/Chart/LineChart.vue.js.map +1 -0
  54. package/dist/components/Chart/LineChart2.vue.js +5 -0
  55. package/dist/components/Chart/LineChart2.vue.js.map +1 -0
  56. package/dist/components/Chart/PieChart.vue.d.ts +14 -0
  57. package/dist/components/Chart/PieChart.vue.js +31 -0
  58. package/dist/components/Chart/PieChart.vue.js.map +1 -0
  59. package/dist/components/Chart/PieChart2.vue.js +5 -0
  60. package/dist/components/Chart/PieChart2.vue.js.map +1 -0
  61. package/dist/components/Chart/echarts.d.ts +57 -0
  62. package/dist/components/Chart/echarts.js +47 -0
  63. package/dist/components/Chart/echarts.js.map +1 -0
  64. package/dist/components/Chart/index.vue.d.ts +12 -0
  65. package/dist/components/Chart/index.vue.js +8 -0
  66. package/dist/components/Chart/index.vue.js.map +1 -0
  67. package/dist/components/Chart/index2.vue.js +27 -0
  68. package/dist/components/Chart/index2.vue.js.map +1 -0
  69. package/dist/components/CodeBlock/index.vue.d.ts +17 -0
  70. package/dist/components/CodeBlock/index.vue.js +8 -0
  71. package/dist/components/CodeBlock/index.vue.js.map +1 -0
  72. package/dist/components/CodeBlock/index2.vue.js +48 -0
  73. package/dist/components/CodeBlock/index2.vue.js.map +1 -0
  74. package/dist/components/CronEditor/index.vue.d.ts +15 -0
  75. package/dist/components/CronEditor/index.vue.js +8 -0
  76. package/dist/components/CronEditor/index.vue.js.map +1 -0
  77. package/dist/components/CronEditor/index2.vue.js +528 -0
  78. package/dist/components/CronEditor/index2.vue.js.map +1 -0
  79. package/dist/components/DetailPage/index.vue.d.ts +26 -0
  80. package/dist/components/DetailPage/index.vue.js +8 -0
  81. package/dist/components/DetailPage/index.vue.js.map +1 -0
  82. package/dist/components/DetailPage/index2.vue.js +51 -0
  83. package/dist/components/DetailPage/index2.vue.js.map +1 -0
  84. package/dist/components/DictCheckbox/index.vue.d.ts +6 -0
  85. package/dist/components/DictCheckbox/index.vue.js +43 -0
  86. package/dist/components/DictCheckbox/index.vue.js.map +1 -0
  87. package/dist/components/DictCheckbox/index2.vue.js +5 -0
  88. package/dist/components/DictCheckbox/index2.vue.js.map +1 -0
  89. package/dist/components/DictRadio/index.vue.d.ts +6 -0
  90. package/dist/components/DictRadio/index.vue.js +38 -0
  91. package/dist/components/DictRadio/index.vue.js.map +1 -0
  92. package/dist/components/DictRadio/index2.vue.js +5 -0
  93. package/dist/components/DictRadio/index2.vue.js.map +1 -0
  94. package/dist/components/DictSelect/index.vue.d.ts +6 -0
  95. package/dist/components/DictSelect/index.vue.js +37 -0
  96. package/dist/components/DictSelect/index.vue.js.map +1 -0
  97. package/dist/components/DictSelect/index2.vue.js +5 -0
  98. package/dist/components/DictSelect/index2.vue.js.map +1 -0
  99. package/dist/components/DictTag/index.vue.d.ts +10 -0
  100. package/dist/components/DictTag/index.vue.js +48 -0
  101. package/dist/components/DictTag/index.vue.js.map +1 -0
  102. package/dist/components/DictTag/index2.vue.js +5 -0
  103. package/dist/components/DictTag/index2.vue.js.map +1 -0
  104. package/dist/components/ErrorBoundary/index.vue.d.ts +13 -0
  105. package/dist/components/ErrorBoundary/index.vue.js +8 -0
  106. package/dist/components/ErrorBoundary/index.vue.js.map +1 -0
  107. package/dist/components/ErrorBoundary/index2.vue.js +61 -0
  108. package/dist/components/ErrorBoundary/index2.vue.js.map +1 -0
  109. package/dist/components/ExportColumnsModal/index.vue.d.ts +19 -0
  110. package/dist/components/ExportColumnsModal/index.vue.js +8 -0
  111. package/dist/components/ExportColumnsModal/index.vue.js.map +1 -0
  112. package/dist/components/ExportColumnsModal/index2.vue.js +121 -0
  113. package/dist/components/ExportColumnsModal/index2.vue.js.map +1 -0
  114. package/dist/components/FileUpload/index.vue.d.ts +24 -0
  115. package/dist/components/FileUpload/index.vue.js +42 -0
  116. package/dist/components/FileUpload/index.vue.js.map +1 -0
  117. package/dist/components/FileUpload/index2.vue.js +5 -0
  118. package/dist/components/FileUpload/index2.vue.js.map +1 -0
  119. package/dist/components/FormContainer/index.vue.d.ts +51 -0
  120. package/dist/components/FormContainer/index.vue.js +160 -0
  121. package/dist/components/FormContainer/index.vue.js.map +1 -0
  122. package/dist/components/FormContainer/index3.vue.js +6 -0
  123. package/dist/components/FormContainer/index3.vue.js.map +1 -0
  124. package/dist/components/IconPicker/index.vue.d.ts +18 -0
  125. package/dist/components/IconPicker/index.vue.js +43 -0
  126. package/dist/components/IconPicker/index.vue.js.map +1 -0
  127. package/dist/components/IconPicker/index2.vue.js +5 -0
  128. package/dist/components/IconPicker/index2.vue.js.map +1 -0
  129. package/dist/components/ImportWizard/index.vue.d.ts +39 -0
  130. package/dist/components/ImportWizard/index.vue.js +8 -0
  131. package/dist/components/ImportWizard/index.vue.js.map +1 -0
  132. package/dist/components/ImportWizard/index2.vue.js +634 -0
  133. package/dist/components/ImportWizard/index2.vue.js.map +1 -0
  134. package/dist/components/JsonEditor/index.vue.d.ts +12 -0
  135. package/dist/components/JsonEditor/index.vue.js +87 -0
  136. package/dist/components/JsonEditor/index.vue.js.map +1 -0
  137. package/dist/components/JsonEditor/index2.vue.js +5 -0
  138. package/dist/components/JsonEditor/index2.vue.js.map +1 -0
  139. package/dist/components/MarkdownEditor/MarkdownView.vue.d.ts +6 -0
  140. package/dist/components/MarkdownEditor/MarkdownView.vue.js +33 -0
  141. package/dist/components/MarkdownEditor/MarkdownView.vue.js.map +1 -0
  142. package/dist/components/MarkdownEditor/MarkdownView2.vue.js +5 -0
  143. package/dist/components/MarkdownEditor/MarkdownView2.vue.js.map +1 -0
  144. package/dist/components/MarkdownEditor/index.vue.d.ts +10 -0
  145. package/dist/components/MarkdownEditor/index.vue.js +35 -0
  146. package/dist/components/MarkdownEditor/index.vue.js.map +1 -0
  147. package/dist/components/MarkdownEditor/index2.vue.js +5 -0
  148. package/dist/components/MarkdownEditor/index2.vue.js.map +1 -0
  149. package/dist/components/MenuSearch.vue.d.ts +10 -0
  150. package/dist/components/MenuSearch.vue.js +8 -0
  151. package/dist/components/MenuSearch.vue.js.map +1 -0
  152. package/dist/components/MenuSearch2.vue.js +121 -0
  153. package/dist/components/MenuSearch2.vue.js.map +1 -0
  154. package/dist/components/OrgTreeSelect/index.vue.d.ts +6 -0
  155. package/dist/components/OrgTreeSelect/index.vue.js +42 -0
  156. package/dist/components/OrgTreeSelect/index.vue.js.map +1 -0
  157. package/dist/components/OrgTreeSelect/index2.vue.js +5 -0
  158. package/dist/components/OrgTreeSelect/index2.vue.js.map +1 -0
  159. package/dist/components/PasswordStrength/index.vue.d.ts +6 -0
  160. package/dist/components/PasswordStrength/index.vue.js +8 -0
  161. package/dist/components/PasswordStrength/index.vue.js.map +1 -0
  162. package/dist/components/PasswordStrength/index2.vue.js +91 -0
  163. package/dist/components/PasswordStrength/index2.vue.js.map +1 -0
  164. package/dist/components/ReauthModal.vue.d.ts +3 -0
  165. package/dist/components/ReauthModal.vue.js +8 -0
  166. package/dist/components/ReauthModal.vue.js.map +1 -0
  167. package/dist/components/ReauthModal2.vue.js +139 -0
  168. package/dist/components/ReauthModal2.vue.js.map +1 -0
  169. package/dist/components/RoleSelect/index.vue.d.ts +8 -0
  170. package/dist/components/RoleSelect/index.vue.js +26 -0
  171. package/dist/components/RoleSelect/index.vue.js.map +1 -0
  172. package/dist/components/RoleSelect/index2.vue.js +5 -0
  173. package/dist/components/RoleSelect/index2.vue.js.map +1 -0
  174. package/dist/components/SelectTable/index.vue.d.ts +76 -0
  175. package/dist/components/SelectTable/index.vue.js +8 -0
  176. package/dist/components/SelectTable/index.vue.js.map +1 -0
  177. package/dist/components/SelectTable/index2.vue.js +256 -0
  178. package/dist/components/SelectTable/index2.vue.js.map +1 -0
  179. package/dist/components/SmartLogo.vue.d.ts +8 -0
  180. package/dist/components/SmartLogo.vue.js +8 -0
  181. package/dist/components/SmartLogo.vue.js.map +1 -0
  182. package/dist/components/SmartLogo2.vue.js +74 -0
  183. package/dist/components/SmartLogo2.vue.js.map +1 -0
  184. package/dist/components/StatusSwitch/index.vue.d.ts +21 -0
  185. package/dist/components/StatusSwitch/index.vue.js +45 -0
  186. package/dist/components/StatusSwitch/index.vue.js.map +1 -0
  187. package/dist/components/StatusSwitch/index2.vue.js +5 -0
  188. package/dist/components/StatusSwitch/index2.vue.js.map +1 -0
  189. package/dist/components/TableZoomButton/index.vue.d.ts +13 -0
  190. package/dist/components/TableZoomButton/index.vue.js +42 -0
  191. package/dist/components/TableZoomButton/index.vue.js.map +1 -0
  192. package/dist/components/TableZoomButton/index2.vue.js +5 -0
  193. package/dist/components/TableZoomButton/index2.vue.js.map +1 -0
  194. package/dist/components/UserPicker/index.vue.d.ts +13 -0
  195. package/dist/components/UserPicker/index.vue.js +8 -0
  196. package/dist/components/UserPicker/index.vue.js.map +1 -0
  197. package/dist/components/UserPicker/index2.vue.js +214 -0
  198. package/dist/components/UserPicker/index2.vue.js.map +1 -0
  199. package/dist/components/UserSelect/index.vue.d.ts +9 -0
  200. package/dist/components/UserSelect/index.vue.js +32 -0
  201. package/dist/components/UserSelect/index.vue.js.map +1 -0
  202. package/dist/components/UserSelect/index2.vue.js +5 -0
  203. package/dist/components/UserSelect/index2.vue.js.map +1 -0
  204. package/dist/components/oauth/BrandIcon.vue.d.ts +12 -0
  205. package/dist/components/oauth/BrandIcon.vue.js +8 -0
  206. package/dist/components/oauth/BrandIcon.vue.js.map +1 -0
  207. package/dist/components/oauth/BrandIcon2.vue.js +95 -0
  208. package/dist/components/oauth/BrandIcon2.vue.js.map +1 -0
  209. package/dist/composables/authMenuRoute.d.ts +32 -0
  210. package/dist/composables/authMenuRoute.js +37 -0
  211. package/dist/composables/authMenuRoute.js.map +1 -0
  212. package/dist/composables/clearClientCache.d.ts +10 -0
  213. package/dist/composables/clearClientCache.js +17 -0
  214. package/dist/composables/clearClientCache.js.map +1 -0
  215. package/dist/composables/useAuthMenu.d.ts +3 -0
  216. package/dist/composables/useAuthMenu.js +61 -0
  217. package/dist/composables/useAuthMenu.js.map +1 -0
  218. package/dist/composables/useBatchDelete.d.ts +18 -0
  219. package/dist/composables/useBatchDelete.js +21 -0
  220. package/dist/composables/useBatchDelete.js.map +1 -0
  221. package/dist/composables/useCompactScreen.d.ts +12 -0
  222. package/dist/composables/useCompactScreen.js +17 -0
  223. package/dist/composables/useCompactScreen.js.map +1 -0
  224. package/dist/composables/useConfirm.d.ts +18 -0
  225. package/dist/composables/useConfirm.js +61 -0
  226. package/dist/composables/useConfirm.js.map +1 -0
  227. package/dist/composables/useFullscreenToggle.d.ts +11 -0
  228. package/dist/composables/useFullscreenToggle.js +64 -0
  229. package/dist/composables/useFullscreenToggle.js.map +1 -0
  230. package/dist/composables/useHeaderTools.d.ts +31 -0
  231. package/dist/composables/useHeaderTools.js +15 -0
  232. package/dist/composables/useHeaderTools.js.map +1 -0
  233. package/dist/composables/useLayoutMenu.d.ts +17 -0
  234. package/dist/composables/useLayoutMenu.js +93 -0
  235. package/dist/composables/useLayoutMenu.js.map +1 -0
  236. package/dist/composables/useMenuBadge.d.ts +11 -0
  237. package/dist/composables/useMenuBadge.js +17 -0
  238. package/dist/composables/useMenuBadge.js.map +1 -0
  239. package/dist/composables/useMenuFlat.d.ts +8 -0
  240. package/dist/composables/useMenuFlat.js +29 -0
  241. package/dist/composables/useMenuFlat.js.map +1 -0
  242. package/dist/composables/useModule.d.ts +16 -0
  243. package/dist/composables/useModule.js +44 -0
  244. package/dist/composables/useModule.js.map +1 -0
  245. package/dist/composables/useNoticeAction.d.ts +8 -0
  246. package/dist/composables/useNoticeAction.js +79 -0
  247. package/dist/composables/useNoticeAction.js.map +1 -0
  248. package/dist/composables/usePageTitle.d.ts +1 -0
  249. package/dist/composables/usePageTitle.js +20 -0
  250. package/dist/composables/usePageTitle.js.map +1 -0
  251. package/dist/composables/useRealtime.d.ts +31 -0
  252. package/dist/composables/useRealtime.js +59 -0
  253. package/dist/composables/useRealtime.js.map +1 -0
  254. package/dist/composables/useSite.d.ts +24 -0
  255. package/dist/composables/useSite.js +27 -0
  256. package/dist/composables/useSite.js.map +1 -0
  257. package/dist/composables/useTabTitle.d.ts +1 -0
  258. package/dist/composables/useTabTitle.js +10 -0
  259. package/dist/composables/useTabTitle.js.map +1 -0
  260. package/dist/composables/useTableRowSort.d.ts +20 -0
  261. package/dist/composables/useTableRowSort.js +59 -0
  262. package/dist/composables/useTableRowSort.js.map +1 -0
  263. package/dist/composables/useTableZoom.d.ts +5 -0
  264. package/dist/composables/useTableZoom.js +30 -0
  265. package/dist/composables/useTableZoom.js.map +1 -0
  266. package/dist/composables/useTheme.d.ts +13 -0
  267. package/dist/composables/useTheme.js +30 -0
  268. package/dist/composables/useTheme.js.map +1 -0
  269. package/dist/composables/useVisualViewportHeight.d.ts +3 -0
  270. package/dist/composables/useVisualViewportHeight.js +16 -0
  271. package/dist/composables/useVisualViewportHeight.js.map +1 -0
  272. package/dist/createSmartAdmin.d.ts +56 -0
  273. package/dist/createSmartAdmin.js +76 -0
  274. package/dist/createSmartAdmin.js.map +1 -0
  275. package/dist/directives/auth.d.ts +16 -0
  276. package/dist/directives/auth.js +19 -0
  277. package/dist/directives/auth.js.map +1 -0
  278. package/dist/env.d.ts +10 -0
  279. package/dist/index.d.ts +90 -0
  280. package/dist/index.js +273 -0
  281. package/dist/index.js.map +1 -0
  282. package/dist/layouts/AppHeader.vue.d.ts +12 -0
  283. package/dist/layouts/AppHeader.vue.js +8 -0
  284. package/dist/layouts/AppHeader.vue.js.map +1 -0
  285. package/dist/layouts/AppHeader2.vue.js +352 -0
  286. package/dist/layouts/AppHeader2.vue.js.map +1 -0
  287. package/dist/layouts/LayoutModeCards.vue.d.ts +3 -0
  288. package/dist/layouts/LayoutModeCards.vue.js +8 -0
  289. package/dist/layouts/LayoutModeCards.vue.js.map +1 -0
  290. package/dist/layouts/LayoutModeCards2.vue.js +67 -0
  291. package/dist/layouts/LayoutModeCards2.vue.js.map +1 -0
  292. package/dist/layouts/NoticeBell.vue.d.ts +3 -0
  293. package/dist/layouts/NoticeBell.vue.js +8 -0
  294. package/dist/layouts/NoticeBell.vue.js.map +1 -0
  295. package/dist/layouts/NoticeBell2.vue.js +292 -0
  296. package/dist/layouts/NoticeBell2.vue.js.map +1 -0
  297. package/dist/layouts/PersonalLayout.vue.d.ts +3 -0
  298. package/dist/layouts/PersonalLayout.vue.js +8 -0
  299. package/dist/layouts/PersonalLayout.vue.js.map +1 -0
  300. package/dist/layouts/PersonalLayout2.vue.js +65 -0
  301. package/dist/layouts/PersonalLayout2.vue.js.map +1 -0
  302. package/dist/layouts/SettingRow.vue.d.ts +16 -0
  303. package/dist/layouts/SettingRow.vue.js +8 -0
  304. package/dist/layouts/SettingRow.vue.js.map +1 -0
  305. package/dist/layouts/SettingRow2.vue.js +23 -0
  306. package/dist/layouts/SettingRow2.vue.js.map +1 -0
  307. package/dist/layouts/SettingsDrawer.vue.d.ts +10 -0
  308. package/dist/layouts/SettingsDrawer.vue.js +8 -0
  309. package/dist/layouts/SettingsDrawer.vue.js.map +1 -0
  310. package/dist/layouts/SettingsDrawer2.vue.js +380 -0
  311. package/dist/layouts/SettingsDrawer2.vue.js.map +1 -0
  312. package/dist/layouts/TabsBar.vue.d.ts +3 -0
  313. package/dist/layouts/TabsBar.vue.js +8 -0
  314. package/dist/layouts/TabsBar.vue.js.map +1 -0
  315. package/dist/layouts/TabsBar2.vue.js +132 -0
  316. package/dist/layouts/TabsBar2.vue.js.map +1 -0
  317. package/dist/layouts/components/SideNav.vue.d.ts +15 -0
  318. package/dist/layouts/components/SideNav.vue.js +8 -0
  319. package/dist/layouts/components/SideNav.vue.js.map +1 -0
  320. package/dist/layouts/components/SideNav2.vue.js +49 -0
  321. package/dist/layouts/components/SideNav2.vue.js.map +1 -0
  322. package/dist/layouts/default.vue.d.ts +3 -0
  323. package/dist/layouts/default.vue.js +8 -0
  324. package/dist/layouts/default.vue.js.map +1 -0
  325. package/dist/layouts/default2.vue.js +213 -0
  326. package/dist/layouts/default2.vue.js.map +1 -0
  327. package/dist/lib/chunkReload.d.ts +9 -0
  328. package/dist/lib/chunkReload.js +24 -0
  329. package/dist/lib/chunkReload.js.map +1 -0
  330. package/dist/lib/icons.d.ts +2 -0
  331. package/dist/lib/icons.js +39 -0
  332. package/dist/lib/icons.js.map +1 -0
  333. package/dist/lib/loadingBar.d.ts +7 -0
  334. package/dist/lib/loadingBar.js +18 -0
  335. package/dist/lib/loadingBar.js.map +1 -0
  336. package/dist/lib/markdown.d.ts +8 -0
  337. package/dist/lib/markdown.js +16 -0
  338. package/dist/lib/markdown.js.map +1 -0
  339. package/dist/lib/markdownLinks.d.ts +26 -0
  340. package/dist/lib/markdownLinks.js +21 -0
  341. package/dist/lib/markdownLinks.js.map +1 -0
  342. package/dist/lib/noticeActions.d.ts +13 -0
  343. package/dist/lib/noticeActions.js +16 -0
  344. package/dist/lib/noticeActions.js.map +1 -0
  345. package/dist/lib/runtime.d.ts +21 -0
  346. package/dist/lib/runtime.js +13 -0
  347. package/dist/lib/runtime.js.map +1 -0
  348. package/dist/locales/en-US.d.ts +1358 -0
  349. package/dist/locales/en-US.js +1362 -0
  350. package/dist/locales/en-US.js.map +1 -0
  351. package/dist/locales/index.d.ts +30 -0
  352. package/dist/locales/index.js +46 -0
  353. package/dist/locales/index.js.map +1 -0
  354. package/dist/locales/menuTitle.d.ts +8 -0
  355. package/dist/locales/menuTitle.js +19 -0
  356. package/dist/locales/menuTitle.js.map +1 -0
  357. package/dist/locales/zh-CN.d.ts +1358 -0
  358. package/dist/locales/zh-CN.js +1368 -0
  359. package/dist/locales/zh-CN.js.map +1 -0
  360. package/dist/router/bootFailure.d.ts +8 -0
  361. package/dist/router/bootFailure.js +11 -0
  362. package/dist/router/bootFailure.js.map +1 -0
  363. package/dist/router/detailRoutes.d.ts +2 -0
  364. package/dist/router/detailRoutes.js +19 -0
  365. package/dist/router/detailRoutes.js.map +1 -0
  366. package/dist/router/index.d.ts +3 -0
  367. package/dist/router/index.js +58 -0
  368. package/dist/router/index.js.map +1 -0
  369. package/dist/router/namedPage.d.ts +13 -0
  370. package/dist/router/namedPage.js +12 -0
  371. package/dist/router/namedPage.js.map +1 -0
  372. package/dist/router/routes.d.ts +2 -0
  373. package/dist/router/routes.js +121 -0
  374. package/dist/router/routes.js.map +1 -0
  375. package/dist/router/viewRegistry.d.ts +18 -0
  376. package/dist/router/viewRegistry.js +26 -0
  377. package/dist/router/viewRegistry.js.map +1 -0
  378. package/dist/stores/app.d.ts +83 -0
  379. package/dist/stores/app.js +82 -0
  380. package/dist/stores/app.js.map +1 -0
  381. package/dist/stores/auth.d.ts +106 -0
  382. package/dist/stores/auth.js +59 -0
  383. package/dist/stores/auth.js.map +1 -0
  384. package/dist/stores/dict.d.ts +11 -0
  385. package/dist/stores/dict.js +36 -0
  386. package/dist/stores/dict.js.map +1 -0
  387. package/dist/stores/tabs.d.ts +53 -0
  388. package/dist/stores/tabs.js +88 -0
  389. package/dist/stores/tabs.js.map +1 -0
  390. package/dist/stores/user.d.ts +64 -0
  391. package/dist/stores/user.js +64 -0
  392. package/dist/stores/user.js.map +1 -0
  393. package/dist/style.css +1 -0
  394. package/dist/theme/accents.d.ts +2 -0
  395. package/dist/theme/accents.js +5 -0
  396. package/dist/theme/accents.js.map +1 -0
  397. package/dist/theme/mix.d.ts +26 -0
  398. package/dist/theme/mix.js +43 -0
  399. package/dist/theme/mix.js.map +1 -0
  400. package/dist/theme/naive-theme.d.ts +9 -0
  401. package/dist/theme/naive-theme.js +89 -0
  402. package/dist/theme/naive-theme.js.map +1 -0
  403. package/dist/types/api.d.ts +714 -0
  404. package/dist/types/api.js +15 -0
  405. package/dist/types/api.js.map +1 -0
  406. package/dist/types/menu.d.ts +67 -0
  407. package/dist/types/menu.js +26 -0
  408. package/dist/types/menu.js.map +1 -0
  409. package/dist/utils/chunkUpload.d.ts +6 -0
  410. package/dist/utils/chunkUpload.js +35 -0
  411. package/dist/utils/chunkUpload.js.map +1 -0
  412. package/dist/utils/download.d.ts +8 -0
  413. package/dist/utils/download.js +8 -0
  414. package/dist/utils/download.js.map +1 -0
  415. package/dist/utils/error.d.ts +14 -0
  416. package/dist/utils/error.js +50 -0
  417. package/dist/utils/error.js.map +1 -0
  418. package/dist/utils/format.d.ts +20 -0
  419. package/dist/utils/format.js +19 -0
  420. package/dist/utils/format.js.map +1 -0
  421. package/dist/utils/importDup.d.ts +17 -0
  422. package/dist/utils/importDup.js +18 -0
  423. package/dist/utils/importDup.js.map +1 -0
  424. package/dist/utils/oauthBrand.d.ts +100 -0
  425. package/dist/utils/oauthBrand.js +97 -0
  426. package/dist/utils/oauthBrand.js.map +1 -0
  427. package/dist/utils/tree.d.ts +33 -0
  428. package/dist/utils/tree.js +47 -0
  429. package/dist/utils/tree.js.map +1 -0
  430. package/dist/utils/ua.d.ts +7 -0
  431. package/dist/utils/ua.js +33 -0
  432. package/dist/utils/ua.js.map +1 -0
  433. package/dist/utils/url.d.ts +16 -0
  434. package/dist/utils/url.js +13 -0
  435. package/dist/utils/url.js.map +1 -0
  436. package/dist/views/dashboard/biz.vue.d.ts +3 -0
  437. package/dist/views/dashboard/biz.vue.js +8 -0
  438. package/dist/views/dashboard/biz.vue.js.map +1 -0
  439. package/dist/views/dashboard/biz2.vue.js +136 -0
  440. package/dist/views/dashboard/biz2.vue.js.map +1 -0
  441. package/dist/views/dashboard/workbench.vue.d.ts +3 -0
  442. package/dist/views/dashboard/workbench.vue.js +8 -0
  443. package/dist/views/dashboard/workbench.vue.js.map +1 -0
  444. package/dist/views/dashboard/workbench2.vue.js +195 -0
  445. package/dist/views/dashboard/workbench2.vue.js.map +1 -0
  446. package/dist/views/embed/iframe.vue.d.ts +3 -0
  447. package/dist/views/embed/iframe.vue.js +8 -0
  448. package/dist/views/embed/iframe.vue.js.map +1 -0
  449. package/dist/views/embed/iframe2.vue.js +21 -0
  450. package/dist/views/embed/iframe2.vue.js.map +1 -0
  451. package/dist/views/error/404.vue.d.ts +3 -0
  452. package/dist/views/error/404.vue.js +8 -0
  453. package/dist/views/error/404.vue.js.map +1 -0
  454. package/dist/views/error/4042.vue.js +31 -0
  455. package/dist/views/error/4042.vue.js.map +1 -0
  456. package/dist/views/error/BootError.vue.d.ts +3 -0
  457. package/dist/views/error/BootError.vue.js +8 -0
  458. package/dist/views/error/BootError.vue.js.map +1 -0
  459. package/dist/views/error/BootError2.vue.js +57 -0
  460. package/dist/views/error/BootError2.vue.js.map +1 -0
  461. package/dist/views/error/MissingRoute.vue.d.ts +3 -0
  462. package/dist/views/error/MissingRoute.vue.js +8 -0
  463. package/dist/views/error/MissingRoute.vue.js.map +1 -0
  464. package/dist/views/error/MissingRoute2.vue.js +23 -0
  465. package/dist/views/error/MissingRoute2.vue.js.map +1 -0
  466. package/dist/views/login/LoginForm.vue.d.ts +12 -0
  467. package/dist/views/login/LoginForm.vue.js +8 -0
  468. package/dist/views/login/LoginForm.vue.js.map +1 -0
  469. package/dist/views/login/LoginForm2.vue.js +642 -0
  470. package/dist/views/login/LoginForm2.vue.js.map +1 -0
  471. package/dist/views/login/index.vue.d.ts +3 -0
  472. package/dist/views/login/index.vue.js +8 -0
  473. package/dist/views/login/index.vue.js.map +1 -0
  474. package/dist/views/login/index2.vue.js +79 -0
  475. package/dist/views/login/index2.vue.js.map +1 -0
  476. package/dist/views/login/skins/AuroraGlass.vue.d.ts +3 -0
  477. package/dist/views/login/skins/AuroraGlass.vue.js +8 -0
  478. package/dist/views/login/skins/AuroraGlass.vue.js.map +1 -0
  479. package/dist/views/login/skins/AuroraGlass2.vue.js +80 -0
  480. package/dist/views/login/skins/AuroraGlass2.vue.js.map +1 -0
  481. package/dist/views/login/skins/SplitPanel.vue.d.ts +3 -0
  482. package/dist/views/login/skins/SplitPanel.vue.js +8 -0
  483. package/dist/views/login/skins/SplitPanel.vue.js.map +1 -0
  484. package/dist/views/login/skins/SplitPanel2.vue.js +85 -0
  485. package/dist/views/login/skins/SplitPanel2.vue.js.map +1 -0
  486. package/dist/views/login/skins/Spotlight.vue.d.ts +3 -0
  487. package/dist/views/login/skins/Spotlight.vue.js +8 -0
  488. package/dist/views/login/skins/Spotlight.vue.js.map +1 -0
  489. package/dist/views/login/skins/Spotlight2.vue.js +36 -0
  490. package/dist/views/login/skins/Spotlight2.vue.js.map +1 -0
  491. package/dist/views/login/skins.d.ts +8 -0
  492. package/dist/views/login/skins.js +13 -0
  493. package/dist/views/login/skins.js.map +1 -0
  494. package/dist/views/mfa/bindComplete.d.ts +7 -0
  495. package/dist/views/mfa/bindComplete.js +8 -0
  496. package/dist/views/mfa/bindComplete.js.map +1 -0
  497. package/dist/views/mfa/index.vue.d.ts +3 -0
  498. package/dist/views/mfa/index.vue.js +8 -0
  499. package/dist/views/mfa/index.vue.js.map +1 -0
  500. package/dist/views/mfa/index2.vue.js +425 -0
  501. package/dist/views/mfa/index2.vue.js.map +1 -0
  502. package/dist/views/module/index.vue.d.ts +3 -0
  503. package/dist/views/module/index.vue.js +8 -0
  504. package/dist/views/module/index.vue.js.map +1 -0
  505. package/dist/views/module/index2.vue.js +142 -0
  506. package/dist/views/module/index2.vue.js.map +1 -0
  507. package/dist/views/oauth/callback.vue.d.ts +3 -0
  508. package/dist/views/oauth/callback.vue.js +8 -0
  509. package/dist/views/oauth/callback.vue.js.map +1 -0
  510. package/dist/views/oauth/callback2.vue.js +86 -0
  511. package/dist/views/oauth/callback2.vue.js.map +1 -0
  512. package/dist/views/personal/bindings.vue.d.ts +3 -0
  513. package/dist/views/personal/bindings.vue.js +8 -0
  514. package/dist/views/personal/bindings.vue.js.map +1 -0
  515. package/dist/views/personal/bindings2.vue.js +220 -0
  516. package/dist/views/personal/bindings2.vue.js.map +1 -0
  517. package/dist/views/personal/notice.vue.d.ts +3 -0
  518. package/dist/views/personal/notice.vue.js +5 -0
  519. package/dist/views/personal/notice.vue.js.map +1 -0
  520. package/dist/views/personal/notice2.vue.js +163 -0
  521. package/dist/views/personal/notice2.vue.js.map +1 -0
  522. package/dist/views/personal/password.vue.d.ts +3 -0
  523. package/dist/views/personal/password.vue.js +5 -0
  524. package/dist/views/personal/password.vue.js.map +1 -0
  525. package/dist/views/personal/password2.vue.js +147 -0
  526. package/dist/views/personal/password2.vue.js.map +1 -0
  527. package/dist/views/personal/profile.vue.d.ts +3 -0
  528. package/dist/views/personal/profile.vue.js +8 -0
  529. package/dist/views/personal/profile.vue.js.map +1 -0
  530. package/dist/views/personal/profile2.vue.js +264 -0
  531. package/dist/views/personal/profile2.vue.js.map +1 -0
  532. package/dist/views/personal/security.vue.d.ts +3 -0
  533. package/dist/views/personal/security.vue.js +8 -0
  534. package/dist/views/personal/security.vue.js.map +1 -0
  535. package/dist/views/personal/security2.vue.js +82 -0
  536. package/dist/views/personal/security2.vue.js.map +1 -0
  537. package/dist/views/personal/sessions.vue.d.ts +3 -0
  538. package/dist/views/personal/sessions.vue.js +8 -0
  539. package/dist/views/personal/sessions.vue.js.map +1 -0
  540. package/dist/views/personal/sessions2.vue.js +101 -0
  541. package/dist/views/personal/sessions2.vue.js.map +1 -0
  542. package/dist/views/system/cache/index.vue.d.ts +3 -0
  543. package/dist/views/system/cache/index.vue.js +8 -0
  544. package/dist/views/system/cache/index.vue.js.map +1 -0
  545. package/dist/views/system/cache/index2.vue.js +113 -0
  546. package/dist/views/system/cache/index2.vue.js.map +1 -0
  547. package/dist/views/system/config/components/ConfigFormModal.vue.d.ts +16 -0
  548. package/dist/views/system/config/components/ConfigFormModal.vue.js +5 -0
  549. package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -0
  550. package/dist/views/system/config/components/ConfigFormModal2.vue.js +177 -0
  551. package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -0
  552. package/dist/views/system/config/components/ExternalAuthConfig.vue.d.ts +3 -0
  553. package/dist/views/system/config/components/ExternalAuthConfig.vue.js +8 -0
  554. package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +1 -0
  555. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +218 -0
  556. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +1 -0
  557. package/dist/views/system/config/components/GroupExtraConfig.vue.d.ts +9 -0
  558. package/dist/views/system/config/components/GroupExtraConfig.vue.js +8 -0
  559. package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +1 -0
  560. package/dist/views/system/config/components/GroupExtraConfig2.vue.js +108 -0
  561. package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +1 -0
  562. package/dist/views/system/config/components/HighSensConfig.vue.d.ts +3 -0
  563. package/dist/views/system/config/components/HighSensConfig.vue.js +5 -0
  564. package/dist/views/system/config/components/HighSensConfig.vue.js.map +1 -0
  565. package/dist/views/system/config/components/HighSensConfig2.vue.js +134 -0
  566. package/dist/views/system/config/components/HighSensConfig2.vue.js.map +1 -0
  567. package/dist/views/system/config/components/JobConfig.vue.d.ts +3 -0
  568. package/dist/views/system/config/components/JobConfig.vue.js +5 -0
  569. package/dist/views/system/config/components/JobConfig.vue.js.map +1 -0
  570. package/dist/views/system/config/components/JobConfig2.vue.js +116 -0
  571. package/dist/views/system/config/components/JobConfig2.vue.js.map +1 -0
  572. package/dist/views/system/config/components/OtherConfig.vue.d.ts +3 -0
  573. package/dist/views/system/config/components/OtherConfig.vue.js +5 -0
  574. package/dist/views/system/config/components/OtherConfig.vue.js.map +1 -0
  575. package/dist/views/system/config/components/OtherConfig2.vue.js +121 -0
  576. package/dist/views/system/config/components/OtherConfig2.vue.js.map +1 -0
  577. package/dist/views/system/config/components/SecurityConfig.vue.d.ts +3 -0
  578. package/dist/views/system/config/components/SecurityConfig.vue.js +8 -0
  579. package/dist/views/system/config/components/SecurityConfig.vue.js.map +1 -0
  580. package/dist/views/system/config/components/SecurityConfig2.vue.js +456 -0
  581. package/dist/views/system/config/components/SecurityConfig2.vue.js.map +1 -0
  582. package/dist/views/system/config/components/SysBaseConfig.vue.d.ts +3 -0
  583. package/dist/views/system/config/components/SysBaseConfig.vue.js +5 -0
  584. package/dist/views/system/config/components/SysBaseConfig.vue.js.map +1 -0
  585. package/dist/views/system/config/components/SysBaseConfig2.vue.js +107 -0
  586. package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +1 -0
  587. package/dist/views/system/config/components/UploadConfig.vue.d.ts +3 -0
  588. package/dist/views/system/config/components/UploadConfig.vue.js +5 -0
  589. package/dist/views/system/config/components/UploadConfig.vue.js.map +1 -0
  590. package/dist/views/system/config/components/UploadConfig2.vue.js +135 -0
  591. package/dist/views/system/config/components/UploadConfig2.vue.js.map +1 -0
  592. package/dist/views/system/config/groups.d.ts +9 -0
  593. package/dist/views/system/config/groups.js +18 -0
  594. package/dist/views/system/config/groups.js.map +1 -0
  595. package/dist/views/system/config/index.vue.d.ts +3 -0
  596. package/dist/views/system/config/index.vue.js +5 -0
  597. package/dist/views/system/config/index.vue.js.map +1 -0
  598. package/dist/views/system/config/index2.vue.js +127 -0
  599. package/dist/views/system/config/index2.vue.js.map +1 -0
  600. package/dist/views/system/dict/index.vue.d.ts +3 -0
  601. package/dist/views/system/dict/index.vue.js +8 -0
  602. package/dist/views/system/dict/index.vue.js.map +1 -0
  603. package/dist/views/system/dict/index2.vue.js +560 -0
  604. package/dist/views/system/dict/index2.vue.js.map +1 -0
  605. package/dist/views/system/file/index.vue.d.ts +3 -0
  606. package/dist/views/system/file/index.vue.js +5 -0
  607. package/dist/views/system/file/index.vue.js.map +1 -0
  608. package/dist/views/system/file/index2.vue.js +186 -0
  609. package/dist/views/system/file/index2.vue.js.map +1 -0
  610. package/dist/views/system/job/index.vue.d.ts +3 -0
  611. package/dist/views/system/job/index.vue.js +8 -0
  612. package/dist/views/system/job/index.vue.js.map +1 -0
  613. package/dist/views/system/job/index2.vue.js +1167 -0
  614. package/dist/views/system/job/index2.vue.js.map +1 -0
  615. package/dist/views/system/job-log/index.vue.d.ts +3 -0
  616. package/dist/views/system/job-log/index.vue.js +8 -0
  617. package/dist/views/system/job-log/index.vue.js.map +1 -0
  618. package/dist/views/system/job-log/index2.vue.js +411 -0
  619. package/dist/views/system/job-log/index2.vue.js.map +1 -0
  620. package/dist/views/system/job-monitor/index.vue.d.ts +3 -0
  621. package/dist/views/system/job-monitor/index.vue.js +8 -0
  622. package/dist/views/system/job-monitor/index.vue.js.map +1 -0
  623. package/dist/views/system/job-monitor/index2.vue.js +253 -0
  624. package/dist/views/system/job-monitor/index2.vue.js.map +1 -0
  625. package/dist/views/system/log/exception/index.vue.d.ts +3 -0
  626. package/dist/views/system/log/exception/index.vue.js +8 -0
  627. package/dist/views/system/log/exception/index.vue.js.map +1 -0
  628. package/dist/views/system/log/exception/index2.vue.js +216 -0
  629. package/dist/views/system/log/exception/index2.vue.js.map +1 -0
  630. package/dist/views/system/log/login/index.vue.d.ts +3 -0
  631. package/dist/views/system/log/login/index.vue.js +5 -0
  632. package/dist/views/system/log/login/index.vue.js.map +1 -0
  633. package/dist/views/system/log/login/index2.vue.js +113 -0
  634. package/dist/views/system/log/login/index2.vue.js.map +1 -0
  635. package/dist/views/system/log/op/index.vue.d.ts +3 -0
  636. package/dist/views/system/log/op/index.vue.js +8 -0
  637. package/dist/views/system/log/op/index.vue.js.map +1 -0
  638. package/dist/views/system/log/op/index2.vue.js +332 -0
  639. package/dist/views/system/log/op/index2.vue.js.map +1 -0
  640. package/dist/views/system/menu/components/ButtonManager.vue.d.ts +21 -0
  641. package/dist/views/system/menu/components/ButtonManager.vue.js +8 -0
  642. package/dist/views/system/menu/components/ButtonManager.vue.js.map +1 -0
  643. package/dist/views/system/menu/components/ButtonManager2.vue.js +498 -0
  644. package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -0
  645. package/dist/views/system/menu/components/MenuFormModal.vue.d.ts +22 -0
  646. package/dist/views/system/menu/components/MenuFormModal.vue.js +8 -0
  647. package/dist/views/system/menu/components/MenuFormModal.vue.js.map +1 -0
  648. package/dist/views/system/menu/components/MenuFormModal2.vue.js +259 -0
  649. package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -0
  650. package/dist/views/system/menu/index.vue.d.ts +3 -0
  651. package/dist/views/system/menu/index.vue.js +8 -0
  652. package/dist/views/system/menu/index.vue.js.map +1 -0
  653. package/dist/views/system/menu/index2.vue.js +391 -0
  654. package/dist/views/system/menu/index2.vue.js.map +1 -0
  655. package/dist/views/system/module/index.vue.d.ts +3 -0
  656. package/dist/views/system/module/index.vue.js +8 -0
  657. package/dist/views/system/module/index.vue.js.map +1 -0
  658. package/dist/views/system/module/index2.vue.js +344 -0
  659. package/dist/views/system/module/index2.vue.js.map +1 -0
  660. package/dist/views/system/monitor/index.vue.d.ts +3 -0
  661. package/dist/views/system/monitor/index.vue.js +8 -0
  662. package/dist/views/system/monitor/index.vue.js.map +1 -0
  663. package/dist/views/system/monitor/index2.vue.js +184 -0
  664. package/dist/views/system/monitor/index2.vue.js.map +1 -0
  665. package/dist/views/system/notice/index.vue.d.ts +3 -0
  666. package/dist/views/system/notice/index.vue.js +8 -0
  667. package/dist/views/system/notice/index.vue.js.map +1 -0
  668. package/dist/views/system/notice/index2.vue.js +401 -0
  669. package/dist/views/system/notice/index2.vue.js.map +1 -0
  670. package/dist/views/system/org/index.vue.d.ts +3 -0
  671. package/dist/views/system/org/index.vue.js +8 -0
  672. package/dist/views/system/org/index.vue.js.map +1 -0
  673. package/dist/views/system/org/index2.vue.js +397 -0
  674. package/dist/views/system/org/index2.vue.js.map +1 -0
  675. package/dist/views/system/position/index.vue.d.ts +3 -0
  676. package/dist/views/system/position/index.vue.js +5 -0
  677. package/dist/views/system/position/index.vue.js.map +1 -0
  678. package/dist/views/system/position/index2.vue.js +211 -0
  679. package/dist/views/system/position/index2.vue.js.map +1 -0
  680. package/dist/views/system/recycle/index.vue.d.ts +3 -0
  681. package/dist/views/system/recycle/index.vue.js +8 -0
  682. package/dist/views/system/recycle/index.vue.js.map +1 -0
  683. package/dist/views/system/recycle/index2.vue.js +121 -0
  684. package/dist/views/system/recycle/index2.vue.js.map +1 -0
  685. package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +18 -0
  686. package/dist/views/system/role/components/GrantMenuTable.vue.js +8 -0
  687. package/dist/views/system/role/components/GrantMenuTable.vue.js.map +1 -0
  688. package/dist/views/system/role/components/GrantMenuTable2.vue.js +212 -0
  689. package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -0
  690. package/dist/views/system/role/components/grantMenuGroups.d.ts +31 -0
  691. package/dist/views/system/role/components/grantMenuGroups.js +76 -0
  692. package/dist/views/system/role/components/grantMenuGroups.js.map +1 -0
  693. package/dist/views/system/role/index.vue.d.ts +3 -0
  694. package/dist/views/system/role/index.vue.js +5 -0
  695. package/dist/views/system/role/index.vue.js.map +1 -0
  696. package/dist/views/system/role/index2.vue.js +476 -0
  697. package/dist/views/system/role/index2.vue.js.map +1 -0
  698. package/dist/views/system/session/index.vue.d.ts +3 -0
  699. package/dist/views/system/session/index.vue.js +5 -0
  700. package/dist/views/system/session/index.vue.js.map +1 -0
  701. package/dist/views/system/session/index2.vue.js +80 -0
  702. package/dist/views/system/session/index2.vue.js.map +1 -0
  703. package/dist/views/system/user/components/ResetPasswordModal.vue.d.ts +10 -0
  704. package/dist/views/system/user/components/ResetPasswordModal.vue.js +8 -0
  705. package/dist/views/system/user/components/ResetPasswordModal.vue.js.map +1 -0
  706. package/dist/views/system/user/components/ResetPasswordModal2.vue.js +111 -0
  707. package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -0
  708. package/dist/views/system/user/components/UserFormModal.vue.d.ts +30 -0
  709. package/dist/views/system/user/components/UserFormModal.vue.js +8 -0
  710. package/dist/views/system/user/components/UserFormModal.vue.js.map +1 -0
  711. package/dist/views/system/user/components/UserFormModal2.vue.js +415 -0
  712. package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -0
  713. package/dist/views/system/user/index.vue.d.ts +3 -0
  714. package/dist/views/system/user/index.vue.js +8 -0
  715. package/dist/views/system/user/index.vue.js.map +1 -0
  716. package/dist/views/system/user/index2.vue.js +427 -0
  717. package/dist/views/system/user/index2.vue.js.map +1 -0
  718. package/package.json +99 -0
@@ -0,0 +1,1362 @@
1
+ const e = {
2
+ common: {
3
+ rowNo: "No.",
4
+ copySuffix: "- Copy",
5
+ zoomIn: "Maximize",
6
+ zoomOut: "Restore",
7
+ success: "Success",
8
+ confirm: "Confirm",
9
+ confirmTitle: "Confirm",
10
+ cancel: "Cancel",
11
+ close: "Close",
12
+ more: "More",
13
+ search: "Search",
14
+ reset: "Reset",
15
+ expandAll: "Expand all",
16
+ collapseAll: "Collapse all",
17
+ add: "Add",
18
+ edit: "Edit",
19
+ delete: "Delete",
20
+ save: "Save",
21
+ submit: "Submit",
22
+ format: "Format",
23
+ copy: "Copy",
24
+ copied: "Copied",
25
+ loading: "Loading…",
26
+ yes: "Yes",
27
+ no: "No",
28
+ status: "Status",
29
+ enabled: "Enabled",
30
+ disabled: "Disabled",
31
+ visible: "Visible",
32
+ hidden: "Hidden",
33
+ operation: "Actions",
34
+ createTime: "Created",
35
+ batchDelete: "Batch delete",
36
+ batchDeleteConfirm: "Delete the {count} selected item(s)? This cannot be undone.",
37
+ all: "All",
38
+ noData: "No data",
39
+ back: "Back",
40
+ detail: "Detail"
41
+ },
42
+ notFound: {
43
+ desc: "Page not found",
44
+ back: "Back to workbench"
45
+ },
46
+ // Content-area render fallback (components/ErrorBoundary)
47
+ errorBoundary: {
48
+ title: "This page hit an error",
49
+ desc: "The page threw an unhandled exception while rendering. You can retry, or go back home and keep working.",
50
+ retry: "Retry",
51
+ home: "Go home"
52
+ },
53
+ // Portal bootstrap failure (network / 5xx / rate limit): the session is fine, so it is kept
54
+ bootError: {
55
+ title: "Could not load the workbench",
56
+ desc: "We could not fetch your apps and menus. This is usually a network problem or a temporarily unavailable server. You are still signed in.",
57
+ retry: "Retry",
58
+ relogin: "Sign in again"
59
+ },
60
+ missingRoute: {
61
+ title: "Menu page unavailable",
62
+ message: "The component path configured for “{title}” does not exist: {component}"
63
+ },
64
+ userPicker: {
65
+ title: "Select users",
66
+ available: "Available",
67
+ selected: "Selected",
68
+ add: "Add",
69
+ added: "Added",
70
+ addChecked: "Add checked",
71
+ clear: "Clear"
72
+ },
73
+ app: {
74
+ theme: "Theme",
75
+ dark: "Dark",
76
+ light: "Light",
77
+ accent: "Accent",
78
+ density: "Density",
79
+ comfortable: "Comfortable",
80
+ compact: "Compact",
81
+ language: "Language",
82
+ loginStyle: "Login style",
83
+ collapse: "Collapse",
84
+ openMenu: "Open menu",
85
+ switchModule: "Switch app",
86
+ logout: "Log out",
87
+ personalCenter: "Account",
88
+ clearCache: "Clear cache",
89
+ cacheCleared: "Cache cleared",
90
+ profile: "Profile",
91
+ password: "Change password",
92
+ security: "Account security",
93
+ sessions: "My sessions",
94
+ bindings: "Account bindings",
95
+ search: "Search",
96
+ fullscreen: "Fullscreen",
97
+ exitFullscreen: "Exit fullscreen",
98
+ settings: "Settings",
99
+ notice: {
100
+ title: "Notifications",
101
+ empty: "No notifications",
102
+ markAllRead: "Mark all read",
103
+ viewAll: "View all"
104
+ }
105
+ },
106
+ settings: {
107
+ title: "Settings",
108
+ tabAppearance: "Appearance",
109
+ tabLayout: "Layout",
110
+ tabGeneral: "General",
111
+ themeMode: "Theme mode",
112
+ auto: "Auto",
113
+ themeColor: "Theme color",
114
+ custom: "Custom",
115
+ layout: "Layout",
116
+ layoutVertical: "Vertical",
117
+ layoutVerticalMix: "Vertical Mix",
118
+ layoutVerticalHybridHeaderFirst: "Left Hybrid (Header)",
119
+ layoutHorizontal: "Horizontal",
120
+ layoutTopHybridSidebarFirst: "Top Hybrid (Sidebar)",
121
+ layoutTopHybridHeaderFirst: "Top Hybrid (Header)",
122
+ interface: "Interface",
123
+ showBreadcrumb: "Breadcrumb",
124
+ showTabs: "Tabs",
125
+ fixedHeader: "Fixed header",
126
+ pageTransition: "Page transition",
127
+ transitionNone: "None",
128
+ transitionFade: "Fade",
129
+ transitionFadeSlide: "Fade slide",
130
+ grayscale: "Grayscale",
131
+ watermark: "Watermark",
132
+ watermarkText: "Watermark text",
133
+ watermarkPlaceholder: "Enter watermark text",
134
+ formStyle: "Form style",
135
+ formStyleModal: "Modal",
136
+ formStyleDrawer: "Drawer",
137
+ resetConfirm: "Reset all settings to default?",
138
+ copyConfig: "Copy config",
139
+ configCopied: "Current config copied (paste into DEFAULTS in stores/app.ts to make it the new default)",
140
+ searchPlaceholder: "Search menu…",
141
+ searchEmpty: "No matching menu",
142
+ searchHint: "↑↓ navigate · ↵ open · Esc close"
143
+ },
144
+ tabs: {
145
+ refresh: "Refresh",
146
+ pin: "Pin",
147
+ unpin: "Unpin",
148
+ close: "Close",
149
+ closeOthers: "Close others",
150
+ closeLeft: "Close left",
151
+ closeRight: "Close right",
152
+ closeAll: "Close all"
153
+ },
154
+ login: {
155
+ title: "Sign in",
156
+ subtitle: "A unified access layer for every org and app",
157
+ headlinePre: "Enterprise ",
158
+ headlineAccent: "RBAC",
159
+ headlinePost: " console",
160
+ welcome: "Welcome back",
161
+ welcomeSub: "Sign in to continue",
162
+ featRbac: "RBAC authorization",
163
+ featScope: "Multi-org data scope",
164
+ featPortal: "Multi-app portal",
165
+ account: "Account",
166
+ accountPlaceholder: "Enter account",
167
+ password: "Password",
168
+ passwordPlaceholder: "Enter password",
169
+ required: "Enter account and password",
170
+ captcha: "Captcha",
171
+ captchaPlaceholder: "Enter captcha",
172
+ captchaMathPlaceholder: "Enter the result",
173
+ captchaRequired: "Enter the captcha",
174
+ remember: "Remember me",
175
+ submit: "Sign in",
176
+ success: "Signed in",
177
+ smsLogin: "SMS sign-in",
178
+ accountLogin: "Password sign-in",
179
+ phone: "Phone",
180
+ phonePlaceholder: "Enter phone number",
181
+ smsCode: "SMS code",
182
+ smsCodePlaceholder: "Enter the SMS code",
183
+ smsRequired: "Enter phone number and SMS code",
184
+ sendCode: "Send code",
185
+ resendAfter: "Resend in {s}s",
186
+ smsSent: "Code sent",
187
+ mfaTitle: "A code was sent to {phone}",
188
+ mfaSub: "Enter the SMS code to finish signing in",
189
+ setupAuthenticator: "Set up authenticator",
190
+ totpTitle: "Two-factor authentication",
191
+ totpSub: "Enter the 6-digit code from your authenticator app",
192
+ totpCode: "Authenticator code",
193
+ totpPlaceholder: "Enter 6-digit code",
194
+ totpBindTitle: "Authenticator required",
195
+ totpBindSub: "An administrator requires two-factor authentication for this account. Set it up, then sign in again.",
196
+ useRecovery: "Use a recovery code",
197
+ backToPassword: "Back to password sign-in",
198
+ otherMethods: "Other methods",
199
+ moreMethods: "More sign-in methods",
200
+ ssoWecom: "WeCom",
201
+ ssoDingtalk: "DingTalk",
202
+ sso: "SSO",
203
+ ssoComingSoon: "Third-party login coming soon",
204
+ skinAurora: "Aurora",
205
+ skinSplit: "Split",
206
+ skinSpotlight: "Spotlight"
207
+ },
208
+ module: {
209
+ choose: "Choose app",
210
+ empty: "No accessible apps. Contact your administrator.",
211
+ setDefault: "Set default",
212
+ isDefault: "Default",
213
+ back: "Back",
214
+ enter: "Enter",
215
+ manage: "Modules",
216
+ code: "Code",
217
+ name: "Name",
218
+ icon: "Icon",
219
+ defaultRoute: "Default route",
220
+ apiPrefix: "API prefix",
221
+ apiPrefixHint: "Filters the permission-route dropdown by app. Enter the backend route segment (e.g. sys, biz); empty = no filter",
222
+ sort: "Sort",
223
+ remark: "Remark",
224
+ builtin: "Built-in",
225
+ codeRequired: "Enter a code",
226
+ nameRequired: "Enter a name",
227
+ addTitle: "Add app",
228
+ editTitle: "Edit app",
229
+ deleteConfirm: 'Delete app "{title}"?',
230
+ disableConfirm: 'Disable app "{title}"? It will disappear from the portal',
231
+ saved: "Saved",
232
+ deleted: "Deleted"
233
+ },
234
+ menu: {
235
+ searchPlaceholder: "Search title / route / permission",
236
+ workbench: "Workbench",
237
+ profile: "Profile",
238
+ password: "Change password",
239
+ security: "Account security",
240
+ notice: "My notifications",
241
+ sessions: "My sessions",
242
+ bindings: "Account bindings",
243
+ manage: "Menus",
244
+ parent: "Parent",
245
+ parentRoot: "Top level (root)",
246
+ type: "Type",
247
+ typeCatalog: "Catalog",
248
+ typeMenu: "Page",
249
+ typeButton: "Button",
250
+ title: "Title",
251
+ permission: "Permission",
252
+ permissionPlaceholder: "Pick routes (multiple allowed)",
253
+ permissionHint: "A button may carry several routes; granting it grants them all. A Query button carries the list and detail routes.",
254
+ configPerms: "Permissions ({n})",
255
+ showAllRoutes: "Show all apps' routes",
256
+ routesInApp: "This app",
257
+ routesOther: "Other apps",
258
+ module: "App",
259
+ moduleHint: "Top-level catalog only",
260
+ linkHint: "External / embed: an http(s) URL in Path = external link (new window); an http(s) URL in Component = embedded iframe.",
261
+ moduleAll: "All",
262
+ moduleUnassigned: "Unassigned",
263
+ path: "Route path",
264
+ component: "Component",
265
+ icon: "Icon",
266
+ sort: "Sort",
267
+ visible: "Sidebar visible",
268
+ titleRequired: "Enter a title",
269
+ addTitle: "Add menu",
270
+ editTitle: "Edit menu",
271
+ addChild: "Add child",
272
+ buttons: "Buttons",
273
+ buttonManagerTitle: '"{title}" · Buttons',
274
+ buttonParent: "Parent page",
275
+ addButton: "Add button",
276
+ batchFromRoutes: "Add from routes",
277
+ batchTitle: "Add buttons from routes",
278
+ batchSearchPlaceholder: "Search method / path / title",
279
+ noRoutesLeft: "No routes to add (all covered by this menu, or the route list is empty)",
280
+ btnQuery: "Query",
281
+ btnCreate: "Create",
282
+ btnUpdate: "Edit",
283
+ btnDelete: "Delete",
284
+ deleteConfirm: 'Delete menu "{title}"?',
285
+ disableConfirm: 'Disable menu "{title}"? Its children will be hidden too',
286
+ saved: "Saved",
287
+ deleted: "Deleted"
288
+ },
289
+ iconPicker: {
290
+ placeholder: "Select icon",
291
+ title: "Select icon",
292
+ search: "Search icon name…",
293
+ local: "Local SVG",
294
+ online: "Online",
295
+ onlinePlaceholder: "Any iconify name, e.g. mdi:home",
296
+ use: "Use",
297
+ offlineHint: "Offline — online icons not bundled cannot be previewed",
298
+ empty: "No matching icon",
299
+ more: "{n} more — keep typing to narrow"
300
+ },
301
+ // SmartTable (smart-naive-table) chrome text; search/reset/density reuse common/app keys, injected globally in createSmartAdmin.ts
302
+ table: {
303
+ refresh: "Refresh",
304
+ columnSettings: "Columns",
305
+ columnSettingsReset: "Restore defaults",
306
+ fixedLeft: "Pin left",
307
+ fixedRight: "Pin right",
308
+ fixedNone: "Unpin",
309
+ expand: "Expand",
310
+ collapse: "Collapse",
311
+ // TableZoomButton (blow a wide table up to the full viewport)
312
+ zoom: "Zoom in",
313
+ zoomExit: "Zoom out"
314
+ },
315
+ workbench: {
316
+ welcome: "Hello, {name}",
317
+ subtitle: "SmartAdmin · Enterprise RBAC console",
318
+ roles: "Roles",
319
+ users: "Authorized users",
320
+ perms: "Permissions",
321
+ online: "Online sessions",
322
+ trendTitle: "Activity (last 7 days)",
323
+ distributionTitle: "Resource distribution",
324
+ trendLogins: "Logins",
325
+ trendActive: "Active users"
326
+ },
327
+ // Business app workbench (dashboard/biz.vue; real data, an app overrides the same page key with its own stats)
328
+ biz: {
329
+ welcome: "Welcome back, {name}",
330
+ subtitle: "App workbench",
331
+ quick: "Quick access",
332
+ notices: "My notifications",
333
+ viewAll: "View all",
334
+ noMenus: "No menus in this app yet"
335
+ },
336
+ user: {
337
+ title: "Users",
338
+ account: "Account",
339
+ name: "Name",
340
+ status: "Status",
341
+ enabled: "Enabled",
342
+ disabled: "Disabled",
343
+ superAdmin: "Super",
344
+ createTime: "Created",
345
+ // Write-side field (create/edit only)
346
+ password: "Initial password",
347
+ passwordHint: "Leave blank to auto-generate one (shown once after creation)",
348
+ org: "Org",
349
+ allOrgs: "All",
350
+ orgPlaceholder: "Select org (optional)",
351
+ position: "Position",
352
+ positionPlaceholder: "Select position (optional)",
353
+ director: "Manager",
354
+ directorPlaceholder: "Select manager (optional)",
355
+ nickname: "Nickname",
356
+ nicknamePlaceholder: "Nickname (optional)",
357
+ phone: "Phone",
358
+ phonePlaceholder: "Phone (optional)",
359
+ phoneInvalid: "Invalid phone number",
360
+ email: "Email",
361
+ emailPlaceholder: "Email (optional)",
362
+ emailInvalid: "Invalid email",
363
+ gender: "Gender",
364
+ genderPlaceholder: "Select gender (optional)",
365
+ avatar: "Avatar",
366
+ avatarUploading: "Uploading…",
367
+ roles: "Roles",
368
+ rolesPlaceholder: "Assign roles (optional)",
369
+ accountRequired: "Enter an account",
370
+ nameRequired: "Enter a name",
371
+ addTitle: "Add user",
372
+ editTitle: "Edit user",
373
+ deleteConfirm: 'Delete user "{name}"?',
374
+ disableConfirm: 'Disable user "{name}"?',
375
+ saved: "Saved",
376
+ deleted: "Deleted",
377
+ resetPassword: "Reset password",
378
+ newPassword: "New password",
379
+ newPasswordHint: "Leave blank to auto-generate one",
380
+ resetDone: "Password reset",
381
+ createDone: "User created",
382
+ resetDoneHint: "Relay the initial password below to the user; it will not show again after closing:",
383
+ copy: "Copy",
384
+ copied: "Copied to clipboard",
385
+ copyFailed: "Copy failed, please select manually",
386
+ forceTotp: "Require authenticator",
387
+ totpBound: "Authenticator bound",
388
+ issueTotpInvite: "Invite authenticator",
389
+ clearMfa: "Unbind authenticator",
390
+ clearMfaConfirm: 'Unbind authenticator for "{name}"? They must set it up again before two-factor sign-in works.',
391
+ mfaCleared: "Authenticator unbound for user",
392
+ totpInviteTitle: "Authenticator invite for {name}",
393
+ totpInviteOnce: "This invitation is shown only now. Send the link or token to the user through an approved channel.",
394
+ totpInviteUrl: "Binding link",
395
+ totpInviteToken: "Invite token",
396
+ totpInviteExpires: "Expires at"
397
+ },
398
+ mfa: {
399
+ bindTitle: "Set up authenticator",
400
+ recoveryTitle: "Use recovery code",
401
+ useRecovery: "Use a recovery code",
402
+ backToBind: "Set up authenticator",
403
+ stepVerify: "Verify",
404
+ stepAuthenticator: "Authenticator",
405
+ stepRecovery: "Recovery codes",
406
+ bindHint: "Enter your account and current password to enroll (TOTP must be enabled by the admin).",
407
+ account: "Account",
408
+ currentPassword: "Current password",
409
+ startBind: "Start setup",
410
+ bindRequired: "Enter your account and current password",
411
+ scanSetupHint: "Scan the QR code with Google Authenticator, Microsoft Authenticator, or a similar app.",
412
+ manualSetupHint: "If you cannot scan, enter the key manually in your authenticator app, then type the current 6-digit code.",
413
+ manualKey: "Manual setup key",
414
+ otpauthUri: "Authenticator URI",
415
+ authenticatorCode: "Authenticator code",
416
+ completeBind: "Complete setup",
417
+ codeRequired: "Enter the authenticator code",
418
+ recoveryOnce: "Save these recovery codes now. Each can be used once and they will not be displayed again. Download them to your device for safekeeping.",
419
+ copy: "Copy",
420
+ copied: "Copied to clipboard",
421
+ copyFailed: "Copy failed; select and copy manually",
422
+ copyAll: "Copy all codes",
423
+ downloadCodes: "Download",
424
+ recoveryDownloaded: "Recovery codes download started",
425
+ recoveryDownloadHeader: "SmartAdmin recovery codes (account: {account})",
426
+ recoveryDownloadFooter: "Each code can be used only once. Store offline and do not share.",
427
+ backToLogin: "Back to sign in",
428
+ recoveryHint: "A recovery code removes your authenticator and signs out existing sessions. Enroll again afterwards.",
429
+ recoveryCode: "Recovery code",
430
+ submitRecovery: "Use recovery code",
431
+ recoveryRequired: "Enter your account, current password, and recovery code",
432
+ recoveryDone: "Authenticator removed. Sign in again and complete a new self-service setup if required.",
433
+ bindStartResponseIncomplete: "The setup response was incomplete. Start the setup again.",
434
+ bindCompleteResponseIncomplete: "The setup response was incomplete. Start the setup again."
435
+ },
436
+ reauth: {
437
+ title: "Re-authenticate",
438
+ hint: "This is a high-risk change. Enter an authenticator code or your current password to continue (valid for about 5 minutes).",
439
+ method: "Method",
440
+ methodTotp: "Authenticator",
441
+ methodPassword: "Current password",
442
+ totpCode: "Code",
443
+ totpPlaceholder: "6-digit code",
444
+ totpRequired: "Enter the authenticator code",
445
+ password: "Current password",
446
+ passwordPlaceholder: "Current login password",
447
+ passwordRequired: "Enter your current password",
448
+ confirm: "Verify and continue"
449
+ },
450
+ // Import wizard / export column picker (maintained per template)
451
+ import: {
452
+ button: "Import",
453
+ wizardTitle: "Import users",
454
+ stepUpload: "Upload",
455
+ stepMapping: "Map columns",
456
+ stepPreview: "Preview & fix",
457
+ stepResult: "Done",
458
+ downloadTemplate: "Download template",
459
+ dropHint: "Click or drop an xlsx here",
460
+ dropSub: ".xlsx only; use template dropdown values for dict columns",
461
+ needFile: "Please choose a file first",
462
+ mappingHint: "Map file headers to target fields. Auto-matched ones are pre-selected.",
463
+ fileHeader: "File header",
464
+ targetColumn: "Target column",
465
+ unmap: "(Skip)",
466
+ summary: "{total} rows, {errors} with errors",
467
+ summaryDup: "plus {n} already existing",
468
+ onlyErrors: "Errors only",
469
+ revalidate: "Re-validate",
470
+ revalidated: "Re-validated: {errors}/{total} rows have errors",
471
+ errors: "Errors",
472
+ ok: "OK",
473
+ errorCount: "{n}",
474
+ dupTag: "Exists",
475
+ // Key suffix = the DuplicateStrategy value (0 skip / 1 overwrite / 2 error)
476
+ dupHint: {
477
+ 0: "This row already exists; it will be skipped on commit. No change needed.",
478
+ 1: "This row already exists; it will be updated on commit. No change needed.",
479
+ 2: "This row already exists and the current strategy treats that as a failure."
480
+ },
481
+ strategy: "Duplicates",
482
+ strategySkip: "Skip existing",
483
+ strategyOverwrite: "Overwrite existing",
484
+ strategyError: "Treat existing as error",
485
+ commit: "Commit import",
486
+ prev: "Back",
487
+ next: "Next",
488
+ resultTitle: "Import finished",
489
+ resultTotal: "Total {n}",
490
+ resultInserted: "Inserted {n}",
491
+ resultUpdated: "Updated {n}",
492
+ resultSkipped: "Skipped {n}",
493
+ resultFailed: "Failed {n}",
494
+ editFailures: "Edit failed rows",
495
+ downloadErrorReport: "Download error report",
496
+ noErrorRows: "No error rows"
497
+ },
498
+ export: {
499
+ button: "Export",
500
+ pickColumns: "Choose columns",
501
+ selectAll: "Select all",
502
+ confirm: "Export",
503
+ done: "Export started"
504
+ },
505
+ config: {
506
+ title: "Configs",
507
+ key: "Key",
508
+ name: "Name",
509
+ value: "Value",
510
+ group: "Group",
511
+ sort: "Sort",
512
+ remark: "Remark",
513
+ keyRequired: "Enter a key",
514
+ nameRequired: "Enter a name",
515
+ addTitle: "Add config",
516
+ editTitle: "Edit config",
517
+ deleteConfirm: 'Delete config "{name}"?',
518
+ saved: "Saved",
519
+ deleted: "Deleted",
520
+ groupManagedBy: 'This group belongs to the "{tab}" tab; saved configs appear there',
521
+ groupExtra: {
522
+ title: "Other configs in this group",
523
+ hint: "Configs in this group that the form above does not list. View, edit or delete them here."
524
+ },
525
+ tab: {
526
+ base: "General",
527
+ security: "Security",
528
+ externalAuth: "External login",
529
+ upload: "Upload",
530
+ job: "Scheduled jobs",
531
+ other: "Other"
532
+ },
533
+ job: {
534
+ logRetentionDays: "Log retention days",
535
+ alertEmails: "Alert emails",
536
+ alertEmailsHint: "Separate multiple emails with commas"
537
+ },
538
+ externalAuth: {
539
+ hint: "Choose which deployed third-party sign-in methods appear on the login page. Disabled methods are hidden and authorize is rejected. Secrets stay in server appsettings.",
540
+ empty: "No external login providers registered (install optional packages or configure OIDC)",
541
+ showOnLogin: "On login page",
542
+ hidden: "Hidden",
543
+ loginVisible: "Show on login page",
544
+ summary: "{total} methods · {on} shown on login",
545
+ summaryFull: "{total} total · {registered} configured · {on} on login",
546
+ reset: "Reset",
547
+ notConfigured: "Not configured",
548
+ notConfiguredTip: "Not registered on this deployment (package/secrets missing). Cannot show on login.",
549
+ linkByAccount: "Link by account",
550
+ linkByAccountConfirmTitle: "Turn on link by account?",
551
+ linkByAccountConfirm: "The first time someone signs in with {name}, if their {name} account ID is exactly the same as a local account, the two are bound and they are signed in directly. Super admins, disabled accounts and accounts already bound to {name} are never linked. Make sure both sides are the same people first, e.g. local accounts were synced from {name}."
552
+ },
553
+ base: {
554
+ siteTitle: "Site title",
555
+ logo: "Logo URL",
556
+ siteSubtitle: "Login subtitle",
557
+ copyright: "Copyright",
558
+ copyrightUrl: "Copyright link"
559
+ },
560
+ security: {
561
+ loginLock: {
562
+ title: "Login lockout",
563
+ maxFailCount: "Max fail count",
564
+ lockMinutes: "Lock minutes"
565
+ },
566
+ password: {
567
+ title: "Password complexity",
568
+ minLength: "Min length",
569
+ requireUpper: "Require uppercase",
570
+ requireLower: "Require lowercase",
571
+ requireDigit: "Require digit",
572
+ requireSpecial: "Require special char",
573
+ expireDays: "Password max age (days, 0 = never)",
574
+ historyCount: "Password history count (0 = off)"
575
+ },
576
+ session: {
577
+ title: "Session lifetime",
578
+ accessMinutes: "Access token (min)",
579
+ refreshMinutes: "Refresh token (min)"
580
+ },
581
+ captcha: {
582
+ title: "Login captcha",
583
+ enabled: "Enable login captcha",
584
+ type: "Captcha type",
585
+ types: { char: "Characters", path: "Stroke (anti-scrape)", math: "Arithmetic" }
586
+ },
587
+ totp: {
588
+ title: "Authenticator (TOTP)",
589
+ enabled: "Enable authenticator",
590
+ requireForSuperAdmin: "Require authenticator for super admin",
591
+ hint: "Toggles like login captcha — takes effect immediately. Per-user “require authenticator” only enforces at sign-in when this is on; users bind under Account security."
592
+ },
593
+ sms: {
594
+ title: "SMS verification",
595
+ hint: "The second factor only applies to users with a bound phone; in development, codes are printed to the backend log — production requires a real SMS provider (ISmsSender)."
596
+ },
597
+ mfa: { enabled: "Enable SMS second factor" },
598
+ smsLogin: { enabled: "Enable SMS code sign-in" },
599
+ rateLimit: {
600
+ title: "Rate limiting",
601
+ enabled: "Enable rate limiting",
602
+ windowSeconds: "Window (seconds)",
603
+ permitPerWindow: "Global requests / window",
604
+ authPermitPerWindow: "Auth-endpoint requests / window"
605
+ },
606
+ highSens: {
607
+ title: "High-sensitivity permissions (custom)",
608
+ hint: "Kernel defaults cannot be removed; only consumer custom codes can be added/deleted. Writes require recent reauth.",
609
+ code: "Permission code",
610
+ remark: "Remark",
611
+ codePh: "e.g. POST:/api/v1/biz/order",
612
+ remarkPh: "Optional remark",
613
+ codeRequired: "Permission code is required"
614
+ }
615
+ },
616
+ upload: {
617
+ title: "Upload limits",
618
+ maxSizeMb: "Max size (MB)",
619
+ allowedExtensions: "Allowed extensions",
620
+ extPlaceholder: "Type an extension, e.g. .jpg",
621
+ extTip: "With leading dot, lowercase; empty falls back to server default"
622
+ }
623
+ },
624
+ // Dict management (master-detail: types on the left, items on the right)
625
+ dict: {
626
+ title: "Dictionaries",
627
+ code: "Type code",
628
+ name: "Type name",
629
+ searchName: "Search name",
630
+ sort: "Sort",
631
+ remark: "Remark",
632
+ codeRequired: "Enter a type code",
633
+ nameRequired: "Enter a type name",
634
+ addTypeTitle: "Add dict type",
635
+ editTypeTitle: "Edit dict type",
636
+ typeDeleteConfirm: 'Delete dict type "{name}"? Its items will be removed too.',
637
+ typeSaved: "Saved",
638
+ typeDeleted: "Deleted",
639
+ itemsOf: 'Items of "{name}"',
640
+ selectTypeHint: "Select a dict type on the left to manage its items",
641
+ itemLabel: "Label",
642
+ itemValue: "Value",
643
+ itemLabelRequired: "Enter a label",
644
+ itemValueRequired: "Enter a value",
645
+ addItem: "Add item",
646
+ addItemTitle: "Add dict item",
647
+ editItemTitle: "Edit dict item",
648
+ itemDeleteConfirm: 'Delete dict item "{label}"?',
649
+ itemSaved: "Saved",
650
+ itemDeleted: "Deleted"
651
+ },
652
+ // Org management (tree table + parent-org tree select)
653
+ org: {
654
+ title: "Organizations",
655
+ searchPlaceholder: "Search name / code",
656
+ name: "Name",
657
+ code: "Code",
658
+ category: "Category",
659
+ categoryPlaceholder: "Select category",
660
+ sort: "Sort",
661
+ parent: "Parent org",
662
+ parentPlaceholder: "Select parent (blank = top level)",
663
+ nameRequired: "Enter a name",
664
+ codePlaceholder: "Leave blank to auto-generate",
665
+ addChild: "Add child",
666
+ addTitle: "Add org",
667
+ editTitle: "Edit org",
668
+ deleteConfirm: 'Delete org "{name}"?',
669
+ copy: "Copy",
670
+ copyTitle: "Copy org",
671
+ copyConfirm: 'This will copy "{name}" and all descendants. Cloned codes get a -copy suffix.',
672
+ copyNameLabel: "New org name",
673
+ copied: "Copied",
674
+ saved: "Saved",
675
+ deleted: "Deleted"
676
+ },
677
+ // File management (list + upload/download/delete)
678
+ file: {
679
+ title: "Files",
680
+ name: "File name",
681
+ extension: "Ext",
682
+ size: "Size",
683
+ contentType: "Type",
684
+ uploadTime: "Uploaded",
685
+ upload: "Upload",
686
+ uploadChunked: "Chunked upload",
687
+ uploaded: "Uploaded successfully",
688
+ download: "Download",
689
+ deleteConfirm: 'Delete file "{name}"?',
690
+ deleted: "Deleted"
691
+ },
692
+ // Notifications (NoticeController admin side: publish / list / delete)
693
+ notice: {
694
+ title: "Notifications",
695
+ mine: "My notifications",
696
+ status: "Status",
697
+ read: "Read",
698
+ unread: "Unread",
699
+ allRead: "All marked as read",
700
+ noticeTitle: "Title",
701
+ content: "Content",
702
+ type: "Type",
703
+ typeNotice: "Notice",
704
+ typeAnnouncement: "Announcement",
705
+ typeMessage: "Message",
706
+ receiver: "Recipients",
707
+ receiverAll: "Everyone",
708
+ receiverRole: "Roles",
709
+ receiverUser: "Users",
710
+ receiverPlaceholder: "Select recipients",
711
+ receiverRequired: "Select at least one recipient",
712
+ publishTime: "Published at",
713
+ publish: "Publish",
714
+ publishTitle: "Publish notification",
715
+ titleRequired: "Title is required",
716
+ deleteConfirm: 'Delete notification "{title}"?',
717
+ published: "Published",
718
+ deleted: "Deleted",
719
+ view: "View",
720
+ detailTitle: "Notification detail",
721
+ // Action buttons (optional at publish time, rendered under the body)
722
+ actions: "Actions",
723
+ actionsHint: 'Up to 5; a url starting with /api/ is called as an API, any other site path opens as a page; a label containing "." is translated as an i18n key',
724
+ actionCount: "{count} action(s)",
725
+ actionLabel: "Label",
726
+ actionMethod: "Method",
727
+ actionUrl: "Site path",
728
+ actionStyle: "Style",
729
+ actionStyleDefault: "Default",
730
+ actionStylePrimary: "Primary",
731
+ actionStyleError: "Danger",
732
+ actionNeedConfirm: "Confirm first",
733
+ actionNeedComment: "Ask for a comment",
734
+ actionAdd: "Add action",
735
+ actionConfirm: 'Run "{label}"?',
736
+ actionCommentPlaceholder: "Your comment (optional)",
737
+ actionDone: "Done",
738
+ actionInvalidUrl: "Invalid action url"
739
+ },
740
+ // Realtime (SignalR; instant push when SmartAdmin:Realtime:Enabled, else polling / lazy 401)
741
+ realtime: {
742
+ forcedLogout: "You have been signed out by an administrator"
743
+ },
744
+ // Online sessions (read-only + force logout)
745
+ session: {
746
+ title: "Online sessions",
747
+ account: "Account",
748
+ ip: "IP",
749
+ device: "Device",
750
+ loginTime: "Login time",
751
+ expiresAt: "Expires at",
752
+ kick: "Force logout",
753
+ self: "Current session",
754
+ kickConfirm: 'Force-logout the session of "{account}"? It will be invalidated immediately.',
755
+ kicked: "Forced logout",
756
+ mineTitle: "My sessions",
757
+ current: "This device",
758
+ kickMineConfirm: "Sign out the session on this device? It will be invalidated immediately."
759
+ },
760
+ // External login / SSO: callback result page + personal-center account bindings
761
+ oauth: {
762
+ processing: "Signing you in…",
763
+ backToLogin: "Returning to the sign-in page",
764
+ failed: "Third-party sign-in failed, please try again",
765
+ bindingsTitle: "Account bindings",
766
+ bindingsHint: "Bind a third-party account to sign in with one click. Binding redirects you to that provider to authorize once.",
767
+ bindingsTip: "Binding opens the provider for authorization. After unbinding you can no longer sign in with that account.",
768
+ boundCountLabel: "bound",
769
+ bindTip: "Use the button below to authorize and bind",
770
+ disabledTip: "This method is turned off; existing bindings can still be removed",
771
+ cannotBind: "Unavailable",
772
+ noProviders: "No third-party sign-in methods are enabled",
773
+ thirdParty: "third-party account",
774
+ pendingLinkTitle: "Link {name}",
775
+ pendingLinkHint: "This {name} is not linked yet. Sign in with your own system account; you will be asked to confirm binding after login. Do not open binding links from unknown sources.",
776
+ pendingLinkSuccess: "{name} linked. You can sign in with it next time.",
777
+ pendingLinkConfirmTitle: "Bind this third-party account?",
778
+ pendingLinkConfirmContent: "Bind {name}{identity} to the current account “{account}”. If this is not the account you just authorized, choose “Sign in only”.",
779
+ pendingLinkConfirmOk: "Bind",
780
+ pendingLinkConfirmSkip: "Sign in only",
781
+ pendingLinkIdentity: " ({display})",
782
+ bind: "Bind",
783
+ unbind: "Unbind",
784
+ bound: "Bound",
785
+ notBound: "Not bound",
786
+ boundAt: "Bound at {time}",
787
+ unbound: "Unbound",
788
+ unbindConfirm: 'Unbind "{name}"? You will no longer be able to sign in with it.',
789
+ disabled: "Disabled",
790
+ // Built-in brand display names (used when the backend sends no displayName)
791
+ brand: {
792
+ github: "GitHub",
793
+ wechat: "WeChat",
794
+ wecom: "WeCom",
795
+ dingtalk: "DingTalk",
796
+ gitee: "Gitee",
797
+ qq: "QQ"
798
+ }
799
+ },
800
+ // Position management (plain CRUD; positions are not linked to orgs)
801
+ position: {
802
+ title: "Positions",
803
+ code: "Code",
804
+ name: "Name",
805
+ sort: "Sort",
806
+ codePlaceholder: "Auto-generated if empty",
807
+ nameRequired: "Enter a name",
808
+ addTitle: "Add position",
809
+ editTitle: "Edit position",
810
+ deleteConfirm: 'Delete position "{name}"?',
811
+ saved: "Saved",
812
+ deleted: "Deleted"
813
+ },
814
+ role: {
815
+ title: "Roles",
816
+ code: "Code",
817
+ name: "Name",
818
+ sort: "Sort",
819
+ remark: "Remark",
820
+ codeRequired: "Enter a code",
821
+ nameRequired: "Enter a name",
822
+ addTitle: "Add role",
823
+ editTitle: "Edit role",
824
+ deleteConfirm: 'Delete role "{name}"? Its grants, data scope and user links will be removed.',
825
+ deleteConfirmNoUsers: 'Delete role "{name}"? No user currently holds it.',
826
+ deleteConfirmWithUsers: 'Role "{name}" is held by {count} user(s). Deleting it strips those users of every permission it grants, and the links cannot be restored. Delete anyway?',
827
+ batchDeleteWithUsers: "Delete the {count} selected role(s)? {users} user(s) will immediately lose the permissions they grant, and the links cannot be restored.",
828
+ isDelegatable: "Delegatable",
829
+ isDelegatableHint: "When enabled, non-superadmin users can assign this role to users within their data scope",
830
+ grantUsers: "Grant users",
831
+ grantUsersSaved: "User grants saved",
832
+ saved: "Saved",
833
+ deleted: "Deleted",
834
+ grantMenus: "Grant menus",
835
+ grantSaved: "Grants saved",
836
+ catalog: "Directory",
837
+ menuCol: "Menu",
838
+ buttonsCol: "Buttons",
839
+ apiOnlyRow: "API only (no page)",
840
+ dataScope: "Data scope",
841
+ scopeType: "Scope type",
842
+ customOrgs: "Custom orgs",
843
+ customOrgsHint: "Select orgs visible to this role",
844
+ scopeSaved: "Data scope saved",
845
+ scope: {
846
+ all: "All data",
847
+ org: "Own org",
848
+ orgAndChildren: "Own org & below",
849
+ self: "Self only",
850
+ custom: "Custom orgs"
851
+ }
852
+ },
853
+ log: {
854
+ loginTitle: "Login logs",
855
+ account: "Account",
856
+ result: "Result",
857
+ success: "Success",
858
+ failed: "Failed",
859
+ resultCode: "Code",
860
+ name: "Name",
861
+ ip: "IP",
862
+ userAgent: "Client",
863
+ device: "Device",
864
+ clear: "Clear logs",
865
+ clearLoginConfirm: "Clear all login logs? This is a hard delete and cannot be undone.",
866
+ cleared: "Cleared",
867
+ // Operation logs
868
+ opTitle: "Operation logs",
869
+ opName: "Operation",
870
+ method: "Method",
871
+ path: "Path",
872
+ elapsed: "Elapsed",
873
+ operator: "Operator",
874
+ operatorPlaceholder: "Select operator",
875
+ param: "Params",
876
+ exception: "Exception",
877
+ detail: "Detail",
878
+ clearOpConfirm: "Clear all operation logs? This is a hard delete and cannot be undone.",
879
+ // Exception logs
880
+ exceptionTitle: "Exception logs",
881
+ exceptionType: "Exception type",
882
+ exceptionMessage: "Message",
883
+ stackTrace: "Stack trace",
884
+ traceId: "Trace ID",
885
+ clearExceptionConfirm: "Clear all exception logs? This is a hard delete and cannot be undone."
886
+ },
887
+ monitor: {
888
+ title: "Server monitor",
889
+ refresh: "Refresh",
890
+ cpu: "CPU usage",
891
+ memory: "Memory usage",
892
+ runtime: "Runtime",
893
+ disk: "Disk",
894
+ processorCount: "Processors",
895
+ threadCount: "Threads",
896
+ gcHeap: "GC heap",
897
+ totalMemory: "Available",
898
+ machineName: "Machine",
899
+ framework: "Framework",
900
+ os: "OS",
901
+ arch: "Arch",
902
+ uptime: "Uptime",
903
+ free: "Free",
904
+ days: "d",
905
+ hours: "h",
906
+ minutes: "m"
907
+ },
908
+ // Scheduled jobs (job list / run logs / monitor / CronEditor; error texts live in error.job.*, do not duplicate)
909
+ job: {
910
+ title: "Scheduled Jobs",
911
+ name: "Job name",
912
+ code: "Job code",
913
+ codePlaceholder: "Unique code, immutable after creation",
914
+ remark: "Remark",
915
+ nameRequired: "Please enter the job name",
916
+ codeRequired: "Please enter the job code",
917
+ addTitle: "New job",
918
+ editTitle: "Edit job",
919
+ deleteConfirm: 'Delete job "{name}"?',
920
+ saved: "Saved; takes effect within 30 seconds across the cluster",
921
+ deleted: "Deleted",
922
+ runOnce: "Run",
923
+ runConfirm: 'Run job "{name}" once now? This run does not affect its schedule.',
924
+ runStarted: "Run triggered",
925
+ viewLogs: "Logs",
926
+ protectedTip: "Built-in job is protected from deletion",
927
+ pauseConfirm: 'Pause job "{name}"? It will no longer be scheduled.',
928
+ panicTooltip: "Tripped after {n} consecutive failures; re-enabling resets the counter and resumes scheduling",
929
+ nextRunTime: "Next run",
930
+ lastRunTime: "Last run",
931
+ runCount: "Runs / Errors",
932
+ status: { ready: "Ready", paused: "Paused", completed: "Completed", panic: "Panic" },
933
+ form: {
934
+ sectionBasic: "Basic",
935
+ sectionTrigger: "Trigger",
936
+ sectionHandler: "Payload",
937
+ sectionAdvanced: "Advanced",
938
+ sectionAdvancedHint: "Active window, misfire, concurrency, retry and alerting — saving works without opening this",
939
+ startTime: "Active from",
940
+ endTime: "Active until",
941
+ windowPlaceholder: "Empty = unlimited",
942
+ misfireStrategy: "Misfire strategy",
943
+ misfireSkip: "Skip",
944
+ misfireFireOnceNow: "Fire once now",
945
+ concurrencyMode: "Concurrency",
946
+ concurrencySerial: "Serial (skip overlap)",
947
+ concurrencyParallel: "Parallel",
948
+ timeoutSeconds: "Timeout (s)",
949
+ timeoutHint: "0 = unlimited",
950
+ retryCount: "Retry count",
951
+ retryIntervalSeconds: "Retry interval (s)",
952
+ failAlertThreshold: "Failure alert threshold",
953
+ failAlertHint: "0 = no alert, no panic",
954
+ alertByNotice: "Alert via notice",
955
+ alertEmails: "Alert emails",
956
+ alertEmailsPlaceholder: "Comma separated; empty falls back to global config"
957
+ },
958
+ trigger: {
959
+ kind: "Trigger",
960
+ cron: "Cron",
961
+ interval: "Fixed interval",
962
+ oneShot: "One-shot",
963
+ cronExpression: "Cron expression",
964
+ cronRequired: "Please enter a cron expression",
965
+ intervalSeconds: "Interval seconds",
966
+ intervalRequired: "Please enter interval seconds (≥5)",
967
+ oneShotTime: "Run at",
968
+ oneShotRequired: "Please pick the run time",
969
+ seconds: "s",
970
+ everySeconds: "Every {n}s"
971
+ },
972
+ handler: {
973
+ kind: "Payload type",
974
+ compiled: "Compiled",
975
+ http: "HTTP",
976
+ sql: "SQL",
977
+ sqlDisabledHint: "SQL payloads are off — the backend must set SmartAdmin:Jobs:Sql:Enabled",
978
+ name: "Handler",
979
+ namePlaceholder: "Pick a registered handler",
980
+ nameRequired: "Please pick a handler",
981
+ props: "Properties",
982
+ propKey: "Key",
983
+ propValue: "Value",
984
+ addProp: "Add item",
985
+ httpUrl: "Request URL",
986
+ httpUrlRequired: "Please enter the request URL",
987
+ httpMethod: "Method",
988
+ httpHeaders: "Headers",
989
+ headersMaskHint: "For security, stored header values show as ********; leave unchanged to keep them as-is",
990
+ httpBody: "Body",
991
+ successStatuses: "Success statuses",
992
+ successStatusesPlaceholder: "e.g. 200,201; empty = any 2xx",
993
+ sqlText: "SQL statement",
994
+ sqlRequired: "Please enter the SQL statement"
995
+ },
996
+ log: {
997
+ title: "Job Runs",
998
+ job: "Job",
999
+ jobPlaceholder: "Select job",
1000
+ fireMode: "Fired by",
1001
+ fireModeSchedule: "Schedule",
1002
+ fireModeManual: "Manual",
1003
+ fireModeBackfill: "Backfill",
1004
+ fireModeMisfireSkip: "Misfire skip",
1005
+ scheduledTime: "Scheduled at",
1006
+ startTime: "Started at",
1007
+ elapsed: "Elapsed",
1008
+ runStatus: "Status",
1009
+ running: "Running",
1010
+ success: "Success",
1011
+ failed: "Failed",
1012
+ timeout: "Timeout",
1013
+ cancelled: "Cancelled",
1014
+ skipped: "Skipped",
1015
+ retryIndex: "Retry",
1016
+ node: "Node",
1017
+ kill: "Kill",
1018
+ killConfirm: 'Kill this run of "{name}"? Once the flag is written, the executing node stops within seconds.',
1019
+ killed: "Kill requested",
1020
+ clear: "Clear logs",
1021
+ clearTitle: "Clear run logs",
1022
+ clearAll: "All records",
1023
+ beforeDays: "Older than {n} days",
1024
+ clearHint: "Running records are always kept; this is a hard delete and cannot be undone.",
1025
+ cleared: "Removed {n} records",
1026
+ message: "Handler output",
1027
+ error: "Error",
1028
+ attempts: "Attempts of the same fire",
1029
+ firstTry: "First try",
1030
+ retryN: "Retry #{n}"
1031
+ },
1032
+ monitor: {
1033
+ title: "Job Monitor",
1034
+ todaySuccess: "Success today",
1035
+ todayFailed: "Failed today",
1036
+ running: "Running",
1037
+ totalJobs: "Total jobs",
1038
+ trendTitle: "14-day success/failure trend",
1039
+ trendSuccess: "Success",
1040
+ trendFailed: "Failed",
1041
+ upcomingTitle: "Upcoming runs",
1042
+ upcomingJob: "Job",
1043
+ upcomingTime: "Time",
1044
+ nodesTitle: "Cluster nodes",
1045
+ nodeName: "Node",
1046
+ role: "Role",
1047
+ leader: "leader",
1048
+ standby: "standby",
1049
+ lastHeartbeat: "Last heartbeat",
1050
+ workerId: "WorkerId",
1051
+ pid: "PID",
1052
+ justNow: "just now",
1053
+ secondsAgo: "{n}s ago",
1054
+ minutesAgo: "{n}m ago",
1055
+ hoursAgo: "{n}h ago"
1056
+ },
1057
+ cron: {
1058
+ tabSecond: "Second",
1059
+ tabMinute: "Minute",
1060
+ tabHour: "Hour",
1061
+ tabDay: "Day",
1062
+ tabMonth: "Month",
1063
+ tabWeek: "Week",
1064
+ tabExpression: "Expression",
1065
+ every: "Every",
1066
+ any: "Not specified (?)",
1067
+ range: "Range",
1068
+ to: "to",
1069
+ step: "Step",
1070
+ stepFrom: "from",
1071
+ stepEvery: ", every",
1072
+ list: "Values",
1073
+ lastDay: "Last day (L)",
1074
+ lastDayHint: "0 = last day, n = n days before month end (L-n)",
1075
+ nearestWeekday: "Nearest weekday (nW)",
1076
+ nearestWeekdayHint: "Nearest weekday to that day, within the month",
1077
+ lastWeekday: "Last weekday (LW)",
1078
+ lastOfWeek: "Last weekday-of-month (nL)",
1079
+ nth: "Nth weekday (n#m)",
1080
+ nthPrefix: "the",
1081
+ nthInfix: "th",
1082
+ sun: "Sun",
1083
+ mon: "Mon",
1084
+ tue: "Tue",
1085
+ wed: "Wed",
1086
+ thu: "Thu",
1087
+ fri: "Fri",
1088
+ sat: "Sat",
1089
+ expressionPlaceholder: "e.g. 0 0 2 * * ? (sec min hour day month week)",
1090
+ expressionHint: "5 fields (seconds auto-filled) or 6; day and week cannot both be restricted — one must be * or ?",
1091
+ normalized: "Normalized",
1092
+ nextRuns: "Next {n} runs",
1093
+ noUpcoming: "No future occurrences",
1094
+ everySecondWarning: "This expression effectively fires every second — make sure that is intended"
1095
+ }
1096
+ },
1097
+ cache: {
1098
+ authTitle: "Permission cache",
1099
+ authDesc: "Clear every user's permission-code and data-scope cache. Forces authorization to be recomputed on the next request after direct DB edits or troubleshooting.",
1100
+ authConfirm: "Clear all users' permission / data-scope cache? Authorization will be recomputed on the next request.",
1101
+ dictTitle: "Dictionary cache",
1102
+ dictDesc: "Clear cached items for every dictionary type. Forces dropdown data sources to rebuild from the latest dictionaries after direct DB edits.",
1103
+ dictConfirm: "Clear all dictionary item cache?",
1104
+ configTitle: "Config cache",
1105
+ configDesc: "Clear the read-through cache of every system config item. Forces config values to be re-read from the latest tables after direct DB edits.",
1106
+ configConfirm: "Clear all system config cache?",
1107
+ portalTitle: "Portal menu cache",
1108
+ portalDesc: "Bump the portal generation, invalidating every user's module / menu-tree cache so it rebuilds on next entry.",
1109
+ portalConfirm: "Rebuild the portal menu cache? Every user's menu will be recomputed on their next request.",
1110
+ execute: "Execute",
1111
+ flushed: "Cleared {n} cache entries",
1112
+ portalDone: "Portal menu cache rebuilt",
1113
+ note: "Invalidation only — no key browsing, no value reads: the cache holds plaintext OTP / one-time tokens and keys embed phone numbers / IPs. Normal authorization changes already invalidate automatically; this page is for manual refresh after out-of-band changes such as direct DB edits."
1114
+ },
1115
+ profile: {
1116
+ title: "Profile",
1117
+ account: "Account",
1118
+ name: "Name",
1119
+ org: "Org",
1120
+ position: "Position",
1121
+ nickname: "Nickname",
1122
+ gender: "Gender",
1123
+ phone: "Phone",
1124
+ email: "Email",
1125
+ avatar: "Avatar",
1126
+ avatarUploading: "Uploading…",
1127
+ phoneInvalid: "Invalid phone number",
1128
+ emailInvalid: "Invalid email format",
1129
+ saved: "Profile updated"
1130
+ },
1131
+ personalSecurity: {
1132
+ title: "Account security",
1133
+ // Everyone: what the user can do — no admin console paths.
1134
+ hint: "Bind or manage your authenticator (TOTP) for sign-in two-factor verification.",
1135
+ // Admins only (super-admin / system-config access): points at Security policy toggle.
1136
+ adminHint: "If setup fails or sign-in never asks for a code, open System config → Security and ensure “Enable authenticator” is on.",
1137
+ bindDesc: "Self-service setup uses your account and current password. You can also use a recovery code to remove and rebind.",
1138
+ setupAuthenticator: "Set up authenticator",
1139
+ useRecovery: "Use recovery code",
1140
+ note: "Start voluntary setup from this page. If MFA is required and not bound yet, a prompt appears after password sign-in succeeds."
1141
+ },
1142
+ changePassword: {
1143
+ title: "Change password",
1144
+ oldPassword: "Current password",
1145
+ newPassword: "New password",
1146
+ confirmPassword: "Confirm new password",
1147
+ oldRequired: "Please enter your current password",
1148
+ newRequired: "Please enter a new password",
1149
+ confirmRequired: "Please confirm your new password",
1150
+ mismatch: "Passwords do not match",
1151
+ changed: "Password changed, please sign in again",
1152
+ forcedHint: "First login or password reset — please change your password before using the system.",
1153
+ strength: { label: "Password strength", weak: "Weak", fair: "Fair", strong: "Strong" },
1154
+ rules: {
1155
+ minLength: "At least {n} characters",
1156
+ upper: "Contains uppercase",
1157
+ lower: "Contains lowercase",
1158
+ digit: "Contains a digit",
1159
+ special: "Contains a special character",
1160
+ specialOptional: "Contains a special character (optional, stronger)"
1161
+ }
1162
+ },
1163
+ error: {
1164
+ _fallback: "Operation failed, please try again",
1165
+ // Client-side failures (not backend error codes): the timeout guard fired, or the call was cancelled
1166
+ network: {
1167
+ timeout: "Request timed out, check your connection and try again",
1168
+ aborted: "Request cancelled"
1169
+ },
1170
+ auth: {
1171
+ passwordWrong: "Incorrect account or password",
1172
+ captchaExpired: "Captcha expired",
1173
+ captchaWrong: "Incorrect captcha",
1174
+ accountLocked: "Account locked, try again later",
1175
+ accountDisabled: "Account disabled",
1176
+ tokenInvalid: "Invalid session, please sign in again",
1177
+ refreshTokenInvalid: "Session expired, please sign in again",
1178
+ tooManyRequests: "Too many requests, slow down",
1179
+ smsCodeRequired: "Please enter the SMS verification code",
1180
+ smsCodeWrong: "Incorrect SMS verification code",
1181
+ smsCodeExpired: "SMS verification code is incorrect or expired, please request a new one",
1182
+ smsLoginDisabled: "SMS code sign-in is not enabled",
1183
+ oauthProviderDisabled: "This third-party sign-in method is not enabled or does not exist",
1184
+ oauthStateInvalid: "Sign-in session expired, please start the third-party sign-in again",
1185
+ oauthExchangeFailed: "Third-party sign-in failed to resolve identity, please try again",
1186
+ oauthAccountNotBound: "This third-party account is not linked yet; sign in with your system account to complete linking",
1187
+ oauthAlreadyBound: "This third-party account is already bound, or the current account is already bound to the same provider",
1188
+ totpRequired: "Please enter the authenticator code to complete MFA",
1189
+ totpWrong: "Incorrect authenticator code",
1190
+ totpNotBound: "Authenticator is not bound yet; complete binding first",
1191
+ bindInviteInvalid: "Authenticator setup is invalid or expired. Start again.",
1192
+ mfaBindInvalid: "Authenticator setup is invalid or expired. Start again.",
1193
+ recoveryCodeInvalid: "Recovery code is invalid or already used",
1194
+ csrfInvalid: "Request validation failed; refresh the page and try again",
1195
+ reauthRequired: "This action requires re-authentication",
1196
+ mfaBindPasswordRequired: "Verify your current password before binding an authenticator",
1197
+ apiKeyInvalid: "API key missing or invalid"
1198
+ },
1199
+ perm: {
1200
+ denied: "Access denied",
1201
+ demoReadOnly: "Demo environment is read-only",
1202
+ superAdminRequired: "This action requires super admin privileges"
1203
+ },
1204
+ user: {
1205
+ notFound: "User not found",
1206
+ accountExists: "Account already exists",
1207
+ superAdminProtected: "Super admin is protected",
1208
+ passwordTooWeak: "New password does not meet the complexity policy",
1209
+ passwordReused: "New password must differ from your current and recently used passwords",
1210
+ outOfDataScope: "Target user is outside your data scope",
1211
+ avatarUrlInvalid: "Avatar URL is not allowed",
1212
+ cannotOperateSelf: "You cannot perform this action on yourself"
1213
+ },
1214
+ role: {
1215
+ notFound: "Role not found",
1216
+ codeExists: "Role code already exists",
1217
+ notDelegatable: "Role is not delegatable"
1218
+ },
1219
+ org: {
1220
+ notFound: "Org not found",
1221
+ hasChildren: "Org has children and cannot be deleted",
1222
+ invalidParent: "Invalid parent org",
1223
+ codeExists: "Org code already exists",
1224
+ hasUsers: "Org still has active users and cannot be deleted",
1225
+ outOfScope: "Target org is outside your data scope"
1226
+ },
1227
+ position: {
1228
+ notFound: "Position not found",
1229
+ codeExists: "Position code already exists",
1230
+ hasUsers: "Position still has active users and cannot be deleted"
1231
+ },
1232
+ module: {
1233
+ notFound: "App not found",
1234
+ codeExists: "App code already exists",
1235
+ protected: "Built-in app is protected",
1236
+ accessDenied: "No access to this app",
1237
+ hasMenus: "App still has menus attached; move or delete them first"
1238
+ },
1239
+ menu: {
1240
+ notFound: "Menu not found",
1241
+ hasChildren: "Menu has children and cannot be deleted",
1242
+ invalidParent: "Invalid parent menu (cannot be itself or its descendant)"
1243
+ },
1244
+ session: { notFound: "Session not found or already signed out" },
1245
+ dict: {
1246
+ typeNotFound: "Dict type not found",
1247
+ typeCodeExists: "Dict type code exists",
1248
+ itemNotFound: "Dict item not found",
1249
+ seedProtected: "Seed data is protected and cannot be deleted",
1250
+ itemValueExists: "Dict item value already exists under this type"
1251
+ },
1252
+ config: { notFound: "Config not found", keyExists: "Config key exists" },
1253
+ notice: {
1254
+ notFound: "Notification not found",
1255
+ receiverRequired: "At least one receiver must be specified",
1256
+ receiverNotFound: "Receiver does not exist or is disabled",
1257
+ actionInvalid: "Invalid action list: label required, method must be GET/POST, url must be a site path starting with a single /, at most 5 actions"
1258
+ },
1259
+ file: {
1260
+ empty: "Empty file",
1261
+ tooLarge: "File too large",
1262
+ extNotAllowed: "File type not allowed",
1263
+ notFound: "File not found",
1264
+ chunkMissing: "Missing chunk, please retry upload",
1265
+ chunkHashMismatch: "File integrity check failed, please re-upload"
1266
+ },
1267
+ excel: {
1268
+ providerMissing: "Excel support is not installed; install SmartAdmin.Excel and call AddSmartAdminExcel()"
1269
+ },
1270
+ import: {
1271
+ fileEmpty: "Import file is empty",
1272
+ rowLimitExceeded: "Import row count exceeds the limit",
1273
+ columnMissing: "A required column is not mapped",
1274
+ cellRequired: "This cell is required",
1275
+ cellDictInvalid: "Invalid dictionary value",
1276
+ cellRefNotFound: "Referenced data not found",
1277
+ cellFormatInvalid: "Invalid cell format",
1278
+ duplicateInFile: "Business key is duplicated within the file",
1279
+ duplicateInDb: "Business key already exists in the database",
1280
+ orgOutOfScope: "Organization is outside the current data scope"
1281
+ },
1282
+ export: {
1283
+ tooManyRows: "Export exceeds the row limit; narrow your filters first",
1284
+ columnInvalid: "Requested export column is not allowed"
1285
+ },
1286
+ job: {
1287
+ notFound: "Job not found",
1288
+ codeExists: "Job code already exists",
1289
+ cronInvalid: "Invalid cron expression",
1290
+ triggerInvalid: "Invalid trigger configuration",
1291
+ handlerNotFound: "Job handler not registered",
1292
+ alreadyRunning: "Previous run is still in progress",
1293
+ runNotAlive: "This run is not in progress",
1294
+ sqlDisabled: "SQL jobs are disabled",
1295
+ httpUrlBlocked: "Target URL rejected by security policy",
1296
+ statusConflict: "Operation not allowed in current job status",
1297
+ propsInvalid: "Job properties missing or invalid",
1298
+ logNotFound: "Job run record not found",
1299
+ runLimitReached: "Concurrent run limit reached, try again later",
1300
+ protected: "Built-in job is protected from deletion"
1301
+ },
1302
+ recycle: {
1303
+ notFound: "Deleted record not found",
1304
+ uniqueConflict: "Restore failed: code/account already taken by another record",
1305
+ invalidType: "Unsupported recycle bin type"
1306
+ },
1307
+ request: {
1308
+ pageSizeExceeded: "Page size exceeds the limit of {max}; use a smaller page or the export endpoint"
1309
+ },
1310
+ system: { internal: "Internal server error" }
1311
+ },
1312
+ // Recycle bin
1313
+ recycle: {
1314
+ title: "Recycle Bin",
1315
+ name: "Name",
1316
+ code: "Code",
1317
+ deletedAt: "Deleted at",
1318
+ restore: "Restore",
1319
+ purge: "Purge",
1320
+ restoreConfirm: 'Restore "{name}"?',
1321
+ purgeConfirm: 'Permanently delete "{name}"? This cannot be undone.',
1322
+ restored: "Restored",
1323
+ purged: "Permanently deleted",
1324
+ empty: "Recycle bin is empty",
1325
+ tabs: {
1326
+ user: "Users",
1327
+ role: "Roles",
1328
+ org: "Orgs",
1329
+ position: "Positions",
1330
+ module: "Modules",
1331
+ config: "Configs",
1332
+ dict: "Dicts",
1333
+ menu: "Menus",
1334
+ job: "Jobs"
1335
+ }
1336
+ },
1337
+ // User import / export: column titles + file names (mirror UserImportProfile / UserExportProfile columns)
1338
+ userExport: {
1339
+ account: "Account",
1340
+ name: "Name",
1341
+ nickname: "Nickname",
1342
+ phone: "Phone",
1343
+ email: "Email",
1344
+ gender: "Gender",
1345
+ orgName: "Organization",
1346
+ positionName: "Position",
1347
+ directorName: "Director",
1348
+ enabled: "Enabled",
1349
+ superAdmin: "Super Admin",
1350
+ createTime: "Created At",
1351
+ fileName: "users.xlsx",
1352
+ importTemplateName: "user-import-template.xlsx",
1353
+ errorReportName: "user-import-errors.xlsx"
1354
+ },
1355
+ logOp: {
1356
+ fileName: "op-logs.xlsx"
1357
+ }
1358
+ };
1359
+ export {
1360
+ e as default
1361
+ };
1362
+ //# sourceMappingURL=en-US.js.map