smart-admin-web 10.14.0 → 10.20.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 (538) hide show
  1. package/README.md +6 -6
  2. package/dist/api/index.d.ts +41 -2
  3. package/dist/api/index.js +36 -15
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/schema.d.ts +418 -6
  6. package/dist/assets/icons/ph-subset.json.js +7 -7
  7. package/dist/assets/smart-logo.svg.js +5 -0
  8. package/dist/assets/smart-logo.svg.js.map +1 -0
  9. package/dist/components/AppIcon.vue.js +9 -9
  10. package/dist/components/AppIcon.vue.js.map +1 -1
  11. package/dist/components/AppWatermark.vue.d.ts +14 -0
  12. package/dist/components/AppWatermark.vue.js +38 -0
  13. package/dist/components/AppWatermark.vue.js.map +1 -0
  14. package/dist/components/AppWatermark2.vue.js +5 -0
  15. package/dist/components/AppWatermark2.vue.js.map +1 -0
  16. package/dist/components/Chart/PieChart.vue.d.ts +1 -1
  17. package/dist/components/Chart/echarts.js +15 -20
  18. package/dist/components/Chart/echarts.js.map +1 -1
  19. package/dist/components/CronEditor/index.vue.js +1 -1
  20. package/dist/components/CronEditor/index2.vue.js +2 -1
  21. package/dist/components/CronEditor/index2.vue.js.map +1 -1
  22. package/dist/components/DetailPage/index.vue.js +2 -2
  23. package/dist/components/DetailPage/index2.vue.js.map +1 -1
  24. package/dist/components/DictTag/index.vue.js.map +1 -1
  25. package/dist/components/ErrorBoundary/index.vue.js +2 -2
  26. package/dist/components/ErrorBoundary/index2.vue.js +1 -1
  27. package/dist/components/ErrorBoundary/index2.vue.js.map +1 -1
  28. package/dist/components/FormContainer/index.vue.js +91 -56
  29. package/dist/components/FormContainer/index.vue.js.map +1 -1
  30. package/dist/components/ImportWizard/index.vue.js +1 -1
  31. package/dist/components/ImportWizard/index2.vue.js +44 -41
  32. package/dist/components/ImportWizard/index2.vue.js.map +1 -1
  33. package/dist/components/MenuSearch.vue.js +2 -2
  34. package/dist/components/MenuSearch2.vue.js +19 -18
  35. package/dist/components/MenuSearch2.vue.js.map +1 -1
  36. package/dist/components/PasswordStrength/index.vue.js +2 -2
  37. package/dist/components/PasswordStrength/index2.vue.js +20 -18
  38. package/dist/components/PasswordStrength/index2.vue.js.map +1 -1
  39. package/dist/components/SmartLogo.vue.d.ts +3 -0
  40. package/dist/components/SmartLogo.vue.js +1 -1
  41. package/dist/components/SmartLogo2.vue.js +22 -64
  42. package/dist/components/SmartLogo2.vue.js.map +1 -1
  43. package/dist/{views/system/config/components/GroupExtraConfig.vue.d.ts → components/TableTotal/index.vue.d.ts} +1 -4
  44. package/dist/components/{SelectTable → TableTotal}/index.vue.js +1 -1
  45. package/dist/components/TableTotal/index2.vue.js +16 -0
  46. package/dist/components/TableTotal/index2.vue.js.map +1 -0
  47. package/dist/components/TableZoomButton/index.vue.js.map +1 -1
  48. package/dist/components/UserPicker/index.vue.js +2 -2
  49. package/dist/components/UserPicker/index2.vue.js +176 -117
  50. package/dist/components/UserPicker/index2.vue.js.map +1 -1
  51. package/dist/composables/useBatchDelete.js.map +1 -1
  52. package/dist/composables/useLayoutMenu.js +17 -16
  53. package/dist/composables/useLayoutMenu.js.map +1 -1
  54. package/dist/composables/useLoginHero.d.ts +2 -0
  55. package/dist/composables/useLoginHero.js +22 -0
  56. package/dist/composables/useLoginHero.js.map +1 -0
  57. package/dist/composables/useModule.js +39 -29
  58. package/dist/composables/useModule.js.map +1 -1
  59. package/dist/composables/usePageTitle.js +16 -14
  60. package/dist/composables/usePageTitle.js.map +1 -1
  61. package/dist/composables/useShellBreakpoint.d.ts +19 -0
  62. package/dist/composables/useShellBreakpoint.js +37 -0
  63. package/dist/composables/useShellBreakpoint.js.map +1 -0
  64. package/dist/composables/useSite.d.ts +20 -0
  65. package/dist/composables/useSite.js +18 -13
  66. package/dist/composables/useSite.js.map +1 -1
  67. package/dist/composables/useTabTitle.js.map +1 -1
  68. package/dist/composables/useTableTitle.d.ts +6 -0
  69. package/dist/composables/useTableTitle.js +11 -0
  70. package/dist/composables/useTableTitle.js.map +1 -0
  71. package/dist/composables/useTableZoom.d.ts +5 -0
  72. package/dist/composables/useTableZoom.js.map +1 -1
  73. package/dist/composables/useTheme.d.ts +2 -2
  74. package/dist/composables/useTheme.js +23 -20
  75. package/dist/composables/useTheme.js.map +1 -1
  76. package/dist/createSmartAdmin.d.ts +12 -2
  77. package/dist/createSmartAdmin.js +72 -60
  78. package/dist/createSmartAdmin.js.map +1 -1
  79. package/dist/index.d.ts +5 -2
  80. package/dist/index.js +223 -208
  81. package/dist/index.js.map +1 -1
  82. package/dist/layouts/AccentPicker.vue.js +8 -0
  83. package/dist/layouts/AccentPicker.vue.js.map +1 -0
  84. package/dist/layouts/AccentPicker2.vue.js +131 -0
  85. package/dist/layouts/AccentPicker2.vue.js.map +1 -0
  86. package/dist/layouts/AppHeader.vue.d.ts +8 -1
  87. package/dist/layouts/AppHeader.vue.js +2 -2
  88. package/dist/layouts/AppHeader2.vue.js +317 -235
  89. package/dist/layouts/AppHeader2.vue.js.map +1 -1
  90. package/dist/layouts/NoticeBell.vue.js +2 -2
  91. package/dist/layouts/NoticeBell2.vue.js +1 -1
  92. package/dist/layouts/NoticeBell2.vue.js.map +1 -1
  93. package/dist/layouts/PersonalLayout.vue.js +2 -2
  94. package/dist/layouts/PersonalLayout2.vue.js +69 -47
  95. package/dist/layouts/PersonalLayout2.vue.js.map +1 -1
  96. package/dist/layouts/SettingsDrawer.vue.js +3 -3
  97. package/dist/layouts/SettingsDrawer2.vue.js +261 -325
  98. package/dist/layouts/SettingsDrawer2.vue.js.map +1 -1
  99. package/dist/layouts/TabsBar.vue.js +2 -2
  100. package/dist/layouts/TabsBar2.vue.js +97 -69
  101. package/dist/layouts/TabsBar2.vue.js.map +1 -1
  102. package/dist/layouts/components/SideNav.vue.d.ts +3 -0
  103. package/dist/layouts/components/SideNav.vue.js +1 -1
  104. package/dist/layouts/components/SideNav2.vue.js +54 -26
  105. package/dist/layouts/components/SideNav2.vue.js.map +1 -1
  106. package/dist/layouts/default.vue.js +1 -1
  107. package/dist/layouts/default2.vue.js +170 -140
  108. package/dist/layouts/default2.vue.js.map +1 -1
  109. package/dist/lib/favicon.d.ts +1 -0
  110. package/dist/lib/favicon.js +12 -0
  111. package/dist/lib/favicon.js.map +1 -0
  112. package/dist/lib/loginHero.d.ts +16 -0
  113. package/dist/lib/loginHero.js +33 -0
  114. package/dist/lib/loginHero.js.map +1 -0
  115. package/dist/lib/logoCrop.d.ts +25 -0
  116. package/dist/lib/logoCrop.js +22 -0
  117. package/dist/lib/logoCrop.js.map +1 -0
  118. package/dist/lib/runtime.d.ts +2 -0
  119. package/dist/lib/runtime.js +1 -1
  120. package/dist/lib/runtime.js.map +1 -1
  121. package/dist/lib/securityRules.d.ts +26 -0
  122. package/dist/lib/securityRules.js +86 -0
  123. package/dist/lib/securityRules.js.map +1 -0
  124. package/dist/lib/watermark.d.ts +110 -0
  125. package/dist/lib/watermark.js +151 -0
  126. package/dist/lib/watermark.js.map +1 -0
  127. package/dist/locales/en-US.d.ts +462 -42
  128. package/dist/locales/en-US.js +491 -78
  129. package/dist/locales/en-US.js.map +1 -1
  130. package/dist/locales/kernelMenuTitles.d.ts +1 -0
  131. package/dist/locales/kernelMenuTitles.js +128 -0
  132. package/dist/locales/kernelMenuTitles.js.map +1 -0
  133. package/dist/locales/menuTitle.d.ts +3 -0
  134. package/dist/locales/menuTitle.js +14 -12
  135. package/dist/locales/menuTitle.js.map +1 -1
  136. package/dist/locales/zh-CN.d.ts +462 -42
  137. package/dist/locales/zh-CN.js +490 -81
  138. package/dist/locales/zh-CN.js.map +1 -1
  139. package/dist/router/index.js +41 -32
  140. package/dist/router/index.js.map +1 -1
  141. package/dist/router/namedPage.d.ts +4 -0
  142. package/dist/router/namedPage.js +7 -7
  143. package/dist/router/namedPage.js.map +1 -1
  144. package/dist/router/viewRegistry.js +12 -12
  145. package/dist/router/viewRegistry.js.map +1 -1
  146. package/dist/stores/app.d.ts +0 -12
  147. package/dist/stores/app.js +11 -12
  148. package/dist/stores/app.js.map +1 -1
  149. package/dist/stores/tabs.js.map +1 -1
  150. package/dist/stores/user.d.ts +10 -0
  151. package/dist/stores/user.js.map +1 -1
  152. package/dist/style.css +1 -1
  153. package/dist/theme/accentTokens.d.ts +27 -0
  154. package/dist/theme/accentTokens.js +54 -0
  155. package/dist/theme/accentTokens.js.map +1 -0
  156. package/dist/theme/accents.d.ts +21 -1
  157. package/dist/theme/accents.js +11 -2
  158. package/dist/theme/accents.js.map +1 -1
  159. package/dist/theme/mix.d.ts +58 -7
  160. package/dist/theme/mix.js +115 -30
  161. package/dist/theme/mix.js.map +1 -1
  162. package/dist/theme/naive-theme.d.ts +5 -2
  163. package/dist/theme/naive-theme.js +405 -75
  164. package/dist/theme/naive-theme.js.map +1 -1
  165. package/dist/utils/jwt.d.ts +8 -0
  166. package/dist/utils/jwt.js +14 -0
  167. package/dist/utils/jwt.js.map +1 -0
  168. package/dist/utils/menuIcon.d.ts +2 -0
  169. package/dist/utils/menuIcon.js +8 -0
  170. package/dist/utils/menuIcon.js.map +1 -0
  171. package/dist/utils/oauthBrand.d.ts +34 -9
  172. package/dist/utils/oauthBrand.js +70 -74
  173. package/dist/utils/oauthBrand.js.map +1 -1
  174. package/dist/utils/tableFilter.d.ts +88 -0
  175. package/dist/utils/tableFilter.js +116 -0
  176. package/dist/utils/tableFilter.js.map +1 -0
  177. package/dist/utils/tableToolbar.d.ts +18 -0
  178. package/dist/utils/tableToolbar.js +11 -0
  179. package/dist/utils/tableToolbar.js.map +1 -0
  180. package/dist/utils/treeFilter.d.ts +20 -0
  181. package/dist/utils/treeFilter.js +24 -0
  182. package/dist/utils/treeFilter.js.map +1 -0
  183. package/dist/views/dashboard/ShortcutPicker.vue.js +1 -1
  184. package/dist/views/dashboard/ShortcutPicker2.vue.js +73 -48
  185. package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -1
  186. package/dist/views/dashboard/biz.vue.js +1 -1
  187. package/dist/views/dashboard/biz2.vue.js +310 -257
  188. package/dist/views/dashboard/biz2.vue.js.map +1 -1
  189. package/dist/views/dashboard/workbench.vue.js +2 -2
  190. package/dist/views/dashboard/workbench2.vue.js +141 -155
  191. package/dist/views/dashboard/workbench2.vue.js.map +1 -1
  192. package/dist/views/embed/iframe.vue.js +2 -2
  193. package/dist/views/embed/iframe2.vue.js +22 -15
  194. package/dist/views/embed/iframe2.vue.js.map +1 -1
  195. package/dist/views/error/404.vue.js +2 -2
  196. package/dist/views/error/4042.vue.js +33 -24
  197. package/dist/views/error/4042.vue.js.map +1 -1
  198. package/dist/views/error/BootError.vue.js +1 -1
  199. package/dist/views/error/BootError2.vue.js +59 -48
  200. package/dist/views/error/BootError2.vue.js.map +1 -1
  201. package/dist/views/error/MissingRoute.vue.js +2 -2
  202. package/dist/views/error/MissingRoute2.vue.js +34 -15
  203. package/dist/views/error/MissingRoute2.vue.js.map +1 -1
  204. package/dist/views/login/LoginForm.vue.d.ts +7 -1
  205. package/dist/views/login/LoginForm.vue.js +2 -2
  206. package/dist/views/login/LoginForm2.vue.js +580 -488
  207. package/dist/views/login/LoginForm2.vue.js.map +1 -1
  208. package/dist/views/login/components/LoginDesk.vue.d.ts +36 -0
  209. package/dist/views/login/components/LoginDesk.vue.js +9 -0
  210. package/dist/views/login/components/LoginDesk.vue.js.map +1 -0
  211. package/dist/views/login/components/LoginDesk2.vue.js +100 -0
  212. package/dist/views/login/components/LoginDesk2.vue.js.map +1 -0
  213. package/dist/views/login/components/LoginHeroPanel.vue.d.ts +18 -0
  214. package/dist/views/login/components/LoginHeroPanel.vue.js +8 -0
  215. package/dist/views/login/components/LoginHeroPanel.vue.js.map +1 -0
  216. package/dist/views/login/components/LoginHeroPanel2.vue.js +61 -0
  217. package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -0
  218. package/dist/views/login/index.vue.js +1 -1
  219. package/dist/views/login/index2.vue.js +141 -71
  220. package/dist/views/login/index2.vue.js.map +1 -1
  221. package/dist/views/login/layout.d.ts +11 -0
  222. package/dist/views/login/layout.js +27 -0
  223. package/dist/views/login/layout.js.map +1 -0
  224. package/dist/views/mfa/index.vue.js +2 -2
  225. package/dist/views/mfa/index2.vue.js +367 -321
  226. package/dist/views/mfa/index2.vue.js.map +1 -1
  227. package/dist/views/module/index.vue.js +2 -2
  228. package/dist/views/module/index2.vue.js +132 -99
  229. package/dist/views/module/index2.vue.js.map +1 -1
  230. package/dist/views/oauth/callback.vue.js +2 -2
  231. package/dist/views/oauth/callback2.vue.js +65 -51
  232. package/dist/views/oauth/callback2.vue.js.map +1 -1
  233. package/dist/views/personal/bindings.vue.js +2 -2
  234. package/dist/views/personal/bindings2.vue.js +98 -94
  235. package/dist/views/personal/bindings2.vue.js.map +1 -1
  236. package/dist/views/personal/notice2.vue.js +103 -76
  237. package/dist/views/personal/notice2.vue.js.map +1 -1
  238. package/dist/views/personal/password2.vue.js +47 -40
  239. package/dist/views/personal/password2.vue.js.map +1 -1
  240. package/dist/views/personal/profile.vue.js +3 -3
  241. package/dist/views/personal/profile2.vue.js +24 -18
  242. package/dist/views/personal/profile2.vue.js.map +1 -1
  243. package/dist/views/personal/security.vue.js +2 -2
  244. package/dist/views/personal/security2.vue.js +65 -53
  245. package/dist/views/personal/security2.vue.js.map +1 -1
  246. package/dist/views/personal/sessions.vue.js +2 -2
  247. package/dist/views/personal/sessions2.vue.js +67 -62
  248. package/dist/views/personal/sessions2.vue.js.map +1 -1
  249. package/dist/views/system/ai-model/components/ProviderCard.vue.js +2 -2
  250. package/dist/views/system/ai-model/components/ProviderCard2.vue.js +142 -130
  251. package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -1
  252. package/dist/views/system/ai-model/components/ProviderForm.vue.js +2 -2
  253. package/dist/views/system/ai-model/components/ProviderForm2.vue.js +71 -70
  254. package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -1
  255. package/dist/views/system/ai-model/index.vue.js +2 -2
  256. package/dist/views/system/ai-model/index2.vue.js +99 -99
  257. package/dist/views/system/ai-model/index2.vue.js.map +1 -1
  258. package/dist/views/system/ai-model/presets.d.ts +1 -1
  259. package/dist/views/system/ai-model/presets.js +18 -18
  260. package/dist/views/system/ai-model/presets.js.map +1 -1
  261. package/dist/views/system/ai-usage/index.vue.js +2 -2
  262. package/dist/views/system/ai-usage/index2.vue.js +356 -258
  263. package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
  264. package/dist/views/system/api-docs/index.vue.js +5 -2
  265. package/dist/views/system/api-docs/index.vue.js.map +1 -1
  266. package/dist/views/system/api-docs/index2.vue.js +92 -42
  267. package/dist/views/system/api-docs/index2.vue.js.map +1 -1
  268. package/dist/views/system/cache/index.vue.js +2 -2
  269. package/dist/views/system/cache/index2.vue.js +74 -80
  270. package/dist/views/system/cache/index2.vue.js.map +1 -1
  271. package/dist/views/system/config/components/AdminMock.vue.js +8 -0
  272. package/dist/views/system/config/components/AdminMock.vue.js.map +1 -0
  273. package/dist/views/system/config/components/AdminMock2.vue.js +93 -0
  274. package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -0
  275. package/dist/views/system/config/components/AdvancedSection.vue.js +8 -0
  276. package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -0
  277. package/dist/views/system/config/components/AdvancedSection2.vue.js +163 -0
  278. package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -0
  279. package/dist/views/system/config/components/BrandSection.vue.d.ts +7 -0
  280. package/dist/views/system/config/components/BrandSection.vue.js +8 -0
  281. package/dist/views/system/config/components/BrandSection.vue.js.map +1 -0
  282. package/dist/views/system/config/components/BrandSection2.vue.js +266 -0
  283. package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -0
  284. package/dist/views/system/config/components/CfgGroup.vue.d.ts +18 -0
  285. package/dist/views/system/config/components/CfgGroup.vue.js +8 -0
  286. package/dist/views/system/config/components/CfgGroup.vue.js.map +1 -0
  287. package/dist/views/system/config/components/CfgGroup2.vue.js +22 -0
  288. package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -0
  289. package/dist/views/system/config/components/CfgRow.vue.d.ts +26 -0
  290. package/dist/views/system/config/components/CfgRow.vue.js +9 -0
  291. package/dist/views/system/config/components/CfgRow.vue.js.map +1 -0
  292. package/dist/views/system/config/components/CfgRow2.vue.js +54 -0
  293. package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -0
  294. package/dist/views/system/config/components/CfgSegment.vue.d.ts +28 -0
  295. package/dist/views/system/config/components/CfgSegment.vue.js +8 -0
  296. package/dist/views/system/config/components/CfgSegment.vue.js.map +1 -0
  297. package/dist/views/system/config/components/CfgSegment2.vue.js +45 -0
  298. package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -0
  299. package/dist/views/system/config/components/ConfigFormModal.vue.js +4 -1
  300. package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -1
  301. package/dist/views/system/config/components/ConfigFormModal2.vue.js +72 -60
  302. package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
  303. package/dist/views/system/config/components/JobSection.vue.js +8 -0
  304. package/dist/views/system/config/components/JobSection.vue.js.map +1 -0
  305. package/dist/views/system/config/components/JobSection2.vue.js +140 -0
  306. package/dist/views/system/config/components/JobSection2.vue.js.map +1 -0
  307. package/dist/views/system/config/components/LoginMock.vue.d.ts +8 -0
  308. package/dist/views/system/config/components/LoginMock.vue.js +8 -0
  309. package/dist/views/system/config/components/LoginMock.vue.js.map +1 -0
  310. package/dist/views/system/config/components/LoginMock2.vue.js +132 -0
  311. package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -0
  312. package/dist/views/system/config/components/LogoCropper.vue.d.ts +10 -0
  313. package/dist/views/system/config/components/LogoCropper.vue.js +8 -0
  314. package/dist/views/system/config/components/LogoCropper.vue.js.map +1 -0
  315. package/dist/views/system/config/components/LogoCropper2.vue.js +122 -0
  316. package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -0
  317. package/dist/views/system/config/components/LogoEditor.vue.js +8 -0
  318. package/dist/views/system/config/components/LogoEditor.vue.js.map +1 -0
  319. package/dist/views/system/config/components/LogoEditor2.vue.js +161 -0
  320. package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -0
  321. package/dist/views/system/config/components/ProviderSheet.vue.d.ts +17 -0
  322. package/dist/views/system/config/components/ProviderSheet.vue.js +8 -0
  323. package/dist/views/system/config/components/ProviderSheet.vue.js.map +1 -0
  324. package/dist/views/system/config/components/ProviderSheet2.vue.js +343 -0
  325. package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -0
  326. package/dist/{layouts/SettingRow.vue.d.ts → views/system/config/components/ScaleToFit.vue.d.ts} +2 -1
  327. package/dist/views/system/config/components/ScaleToFit.vue.js +8 -0
  328. package/dist/views/system/config/components/ScaleToFit.vue.js.map +1 -0
  329. package/dist/views/system/config/components/ScaleToFit2.vue.js +41 -0
  330. package/dist/views/system/config/components/ScaleToFit2.vue.js.map +1 -0
  331. package/dist/views/system/config/components/SectionLayout.vue.d.ts +30 -0
  332. package/dist/views/system/config/components/SectionLayout.vue.js +8 -0
  333. package/dist/views/system/config/components/SectionLayout.vue.js.map +1 -0
  334. package/dist/views/system/config/components/SectionLayout2.vue.js +69 -0
  335. package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -0
  336. package/dist/views/system/config/components/SecuritySection.vue.js +8 -0
  337. package/dist/views/system/config/components/SecuritySection.vue.js.map +1 -0
  338. package/dist/views/system/config/components/SecuritySection2.vue.js +417 -0
  339. package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -0
  340. package/dist/views/system/config/components/SensitiveSection.vue.js +8 -0
  341. package/dist/views/system/config/components/SensitiveSection.vue.js.map +1 -0
  342. package/dist/views/system/config/components/SensitiveSection2.vue.js +214 -0
  343. package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -0
  344. package/dist/views/system/config/components/SigninSection.vue.js +8 -0
  345. package/dist/views/system/config/components/SigninSection.vue.js.map +1 -0
  346. package/dist/views/system/config/components/SigninSection2.vue.js +201 -0
  347. package/dist/views/system/config/components/SigninSection2.vue.js.map +1 -0
  348. package/dist/views/system/config/components/UploadSection.vue.js +8 -0
  349. package/dist/views/system/config/components/UploadSection.vue.js.map +1 -0
  350. package/dist/views/system/config/components/UploadSection2.vue.js +176 -0
  351. package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -0
  352. package/dist/views/system/config/components/WatermarkSection.vue.js +8 -0
  353. package/dist/views/system/config/components/WatermarkSection.vue.js.map +1 -0
  354. package/dist/views/system/config/components/WatermarkSection2.vue.js +284 -0
  355. package/dist/views/system/config/components/WatermarkSection2.vue.js.map +1 -0
  356. package/dist/views/system/config/draft.d.ts +148 -0
  357. package/dist/views/system/config/draft.js +170 -0
  358. package/dist/views/system/config/draft.js.map +1 -0
  359. package/dist/views/system/config/flash.d.ts +2 -0
  360. package/dist/views/system/config/flash.js +9 -0
  361. package/dist/views/system/config/flash.js.map +1 -0
  362. package/dist/views/system/config/groups.d.ts +38 -7
  363. package/dist/views/system/config/groups.js +104 -14
  364. package/dist/views/system/config/groups.js.map +1 -1
  365. package/dist/views/system/config/index.vue.js +6 -2
  366. package/dist/views/system/config/index.vue.js.map +1 -1
  367. package/dist/views/system/config/index2.vue.js +201 -111
  368. package/dist/views/system/config/index2.vue.js.map +1 -1
  369. package/dist/views/system/config/layoutMode.d.ts +23 -0
  370. package/dist/views/system/config/layoutMode.js +28 -0
  371. package/dist/views/system/config/layoutMode.js.map +1 -0
  372. package/dist/views/system/config/providerForm.d.ts +33 -0
  373. package/dist/views/system/config/providerForm.js +63 -0
  374. package/dist/views/system/config/providerForm.js.map +1 -0
  375. package/dist/views/system/dict/index.vue.js +2 -2
  376. package/dist/views/system/dict/index2.vue.js +471 -366
  377. package/dist/views/system/dict/index2.vue.js.map +1 -1
  378. package/dist/views/system/file/index2.vue.js +91 -76
  379. package/dist/views/system/file/index2.vue.js.map +1 -1
  380. package/dist/views/system/job/index.vue.js +3 -3
  381. package/dist/views/system/job/index2.vue.js +897 -828
  382. package/dist/views/system/job/index2.vue.js.map +1 -1
  383. package/dist/views/system/job-log/components/AttemptTable.vue.d.ts +8 -0
  384. package/dist/views/system/job-log/components/AttemptTable.vue.js +5 -0
  385. package/dist/views/system/job-log/components/AttemptTable.vue.js.map +1 -0
  386. package/dist/views/system/job-log/components/AttemptTable2.vue.js +54 -0
  387. package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -0
  388. package/dist/views/system/job-log/index.vue.js +2 -2
  389. package/dist/views/system/job-log/index2.vue.js +193 -207
  390. package/dist/views/system/job-log/index2.vue.js.map +1 -1
  391. package/dist/views/system/job-log/runStatus.d.ts +13 -0
  392. package/dist/views/system/job-log/runStatus.js +26 -0
  393. package/dist/views/system/job-log/runStatus.js.map +1 -0
  394. package/dist/views/system/job-monitor/index.vue.js +2 -2
  395. package/dist/views/system/job-monitor/index2.vue.js +172 -180
  396. package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
  397. package/dist/views/system/log/exception/index.vue.js +2 -2
  398. package/dist/views/system/log/exception/index2.vue.js +135 -96
  399. package/dist/views/system/log/exception/index2.vue.js.map +1 -1
  400. package/dist/views/system/log/login/index2.vue.js +62 -41
  401. package/dist/views/system/log/login/index2.vue.js.map +1 -1
  402. package/dist/views/system/log/op/index.vue.js +2 -2
  403. package/dist/views/system/log/op/index2.vue.js +200 -162
  404. package/dist/views/system/log/op/index2.vue.js.map +1 -1
  405. package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
  406. package/dist/views/system/menu/components/ButtonManager2.vue.js +206 -190
  407. package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
  408. package/dist/views/system/menu/components/MenuFormModal.vue.js +2 -2
  409. package/dist/views/system/menu/components/MenuFormModal2.vue.js +127 -118
  410. package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -1
  411. package/dist/views/system/menu/index.vue.js +1 -1
  412. package/dist/views/system/menu/index2.vue.js +216 -183
  413. package/dist/views/system/menu/index2.vue.js.map +1 -1
  414. package/dist/views/system/module/index.vue.js +1 -1
  415. package/dist/views/system/module/index2.vue.js +177 -144
  416. package/dist/views/system/module/index2.vue.js.map +1 -1
  417. package/dist/views/system/monitor/index.vue.js +2 -2
  418. package/dist/views/system/monitor/index2.vue.js +134 -149
  419. package/dist/views/system/monitor/index2.vue.js.map +1 -1
  420. package/dist/views/system/notice/index.vue.js +1 -1
  421. package/dist/views/system/notice/index2.vue.js +209 -181
  422. package/dist/views/system/notice/index2.vue.js.map +1 -1
  423. package/dist/views/system/org/index.vue.js +1 -1
  424. package/dist/views/system/org/index2.vue.js +278 -248
  425. package/dist/views/system/org/index2.vue.js.map +1 -1
  426. package/dist/views/system/position/index.vue.js +5 -2
  427. package/dist/views/system/position/index.vue.js.map +1 -1
  428. package/dist/views/system/position/index2.vue.js +128 -92
  429. package/dist/views/system/position/index2.vue.js.map +1 -1
  430. package/dist/views/system/recycle/index.vue.js +2 -2
  431. package/dist/views/system/recycle/index2.vue.js +90 -67
  432. package/dist/views/system/recycle/index2.vue.js.map +1 -1
  433. package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +20 -0
  434. package/dist/views/system/role/components/GrantMenuSheet.vue.js +8 -0
  435. package/dist/views/system/role/components/GrantMenuSheet.vue.js.map +1 -0
  436. package/dist/views/system/role/components/GrantMenuSheet2.vue.js +117 -0
  437. package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -0
  438. package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +6 -4
  439. package/dist/views/system/role/components/GrantMenuTable.vue.js +2 -2
  440. package/dist/views/system/role/components/GrantMenuTable2.vue.js +279 -177
  441. package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
  442. package/dist/views/system/role/components/MatchText.vue.d.ts +7 -0
  443. package/dist/views/system/role/components/MatchText.vue.js +8 -0
  444. package/dist/views/system/role/components/MatchText.vue.js.map +1 -0
  445. package/dist/views/system/role/components/MatchText2.vue.js +29 -0
  446. package/dist/views/system/role/components/MatchText2.vue.js.map +1 -0
  447. package/dist/views/system/role/components/grantMenuGroups.d.ts +36 -0
  448. package/dist/views/system/role/components/grantMenuGroups.js +110 -48
  449. package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
  450. package/dist/views/system/role/index.vue.js +5 -2
  451. package/dist/views/system/role/index.vue.js.map +1 -1
  452. package/dist/views/system/role/index2.vue.js +181 -165
  453. package/dist/views/system/role/index2.vue.js.map +1 -1
  454. package/dist/views/system/session/index2.vue.js +75 -49
  455. package/dist/views/system/session/index2.vue.js.map +1 -1
  456. package/dist/views/system/user/components/ResetPasswordModal.vue.js +2 -2
  457. package/dist/views/system/user/components/ResetPasswordModal2.vue.js +2 -0
  458. package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -1
  459. package/dist/views/system/user/components/UserFormModal.vue.js +2 -2
  460. package/dist/views/system/user/components/UserFormModal2.vue.js +77 -76
  461. package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -1
  462. package/dist/views/system/user/index.vue.js +2 -2
  463. package/dist/views/system/user/index2.vue.js +362 -275
  464. package/dist/views/system/user/index2.vue.js.map +1 -1
  465. package/package.json +6 -8
  466. package/dist/components/SelectTable/index.vue.d.ts +0 -76
  467. package/dist/components/SelectTable/index2.vue.js +0 -256
  468. package/dist/components/SelectTable/index2.vue.js.map +0 -1
  469. package/dist/composables/useTableRowSort.d.ts +0 -20
  470. package/dist/composables/useTableRowSort.js +0 -59
  471. package/dist/composables/useTableRowSort.js.map +0 -1
  472. package/dist/layouts/LayoutModeCards.vue.js +0 -8
  473. package/dist/layouts/LayoutModeCards.vue.js.map +0 -1
  474. package/dist/layouts/LayoutModeCards2.vue.js +0 -67
  475. package/dist/layouts/LayoutModeCards2.vue.js.map +0 -1
  476. package/dist/layouts/SettingRow.vue.js +0 -8
  477. package/dist/layouts/SettingRow.vue.js.map +0 -1
  478. package/dist/layouts/SettingRow2.vue.js +0 -23
  479. package/dist/layouts/SettingRow2.vue.js.map +0 -1
  480. package/dist/views/login/skins/AuroraGlass.vue.js +0 -8
  481. package/dist/views/login/skins/AuroraGlass.vue.js.map +0 -1
  482. package/dist/views/login/skins/AuroraGlass2.vue.js +0 -80
  483. package/dist/views/login/skins/AuroraGlass2.vue.js.map +0 -1
  484. package/dist/views/login/skins/SplitPanel.vue.js +0 -8
  485. package/dist/views/login/skins/SplitPanel.vue.js.map +0 -1
  486. package/dist/views/login/skins/SplitPanel2.vue.js +0 -85
  487. package/dist/views/login/skins/SplitPanel2.vue.js.map +0 -1
  488. package/dist/views/login/skins/Spotlight.vue.js +0 -8
  489. package/dist/views/login/skins/Spotlight.vue.js.map +0 -1
  490. package/dist/views/login/skins/Spotlight2.vue.js +0 -36
  491. package/dist/views/login/skins/Spotlight2.vue.js.map +0 -1
  492. package/dist/views/login/skins.d.ts +0 -8
  493. package/dist/views/login/skins.js +0 -13
  494. package/dist/views/login/skins.js.map +0 -1
  495. package/dist/views/system/config/components/ExternalAuthConfig.vue.js +0 -8
  496. package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +0 -1
  497. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +0 -218
  498. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +0 -1
  499. package/dist/views/system/config/components/GroupExtraConfig.vue.js +0 -8
  500. package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +0 -1
  501. package/dist/views/system/config/components/GroupExtraConfig2.vue.js +0 -108
  502. package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +0 -1
  503. package/dist/views/system/config/components/HighSensConfig.vue.js +0 -5
  504. package/dist/views/system/config/components/HighSensConfig.vue.js.map +0 -1
  505. package/dist/views/system/config/components/HighSensConfig2.vue.js +0 -134
  506. package/dist/views/system/config/components/HighSensConfig2.vue.js.map +0 -1
  507. package/dist/views/system/config/components/JobConfig.vue.js +0 -5
  508. package/dist/views/system/config/components/JobConfig.vue.js.map +0 -1
  509. package/dist/views/system/config/components/JobConfig2.vue.js +0 -116
  510. package/dist/views/system/config/components/JobConfig2.vue.js.map +0 -1
  511. package/dist/views/system/config/components/OtherConfig.vue.js +0 -5
  512. package/dist/views/system/config/components/OtherConfig.vue.js.map +0 -1
  513. package/dist/views/system/config/components/OtherConfig2.vue.js +0 -121
  514. package/dist/views/system/config/components/OtherConfig2.vue.js.map +0 -1
  515. package/dist/views/system/config/components/SecurityConfig.vue.js +0 -8
  516. package/dist/views/system/config/components/SecurityConfig.vue.js.map +0 -1
  517. package/dist/views/system/config/components/SecurityConfig2.vue.js +0 -456
  518. package/dist/views/system/config/components/SecurityConfig2.vue.js.map +0 -1
  519. package/dist/views/system/config/components/SysBaseConfig.vue.js +0 -5
  520. package/dist/views/system/config/components/SysBaseConfig.vue.js.map +0 -1
  521. package/dist/views/system/config/components/SysBaseConfig2.vue.js +0 -107
  522. package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +0 -1
  523. package/dist/views/system/config/components/UploadConfig.vue.d.ts +0 -3
  524. package/dist/views/system/config/components/UploadConfig.vue.js +0 -5
  525. package/dist/views/system/config/components/UploadConfig.vue.js.map +0 -1
  526. package/dist/views/system/config/components/UploadConfig2.vue.js +0 -135
  527. package/dist/views/system/config/components/UploadConfig2.vue.js.map +0 -1
  528. /package/dist/components/{SelectTable → TableTotal}/index.vue.js.map +0 -0
  529. /package/dist/layouts/{LayoutModeCards.vue.d.ts → AccentPicker.vue.d.ts} +0 -0
  530. /package/dist/views/{login/skins/AuroraGlass.vue.d.ts → system/config/components/AdminMock.vue.d.ts} +0 -0
  531. /package/dist/views/{login/skins/SplitPanel.vue.d.ts → system/config/components/AdvancedSection.vue.d.ts} +0 -0
  532. /package/dist/views/{login/skins/Spotlight.vue.d.ts → system/config/components/JobSection.vue.d.ts} +0 -0
  533. /package/dist/views/system/config/components/{ExternalAuthConfig.vue.d.ts → LogoEditor.vue.d.ts} +0 -0
  534. /package/dist/views/system/config/components/{HighSensConfig.vue.d.ts → SecuritySection.vue.d.ts} +0 -0
  535. /package/dist/views/system/config/components/{JobConfig.vue.d.ts → SensitiveSection.vue.d.ts} +0 -0
  536. /package/dist/views/system/config/components/{OtherConfig.vue.d.ts → SigninSection.vue.d.ts} +0 -0
  537. /package/dist/views/system/config/components/{SecurityConfig.vue.d.ts → UploadSection.vue.d.ts} +0 -0
  538. /package/dist/views/system/config/components/{SysBaseConfig.vue.d.ts → WatermarkSection.vue.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index2.vue.js","sources":["../../../../src/views/system/cache/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 缓存管理 = 定向失效动作卡片。只清不看:缓存值含明文验证码/一次性令牌、键内嵌手机号/IP(后端故无键浏览/取值端点)。\n// 每张卡二次确认后执行,toast 显被清条数。正常授权变更后端已自动失效,此页面向\"直接改库\"等旁路场景做手动刷新。\nimport { ref } from 'vue'\nimport { NGrid, NGi, NCard, NButton, useMessage } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { useConfirm } from '#/composables/useConfirm'\nimport { cacheApi } from '#/api'\nimport { translateError } from '#/utils/error'\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst { ask } = useConfirm()\n\ninterface CacheAction {\n key: 'auth' | 'dict' | 'config' | 'portal'\n icon: string\n perm: string\n run: () => Promise<number>\n}\n\nconst actions: CacheAction[] = [\n {\n key: 'auth',\n icon: 'ph:shield-check-duotone',\n perm: 'POST:/api/v1/sys/cache/flush-auth',\n run: cacheApi.flushAuth,\n },\n {\n key: 'dict',\n icon: 'ph:book-open-text-duotone',\n perm: 'POST:/api/v1/sys/cache/flush-dict',\n run: cacheApi.flushDict,\n },\n {\n key: 'config',\n icon: 'ph:sliders-horizontal-duotone',\n perm: 'POST:/api/v1/sys/cache/flush-config',\n run: cacheApi.flushConfig,\n },\n {\n key: 'portal',\n icon: 'ph:squares-four-duotone',\n perm: 'POST:/api/v1/sys/cache/rebuild-portal',\n run: cacheApi.rebuildPortal,\n },\n]\n\nconst busy = ref<string | null>(null)\n\nasync function trigger(a: CacheAction) {\n if (!(await ask({ type: 'warning', content: t(`cache.${a.key}Confirm`) }))) return\n busy.value = a.key\n try {\n const n = await a.run()\n // 门户是\"重建代际\"语义(返回新代际值,非清除条数),单独文案;其余显被清条数\n message.success(a.key === 'portal' ? t('cache.portalDone') : t('cache.flushed', { n }))\n } catch (e) {\n message.error(translateError(e))\n } finally {\n busy.value = null\n }\n}\n</script>\n\n<template>\n <div class=\"cache\">\n <n-grid cols=\"1 s:2 l:2\" responsive=\"screen\" :x-gap=\"12\" :y-gap=\"12\">\n <n-gi v-for=\"a in actions\" :key=\"a.key\" v-auth=\"a.perm\">\n <n-card size=\"small\" class=\"action-card\">\n <div class=\"head\">\n <AppIcon :icon=\"a.icon\" :size=\"22\" />\n <span class=\"title\">{{ t(`cache.${a.key}Title`) }}</span>\n </div>\n <p class=\"desc\">{{ t(`cache.${a.key}Desc`) }}</p>\n <n-button type=\"primary\" secondary :loading=\"busy === a.key\" @click=\"trigger(a)\">\n <template #icon><AppIcon icon=\"ph:broom\" :size=\"16\" /></template>\n {{ t('cache.execute') }}\n </n-button>\n </n-card>\n </n-gi>\n </n-grid>\n <p class=\"note\">{{ t('cache.note') }}</p>\n </div>\n</template>\n\n<style scoped>\n.cache {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.action-card {\n height: 100%;\n}\n.head {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 15px;\n font-weight: 600;\n}\n.desc {\n margin: 10px 0 14px;\n font-size: 13px;\n line-height: 1.6;\n color: var(--color-text-secondary, #999);\n min-height: 42px;\n}\n.note {\n margin: 4px 0 0;\n font-size: 12px;\n line-height: 1.6;\n color: var(--color-text-secondary, #999);\n}\n</style>\n"],"names":["useI18n","message","useMessage","ask","useConfirm","actions","cacheApi","busy","ref","trigger","a","n","e","translateError","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","NGrid","_Fragment","_renderList","_createBlock","NGi","NCard","_createElementVNode","_hoisted_2","AppIcon","_hoisted_3","_toDisplayString","_hoisted_4","NButton","$event","_createTextVNode","_directive_auth","_hoisted_5"],"mappings":";;;;;;;;;;AAWA,UAAM,EAAE,EAAA,IAAMA,EAAA,GACRC,IAAUC,EAAA,GACV,EAAE,KAAAC,EAAA,IAAQC,EAAA,GASVC,IAAyB;AAAA,MAC7B;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,QACN,KAAKC,EAAS;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,QACN,KAAKA,EAAS;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,QACN,KAAKA,EAAS;AAAA,MAAA;AAAA,MAEhB;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,QACN,KAAKA,EAAS;AAAA,MAAA;AAAA,IAChB,GAGIC,IAAOC,EAAmB,IAAI;AAEpC,mBAAeC,EAAQC,GAAgB;AACrC,UAAM,MAAMP,EAAI,EAAE,MAAM,WAAW,SAAS,EAAE,SAASO,EAAE,GAAG,SAAS,EAAA,CAAG,GACxE;AAAA,QAAAH,EAAK,QAAQG,EAAE;AACf,YAAI;AACF,gBAAMC,IAAI,MAAMD,EAAE,IAAA;AAElB,UAAAT,EAAQ,QAAQS,EAAE,QAAQ,WAAW,EAAE,kBAAkB,IAAI,EAAE,iBAAiB,EAAE,GAAAC,EAAA,CAAG,CAAC;AAAA,QACxF,SAASC,GAAG;AACV,UAAAX,EAAQ,MAAMY,EAAeD,CAAC,CAAC;AAAA,QACjC,UAAA;AACE,UAAAL,EAAK,QAAQ;AAAA,QACf;AAAA;AAAA,IACF;;;AAIE,aAAAO,EAAA,GAAAC,EAiBM,OAjBNC,GAiBM;AAAA,QAhBJC,EAcSC,EAAAC,CAAA,GAAA;AAAA,UAdD,MAAK;AAAA,UAAY,YAAW;AAAA,UAAU,SAAO;AAAA,UAAK,SAAO;AAAA,QAAA;qBACzD,MAAoB;AAAA,kBAA1BJ,EAYOK,GAAA,MAAAC,EAZWhB,GAAO,CAAZK,cAAbY,EAYOJ,EAAAK,CAAA,GAAA;AAAA,cAZqB,KAAKb,EAAE;AAAA,YAAA;yBACjC,MAUS;AAAA,gBAVTO,EAUSC,EAAAM,CAAA,GAAA;AAAA,kBAVD,MAAK;AAAA,kBAAQ,OAAM;AAAA,gBAAA;6BACzB,MAGM;AAAA,oBAHNC,EAGM,OAHNC,GAGM;AAAA,sBAFJT,EAAqCU,GAAA;AAAA,wBAA3B,MAAMjB,EAAE;AAAA,wBAAO,MAAM;AAAA,sBAAA;sBAC/Be,EAAyD,QAAzDG,GAAyDC,EAAlCX,KAAC,SAAUR,EAAE,GAAG,OAAA,CAAA,GAAA,CAAA;AAAA,oBAAA;oBAEzCe,EAAiD,KAAjDK,GAAiDD,EAA9BX,KAAC,SAAUR,EAAE,GAAG,MAAA,CAAA,GAAA,CAAA;AAAA,oBACnCO,EAGWC,EAAAa,CAAA,GAAA;AAAA,sBAHD,MAAK;AAAA,sBAAU,WAAA;AAAA,sBAAW,SAASxB,EAAA,UAASG,EAAE;AAAA,sBAAM,SAAK,CAAAsB,MAAEvB,EAAQC,CAAC;AAAA,oBAAA;sBACjE,QAAK,MAAsC;AAAA,wBAAtCO,EAAsCU,GAAA;AAAA,0BAA7B,MAAK;AAAA,0BAAY,MAAM;AAAA,wBAAA;;iCAAiB,MACjE;AAAA,wBADiEM,EAAA,QAC9Df,EAAA,CAAA,EAAC,eAAA,CAAA,GAAA,CAAA;AAAA,sBAAA;;;;;;;;;cATsC,CAAAgB,GAAAxB,EAAE,IAAI;AAAA,YAAA;;;;QAcxDe,EAAyC,KAAzCU,GAAyCN,EAAtBX,EAAA,CAAA,EAAC,YAAA,CAAA,GAAA,CAAA;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"index2.vue.js","sources":["../../../../src/views/system/cache/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 缓存管理 = 定向失效动作卡片。只清不看:缓存值含明文验证码/一次性令牌、键内嵌手机号/IP(后端故无键浏览/取值端点)。\n// 每张卡二次确认后执行,toast 显被清条数。正常授权变更后端已自动失效,此页面向\"直接改库\"等旁路场景做手动刷新。\nimport { computed, ref } from 'vue'\nimport { NCard, NButton, useMessage } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { useShellBreakpoint } from '#/composables/useShellBreakpoint'\nimport { useConfirm } from '#/composables/useConfirm'\nimport { cacheApi } from '#/api'\nimport { translateError } from '#/utils/error'\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst { ask } = useConfirm()\nconst { bp } = useShellBreakpoint()\nconst narrow = computed(() => bp.value === 'narrow')\n\ninterface CacheAction {\n key: 'auth' | 'dict' | 'config' | 'portal'\n icon: string\n perm: string\n run: () => Promise<number>\n}\n\nconst actions: CacheAction[] = [\n {\n key: 'auth',\n icon: 'ph:shield-check',\n perm: 'POST:/api/v1/sys/cache/flush-auth',\n run: cacheApi.flushAuth,\n },\n {\n key: 'dict',\n icon: 'ph:book-open-text',\n perm: 'POST:/api/v1/sys/cache/flush-dict',\n run: cacheApi.flushDict,\n },\n {\n key: 'config',\n icon: 'ph:sliders-horizontal',\n perm: 'POST:/api/v1/sys/cache/flush-config',\n run: cacheApi.flushConfig,\n },\n {\n key: 'portal',\n icon: 'ph:squares-four',\n perm: 'POST:/api/v1/sys/cache/rebuild-portal',\n run: cacheApi.rebuildPortal,\n },\n]\n\nconst busy = ref<string | null>(null)\n\nasync function trigger(a: CacheAction) {\n if (!(await ask({ type: 'warning', content: t(`cache.${a.key}Confirm`) }))) return\n busy.value = a.key\n try {\n const n = await a.run()\n // 门户是\"重建代际\"语义(返回新代际值,非清除条数),单独文案;其余显被清条数\n message.success(a.key === 'portal' ? t('cache.portalDone') : t('cache.flushed', { n }))\n } catch (e) {\n message.error(translateError(e))\n } finally {\n busy.value = null\n }\n}\n</script>\n\n<template>\n <div class=\"cache\">\n <!-- 两列;内容区窄档(< 600)一列 -->\n <div class=\"cards\" :class=\"{ 'cards--narrow': narrow }\">\n <n-card\n v-for=\"a in actions\"\n :key=\"a.key\"\n v-auth=\"a.perm\"\n class=\"a-card action-card\"\n content-style=\"padding: 16px 18px\"\n >\n <div class=\"head\">\n <span class=\"sym\"><AppIcon :icon=\"a.icon\" :size=\"16\" /></span>\n <b class=\"title\">{{ t(`cache.${a.key}Title`) }}</b>\n </div>\n <p class=\"desc\">{{ t(`cache.${a.key}Desc`) }}</p>\n <div class=\"act\">\n <n-button\n type=\"primary\"\n secondary\n :size=\"narrow ? 'large' : 'medium'\"\n :loading=\"busy === a.key\"\n @click=\"trigger(a)\"\n >\n <template #icon><AppIcon icon=\"ph:broom\" :size=\"16\" /></template>\n {{ t('cache.execute') }}\n </n-button>\n </div>\n </n-card>\n </div>\n <p class=\"note\">{{ t('cache.note') }}</p>\n </div>\n</template>\n\n<style scoped>\n.cache {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n/* 卡片等高,「执行」按钮用 margin-top:auto 沉到卡片底部 */\n.cards {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 12px;\n}\n.cards--narrow {\n grid-template-columns: minmax(0, 1fr);\n}\n.action-card {\n height: 100%;\n}\n.action-card :deep(.n-card__content) {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.head {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n/* 图标底块:中性玻璃 */\n.sym {\n display: grid;\n place-items: center;\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n border-radius: var(--radius-sm);\n color: var(--text-1);\n background: var(--glass-strong);\n box-shadow:\n inset 0 0 0 1px var(--hairline),\n inset 0 1px 0 var(--edge-light);\n}\n.title {\n font-size: 15px;\n}\n.desc {\n margin: 10px 0 0;\n min-height: 44px;\n font-size: 14px;\n line-height: 1.6;\n color: var(--text-2);\n}\n.act {\n margin-top: auto;\n padding-top: 14px;\n}\n.note {\n margin: 0;\n padding: 0 4px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--text-3);\n}\n</style>\n"],"names":["t","useI18n","message","useMessage","ask","useConfirm","bp","useShellBreakpoint","narrow","computed","actions","cacheApi","busy","ref","trigger","a","n","e","translateError","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_normalizeClass","_Fragment","_renderList","_createBlock","_unref","NCard","_hoisted_2","_hoisted_3","_createVNode","AppIcon","_hoisted_4","_toDisplayString","_hoisted_5","_hoisted_6","NButton","$event","_createTextVNode","_directive_auth","_hoisted_7"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import o from "./AdminMock2.vue.js";
2
+ /* empty css */
3
+ import t from "../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const d = /* @__PURE__ */ t(o, [["__scopeId", "data-v-2dd715c1"]]);
5
+ export {
6
+ d as default
7
+ };
8
+ //# sourceMappingURL=AdminMock.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminMock.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,93 @@
1
+ import { defineComponent as $, computed as n, openBlock as o, createElementBlock as i, createBlock as b, createCommentVNode as S, createElementVNode as s, withDirectives as p, createVNode as g, toDisplayString as m, unref as v, Fragment as z, renderList as I, normalizeStyle as N } from "vue";
2
+ import k from "../../../../components/SmartLogo.vue.js";
3
+ import V from "../../../../components/AppWatermark.vue.js";
4
+ import { useUserStore as x } from "../../../../stores/user.js";
5
+ import { watermarkFromValues as B } from "../../../../lib/watermark.js";
6
+ import { LOGO_KEY as C } from "../groups.js";
7
+ import { useConfigDraft as D } from "../draft.js";
8
+ import { vFlash as _ } from "../flash.js";
9
+ const E = { class: "mock" }, F = { class: "chrome" }, L = { class: "btab" }, U = { class: "app" }, A = { class: "side" }, O = {
10
+ class: "brand",
11
+ "data-testid": "preview-brand"
12
+ }, T = { class: "main" }, G = { class: "foot" }, K = { key: 0 }, M = { key: 1 }, X = /* @__PURE__ */ $({
13
+ __name: "AdminMock",
14
+ setup(Y) {
15
+ const { values: r } = D(), a = n(() => {
16
+ var e;
17
+ return ((e = r["sys.site.title"]) == null ? void 0 : e.trim()) || "SmartAdmin";
18
+ }), d = n(() => {
19
+ var e;
20
+ return ((e = r["sys.site.copyright"]) == null ? void 0 : e.trim()) || a.value;
21
+ }), f = n(() => {
22
+ var e;
23
+ return !!((e = r["sys.site.copyrightUrl"]) != null && e.trim());
24
+ }), c = n(() => r[C] ?? ""), u = x(), h = n(() => B(r)), w = n(() => {
25
+ var e, t, l, y;
26
+ return {
27
+ name: (e = u.userInfo) == null ? void 0 : e.name,
28
+ account: (t = u.userInfo) == null ? void 0 : t.account,
29
+ org: (l = u.userInfo) == null ? void 0 : l.orgName,
30
+ phoneTail: (y = u.userInfo) == null ? void 0 : y.phoneTail
31
+ };
32
+ });
33
+ return (e, t) => (o(), i("div", E, [
34
+ h.value.enabled ? (o(), b(V, {
35
+ key: 0,
36
+ settings: h.value,
37
+ who: w.value,
38
+ "z-index": 5
39
+ }, null, 8, ["settings", "who"])) : S("", !0),
40
+ s("div", F, [
41
+ t[0] || (t[0] = s("span", { class: "lights" }, [
42
+ s("i"),
43
+ s("i"),
44
+ s("i")
45
+ ], -1)),
46
+ p((o(), i("span", L, [
47
+ g(k, {
48
+ size: 16,
49
+ src: c.value
50
+ }, null, 8, ["src"]),
51
+ s("span", null, m(a.value), 1)
52
+ ])), [
53
+ [v(_), `${a.value}|${c.value}`]
54
+ ])
55
+ ]),
56
+ s("div", U, [
57
+ s("div", A, [
58
+ p((o(), i("div", O, [
59
+ g(k, {
60
+ size: 30,
61
+ src: c.value
62
+ }, null, 8, ["src"]),
63
+ s("span", null, m(a.value), 1)
64
+ ])), [
65
+ [v(_), `${a.value}|${c.value}`]
66
+ ]),
67
+ (o(), i(z, null, I(5, (l) => s("i", {
68
+ key: l,
69
+ style: N({ width: l % 2 ? "80%" : "62%" })
70
+ }, null, 4)), 64))
71
+ ]),
72
+ s("div", T, [
73
+ t[1] || (t[1] = s("div", { class: "top" }, null, -1)),
74
+ t[2] || (t[2] = s("div", { class: "body" }, [
75
+ s("i", { class: "w" }),
76
+ s("i"),
77
+ s("i"),
78
+ s("i")
79
+ ], -1)),
80
+ p((o(), i("div", G, [
81
+ f.value ? (o(), i("a", K, "© " + m(d.value), 1)) : (o(), i("span", M, "© " + m(d.value), 1))
82
+ ])), [
83
+ [v(_), `${d.value}|${f.value}`]
84
+ ])
85
+ ])
86
+ ])
87
+ ]));
88
+ }
89
+ });
90
+ export {
91
+ X as default
92
+ };
93
+ //# sourceMappingURL=AdminMock2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminMock2.vue.js","sources":["../../../../../src/views/system/config/components/AdminMock.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 缩小版后台(880×540 设计尺寸,外面 ScaleToFit 等比缩放):浏览器标签页、侧栏品牌位、页脚版权,\n// 都读草稿,改一项对应位置即时变并闪一下。\nimport { computed } from 'vue'\nimport SmartLogo from '#/components/SmartLogo.vue'\nimport AppWatermark from '#/components/AppWatermark.vue'\nimport { useUserStore } from '#/stores/user'\nimport { watermarkFromValues } from '#/lib/watermark'\nimport { LOGO_KEY } from '../groups'\nimport { useConfigDraft } from '../draft'\nimport { vFlash } from '../flash'\n\nconst { values } = useConfigDraft()\nconst title = computed(() => values['sys.site.title']?.trim() || 'SmartAdmin')\n// 版权留空时和登录页页脚一样回退到站点名\nconst copyright = computed(() => values['sys.site.copyright']?.trim() || title.value)\nconst hasUrl = computed(() => !!values['sys.site.copyrightUrl']?.trim())\nconst logo = computed(() => values[LOGO_KEY] ?? '')\n\n// 草稿里的水印设置 + 当前登录用户的真实信息,预览出来就是保存后自己会看到的样子。\n// 水印层是 fixed 定位,放在带 transform 的缩放舞台里,会被收进舞台自己的范围,不会盖到整个页面。\nconst user = useUserStore()\nconst wm = computed(() => watermarkFromValues(values))\nconst who = computed(() => ({\n name: user.userInfo?.name,\n account: user.userInfo?.account,\n org: user.userInfo?.orgName,\n phoneTail: user.userInfo?.phoneTail,\n}))\n</script>\n\n<template>\n <div class=\"mock\">\n <AppWatermark v-if=\"wm.enabled\" :settings=\"wm\" :who=\"who\" :z-index=\"5\" />\n <div class=\"chrome\">\n <span class=\"lights\">\n <i />\n <i />\n <i />\n </span>\n <span v-flash=\"`${title}|${logo}`\" class=\"btab\">\n <SmartLogo :size=\"16\" :src=\"logo\" />\n <span>{{ title }}</span>\n </span>\n </div>\n <div class=\"app\">\n <div class=\"side\">\n <div v-flash=\"`${title}|${logo}`\" class=\"brand\" data-testid=\"preview-brand\">\n <SmartLogo :size=\"30\" :src=\"logo\" />\n <span>{{ title }}</span>\n </div>\n <i v-for=\"n in 5\" :key=\"n\" :style=\"{ width: n % 2 ? '80%' : '62%' }\" />\n </div>\n <div class=\"main\">\n <div class=\"top\" />\n <div class=\"body\">\n <i class=\"w\" />\n <i />\n <i />\n <i />\n </div>\n <div v-flash=\"`${copyright}|${hasUrl}`\" class=\"foot\">\n <a v-if=\"hasUrl\">© {{ copyright }}</a>\n <span v-else>© {{ copyright }}</span>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.mock {\n display: flex;\n flex-direction: column;\n width: 880px;\n height: 540px;\n overflow: hidden;\n border-radius: 10px;\n background: var(--cfg-card);\n box-shadow: var(--shadow-2);\n color: var(--text-1);\n font-size: 14px;\n text-align: left;\n}\n.chrome {\n display: flex;\n flex: none;\n align-items: flex-end;\n gap: 10px;\n height: 38px;\n padding: 0 12px;\n background: var(--fill);\n}\n.lights {\n display: flex;\n align-self: center;\n gap: 6px;\n}\n.lights i {\n width: 11px;\n height: 11px;\n border-radius: 50%;\n background: var(--err);\n}\n.lights i:nth-child(2) {\n background: var(--warn);\n}\n.lights i:nth-child(3) {\n background: var(--ok);\n}\n.btab {\n display: flex;\n align-items: center;\n gap: 7px;\n max-width: 260px;\n height: 30px;\n padding: 0 14px;\n border-radius: 8px 8px 0 0;\n background: var(--cfg-card);\n font-size: 12.5px;\n}\n.btab span {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app {\n display: grid;\n flex: 1;\n grid-template-columns: 196px 1fr;\n min-height: 0;\n}\n.side {\n padding: 16px 12px;\n border-right: 1px solid var(--separator);\n}\n.brand {\n display: flex;\n align-items: center;\n gap: 9px;\n padding: 4px 6px;\n margin-bottom: 14px;\n overflow: hidden;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 600;\n white-space: nowrap;\n}\n.side i {\n display: block;\n height: 10px;\n margin: 16px 8px;\n border-radius: 5px;\n background: var(--fill);\n}\n.main {\n display: flex;\n flex-direction: column;\n background: var(--cfg-app);\n}\n.top {\n height: 48px;\n border-bottom: 1px solid var(--separator);\n background: var(--cfg-card);\n}\n.body {\n display: grid;\n flex: 1;\n grid-template-columns: repeat(3, 1fr);\n grid-auto-rows: 90px;\n gap: 14px;\n padding: 20px;\n}\n.body i {\n border-radius: 10px;\n background: var(--cfg-card);\n}\n.body i.w {\n grid-column: span 3;\n grid-row: span 2;\n}\n.foot {\n display: grid;\n place-items: center;\n height: 42px;\n border-radius: 6px;\n font-size: 12.5px;\n color: var(--text-3);\n}\n.foot a {\n color: var(--signal);\n}\n</style>\n"],"names":["values","useConfigDraft","title","computed","_a","copyright","hasUrl","logo","LOGO_KEY","user","useUserStore","wm","watermarkFromValues","who","_b","_c","_d","_openBlock","_createElementBlock","_hoisted_1","_createBlock","AppWatermark","_createElementVNode","_hoisted_2","_withDirectives","_hoisted_3","_createVNode","SmartLogo","_unref","vFlash","_hoisted_4","_hoisted_5","_hoisted_6","_Fragment","_renderList","n","_hoisted_7","_hoisted_8","_hoisted_9","_toDisplayString","_hoisted_10"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import o from "./AdvancedSection2.vue.js";
2
+ /* empty css */
3
+ import t from "../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const d = /* @__PURE__ */ t(o, [["__scopeId", "data-v-46963dc2"]]);
5
+ export {
6
+ d as default
7
+ };
8
+ //# sourceMappingURL=AdvancedSection.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedSection.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,163 @@
1
+ import { defineComponent as z, computed as A, ref as f, watch as N, h as s, resolveDirective as B, openBlock as y, createElementBlock as R, Fragment as I, createVNode as n, unref as t, withCtx as a, createElementVNode as L, normalizeClass as P, withDirectives as D, createBlock as O, createTextVNode as V, toDisplayString as H } from "vue";
2
+ import { useMessage as F, NSpace as K, NButton as u, NPopconfirm as M } from "naive-ui";
3
+ import { useI18n as q } from "vue-i18n";
4
+ import { SmartTable as U } from "smart-naive-table";
5
+ import G from "../../../../components/AppIcon.vue.js";
6
+ import { useConfirm as W } from "../../../../composables/useConfirm.js";
7
+ import { useAuthStore as $ } from "../../../../stores/auth.js";
8
+ import { configApi as w } from "../../../../api/index.js";
9
+ import { translateError as j } from "../../../../utils/error.js";
10
+ import { SEARCH_ACTIONS as d, deriveHeaderFilters as J } from "../../../../utils/tableFilter.js";
11
+ import { TABLE_MIN_ROW_HEIGHT as Q, TABLE_TOOLBAR as X } from "../../../../utils/tableToolbar.js";
12
+ import Y from "../../../../components/TableTotal/index.vue.js";
13
+ import Z from "./ConfigFormModal.vue.js";
14
+ import ee from "./SectionLayout.vue.js";
15
+ import { configRevision as oe, bumpConfigRevision as te } from "../groups.js";
16
+ import { useConfigDraft as ie } from "../draft.js";
17
+ import { useConfigLayout as re } from "../layoutMode.js";
18
+ const Te = /* @__PURE__ */ z({
19
+ __name: "AdvancedSection",
20
+ setup(ne) {
21
+ const { t: e } = q(), C = F(), { run: _ } = W(), p = $(), k = ie(), { nar: c, side: T } = re(), g = A(() => c.value ? "medium" : "small"), h = f(), E = (o) => w.page({ ...o, excludedKeys: k.claimedKeys.value });
22
+ N(oe, () => {
23
+ var o;
24
+ return (o = h.value) == null ? void 0 : o.refresh();
25
+ });
26
+ const v = [
27
+ { type: "index", title: () => e("common.rowNo"), width: 64, align: "center" },
28
+ {
29
+ key: "configKey",
30
+ title: () => e("config.key"),
31
+ search: { actions: d.fuzzy },
32
+ ellipsis: { tooltip: !0 }
33
+ },
34
+ {
35
+ key: "name",
36
+ title: () => e("config.name"),
37
+ search: { actions: d.fuzzy },
38
+ ellipsis: { tooltip: !0 }
39
+ },
40
+ {
41
+ key: "configValue",
42
+ title: () => e("config.value"),
43
+ ellipsis: { tooltip: !0 },
44
+ render: (o) => o.configValue || "—"
45
+ },
46
+ {
47
+ key: "groupCode",
48
+ title: () => e("config.group"),
49
+ search: { actions: d.exact },
50
+ render: (o) => o.groupCode || "—"
51
+ },
52
+ { key: "sort", title: () => e("config.sort"), width: 80 },
53
+ { key: "createTime", title: () => e("common.createTime"), format: "datetime" },
54
+ {
55
+ key: "op",
56
+ title: () => e("common.operation"),
57
+ width: 140,
58
+ fixed: "right",
59
+ hideInSetting: !0,
60
+ render: (o) => s(K, { size: 4, wrapItem: !1 }, () => [
61
+ p.hasPerm("PUT:/api/v1/sys/config/{id}") ? s(
62
+ u,
63
+ {
64
+ size: g.value,
65
+ quaternary: !0,
66
+ type: "primary",
67
+ onClick: () => b(o)
68
+ },
69
+ () => e("common.edit")
70
+ ) : null,
71
+ p.hasPerm("DELETE:/api/v1/sys/config/{id}") ? s(
72
+ M,
73
+ {
74
+ // popconfirm 当触发器,「执行→toast」交给 useConfirm().run(与 module 页一致)。
75
+ onPositiveClick: () => _(() => w.remove(o.id), e("config.deleted")).then((i) => {
76
+ i && te();
77
+ })
78
+ },
79
+ {
80
+ trigger: () => s(
81
+ u,
82
+ { size: g.value, quaternary: !0, type: "error" },
83
+ () => e("common.delete")
84
+ ),
85
+ default: () => e("config.deleteConfirm", { name: o.name })
86
+ }
87
+ ) : null
88
+ ])
89
+ }
90
+ ];
91
+ J(v);
92
+ const l = f(!1), m = f(null);
93
+ function S() {
94
+ m.value = null, l.value = !0;
95
+ }
96
+ function b(o) {
97
+ m.value = o, l.value = !0;
98
+ }
99
+ return (o, i) => {
100
+ const x = B("auth");
101
+ return y(), R(I, null, [
102
+ n(ee, {
103
+ title: t(e)("config.tab.advanced"),
104
+ desc: t(e)("config.advanced.desc")
105
+ }, {
106
+ default: a(() => [
107
+ L("div", {
108
+ class: P(["fill-main", "adv", { "adv--fixed": !t(T) && !t(c) }])
109
+ }, [
110
+ n(t(U), {
111
+ toolbar: t(X),
112
+ "fill-height": !t(c),
113
+ "min-row-height": t(Q),
114
+ "card-on-narrow": "",
115
+ ref_key: "tableRef",
116
+ ref: h,
117
+ columns: v,
118
+ fetcher: E,
119
+ search: { container: "table" },
120
+ "storage-key": "sys-config",
121
+ onError: i[0] || (i[0] = (r) => t(C).error(t(j)(r)))
122
+ }, {
123
+ "pagination-prefix": a(({ itemCount: r }) => [
124
+ n(Y, { count: r }, null, 8, ["count"])
125
+ ]),
126
+ "toolbar-right": a(() => [
127
+ D((y(), O(t(u), {
128
+ type: "primary",
129
+ onClick: S
130
+ }, {
131
+ icon: a(() => [
132
+ n(G, {
133
+ icon: "ph:plus",
134
+ size: 16
135
+ })
136
+ ]),
137
+ default: a(() => [
138
+ V(" " + H(t(e)("common.add")), 1)
139
+ ]),
140
+ _: 1
141
+ })), [
142
+ [x, "POST:/api/v1/sys/config"]
143
+ ])
144
+ ]),
145
+ _: 1
146
+ }, 8, ["toolbar", "fill-height", "min-row-height"])
147
+ ], 2)
148
+ ]),
149
+ _: 1
150
+ }, 8, ["title", "desc"]),
151
+ n(Z, {
152
+ show: l.value,
153
+ "onUpdate:show": i[1] || (i[1] = (r) => l.value = r),
154
+ row: m.value
155
+ }, null, 8, ["show", "row"])
156
+ ], 64);
157
+ };
158
+ }
159
+ });
160
+ export {
161
+ Te as default
162
+ };
163
+ //# sourceMappingURL=AdvancedSection2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedSection2.vue.js","sources":["../../../../../src/views/system/config/components/AdvancedSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 高级:给开发者看的原始键值表。列出所有没被结构化表单认领的配置行——\n// 结构化分组里的零散键、业务模块自己加的配置都在这里;认领清单来自草稿(draft.claimedKeys)。\n// 列驱动搜索/分页/竞态交 SmartTable,新增/编辑弹窗是 ConfigFormModal。\nimport { computed, h, ref, watch } from 'vue'\nimport { NButton, NSpace, NPopconfirm, useMessage } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport { SmartTable, type SmartTableColumn, type SmartTableInst } from 'smart-naive-table'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { useConfirm } from '#/composables/useConfirm'\nimport { useAuthStore } from '#/stores/auth'\nimport { configApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport { SEARCH_ACTIONS, deriveHeaderFilters } from '#/utils/tableFilter'\nimport { TABLE_MIN_ROW_HEIGHT, TABLE_TOOLBAR } from '#/utils/tableToolbar'\nimport TableTotal from '#/components/TableTotal/index.vue'\nimport type { SysConfig } from '#/types/api'\nimport ConfigFormModal from './ConfigFormModal.vue'\nimport SectionLayout from './SectionLayout.vue'\nimport { bumpConfigRevision, configRevision } from '../groups'\nimport { useConfigDraft } from '../draft'\nimport { useConfigLayout } from '../layoutMode'\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst { run } = useConfirm()\nconst authStore = useAuthStore()\nconst draft = useConfigDraft()\nconst { nar, side } = useConfigLayout()\n// 窄档卡片里的行内按钮放大,方便手指点\nconst btnSize = computed(() => (nar.value ? 'medium' : 'small'))\nconst tableRef = ref<SmartTableInst<SysConfig>>()\n\n// 在库里排除已认领的键,分页总数才准\nconst fetchConfigs = (params: Parameters<typeof configApi.page>[0]) =>\n configApi.page({ ...params, excludedKeys: draft.claimedKeys.value })\n\n// 保存或增删改了配置行都刷当前页(不回第 1 页)\nwatch(configRevision, () => tableRef.value?.refresh())\n\nconst columns: SmartTableColumn<SysConfig>[] = [\n { type: 'index', title: () => t('common.rowNo'), width: 64, align: 'center' },\n {\n key: 'configKey',\n title: () => t('config.key'),\n search: { actions: SEARCH_ACTIONS.fuzzy },\n ellipsis: { tooltip: true },\n },\n {\n key: 'name',\n title: () => t('config.name'),\n search: { actions: SEARCH_ACTIONS.fuzzy },\n ellipsis: { tooltip: true },\n },\n {\n key: 'configValue',\n title: () => t('config.value'),\n ellipsis: { tooltip: true },\n render: r => r.configValue || '—',\n },\n {\n key: 'groupCode',\n title: () => t('config.group'),\n search: { actions: SEARCH_ACTIONS.exact },\n render: r => r.groupCode || '—',\n },\n { key: 'sort', title: () => t('config.sort'), width: 80 },\n { key: 'createTime', title: () => t('common.createTime'), format: 'datetime' },\n {\n key: 'op',\n title: () => t('common.operation'),\n width: 140,\n fixed: 'right',\n hideInSetting: true,\n render: r =>\n h(NSpace, { size: 4, wrapItem: false }, () => [\n authStore.hasPerm('PUT:/api/v1/sys/config/{id}')\n ? h(\n NButton,\n {\n size: btnSize.value,\n quaternary: true,\n type: 'primary',\n onClick: () => openEdit(r),\n },\n () => t('common.edit'),\n )\n : null,\n authStore.hasPerm('DELETE:/api/v1/sys/config/{id}')\n ? h(\n NPopconfirm,\n {\n // popconfirm 当触发器,「执行→toast」交给 useConfirm().run(与 module 页一致)。\n onPositiveClick: () =>\n run(() => configApi.remove(r.id), t('config.deleted')).then(ok => {\n if (ok) bumpConfigRevision()\n }),\n },\n {\n trigger: () =>\n h(NButton, { size: btnSize.value, quaternary: true, type: 'error' }, () =>\n t('common.delete'),\n ),\n default: () => t('config.deleteConfirm', { name: r.name }),\n },\n )\n : null,\n ]),\n },\n]\nderiveHeaderFilters(columns)\n\nconst show = ref(false)\nconst editing = ref<SysConfig | null>(null)\nfunction openAdd() {\n editing.value = null\n show.value = true\n}\nfunction openEdit(r: SysConfig) {\n editing.value = r\n show.value = true\n}\n</script>\n\n<template>\n <SectionLayout :title=\"t('config.tab.advanced')\" :desc=\"t('config.advanced.desc')\">\n <!-- .fill-main 接上内核的高度链(styles/layout.css):页面不滚,只有表体滚。\n 窄档整页自然滚动:表收成卡片列表、不再定高;中档(单栏)给固定高度,宽档吃满剩余高度 -->\n <div :class=\"['fill-main', 'adv', { 'adv--fixed': !side && !nar }]\">\n <SmartTable\n :toolbar=\"TABLE_TOOLBAR\"\n :fill-height=\"!nar\"\n :min-row-height=\"TABLE_MIN_ROW_HEIGHT\"\n card-on-narrow\n ref=\"tableRef\"\n :columns=\"columns\"\n :fetcher=\"fetchConfigs\"\n :search=\"{ container: 'table' }\"\n storage-key=\"sys-config\"\n @error=\"e => message.error(translateError(e))\"\n >\n <template #pagination-prefix=\"{ itemCount }\">\n <TableTotal :count=\"itemCount\" />\n </template>\n <template #toolbar-right>\n <n-button v-auth=\"'POST:/api/v1/sys/config'\" type=\"primary\" @click=\"openAdd\">\n <template #icon><AppIcon icon=\"ph:plus\" :size=\"16\" /></template>\n {{ t('common.add') }}\n </n-button>\n </template>\n </SmartTable>\n </div>\n </SectionLayout>\n\n <ConfigFormModal v-model:show=\"show\" :row=\"editing\" />\n</template>\n\n<style scoped>\n.adv--fixed {\n flex: none;\n height: 560px;\n}\n</style>\n"],"names":["t","useI18n","message","useMessage","run","useConfirm","authStore","useAuthStore","draft","useConfigDraft","nar","side","useConfigLayout","btnSize","computed","tableRef","ref","fetchConfigs","params","configApi","watch","configRevision","_a","columns","SEARCH_ACTIONS","r","h","NSpace","NButton","openEdit","NPopconfirm","ok","bumpConfigRevision","deriveHeaderFilters","show","editing","openAdd","_createVNode","SectionLayout","_unref","_createElementVNode","_normalizeClass","SmartTable","TABLE_TOOLBAR","TABLE_MIN_ROW_HEIGHT","_cache","e","translateError","_withCtx","itemCount","TableTotal","_createBlock","AppIcon","_createTextVNode","ConfigFormModal","$event"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { LoginLocale } from '../groups';
2
+ declare function setLocale(l: LoginLocale): void;
3
+ declare const __VLS_export: import('vue').DefineComponent<{}, {
4
+ setLocale: typeof setLocale;
5
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import o from "./BrandSection2.vue.js";
2
+ /* empty css */
3
+ import t from "../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-442d28ac"]]);
5
+ export {
6
+ m as default
7
+ };
8
+ //# sourceMappingURL=BrandSection.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrandSection.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}