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 @@
1
+ {"version":3,"file":"password.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,147 @@
1
+ import { defineComponent as N, reactive as x, ref as P, openBlock as g, createBlock as h, unref as e, withCtx as t, createTextVNode as v, toDisplayString as y, createCommentVNode as R, createVNode as a, withKeys as q } from "vue";
2
+ import { useRouter as C } from "vue-router";
3
+ import { useMessage as A, NCard as I, NAlert as S, NForm as U, NFormItem as u, NInput as w, NButton as V } from "naive-ui";
4
+ import { useI18n as B } from "vue-i18n";
5
+ import E from "../../components/PasswordStrength/index.vue.js";
6
+ import { personalApi as F, authApi as K } from "../../api/index.js";
7
+ import { beginVoluntaryLogout as D } from "../../composables/useRealtime.js";
8
+ import { useUserStore as H } from "../../stores/user.js";
9
+ import { useAuthStore as L } from "../../stores/auth.js";
10
+ import { resetRouter as M } from "../../router/index.js";
11
+ import { translateError as T } from "../../utils/error.js";
12
+ const re = /* @__PURE__ */ N({
13
+ __name: "password",
14
+ setup(j) {
15
+ const { t: r } = B(), i = A(), b = C(), m = H(), _ = L(), o = x({ oldPassword: "", newPassword: "", confirmPassword: "" }), d = P(!1), p = P(null), k = {
16
+ oldPassword: {
17
+ required: !0,
18
+ message: () => r("changePassword.oldRequired"),
19
+ trigger: ["input", "blur"]
20
+ },
21
+ newPassword: {
22
+ required: !0,
23
+ message: () => r("changePassword.newRequired"),
24
+ trigger: ["input", "blur"]
25
+ },
26
+ confirmPassword: {
27
+ required: !0,
28
+ // 两次不一致必须自己写 validator:naive 没有内置的"等于另一字段"规则
29
+ validator: (l, s) => s ? s !== o.newPassword ? new Error(r("changePassword.mismatch")) : !0 : new Error(r("changePassword.confirmRequired")),
30
+ trigger: ["input", "blur"]
31
+ }
32
+ };
33
+ async function c() {
34
+ var l;
35
+ await ((l = p.value) == null ? void 0 : l.validate()), d.value = !0;
36
+ try {
37
+ await F.updatePassword({
38
+ oldPassword: o.oldPassword,
39
+ newPassword: o.newPassword
40
+ }), i.success(r("changePassword.changed")), await D();
41
+ try {
42
+ await K.logout();
43
+ } catch {
44
+ }
45
+ M(), _.reset(), m.clear(), b.replace("/login");
46
+ } catch (s) {
47
+ i.error(T(s));
48
+ } finally {
49
+ d.value = !1;
50
+ }
51
+ }
52
+ return (l, s) => (g(), h(e(I), {
53
+ bordered: !0,
54
+ title: e(r)("changePassword.title"),
55
+ style: { "max-width": "460px" }
56
+ }, {
57
+ default: t(() => {
58
+ var f;
59
+ return [
60
+ (f = e(m).userInfo) != null && f.mustChangePassword ? (g(), h(e(S), {
61
+ key: 0,
62
+ type: "warning",
63
+ style: { "margin-bottom": "16px" }
64
+ }, {
65
+ default: t(() => [
66
+ v(y(e(r)("changePassword.forcedHint")), 1)
67
+ ]),
68
+ _: 1
69
+ })) : R("", !0),
70
+ a(e(U), {
71
+ ref_key: "formRef",
72
+ ref: p,
73
+ model: o,
74
+ rules: k,
75
+ "label-placement": "top"
76
+ }, {
77
+ default: t(() => [
78
+ a(e(u), {
79
+ label: e(r)("changePassword.oldPassword"),
80
+ path: "oldPassword"
81
+ }, {
82
+ default: t(() => [
83
+ a(e(w), {
84
+ value: o.oldPassword,
85
+ "onUpdate:value": s[0] || (s[0] = (n) => o.oldPassword = n),
86
+ type: "password",
87
+ "show-password-on": "click"
88
+ }, null, 8, ["value"])
89
+ ]),
90
+ _: 1
91
+ }, 8, ["label"]),
92
+ a(e(u), {
93
+ label: e(r)("changePassword.newPassword"),
94
+ path: "newPassword"
95
+ }, {
96
+ default: t(() => [
97
+ a(e(w), {
98
+ value: o.newPassword,
99
+ "onUpdate:value": s[1] || (s[1] = (n) => o.newPassword = n),
100
+ type: "password",
101
+ "show-password-on": "click"
102
+ }, null, 8, ["value"])
103
+ ]),
104
+ _: 1
105
+ }, 8, ["label"]),
106
+ a(E, {
107
+ value: o.newPassword
108
+ }, null, 8, ["value"]),
109
+ a(e(u), {
110
+ label: e(r)("changePassword.confirmPassword"),
111
+ path: "confirmPassword"
112
+ }, {
113
+ default: t(() => [
114
+ a(e(w), {
115
+ value: o.confirmPassword,
116
+ "onUpdate:value": s[2] || (s[2] = (n) => o.confirmPassword = n),
117
+ type: "password",
118
+ "show-password-on": "click",
119
+ onKeyup: q(c, ["enter"])
120
+ }, null, 8, ["value"])
121
+ ]),
122
+ _: 1
123
+ }, 8, ["label"]),
124
+ a(e(V), {
125
+ type: "primary",
126
+ block: "",
127
+ loading: d.value,
128
+ onClick: c
129
+ }, {
130
+ default: t(() => [
131
+ v(y(e(r)("common.submit")), 1)
132
+ ]),
133
+ _: 1
134
+ }, 8, ["loading"])
135
+ ]),
136
+ _: 1
137
+ }, 8, ["model"])
138
+ ];
139
+ }),
140
+ _: 1
141
+ }, 8, ["title"]));
142
+ }
143
+ });
144
+ export {
145
+ re as default
146
+ };
147
+ //# sourceMappingURL=password2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password2.vue.js","sources":["../../../src/views/personal/password.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { reactive, ref } from 'vue'\nimport { useRouter } from 'vue-router'\nimport {\n NCard,\n NForm,\n NFormItem,\n NInput,\n NButton,\n NAlert,\n useMessage,\n type FormInst,\n type FormRules,\n} from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport PasswordStrength from '#/components/PasswordStrength/index.vue'\nimport { personalApi, authApi } from '#/api'\nimport { beginVoluntaryLogout } from '#/composables/useRealtime'\nimport { useUserStore } from '#/stores/user'\nimport { useAuthStore } from '#/stores/auth'\nimport { resetRouter } from '#/router'\nimport { translateError } from '#/utils/error'\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst router = useRouter()\nconst user = useUserStore()\nconst auth = useAuthStore()\n\nconst model = reactive({ oldPassword: '', newPassword: '', confirmPassword: '' })\nconst saving = ref(false)\nconst formRef = ref<FormInst | null>(null)\n\n// 校验落在表单项上(全站一致),不用 toast —— toast 飘在角落、不指向出错的那一栏,且会被后续消息挤掉。\n// ponytail: 密码复杂度不进 rules。PasswordStrength 已在输入时逐条实时显示策略清单,后端也强制(弱口令返 passwordTooWeak),\n// 再抄一份到 rules 就是第三处真源,策略一改三处都要跟。\nconst rules: FormRules = {\n oldPassword: {\n required: true,\n message: () => t('changePassword.oldRequired'),\n trigger: ['input', 'blur'],\n },\n newPassword: {\n required: true,\n message: () => t('changePassword.newRequired'),\n trigger: ['input', 'blur'],\n },\n confirmPassword: {\n required: true,\n // 两次不一致必须自己写 validator:naive 没有内置的\"等于另一字段\"规则\n validator: (_rule, value: string) =>\n !value\n ? new Error(t('changePassword.confirmRequired'))\n : value !== model.newPassword\n ? new Error(t('changePassword.mismatch'))\n : true,\n trigger: ['input', 'blur'],\n },\n}\n\nasync function submit() {\n // validate() 必须留在 try 之外:校验失败是 reject,落进下面的 catch 会被 translateError 翻成一条\n // 不知所云的错误 toast —— 而红字已经打在表单项上了(参照 system/user/index.vue 的 save())。\n await formRef.value?.validate()\n\n saving.value = true\n try {\n await personalApi.updatePassword({\n oldPassword: model.oldPassword,\n newPassword: model.newPassword,\n })\n message.success(t('changePassword.changed'))\n // 改密后强制重新登录(自愿路径:先断实时,避免 force-logout 误弹「被强制下线」)\n await beginVoluntaryLogout()\n try {\n await authApi.logout()\n } catch {\n /* 尽力而为 */\n }\n resetRouter()\n auth.reset()\n user.clear()\n router.replace('/login')\n } catch (e) {\n message.error(translateError(e))\n } finally {\n saving.value = false\n }\n}\n</script>\n\n<template>\n <n-card :bordered=\"true\" :title=\"t('changePassword.title')\" style=\"max-width: 460px\">\n <n-alert v-if=\"user.userInfo?.mustChangePassword\" type=\"warning\" style=\"margin-bottom: 16px\">\n {{ t('changePassword.forcedHint') }}\n </n-alert>\n <n-form ref=\"formRef\" :model=\"model\" :rules=\"rules\" label-placement=\"top\">\n <n-form-item :label=\"t('changePassword.oldPassword')\" path=\"oldPassword\">\n <n-input v-model:value=\"model.oldPassword\" type=\"password\" show-password-on=\"click\" />\n </n-form-item>\n <n-form-item :label=\"t('changePassword.newPassword')\" path=\"newPassword\">\n <n-input v-model:value=\"model.newPassword\" type=\"password\" show-password-on=\"click\" />\n </n-form-item>\n <PasswordStrength :value=\"model.newPassword\" />\n <n-form-item :label=\"t('changePassword.confirmPassword')\" path=\"confirmPassword\">\n <n-input\n v-model:value=\"model.confirmPassword\"\n type=\"password\"\n show-password-on=\"click\"\n @keyup.enter=\"submit\"\n />\n </n-form-item>\n <!-- 不用 :disabled 做第二重必填:必填已经是 rules 的事,禁用按钮反而让人不知道缺什么 -->\n <n-button type=\"primary\" block :loading=\"saving\" @click=\"submit\">\n {{ t('common.submit') }}\n </n-button>\n </n-form>\n </n-card>\n</template>\n"],"names":["t","useI18n","message","useMessage","router","useRouter","user","useUserStore","auth","useAuthStore","model","reactive","saving","ref","formRef","rules","_rule","value","submit","_a","personalApi","beginVoluntaryLogout","authApi","resetRouter","e","translateError","_createBlock","_unref","NCard","NAlert","_createVNode","NForm","NFormItem","NInput","_cache","$event","PasswordStrength","NButton"],"mappings":";;;;;;;;;;;;;;AAuBA,UAAM,EAAE,GAAAA,EAAA,IAAMC,EAAA,GACRC,IAAUC,EAAA,GACVC,IAASC,EAAA,GACTC,IAAOC,EAAA,GACPC,IAAOC,EAAA,GAEPC,IAAQC,EAAS,EAAE,aAAa,IAAI,aAAa,IAAI,iBAAiB,IAAI,GAC1EC,IAASC,EAAI,EAAK,GAClBC,IAAUD,EAAqB,IAAI,GAKnCE,IAAmB;AAAA,MACvB,aAAa;AAAA,QACX,UAAU;AAAA,QACV,SAAS,MAAMf,EAAE,4BAA4B;AAAA,QAC7C,SAAS,CAAC,SAAS,MAAM;AAAA,MAAA;AAAA,MAE3B,aAAa;AAAA,QACX,UAAU;AAAA,QACV,SAAS,MAAMA,EAAE,4BAA4B;AAAA,QAC7C,SAAS,CAAC,SAAS,MAAM;AAAA,MAAA;AAAA,MAE3B,iBAAiB;AAAA,QACf,UAAU;AAAA;AAAA,QAEV,WAAW,CAACgB,GAAOC,MAChBA,IAEGA,MAAUP,EAAM,cACd,IAAI,MAAMV,EAAE,yBAAyB,CAAC,IACtC,KAHF,IAAI,MAAMA,EAAE,gCAAgC,CAAC;AAAA,QAInD,SAAS,CAAC,SAAS,MAAM;AAAA,MAAA;AAAA,IAC3B;AAGF,mBAAekB,IAAS;;AAGtB,cAAMC,IAAAL,EAAQ,UAAR,gBAAAK,EAAe,aAErBP,EAAO,QAAQ;AACf,UAAI;AACF,cAAMQ,EAAY,eAAe;AAAA,UAC/B,aAAaV,EAAM;AAAA,UACnB,aAAaA,EAAM;AAAA,QAAA,CACpB,GACDR,EAAQ,QAAQF,EAAE,wBAAwB,CAAC,GAE3C,MAAMqB,EAAA;AACN,YAAI;AACF,gBAAMC,EAAQ,OAAA;AAAA,QAChB,QAAQ;AAAA,QAER;AACA,QAAAC,EAAA,GACAf,EAAK,MAAA,GACLF,EAAK,MAAA,GACLF,EAAO,QAAQ,QAAQ;AAAA,MACzB,SAASoB,GAAG;AACV,QAAAtB,EAAQ,MAAMuB,EAAeD,CAAC,CAAC;AAAA,MACjC,UAAA;AACE,QAAAZ,EAAO,QAAQ;AAAA,MACjB;AAAA,IACF;2BAIEc,EAyBSC,EAAAC,CAAA,GAAA;AAAA,MAzBA,UAAU;AAAA,MAAO,OAAOD,EAAA3B,CAAA,EAAC,sBAAA;AAAA,MAA0B,OAAA,EAAA,aAAA,QAAA;AAAA,IAAA;iBAC1D,MAAA;;AAEU;AAAA,WAFK2B,IAAAA,EAAArB,CAAA,EAAK,aAALqB,QAAAA,EAAe,2BAA9BD,EAEUC,EAAAE,CAAA,GAAA;AAAA;YAFwC,MAAK;AAAA,YAAU,OAAA,EAAA,iBAAA,OAAA;AAAA,UAAA;uBAC/D,MAAoC;AAAA,kBAAjCF,EAAA3B,CAAA,EAAC,2BAAA,CAAA,GAAA,CAAA;AAAA,YAAA;;;UAEN8B,EAoBSH,EAAAI,CAAA,GAAA;AAAA,qBApBG;AAAA,YAAJ,KAAIjB;AAAA,YAAW,OAAAJ;AAAA,YAAe,OAAAK;AAAA,YAAc,mBAAgB;AAAA,UAAA;uBAClE,MAEc;AAAA,cAFde,EAEcH,EAAAK,CAAA,GAAA;AAAA,gBAFA,OAAOL,EAAA3B,CAAA,EAAC,4BAAA;AAAA,gBAAgC,MAAK;AAAA,cAAA;2BACzD,MAAsF;AAAA,kBAAtF8B,EAAsFH,EAAAM,CAAA,GAAA;AAAA,oBAArE,OAAOvB,EAAM;AAAA,oBAAN,kBAAAwB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAzB,EAAM,cAAWyB;AAAA,oBAAE,MAAK;AAAA,oBAAW,oBAAiB;AAAA,kBAAA;;;;cAE9EL,EAEcH,EAAAK,CAAA,GAAA;AAAA,gBAFA,OAAOL,EAAA3B,CAAA,EAAC,4BAAA;AAAA,gBAAgC,MAAK;AAAA,cAAA;2BACzD,MAAsF;AAAA,kBAAtF8B,EAAsFH,EAAAM,CAAA,GAAA;AAAA,oBAArE,OAAOvB,EAAM;AAAA,oBAAN,kBAAAwB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAzB,EAAM,cAAWyB;AAAA,oBAAE,MAAK;AAAA,oBAAW,oBAAiB;AAAA,kBAAA;;;;cAE9EL,EAA+CM,GAAA;AAAA,gBAA5B,OAAO1B,EAAM;AAAA,cAAA;cAChCoB,EAOcH,EAAAK,CAAA,GAAA;AAAA,gBAPA,OAAOL,EAAA3B,CAAA,EAAC,gCAAA;AAAA,gBAAoC,MAAK;AAAA,cAAA;2BAC7D,MAKE;AAAA,kBALF8B,EAKEH,EAAAM,CAAA,GAAA;AAAA,oBAJQ,OAAOvB,EAAM;AAAA,oBAAN,kBAAAwB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAzB,EAAM,kBAAeyB;AAAA,oBACpC,MAAK;AAAA,oBACL,oBAAiB;AAAA,oBAChB,WAAajB,GAAM,CAAA,OAAA,CAAA;AAAA,kBAAA;;;;cAIxBY,EAEWH,EAAAU,CAAA,GAAA;AAAA,gBAFD,MAAK;AAAA,gBAAU,OAAA;AAAA,gBAAO,SAASzB,EAAA;AAAA,gBAAS,SAAOM;AAAA,cAAA;2BACvD,MAAwB;AAAA,sBAArBS,EAAA3B,CAAA,EAAC,eAAA,CAAA,GAAA,CAAA;AAAA,gBAAA;;;;;;;;;;;;"}
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import o from "./profile2.vue.js";
2
+ /* empty css */
3
+ import f from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const a = /* @__PURE__ */ f(o, [["__scopeId", "data-v-5c4afffc"]]);
5
+ export {
6
+ a as default
7
+ };
8
+ //# sourceMappingURL=profile.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,264 @@
1
+ import { defineComponent as x, ref as s, reactive as C, onMounted as $, openBlock as k, createBlock as B, unref as e, withCtx as t, createVNode as l, createElementVNode as V, createElementBlock as z, Fragment as A, createTextVNode as m, toDisplayString as f, createCommentVNode as E } from "vue";
2
+ import { useMessage as F, NCard as S, NSpin as M, NForm as R, NFormItem as u, NAvatar as q, NButton as y, NInput as d } from "naive-ui";
3
+ import { useI18n as D } from "vue-i18n";
4
+ import { personalApi as N } from "../../api/index.js";
5
+ import { useUserStore as L } from "../../stores/user.js";
6
+ import { translateError as U } from "../../utils/error.js";
7
+ import P from "../../components/DictSelect/index.vue.js";
8
+ import T from "../../components/FileUpload/index.vue.js";
9
+ import j from "../../components/AppIcon.vue.js";
10
+ const G = { class: "avatar-field" }, ae = /* @__PURE__ */ x({
11
+ __name: "profile",
12
+ setup(H) {
13
+ const { t: r } = D(), v = F(), c = L(), b = s(!0), g = s(!1), p = s(!1), h = s(null), a = C({
14
+ account: "",
15
+ name: "",
16
+ nickname: "",
17
+ phone: "",
18
+ email: "",
19
+ gender: null,
20
+ avatar: null,
21
+ org: "",
22
+ position: ""
23
+ }), w = {
24
+ phone: {
25
+ validator: (n, o) => !o || /^1[3-9]\d{9}$/.test(o),
26
+ message: () => r("profile.phoneInvalid"),
27
+ trigger: ["input", "blur"]
28
+ },
29
+ email: {
30
+ validator: (n, o) => !o || /^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(o),
31
+ message: () => r("profile.emailInvalid"),
32
+ trigger: ["input", "blur"]
33
+ }
34
+ }, _ = (n) => n.trim().charAt(0).toUpperCase() || "?";
35
+ $(async () => {
36
+ try {
37
+ const n = await N.profile();
38
+ a.account = n.account, a.name = n.name, a.nickname = n.nickname ?? "", a.phone = n.phone ?? "", a.email = n.email ?? "", a.gender = n.gender ?? null, a.avatar = n.avatar ?? null, a.org = n.orgName ?? "—", a.position = n.positionName ?? "—";
39
+ } catch (n) {
40
+ v.error(U(n));
41
+ } finally {
42
+ b.value = !1;
43
+ }
44
+ });
45
+ async function I() {
46
+ var n;
47
+ try {
48
+ await ((n = h.value) == null ? void 0 : n.validate());
49
+ } catch {
50
+ return;
51
+ }
52
+ g.value = !0;
53
+ try {
54
+ await N.updateProfile({
55
+ name: a.name,
56
+ nickname: a.nickname || null,
57
+ phone: a.phone || null,
58
+ email: a.email || null,
59
+ gender: a.gender,
60
+ avatar: a.avatar
61
+ }), c.userInfo && (c.userInfo.name = a.name, c.userInfo.avatar = a.avatar), v.success(r("profile.saved"));
62
+ } catch (o) {
63
+ v.error(U(o));
64
+ } finally {
65
+ g.value = !1;
66
+ }
67
+ }
68
+ return (n, o) => (k(), B(e(S), {
69
+ bordered: !0,
70
+ title: e(r)("profile.title"),
71
+ style: { "max-width": "560px" }
72
+ }, {
73
+ default: t(() => [
74
+ l(e(M), { show: b.value }, {
75
+ default: t(() => [
76
+ l(e(R), {
77
+ ref_key: "formRef",
78
+ ref: h,
79
+ model: a,
80
+ rules: w,
81
+ "label-placement": "left",
82
+ "label-width": 80
83
+ }, {
84
+ default: t(() => [
85
+ l(e(u), {
86
+ label: e(r)("profile.avatar")
87
+ }, {
88
+ default: t(() => [
89
+ V("div", G, [
90
+ l(e(q), {
91
+ round: "",
92
+ size: 48,
93
+ style: { "flex-shrink": "0" },
94
+ src: a.avatar || void 0
95
+ }, {
96
+ fallback: t(() => [
97
+ m(f(_(a.name)), 1)
98
+ ]),
99
+ default: t(() => [
100
+ a.avatar ? E("", !0) : (k(), z(A, { key: 0 }, [
101
+ m(f(_(a.name)), 1)
102
+ ], 64))
103
+ ]),
104
+ _: 1
105
+ }, 8, ["src"]),
106
+ l(T, {
107
+ accept: "image/*",
108
+ "show-file-list": !1,
109
+ onLoadingChange: o[0] || (o[0] = (i) => p.value = i),
110
+ onUploaded: o[1] || (o[1] = (i) => a.avatar = i.viewUrl ?? null)
111
+ }, {
112
+ default: t(() => [
113
+ l(e(y), {
114
+ size: "small",
115
+ loading: p.value,
116
+ disabled: p.value
117
+ }, {
118
+ icon: t(() => [
119
+ l(j, {
120
+ icon: "ph:upload-simple",
121
+ size: 14
122
+ })
123
+ ]),
124
+ default: t(() => [
125
+ m(" " + f(p.value ? e(r)("profile.avatarUploading") : e(r)("profile.avatar")), 1)
126
+ ]),
127
+ _: 1
128
+ }, 8, ["loading", "disabled"])
129
+ ]),
130
+ _: 1
131
+ })
132
+ ])
133
+ ]),
134
+ _: 1
135
+ }, 8, ["label"]),
136
+ l(e(u), {
137
+ label: e(r)("profile.account")
138
+ }, {
139
+ default: t(() => [
140
+ l(e(d), {
141
+ value: a.account,
142
+ disabled: ""
143
+ }, null, 8, ["value"])
144
+ ]),
145
+ _: 1
146
+ }, 8, ["label"]),
147
+ l(e(u), {
148
+ label: e(r)("profile.name"),
149
+ required: ""
150
+ }, {
151
+ default: t(() => [
152
+ l(e(d), {
153
+ value: a.name,
154
+ "onUpdate:value": o[2] || (o[2] = (i) => a.name = i),
155
+ placeholder: e(r)("profile.name")
156
+ }, null, 8, ["value", "placeholder"])
157
+ ]),
158
+ _: 1
159
+ }, 8, ["label"]),
160
+ l(e(u), {
161
+ label: e(r)("profile.nickname")
162
+ }, {
163
+ default: t(() => [
164
+ l(e(d), {
165
+ value: a.nickname,
166
+ "onUpdate:value": o[3] || (o[3] = (i) => a.nickname = i),
167
+ placeholder: e(r)("profile.nickname")
168
+ }, null, 8, ["value", "placeholder"])
169
+ ]),
170
+ _: 1
171
+ }, 8, ["label"]),
172
+ l(e(u), {
173
+ label: e(r)("profile.gender")
174
+ }, {
175
+ default: t(() => [
176
+ l(P, {
177
+ value: a.gender,
178
+ "onUpdate:value": o[4] || (o[4] = (i) => a.gender = i),
179
+ "type-code": "gender",
180
+ clearable: "",
181
+ placeholder: e(r)("profile.gender")
182
+ }, null, 8, ["value", "placeholder"])
183
+ ]),
184
+ _: 1
185
+ }, 8, ["label"]),
186
+ l(e(u), {
187
+ label: e(r)("profile.phone"),
188
+ path: "phone"
189
+ }, {
190
+ default: t(() => [
191
+ l(e(d), {
192
+ value: a.phone,
193
+ "onUpdate:value": o[5] || (o[5] = (i) => a.phone = i),
194
+ placeholder: e(r)("profile.phone")
195
+ }, null, 8, ["value", "placeholder"])
196
+ ]),
197
+ _: 1
198
+ }, 8, ["label"]),
199
+ l(e(u), {
200
+ label: e(r)("profile.email"),
201
+ path: "email"
202
+ }, {
203
+ default: t(() => [
204
+ l(e(d), {
205
+ value: a.email,
206
+ "onUpdate:value": o[6] || (o[6] = (i) => a.email = i),
207
+ placeholder: e(r)("profile.email")
208
+ }, null, 8, ["value", "placeholder"])
209
+ ]),
210
+ _: 1
211
+ }, 8, ["label"]),
212
+ l(e(u), {
213
+ label: e(r)("profile.org")
214
+ }, {
215
+ default: t(() => [
216
+ l(e(d), {
217
+ value: a.org,
218
+ disabled: ""
219
+ }, null, 8, ["value"])
220
+ ]),
221
+ _: 1
222
+ }, 8, ["label"]),
223
+ l(e(u), {
224
+ label: e(r)("profile.position")
225
+ }, {
226
+ default: t(() => [
227
+ l(e(d), {
228
+ value: a.position,
229
+ disabled: ""
230
+ }, null, 8, ["value"])
231
+ ]),
232
+ _: 1
233
+ }, 8, ["label"]),
234
+ l(e(u), { label: " " }, {
235
+ default: t(() => [
236
+ l(e(y), {
237
+ type: "primary",
238
+ loading: g.value,
239
+ disabled: !a.name.trim(),
240
+ onClick: I
241
+ }, {
242
+ default: t(() => [
243
+ m(f(e(r)("common.save")), 1)
244
+ ]),
245
+ _: 1
246
+ }, 8, ["loading", "disabled"])
247
+ ]),
248
+ _: 1
249
+ })
250
+ ]),
251
+ _: 1
252
+ }, 8, ["model"])
253
+ ]),
254
+ _: 1
255
+ }, 8, ["show"])
256
+ ]),
257
+ _: 1
258
+ }, 8, ["title"]));
259
+ }
260
+ });
261
+ export {
262
+ ae as default
263
+ };
264
+ //# sourceMappingURL=profile2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile2.vue.js","sources":["../../../src/views/personal/profile.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 个人资料:自己能改的字段全在这(姓名/昵称/性别/手机/邮箱/头像);机构/职位由管理员维护,只读展示。\n// 提交是全量替换语义(后端 UpdateProfileInput):整表单一把梭,别做单字段 PATCH。\n// 手机/邮箱直接改不做二次验证——内核无短信/邮件通道,管理员本可在用户管理任改,操作日志留痕(后端注释同款理由)。\nimport { onMounted, reactive, ref } from 'vue'\nimport {\n NCard,\n NForm,\n NFormItem,\n NInput,\n NButton,\n NSpin,\n NAvatar,\n useMessage,\n type FormInst,\n type FormRules,\n} from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport { personalApi } from '#/api'\nimport { useUserStore } from '#/stores/user'\nimport { translateError } from '#/utils/error'\nimport DictSelect from '#/components/DictSelect/index.vue'\nimport FileUpload from '#/components/FileUpload/index.vue'\nimport AppIcon from '#/components/AppIcon.vue'\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst user = useUserStore()\n\nconst loading = ref(true)\nconst saving = ref(false)\nconst avatarUploading = ref(false)\nconst formRef = ref<FormInst | null>(null)\nconst model = reactive({\n account: '',\n name: '',\n nickname: '',\n phone: '',\n email: '',\n gender: null as string | null,\n avatar: null as string | null,\n org: '',\n position: '',\n})\n\n// 手机/邮箱选填,填了才校验格式(与管理端 user 页同规则;后端存自由字符串)\nconst rules: FormRules = {\n phone: {\n validator: (_r, v: string) => !v || /^1[3-9]\\d{9}$/.test(v),\n message: () => t('profile.phoneInvalid'),\n trigger: ['input', 'blur'],\n },\n email: {\n validator: (_r, v: string) => !v || /^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$/.test(v),\n message: () => t('profile.emailInvalid'),\n trigger: ['input', 'blur'],\n },\n}\n\nconst initial = (name: string) => name.trim().charAt(0).toUpperCase() || '?'\n\nonMounted(async () => {\n try {\n const p = await personalApi.profile()\n model.account = p.account\n model.name = p.name\n model.nickname = p.nickname ?? ''\n model.phone = p.phone ?? ''\n model.email = p.email ?? ''\n model.gender = p.gender ?? null\n model.avatar = p.avatar ?? null\n // 展示名称而非 Id:雪花主键是 14 位数字,甩给用户看没有任何意义。\n // 名称由 /personal/profile 一并返回(该端点是 [ActiveSession],人人可读);机构/职位被删则回落占位符。\n model.org = p.orgName ?? '—'\n model.position = p.positionName ?? '—'\n } catch (e) {\n message.error(translateError(e))\n } finally {\n loading.value = false\n }\n})\n\nasync function save() {\n try {\n await formRef.value?.validate()\n } catch {\n return // 校验失败:表单项已就地标红,不另叠 toast\n }\n saving.value = true\n try {\n await personalApi.updateProfile({\n name: model.name,\n nickname: model.nickname || null,\n phone: model.phone || null,\n email: model.email || null,\n gender: model.gender,\n avatar: model.avatar,\n })\n if (user.userInfo) {\n user.userInfo.name = model.name\n user.userInfo.avatar = model.avatar // 顶栏头像即时同步,不等下次 enterInitial\n }\n message.success(t('profile.saved'))\n } catch (e) {\n message.error(translateError(e))\n } finally {\n saving.value = false\n }\n}\n</script>\n\n<template>\n <n-card :bordered=\"true\" :title=\"t('profile.title')\" style=\"max-width: 560px\">\n <n-spin :show=\"loading\">\n <n-form ref=\"formRef\" :model=\"model\" :rules=\"rules\" label-placement=\"left\" :label-width=\"80\">\n <n-form-item :label=\"t('profile.avatar')\">\n <div class=\"avatar-field\">\n <n-avatar round :size=\"48\" style=\"flex-shrink: 0\" :src=\"model.avatar || undefined\">\n <template #fallback>{{ initial(model.name) }}</template>\n <template v-if=\"!model.avatar\">{{ initial(model.name) }}</template>\n </n-avatar>\n <FileUpload\n accept=\"image/*\"\n :show-file-list=\"false\"\n @loading-change=\"v => (avatarUploading = v)\"\n @uploaded=\"o => (model.avatar = o.viewUrl ?? null)\"\n >\n <n-button size=\"small\" :loading=\"avatarUploading\" :disabled=\"avatarUploading\">\n <template #icon><AppIcon icon=\"ph:upload-simple\" :size=\"14\" /></template>\n {{ avatarUploading ? t('profile.avatarUploading') : t('profile.avatar') }}\n </n-button>\n </FileUpload>\n </div>\n </n-form-item>\n <n-form-item :label=\"t('profile.account')\">\n <n-input :value=\"model.account\" disabled />\n </n-form-item>\n <n-form-item :label=\"t('profile.name')\" required>\n <n-input v-model:value=\"model.name\" :placeholder=\"t('profile.name')\" />\n </n-form-item>\n <n-form-item :label=\"t('profile.nickname')\">\n <n-input v-model:value=\"model.nickname\" :placeholder=\"t('profile.nickname')\" />\n </n-form-item>\n <n-form-item :label=\"t('profile.gender')\">\n <DictSelect\n v-model:value=\"model.gender\"\n type-code=\"gender\"\n clearable\n :placeholder=\"t('profile.gender')\"\n />\n </n-form-item>\n <n-form-item :label=\"t('profile.phone')\" path=\"phone\">\n <n-input v-model:value=\"model.phone\" :placeholder=\"t('profile.phone')\" />\n </n-form-item>\n <n-form-item :label=\"t('profile.email')\" path=\"email\">\n <n-input v-model:value=\"model.email\" :placeholder=\"t('profile.email')\" />\n </n-form-item>\n <n-form-item :label=\"t('profile.org')\">\n <n-input :value=\"model.org\" disabled />\n </n-form-item>\n <n-form-item :label=\"t('profile.position')\">\n <n-input :value=\"model.position\" disabled />\n </n-form-item>\n <n-form-item :label=\"' '\">\n <n-button type=\"primary\" :loading=\"saving\" :disabled=\"!model.name.trim()\" @click=\"save\">\n {{ t('common.save') }}\n </n-button>\n </n-form-item>\n </n-form>\n </n-spin>\n </n-card>\n</template>\n\n<style scoped>\n.avatar-field {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n</style>\n"],"names":["t","useI18n","message","useMessage","user","useUserStore","loading","ref","saving","avatarUploading","formRef","model","reactive","rules","_r","v","initial","name","onMounted","p","personalApi","e","translateError","save","_a","_createBlock","_unref","NCard","_createVNode","NSpin","NForm","NFormItem","_createElementVNode","_hoisted_1","NAvatar","_createElementBlock","_Fragment","FileUpload","_cache","o","NButton","AppIcon","_createTextVNode","_toDisplayString","NInput","$event","DictSelect"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import o from "./security2.vue.js";
2
+ /* empty css */
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-7afb110e"]]);
5
+ export {
6
+ f as default
7
+ };
8
+ //# sourceMappingURL=security.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,82 @@
1
+ import { defineComponent as v, computed as x, openBlock as p, createBlock as l, unref as e, withCtx as o, createVNode as a, createTextVNode as i, toDisplayString as n, createCommentVNode as N, createElementVNode as d } from "vue";
2
+ import { useRouter as b } from "vue-router";
3
+ import { NCard as g, NAlert as m, NSpace as C, NButton as y } from "naive-ui";
4
+ import { useI18n as k } from "vue-i18n";
5
+ import { useUserStore as w } from "../../stores/user.js";
6
+ import { useAuthStore as A } from "../../stores/auth.js";
7
+ const B = { class: "sec-desc" }, V = { class: "sec-note" }, $ = /* @__PURE__ */ v({
8
+ __name: "security",
9
+ setup(q) {
10
+ const { t } = k(), f = b(), _ = w(), S = A(), h = x(() => S.hasPerm("GET:/api/v1/sys/config/page"));
11
+ function u(c) {
12
+ var s;
13
+ const r = (s = _.userInfo) == null ? void 0 : s.account;
14
+ f.push({
15
+ path: "/mfa/bind",
16
+ query: {
17
+ ...r ? { account: r } : {},
18
+ ...c === "recovery" ? { mode: "recovery" } : {}
19
+ }
20
+ });
21
+ }
22
+ return (c, r) => (p(), l(e(g), {
23
+ bordered: !0,
24
+ title: e(t)("personalSecurity.title"),
25
+ style: { "max-width": "560px" }
26
+ }, {
27
+ default: o(() => [
28
+ a(e(m), {
29
+ type: "info",
30
+ bordered: !1,
31
+ style: { "margin-bottom": "16px" }
32
+ }, {
33
+ default: o(() => [
34
+ i(n(e(t)("personalSecurity.hint")), 1)
35
+ ]),
36
+ _: 1
37
+ }),
38
+ h.value ? (p(), l(e(m), {
39
+ key: 0,
40
+ type: "warning",
41
+ bordered: !1,
42
+ style: { "margin-bottom": "16px" }
43
+ }, {
44
+ default: o(() => [
45
+ i(n(e(t)("personalSecurity.adminHint")), 1)
46
+ ]),
47
+ _: 1
48
+ })) : N("", !0),
49
+ d("p", B, n(e(t)("personalSecurity.bindDesc")), 1),
50
+ a(e(C), null, {
51
+ default: o(() => [
52
+ a(e(y), {
53
+ type: "primary",
54
+ onClick: r[0] || (r[0] = (s) => u())
55
+ }, {
56
+ default: o(() => [
57
+ i(n(e(t)("personalSecurity.setupAuthenticator")), 1)
58
+ ]),
59
+ _: 1
60
+ }),
61
+ a(e(y), {
62
+ quaternary: "",
63
+ onClick: r[1] || (r[1] = (s) => u("recovery"))
64
+ }, {
65
+ default: o(() => [
66
+ i(n(e(t)("personalSecurity.useRecovery")), 1)
67
+ ]),
68
+ _: 1
69
+ })
70
+ ]),
71
+ _: 1
72
+ }),
73
+ d("p", V, n(e(t)("personalSecurity.note")), 1)
74
+ ]),
75
+ _: 1
76
+ }, 8, ["title"]));
77
+ }
78
+ });
79
+ export {
80
+ $ as default
81
+ };
82
+ //# sourceMappingURL=security2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security2.vue.js","sources":["../../../src/views/personal/security.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 个人安全:TOTP 自助绑定/恢复入口(ADR 0006)。不进业务菜单,顶栏用户下拉进入。\n// 管理员配置路径类文案(系统配置/安全策略)只给能进配置的人看,普通用户不暴露运维指引。\nimport { computed } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { NCard, NButton, NAlert, NSpace } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport { useUserStore } from '#/stores/user'\nimport { useAuthStore } from '#/stores/auth'\n\nconst { t } = useI18n()\nconst router = useRouter()\nconst user = useUserStore()\nconst auth = useAuthStore()\n\n// hasPerm 对超管恒 true;普通用户须具备系统配置读权限才看运维提示。\nconst showAdminHint = computed(() => auth.hasPerm('GET:/api/v1/sys/config/page'))\n\nfunction goBind(mode?: 'recovery') {\n const account = user.userInfo?.account\n router.push({\n path: '/mfa/bind',\n query: {\n ...(account ? { account } : {}),\n ...(mode === 'recovery' ? { mode: 'recovery' } : {}),\n },\n })\n}\n</script>\n\n<template>\n <n-card :bordered=\"true\" :title=\"t('personalSecurity.title')\" style=\"max-width: 560px\">\n <n-alert type=\"info\" :bordered=\"false\" style=\"margin-bottom: 16px\">\n {{ t('personalSecurity.hint') }}\n </n-alert>\n <n-alert v-if=\"showAdminHint\" type=\"warning\" :bordered=\"false\" style=\"margin-bottom: 16px\">\n {{ t('personalSecurity.adminHint') }}\n </n-alert>\n <p class=\"sec-desc\">{{ t('personalSecurity.bindDesc') }}</p>\n <n-space>\n <n-button type=\"primary\" @click=\"goBind()\">\n {{ t('personalSecurity.setupAuthenticator') }}\n </n-button>\n <n-button quaternary @click=\"goBind('recovery')\">\n {{ t('personalSecurity.useRecovery') }}\n </n-button>\n </n-space>\n <p class=\"sec-note\">{{ t('personalSecurity.note') }}</p>\n </n-card>\n</template>\n\n<style scoped>\n.sec-desc {\n margin: 0 0 16px;\n color: var(--color-text-2, #666);\n line-height: 1.5;\n}\n.sec-note {\n margin: 20px 0 0;\n font-size: 12px;\n color: var(--color-text-3, #999);\n line-height: 1.5;\n}\n</style>\n"],"names":["useI18n","router","useRouter","user","useUserStore","auth","useAuthStore","showAdminHint","computed","goBind","mode","account","_a","_createBlock","_unref","NCard","_createVNode","NAlert","_createElementVNode","_hoisted_1","_toDisplayString","NSpace","NButton","_hoisted_2"],"mappings":";;;;;;;;;AAUA,UAAM,EAAE,EAAA,IAAMA,EAAA,GACRC,IAASC,EAAA,GACTC,IAAOC,EAAA,GACPC,IAAOC,EAAA,GAGPC,IAAgBC,EAAS,MAAMH,EAAK,QAAQ,6BAA6B,CAAC;AAEhF,aAASI,EAAOC,GAAmB;;AACjC,YAAMC,KAAUC,IAAAT,EAAK,aAAL,gBAAAS,EAAe;AAC/B,MAAAX,EAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,OAAO;AAAA,UACL,GAAIU,IAAU,EAAE,SAAAA,EAAA,IAAY,CAAA;AAAA,UAC5B,GAAID,MAAS,aAAa,EAAE,MAAM,WAAA,IAAe,CAAA;AAAA,QAAC;AAAA,MACpD,CACD;AAAA,IACH;2BAIEG,EAiBSC,EAAAC,CAAA,GAAA;AAAA,MAjBA,UAAU;AAAA,MAAO,OAAOD,EAAA,CAAA,EAAC,wBAAA;AAAA,MAA4B,OAAA,EAAA,aAAA,QAAA;AAAA,IAAA;iBAC5D,MAEU;AAAA,QAFVE,EAEUF,EAAAG,CAAA,GAAA;AAAA,UAFD,MAAK;AAAA,UAAQ,UAAU;AAAA,UAAO,OAAA,EAAA,iBAAA,OAAA;AAAA,QAAA;qBACrC,MAAgC;AAAA,gBAA7BH,EAAA,CAAA,EAAC,uBAAA,CAAA,GAAA,CAAA;AAAA,UAAA;;;QAESP,EAAA,cAAfM,EAEUC,EAAAG,CAAA,GAAA;AAAA;UAFoB,MAAK;AAAA,UAAW,UAAU;AAAA,UAAO,OAAA,EAAA,iBAAA,OAAA;AAAA,QAAA;qBAC7D,MAAqC;AAAA,gBAAlCH,EAAA,CAAA,EAAC,4BAAA,CAAA,GAAA,CAAA;AAAA,UAAA;;;QAENI,EAA4D,KAA5DC,GAA4DC,EAArCN,EAAA,CAAA,EAAC,2BAAA,CAAA,GAAA,CAAA;AAAA,QACxBE,EAOUF,EAAAO,CAAA,GAAA,MAAA;AAAA,qBANR,MAEW;AAAA,YAFXL,EAEWF,EAAAQ,CAAA,GAAA;AAAA,cAFD,MAAK;AAAA,cAAW,gCAAOb,EAAA;AAAA,YAAM;yBACrC,MAA8C;AAAA,oBAA3CK,EAAA,CAAA,EAAC,qCAAA,CAAA,GAAA,CAAA;AAAA,cAAA;;;YAENE,EAEWF,EAAAQ,CAAA,GAAA;AAAA,cAFD,YAAA;AAAA,cAAY,gCAAOb,EAAM,UAAA;AAAA,YAAA;yBACjC,MAAuC;AAAA,oBAApCK,EAAA,CAAA,EAAC,8BAAA,CAAA,GAAA,CAAA;AAAA,cAAA;;;;;;QAGRI,EAAwD,KAAxDK,GAAwDH,EAAjCN,EAAA,CAAA,EAAC,uBAAA,CAAA,GAAA,CAAA;AAAA,MAAA;;;;;"}
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import o from "./sessions2.vue.js";
2
+ /* empty css */
3
+ import s from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ s(o, [["__scopeId", "data-v-83e5e6b1"]]);
5
+ export {
6
+ m as default
7
+ };
8
+ //# sourceMappingURL=sessions.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}