smart-admin-web 10.15.0 → 10.20.1

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 (432) hide show
  1. package/README.md +1 -1
  2. package/dist/api/index.d.ts +4 -2
  3. package/dist/api/index.js +1 -1
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/schema.d.ts +39 -5
  6. package/dist/assets/icons/ph-subset.json.js +5 -5
  7. package/dist/components/AppIcon.vue.js +9 -9
  8. package/dist/components/AppIcon.vue.js.map +1 -1
  9. package/dist/components/AppWatermark.vue.d.ts +14 -0
  10. package/dist/components/AppWatermark.vue.js +38 -0
  11. package/dist/components/AppWatermark.vue.js.map +1 -0
  12. package/dist/components/AppWatermark2.vue.js +5 -0
  13. package/dist/components/AppWatermark2.vue.js.map +1 -0
  14. package/dist/components/Chart/PieChart.vue.d.ts +1 -1
  15. package/dist/components/Chart/echarts.js +15 -20
  16. package/dist/components/Chart/echarts.js.map +1 -1
  17. package/dist/components/CronEditor/index.vue.js +1 -1
  18. package/dist/components/CronEditor/index2.vue.js +2 -1
  19. package/dist/components/CronEditor/index2.vue.js.map +1 -1
  20. package/dist/components/DetailPage/index.vue.js +2 -2
  21. package/dist/components/DetailPage/index2.vue.js.map +1 -1
  22. package/dist/components/DictTag/index.vue.js.map +1 -1
  23. package/dist/components/ErrorBoundary/index.vue.js +2 -2
  24. package/dist/components/ErrorBoundary/index2.vue.js +1 -1
  25. package/dist/components/ErrorBoundary/index2.vue.js.map +1 -1
  26. package/dist/components/FormContainer/index.vue.js +91 -56
  27. package/dist/components/FormContainer/index.vue.js.map +1 -1
  28. package/dist/components/ImportWizard/index.vue.js +1 -1
  29. package/dist/components/ImportWizard/index2.vue.js +44 -41
  30. package/dist/components/ImportWizard/index2.vue.js.map +1 -1
  31. package/dist/components/MenuSearch.vue.js +2 -2
  32. package/dist/components/MenuSearch2.vue.js +19 -18
  33. package/dist/components/MenuSearch2.vue.js.map +1 -1
  34. package/dist/components/PasswordStrength/index.vue.js +2 -2
  35. package/dist/components/PasswordStrength/index2.vue.js +20 -18
  36. package/dist/components/PasswordStrength/index2.vue.js.map +1 -1
  37. package/dist/components/TableTotal/index.vue.d.ts +6 -0
  38. package/dist/components/{SelectTable → TableTotal}/index.vue.js +1 -1
  39. package/dist/components/TableTotal/index2.vue.js +16 -0
  40. package/dist/components/TableTotal/index2.vue.js.map +1 -0
  41. package/dist/components/TableZoomButton/index.vue.js.map +1 -1
  42. package/dist/components/UserPicker/index.vue.js +2 -2
  43. package/dist/components/UserPicker/index2.vue.js +176 -117
  44. package/dist/components/UserPicker/index2.vue.js.map +1 -1
  45. package/dist/composables/useBatchDelete.js.map +1 -1
  46. package/dist/composables/useLayoutMenu.js +17 -16
  47. package/dist/composables/useLayoutMenu.js.map +1 -1
  48. package/dist/composables/useModule.js +39 -29
  49. package/dist/composables/useModule.js.map +1 -1
  50. package/dist/composables/useShellBreakpoint.d.ts +19 -0
  51. package/dist/composables/useShellBreakpoint.js +37 -0
  52. package/dist/composables/useShellBreakpoint.js.map +1 -0
  53. package/dist/composables/useSite.d.ts +15 -0
  54. package/dist/composables/useSite.js +16 -14
  55. package/dist/composables/useSite.js.map +1 -1
  56. package/dist/composables/useTabTitle.js.map +1 -1
  57. package/dist/composables/useTableTitle.d.ts +6 -0
  58. package/dist/composables/useTableTitle.js +11 -0
  59. package/dist/composables/useTableTitle.js.map +1 -0
  60. package/dist/composables/useTableZoom.d.ts +5 -0
  61. package/dist/composables/useTableZoom.js.map +1 -1
  62. package/dist/composables/useTheme.d.ts +2 -2
  63. package/dist/composables/useTheme.js +23 -20
  64. package/dist/composables/useTheme.js.map +1 -1
  65. package/dist/createSmartAdmin.d.ts +12 -2
  66. package/dist/createSmartAdmin.js +72 -60
  67. package/dist/createSmartAdmin.js.map +1 -1
  68. package/dist/index.d.ts +5 -2
  69. package/dist/index.js +219 -205
  70. package/dist/index.js.map +1 -1
  71. package/dist/layouts/AccentPicker.vue.js +8 -0
  72. package/dist/layouts/AccentPicker.vue.js.map +1 -0
  73. package/dist/layouts/AccentPicker2.vue.js +131 -0
  74. package/dist/layouts/AccentPicker2.vue.js.map +1 -0
  75. package/dist/layouts/AppHeader.vue.d.ts +8 -1
  76. package/dist/layouts/AppHeader.vue.js +2 -2
  77. package/dist/layouts/AppHeader2.vue.js +317 -235
  78. package/dist/layouts/AppHeader2.vue.js.map +1 -1
  79. package/dist/layouts/NoticeBell.vue.js +2 -2
  80. package/dist/layouts/NoticeBell2.vue.js +19 -18
  81. package/dist/layouts/NoticeBell2.vue.js.map +1 -1
  82. package/dist/layouts/PersonalLayout.vue.js +2 -2
  83. package/dist/layouts/PersonalLayout2.vue.js +69 -47
  84. package/dist/layouts/PersonalLayout2.vue.js.map +1 -1
  85. package/dist/layouts/SettingsDrawer.vue.js +3 -3
  86. package/dist/layouts/SettingsDrawer2.vue.js +261 -325
  87. package/dist/layouts/SettingsDrawer2.vue.js.map +1 -1
  88. package/dist/layouts/TabsBar.vue.js +2 -2
  89. package/dist/layouts/TabsBar2.vue.js +97 -69
  90. package/dist/layouts/TabsBar2.vue.js.map +1 -1
  91. package/dist/layouts/components/SideNav.vue.d.ts +3 -0
  92. package/dist/layouts/components/SideNav.vue.js +1 -1
  93. package/dist/layouts/components/SideNav2.vue.js +54 -26
  94. package/dist/layouts/components/SideNav2.vue.js.map +1 -1
  95. package/dist/layouts/default.vue.js +1 -1
  96. package/dist/layouts/default2.vue.js +170 -140
  97. package/dist/layouts/default2.vue.js.map +1 -1
  98. package/dist/lib/loginHero.d.ts +2 -2
  99. package/dist/lib/loginHero.js.map +1 -1
  100. package/dist/lib/runtime.js +1 -1
  101. package/dist/lib/watermark.d.ts +110 -0
  102. package/dist/lib/watermark.js +151 -0
  103. package/dist/lib/watermark.js.map +1 -0
  104. package/dist/locales/en-US.d.ts +221 -15
  105. package/dist/locales/en-US.js +230 -21
  106. package/dist/locales/en-US.js.map +1 -1
  107. package/dist/locales/kernelMenuTitles.d.ts +1 -0
  108. package/dist/locales/kernelMenuTitles.js +128 -0
  109. package/dist/locales/kernelMenuTitles.js.map +1 -0
  110. package/dist/locales/menuTitle.d.ts +3 -0
  111. package/dist/locales/menuTitle.js +14 -12
  112. package/dist/locales/menuTitle.js.map +1 -1
  113. package/dist/locales/zh-CN.d.ts +221 -15
  114. package/dist/locales/zh-CN.js +238 -28
  115. package/dist/locales/zh-CN.js.map +1 -1
  116. package/dist/router/index.js +41 -32
  117. package/dist/router/index.js.map +1 -1
  118. package/dist/router/namedPage.d.ts +4 -0
  119. package/dist/router/namedPage.js +7 -7
  120. package/dist/router/namedPage.js.map +1 -1
  121. package/dist/router/viewRegistry.js +8 -8
  122. package/dist/router/viewRegistry.js.map +1 -1
  123. package/dist/stores/app.d.ts +0 -12
  124. package/dist/stores/app.js +11 -12
  125. package/dist/stores/app.js.map +1 -1
  126. package/dist/stores/tabs.js.map +1 -1
  127. package/dist/stores/user.d.ts +10 -0
  128. package/dist/stores/user.js.map +1 -1
  129. package/dist/style.css +1 -1
  130. package/dist/theme/accentTokens.d.ts +27 -0
  131. package/dist/theme/accentTokens.js +54 -0
  132. package/dist/theme/accentTokens.js.map +1 -0
  133. package/dist/theme/accents.d.ts +21 -1
  134. package/dist/theme/accents.js +11 -2
  135. package/dist/theme/accents.js.map +1 -1
  136. package/dist/theme/mix.d.ts +58 -7
  137. package/dist/theme/mix.js +115 -30
  138. package/dist/theme/mix.js.map +1 -1
  139. package/dist/theme/naive-theme.d.ts +5 -2
  140. package/dist/theme/naive-theme.js +407 -75
  141. package/dist/theme/naive-theme.js.map +1 -1
  142. package/dist/utils/jwt.d.ts +8 -0
  143. package/dist/utils/jwt.js +14 -0
  144. package/dist/utils/jwt.js.map +1 -0
  145. package/dist/utils/menuIcon.d.ts +2 -0
  146. package/dist/utils/menuIcon.js +8 -0
  147. package/dist/utils/menuIcon.js.map +1 -0
  148. package/dist/utils/oauthBrand.js.map +1 -1
  149. package/dist/utils/tableFilter.d.ts +88 -0
  150. package/dist/utils/tableFilter.js +116 -0
  151. package/dist/utils/tableFilter.js.map +1 -0
  152. package/dist/utils/tableToolbar.d.ts +18 -0
  153. package/dist/utils/tableToolbar.js +11 -0
  154. package/dist/utils/tableToolbar.js.map +1 -0
  155. package/dist/utils/treeFilter.d.ts +20 -0
  156. package/dist/utils/treeFilter.js +24 -0
  157. package/dist/utils/treeFilter.js.map +1 -0
  158. package/dist/views/dashboard/ShortcutPicker.vue.js +1 -1
  159. package/dist/views/dashboard/ShortcutPicker2.vue.js +73 -48
  160. package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -1
  161. package/dist/views/dashboard/biz.vue.js +1 -1
  162. package/dist/views/dashboard/biz2.vue.js +310 -257
  163. package/dist/views/dashboard/biz2.vue.js.map +1 -1
  164. package/dist/views/dashboard/workbench.vue.js +2 -2
  165. package/dist/views/dashboard/workbench2.vue.js +141 -155
  166. package/dist/views/dashboard/workbench2.vue.js.map +1 -1
  167. package/dist/views/embed/iframe.vue.js +2 -2
  168. package/dist/views/embed/iframe2.vue.js +22 -15
  169. package/dist/views/embed/iframe2.vue.js.map +1 -1
  170. package/dist/views/error/404.vue.js +2 -2
  171. package/dist/views/error/4042.vue.js +33 -24
  172. package/dist/views/error/4042.vue.js.map +1 -1
  173. package/dist/views/error/BootError.vue.js +1 -1
  174. package/dist/views/error/BootError2.vue.js +59 -48
  175. package/dist/views/error/BootError2.vue.js.map +1 -1
  176. package/dist/views/error/MissingRoute.vue.js +2 -2
  177. package/dist/views/error/MissingRoute2.vue.js +34 -15
  178. package/dist/views/error/MissingRoute2.vue.js.map +1 -1
  179. package/dist/views/login/LoginForm.vue.d.ts +7 -1
  180. package/dist/views/login/LoginForm.vue.js +2 -2
  181. package/dist/views/login/LoginForm2.vue.js +580 -488
  182. package/dist/views/login/LoginForm2.vue.js.map +1 -1
  183. package/dist/views/login/components/LoginDesk.vue.d.ts +36 -0
  184. package/dist/views/login/components/LoginDesk.vue.js +9 -0
  185. package/dist/views/login/components/LoginDesk.vue.js.map +1 -0
  186. package/dist/views/login/components/LoginDesk2.vue.js +100 -0
  187. package/dist/views/login/components/LoginDesk2.vue.js.map +1 -0
  188. package/dist/views/login/components/LoginHeroPanel.vue.js +3 -3
  189. package/dist/views/login/components/LoginHeroPanel2.vue.js +34 -39
  190. package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -1
  191. package/dist/views/login/index.vue.js +1 -1
  192. package/dist/views/login/index2.vue.js +141 -71
  193. package/dist/views/login/index2.vue.js.map +1 -1
  194. package/dist/views/login/layout.d.ts +11 -0
  195. package/dist/views/login/layout.js +27 -0
  196. package/dist/views/login/layout.js.map +1 -0
  197. package/dist/views/mfa/index.vue.js +2 -2
  198. package/dist/views/mfa/index2.vue.js +367 -321
  199. package/dist/views/mfa/index2.vue.js.map +1 -1
  200. package/dist/views/module/index.vue.js +2 -2
  201. package/dist/views/module/index2.vue.js +132 -99
  202. package/dist/views/module/index2.vue.js.map +1 -1
  203. package/dist/views/oauth/callback.vue.js +2 -2
  204. package/dist/views/oauth/callback2.vue.js +65 -51
  205. package/dist/views/oauth/callback2.vue.js.map +1 -1
  206. package/dist/views/personal/bindings.vue.js +2 -2
  207. package/dist/views/personal/bindings2.vue.js +98 -94
  208. package/dist/views/personal/bindings2.vue.js.map +1 -1
  209. package/dist/views/personal/notice2.vue.js +103 -76
  210. package/dist/views/personal/notice2.vue.js.map +1 -1
  211. package/dist/views/personal/password2.vue.js +47 -40
  212. package/dist/views/personal/password2.vue.js.map +1 -1
  213. package/dist/views/personal/profile.vue.js +3 -3
  214. package/dist/views/personal/profile2.vue.js +24 -18
  215. package/dist/views/personal/profile2.vue.js.map +1 -1
  216. package/dist/views/personal/security.vue.js +2 -2
  217. package/dist/views/personal/security2.vue.js +65 -53
  218. package/dist/views/personal/security2.vue.js.map +1 -1
  219. package/dist/views/personal/sessions.vue.js +2 -2
  220. package/dist/views/personal/sessions2.vue.js +67 -62
  221. package/dist/views/personal/sessions2.vue.js.map +1 -1
  222. package/dist/views/system/ai-model/components/ProviderCard.vue.js +2 -2
  223. package/dist/views/system/ai-model/components/ProviderCard2.vue.js +142 -130
  224. package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -1
  225. package/dist/views/system/ai-model/components/ProviderForm.vue.js +2 -2
  226. package/dist/views/system/ai-model/components/ProviderForm2.vue.js +71 -70
  227. package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -1
  228. package/dist/views/system/ai-model/index.vue.js +2 -2
  229. package/dist/views/system/ai-model/index2.vue.js +99 -99
  230. package/dist/views/system/ai-model/index2.vue.js.map +1 -1
  231. package/dist/views/system/ai-model/presets.d.ts +1 -1
  232. package/dist/views/system/ai-model/presets.js +18 -18
  233. package/dist/views/system/ai-model/presets.js.map +1 -1
  234. package/dist/views/system/ai-usage/index.vue.js +2 -2
  235. package/dist/views/system/ai-usage/index2.vue.js +356 -258
  236. package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
  237. package/dist/views/system/api-docs/index.vue.js +5 -2
  238. package/dist/views/system/api-docs/index.vue.js.map +1 -1
  239. package/dist/views/system/api-docs/index2.vue.js +92 -42
  240. package/dist/views/system/api-docs/index2.vue.js.map +1 -1
  241. package/dist/views/system/cache/index.vue.js +2 -2
  242. package/dist/views/system/cache/index2.vue.js +74 -80
  243. package/dist/views/system/cache/index2.vue.js.map +1 -1
  244. package/dist/views/system/config/components/AdminMock.vue.js +2 -2
  245. package/dist/views/system/config/components/AdminMock2.vue.js +60 -43
  246. package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -1
  247. package/dist/views/system/config/components/AdvancedSection.vue.js +5 -2
  248. package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -1
  249. package/dist/views/system/config/components/AdvancedSection2.vue.js +98 -70
  250. package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -1
  251. package/dist/views/system/config/components/BrandSection.vue.js +2 -2
  252. package/dist/views/system/config/components/BrandSection2.vue.js +121 -119
  253. package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -1
  254. package/dist/views/system/config/components/CfgGroup.vue.js +3 -3
  255. package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -1
  256. package/dist/views/system/config/components/CfgRow.vue.js +1 -1
  257. package/dist/views/system/config/components/CfgRow2.vue.js +24 -23
  258. package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -1
  259. package/dist/views/system/config/components/CfgSegment.vue.js +1 -1
  260. package/dist/views/system/config/components/CfgSegment2.vue.js +16 -15
  261. package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -1
  262. package/dist/views/system/config/components/ConfigFormModal.vue.js +2 -2
  263. package/dist/views/system/config/components/ConfigFormModal2.vue.js +35 -33
  264. package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
  265. package/dist/views/system/config/components/JobSection.vue.js +2 -2
  266. package/dist/views/system/config/components/JobSection2.vue.js +46 -44
  267. package/dist/views/system/config/components/JobSection2.vue.js.map +1 -1
  268. package/dist/views/system/config/components/LoginMock.vue.js +3 -3
  269. package/dist/views/system/config/components/LoginMock2.vue.js +83 -72
  270. package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -1
  271. package/dist/views/system/config/components/LogoCropper.vue.js +1 -1
  272. package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -1
  273. package/dist/views/system/config/components/LogoEditor.vue.js +2 -2
  274. package/dist/views/system/config/components/LogoEditor2.vue.js +11 -13
  275. package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -1
  276. package/dist/views/system/config/components/ProviderSheet.vue.js +3 -3
  277. package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -1
  278. package/dist/views/system/config/components/SectionLayout.vue.d.ts +4 -2
  279. package/dist/views/system/config/components/SectionLayout.vue.js +2 -2
  280. package/dist/views/system/config/components/SectionLayout2.vue.js +51 -27
  281. package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -1
  282. package/dist/views/system/config/components/SecuritySection.vue.js +2 -2
  283. package/dist/views/system/config/components/SecuritySection2.vue.js +207 -206
  284. package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -1
  285. package/dist/views/system/config/components/SensitiveSection.vue.js +2 -2
  286. package/dist/views/system/config/components/SensitiveSection2.vue.js +107 -102
  287. package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -1
  288. package/dist/views/system/config/components/UploadSection.vue.js +2 -2
  289. package/dist/views/system/config/components/UploadSection2.vue.js +86 -77
  290. package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -1
  291. package/dist/views/system/config/components/WatermarkSection.vue.js +8 -0
  292. package/dist/views/system/config/components/WatermarkSection.vue.js.map +1 -0
  293. package/dist/views/system/config/components/WatermarkSection2.vue.js +284 -0
  294. package/dist/views/system/config/components/WatermarkSection2.vue.js.map +1 -0
  295. package/dist/views/system/config/draft.d.ts +2 -2
  296. package/dist/views/system/config/draft.js.map +1 -1
  297. package/dist/views/system/config/groups.d.ts +4 -1
  298. package/dist/views/system/config/groups.js +54 -49
  299. package/dist/views/system/config/groups.js.map +1 -1
  300. package/dist/views/system/config/index.vue.js +3 -2
  301. package/dist/views/system/config/index.vue.js.map +1 -1
  302. package/dist/views/system/config/index2.vue.js +173 -148
  303. package/dist/views/system/config/index2.vue.js.map +1 -1
  304. package/dist/views/system/config/layoutMode.d.ts +23 -0
  305. package/dist/views/system/config/layoutMode.js +28 -0
  306. package/dist/views/system/config/layoutMode.js.map +1 -0
  307. package/dist/views/system/dict/index.vue.js +2 -2
  308. package/dist/views/system/dict/index2.vue.js +471 -366
  309. package/dist/views/system/dict/index2.vue.js.map +1 -1
  310. package/dist/views/system/file/index2.vue.js +91 -76
  311. package/dist/views/system/file/index2.vue.js.map +1 -1
  312. package/dist/views/system/job/index.vue.js +3 -3
  313. package/dist/views/system/job/index2.vue.js +897 -828
  314. package/dist/views/system/job/index2.vue.js.map +1 -1
  315. package/dist/views/system/job-log/components/AttemptTable.vue.d.ts +8 -0
  316. package/dist/views/system/job-log/components/AttemptTable.vue.js +5 -0
  317. package/dist/views/system/job-log/components/AttemptTable.vue.js.map +1 -0
  318. package/dist/views/system/job-log/components/AttemptTable2.vue.js +54 -0
  319. package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -0
  320. package/dist/views/system/job-log/index.vue.js +2 -2
  321. package/dist/views/system/job-log/index2.vue.js +193 -207
  322. package/dist/views/system/job-log/index2.vue.js.map +1 -1
  323. package/dist/views/system/job-log/runStatus.d.ts +13 -0
  324. package/dist/views/system/job-log/runStatus.js +26 -0
  325. package/dist/views/system/job-log/runStatus.js.map +1 -0
  326. package/dist/views/system/job-monitor/index.vue.js +2 -2
  327. package/dist/views/system/job-monitor/index2.vue.js +172 -180
  328. package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
  329. package/dist/views/system/log/exception/index.vue.js +2 -2
  330. package/dist/views/system/log/exception/index2.vue.js +135 -96
  331. package/dist/views/system/log/exception/index2.vue.js.map +1 -1
  332. package/dist/views/system/log/login/index2.vue.js +62 -41
  333. package/dist/views/system/log/login/index2.vue.js.map +1 -1
  334. package/dist/views/system/log/op/index.vue.js +2 -2
  335. package/dist/views/system/log/op/index2.vue.js +200 -162
  336. package/dist/views/system/log/op/index2.vue.js.map +1 -1
  337. package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
  338. package/dist/views/system/menu/components/ButtonManager2.vue.js +206 -190
  339. package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
  340. package/dist/views/system/menu/components/MenuFormModal.vue.js +2 -2
  341. package/dist/views/system/menu/components/MenuFormModal2.vue.js +127 -118
  342. package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -1
  343. package/dist/views/system/menu/index.vue.js +1 -1
  344. package/dist/views/system/menu/index2.vue.js +216 -183
  345. package/dist/views/system/menu/index2.vue.js.map +1 -1
  346. package/dist/views/system/module/index.vue.js +1 -1
  347. package/dist/views/system/module/index2.vue.js +177 -144
  348. package/dist/views/system/module/index2.vue.js.map +1 -1
  349. package/dist/views/system/monitor/index.vue.js +2 -2
  350. package/dist/views/system/monitor/index2.vue.js +134 -149
  351. package/dist/views/system/monitor/index2.vue.js.map +1 -1
  352. package/dist/views/system/notice/index.vue.js +1 -1
  353. package/dist/views/system/notice/index2.vue.js +209 -181
  354. package/dist/views/system/notice/index2.vue.js.map +1 -1
  355. package/dist/views/system/org/index.vue.js +1 -1
  356. package/dist/views/system/org/index2.vue.js +278 -248
  357. package/dist/views/system/org/index2.vue.js.map +1 -1
  358. package/dist/views/system/position/index.vue.js +5 -2
  359. package/dist/views/system/position/index.vue.js.map +1 -1
  360. package/dist/views/system/position/index2.vue.js +128 -92
  361. package/dist/views/system/position/index2.vue.js.map +1 -1
  362. package/dist/views/system/recycle/index.vue.js +2 -2
  363. package/dist/views/system/recycle/index2.vue.js +90 -67
  364. package/dist/views/system/recycle/index2.vue.js.map +1 -1
  365. package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +20 -0
  366. package/dist/views/system/role/components/GrantMenuSheet.vue.js +8 -0
  367. package/dist/views/system/role/components/GrantMenuSheet.vue.js.map +1 -0
  368. package/dist/views/system/role/components/GrantMenuSheet2.vue.js +117 -0
  369. package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -0
  370. package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +6 -4
  371. package/dist/views/system/role/components/GrantMenuTable.vue.js +2 -2
  372. package/dist/views/system/role/components/GrantMenuTable2.vue.js +279 -177
  373. package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
  374. package/dist/views/system/role/components/MatchText.vue.d.ts +7 -0
  375. package/dist/views/system/role/components/MatchText.vue.js +8 -0
  376. package/dist/views/system/role/components/MatchText.vue.js.map +1 -0
  377. package/dist/views/system/role/components/MatchText2.vue.js +29 -0
  378. package/dist/views/system/role/components/MatchText2.vue.js.map +1 -0
  379. package/dist/views/system/role/components/grantMenuGroups.d.ts +36 -0
  380. package/dist/views/system/role/components/grantMenuGroups.js +110 -48
  381. package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
  382. package/dist/views/system/role/index.vue.js +5 -2
  383. package/dist/views/system/role/index.vue.js.map +1 -1
  384. package/dist/views/system/role/index2.vue.js +181 -165
  385. package/dist/views/system/role/index2.vue.js.map +1 -1
  386. package/dist/views/system/session/index2.vue.js +75 -49
  387. package/dist/views/system/session/index2.vue.js.map +1 -1
  388. package/dist/views/system/user/components/ResetPasswordModal.vue.js +2 -2
  389. package/dist/views/system/user/components/ResetPasswordModal2.vue.js +2 -0
  390. package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -1
  391. package/dist/views/system/user/components/UserFormModal.vue.js +2 -2
  392. package/dist/views/system/user/components/UserFormModal2.vue.js +77 -76
  393. package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -1
  394. package/dist/views/system/user/index.vue.js +2 -2
  395. package/dist/views/system/user/index2.vue.js +362 -275
  396. package/dist/views/system/user/index2.vue.js.map +1 -1
  397. package/package.json +3 -5
  398. package/dist/components/SelectTable/index.vue.d.ts +0 -76
  399. package/dist/components/SelectTable/index2.vue.js +0 -256
  400. package/dist/components/SelectTable/index2.vue.js.map +0 -1
  401. package/dist/composables/useTableRowSort.d.ts +0 -20
  402. package/dist/composables/useTableRowSort.js +0 -59
  403. package/dist/composables/useTableRowSort.js.map +0 -1
  404. package/dist/layouts/LayoutModeCards.vue.js +0 -8
  405. package/dist/layouts/LayoutModeCards.vue.js.map +0 -1
  406. package/dist/layouts/LayoutModeCards2.vue.js +0 -67
  407. package/dist/layouts/LayoutModeCards2.vue.js.map +0 -1
  408. package/dist/layouts/SettingRow.vue.d.ts +0 -16
  409. package/dist/layouts/SettingRow.vue.js +0 -8
  410. package/dist/layouts/SettingRow.vue.js.map +0 -1
  411. package/dist/layouts/SettingRow2.vue.js +0 -23
  412. package/dist/layouts/SettingRow2.vue.js.map +0 -1
  413. package/dist/views/login/skins/AuroraGlass.vue.js +0 -8
  414. package/dist/views/login/skins/AuroraGlass.vue.js.map +0 -1
  415. package/dist/views/login/skins/AuroraGlass2.vue.js +0 -80
  416. package/dist/views/login/skins/AuroraGlass2.vue.js.map +0 -1
  417. package/dist/views/login/skins/SplitPanel.vue.d.ts +0 -3
  418. package/dist/views/login/skins/SplitPanel.vue.js +0 -8
  419. package/dist/views/login/skins/SplitPanel.vue.js.map +0 -1
  420. package/dist/views/login/skins/SplitPanel2.vue.js +0 -65
  421. package/dist/views/login/skins/SplitPanel2.vue.js.map +0 -1
  422. package/dist/views/login/skins/Spotlight.vue.d.ts +0 -3
  423. package/dist/views/login/skins/Spotlight.vue.js +0 -8
  424. package/dist/views/login/skins/Spotlight.vue.js.map +0 -1
  425. package/dist/views/login/skins/Spotlight2.vue.js +0 -36
  426. package/dist/views/login/skins/Spotlight2.vue.js.map +0 -1
  427. package/dist/views/login/skins.d.ts +0 -8
  428. package/dist/views/login/skins.js +0 -13
  429. package/dist/views/login/skins.js.map +0 -1
  430. /package/dist/components/{SelectTable → TableTotal}/index.vue.js.map +0 -0
  431. /package/dist/layouts/{LayoutModeCards.vue.d.ts → AccentPicker.vue.d.ts} +0 -0
  432. /package/dist/views/{login/skins/AuroraGlass.vue.d.ts → system/config/components/WatermarkSection.vue.d.ts} +0 -0
@@ -1,134 +1,134 @@
1
- import { defineComponent as E, ref as d, onMounted as D, resolveDirective as P, openBlock as l, createElementBlock as g, createElementVNode as h, createVNode as o, unref as e, withCtx as r, withKeys as S, withDirectives as b, createBlock as p, createTextVNode as C, toDisplayString as z, Fragment as B, renderList as M } from "vue";
2
- import { useMessage as V, NButton as w, NInput as A, NSpin as F, NEmpty as G, NGrid as I, NGi as K } from "naive-ui";
1
+ import { defineComponent as N, ref as d, onMounted as E, resolveDirective as C, openBlock as l, createElementBlock as f, createVNode as o, unref as e, withCtx as n, createElementVNode as y, withKeys as D, withDirectives as P, createBlock as h, createTextVNode as S, toDisplayString as z, Fragment as B, renderList as M } from "vue";
2
+ import { useMessage as V, NCard as A, NButton as _, NInput as F, NSpin as I, NEmpty as K } from "naive-ui";
3
3
  import { watchDebounced as T } from "@vueuse/core";
4
4
  import { useI18n as U } from "vue-i18n";
5
- import y from "../../../components/AppIcon.vue.js";
5
+ import g from "../../../components/AppIcon.vue.js";
6
6
  import { aiProviderApi as $ } from "../../../api/index.js";
7
7
  import { translateError as q } from "../../../utils/error.js";
8
8
  import L from "./components/ProviderCard.vue.js";
9
9
  import O from "./components/ProviderForm.vue.js";
10
- const j = { class: "view" }, H = { class: "toolbar" }, ie = /* @__PURE__ */ E({
10
+ const j = { class: "view" }, G = { class: "toolbar" }, H = {
11
+ key: 1,
12
+ class: "grid"
13
+ }, re = /* @__PURE__ */ N({
11
14
  __name: "index",
12
15
  setup(J) {
13
- const { t: v } = U(), _ = V(), s = d(!1), u = d(""), m = d([]);
14
- async function i() {
16
+ const { t: c } = U(), w = V(), s = d(!1), u = d(""), v = d([]);
17
+ async function t() {
15
18
  s.value = !0;
16
19
  try {
17
- const { items: a } = await $.page({
20
+ const { items: r } = await $.page({
18
21
  page: 1,
19
22
  pageSize: 100,
20
23
  keyword: u.value.trim() || void 0
21
24
  });
22
- m.value = a;
23
- } catch (a) {
24
- _.error(q(a));
25
+ v.value = r;
26
+ } catch (r) {
27
+ w.error(q(r));
25
28
  } finally {
26
29
  s.value = !1;
27
30
  }
28
31
  }
29
- D(i), T(u, i, { debounce: 400 });
30
- const c = d(!1), f = d(null);
32
+ E(t), T(u, t, { debounce: 400 });
33
+ const p = d(!1), m = d(null);
31
34
  function k() {
32
- f.value = null, c.value = !0;
35
+ m.value = null, p.value = !0;
33
36
  }
34
- function N(a) {
35
- f.value = a, c.value = !0;
37
+ function b(r) {
38
+ m.value = r, p.value = !0;
36
39
  }
37
- return (a, n) => {
38
- const x = P("auth");
39
- return l(), g("div", j, [
40
- h("div", H, [
41
- o(e(w), {
42
- quaternary: "",
43
- loading: s.value,
44
- onClick: i
45
- }, {
46
- icon: r(() => [
47
- o(y, {
48
- icon: "ph:arrow-clockwise",
49
- size: 16
50
- })
51
- ]),
52
- _: 1
53
- }, 8, ["loading"]),
54
- o(e(A), {
55
- value: u.value,
56
- "onUpdate:value": n[0] || (n[0] = (t) => u.value = t),
57
- clearable: "",
58
- style: { width: "240px" },
59
- placeholder: e(v)("aiModel.searchPlaceholder"),
60
- onKeyup: S(i, ["enter"])
61
- }, {
62
- prefix: r(() => [
63
- o(y, {
64
- icon: "ph:magnifying-glass",
65
- size: 14
66
- })
67
- ]),
68
- _: 1
69
- }, 8, ["value", "placeholder"]),
70
- n[2] || (n[2] = h("div", { class: "toolbar-spacer" }, null, -1)),
71
- b((l(), p(e(w), {
72
- type: "primary",
73
- onClick: k
74
- }, {
75
- icon: r(() => [
76
- o(y, {
77
- icon: "ph:plus",
78
- size: 16
79
- })
80
- ]),
81
- default: r(() => [
82
- C(" " + z(e(v)("aiModel.addProvider")), 1)
83
- ]),
84
- _: 1
85
- })), [
86
- [x, "POST:/api/v1/sys/ai/provider/add"]
87
- ])
88
- ]),
89
- o(e(F), { show: s.value }, {
90
- default: r(() => [
91
- !s.value && m.value.length === 0 ? (l(), p(e(G), {
40
+ return (r, i) => {
41
+ const x = C("auth");
42
+ return l(), f("div", j, [
43
+ o(e(A), {
44
+ class: "a-card",
45
+ size: "small",
46
+ "content-style": "padding: 10px 12px"
47
+ }, {
48
+ default: n(() => [
49
+ y("div", G, [
50
+ o(e(_), {
51
+ quaternary: "",
52
+ circle: "",
53
+ "aria-label": e(c)("table.refresh"),
54
+ loading: s.value,
55
+ onClick: t
56
+ }, {
57
+ icon: n(() => [
58
+ o(g, {
59
+ icon: "ph:arrow-clockwise",
60
+ size: 16
61
+ })
62
+ ]),
63
+ _: 1
64
+ }, 8, ["aria-label", "loading"]),
65
+ o(e(F), {
66
+ value: u.value,
67
+ "onUpdate:value": i[0] || (i[0] = (a) => u.value = a),
68
+ clearable: "",
69
+ class: "toolbar-search",
70
+ placeholder: e(c)("aiModel.searchPlaceholder"),
71
+ onKeyup: D(t, ["enter"])
72
+ }, {
73
+ prefix: n(() => [
74
+ o(g, {
75
+ icon: "ph:magnifying-glass",
76
+ size: 15,
77
+ class: "faint"
78
+ })
79
+ ]),
80
+ _: 1
81
+ }, 8, ["value", "placeholder"]),
82
+ i[2] || (i[2] = y("div", { class: "toolbar-spacer" }, null, -1)),
83
+ P((l(), h(e(_), {
84
+ type: "primary",
85
+ onClick: k
86
+ }, {
87
+ icon: n(() => [
88
+ o(g, {
89
+ icon: "ph:plus",
90
+ size: 16
91
+ })
92
+ ]),
93
+ default: n(() => [
94
+ S(" " + z(e(c)("aiModel.addProvider")), 1)
95
+ ]),
96
+ _: 1
97
+ })), [
98
+ [x, "POST:/api/v1/sys/ai/provider/add"]
99
+ ])
100
+ ])
101
+ ]),
102
+ _: 1
103
+ }),
104
+ o(e(I), { show: s.value }, {
105
+ default: n(() => [
106
+ !s.value && v.value.length === 0 ? (l(), h(e(K), {
92
107
  key: 0,
93
- description: e(v)("common.noData"),
108
+ description: e(c)("common.noData"),
94
109
  class: "empty"
95
- }, null, 8, ["description"])) : (l(), p(e(I), {
96
- key: 1,
97
- cols: "1 s:2 l:3",
98
- responsive: "screen",
99
- "x-gap": 16,
100
- "y-gap": 16
101
- }, {
102
- default: r(() => [
103
- (l(!0), g(B, null, M(m.value, (t) => (l(), p(e(K), {
104
- key: t.id
105
- }, {
106
- default: r(() => [
107
- o(L, {
108
- provider: t,
109
- onEdit: (Q) => N(t),
110
- onDeleted: i
111
- }, null, 8, ["provider", "onEdit"])
112
- ]),
113
- _: 2
114
- }, 1024))), 128))
115
- ]),
116
- _: 1
117
- }))
110
+ }, null, 8, ["description"])) : (l(), f("div", H, [
111
+ (l(!0), f(B, null, M(v.value, (a) => (l(), h(L, {
112
+ key: a.id,
113
+ provider: a,
114
+ onEdit: (Q) => b(a),
115
+ onDeleted: t
116
+ }, null, 8, ["provider", "onEdit"]))), 128))
117
+ ]))
118
118
  ]),
119
119
  _: 1
120
120
  }, 8, ["show"]),
121
121
  o(O, {
122
- show: c.value,
123
- "onUpdate:show": n[1] || (n[1] = (t) => c.value = t),
124
- editing: f.value,
125
- onSaved: i
122
+ show: p.value,
123
+ "onUpdate:show": i[1] || (i[1] = (a) => p.value = a),
124
+ editing: m.value,
125
+ onSaved: t
126
126
  }, null, 8, ["show", "editing"])
127
127
  ]);
128
128
  };
129
129
  }
130
130
  });
131
131
  export {
132
- ie as default
132
+ re as default
133
133
  };
134
134
  //# sourceMappingURL=index2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index2.vue.js","sources":["../../../../src/views/system/ai-model/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// AI 模型管理:厂商是卡片网格,不是 SmartTable —— 厂商数量级很小(十几个封顶),卡片能把\n// 徽标/协议/Base URL/模型数/启停/测试连接一次性摆开,比表格行更直观。\n// 列表本身一次拉大页(pageSize 100)铺成网格,不做真分页;关键字过滤(厂商 code/name)交给\n// 后端 keyword 参数,输入防抖 400ms 后自动重拉,回车立即拉一次。\n// 交互都收进 ProviderCard(启停/编辑入口/删除/测试连接)与 ProviderForm(新增/编辑抽屉),\n// 本页只管拉列表、开表单、增删改后 reload。\nimport { onMounted, ref } from 'vue'\nimport { NButton, NEmpty, NGi, NGrid, NInput, NSpin, useMessage } from 'naive-ui'\nimport { watchDebounced } from '@vueuse/core'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { aiProviderApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport type { AiProviderView } from '#/types/api'\nimport ProviderCard from './components/ProviderCard.vue'\nimport ProviderForm from './components/ProviderForm.vue'\n\nconst { t } = useI18n()\nconst message = useMessage()\n\nconst loading = ref(false)\nconst keyword = ref('')\nconst providers = ref<AiProviderView[]>([])\n\nasync function load() {\n loading.value = true\n try {\n const { items } = await aiProviderApi.page({\n page: 1,\n pageSize: 100,\n keyword: keyword.value.trim() || undefined,\n })\n providers.value = items\n } catch (e) {\n message.error(translateError(e))\n } finally {\n loading.value = false\n }\n}\nonMounted(load)\n// 关键字防抖重拉;回车走 @keyup.enter 立即触发,两者共用同一个 load()。\nwatchDebounced(keyword, load, { debounce: 400 })\n\n// 新增/编辑抽屉:show/editing 走 v-model + prop,与 config 页 ConfigFormModal 同一协议\n// (defineModel('show') + `editing: AiProviderView | null`,null = 新增)。\nconst formShow = ref(false)\nconst editing = ref<AiProviderView | null>(null)\nfunction openAdd() {\n editing.value = null\n formShow.value = true\n}\nfunction openEdit(p: AiProviderView) {\n editing.value = p\n formShow.value = true\n}\n</script>\n\n<template>\n <div class=\"view\">\n <div class=\"toolbar\">\n <n-button quaternary :loading=\"loading\" @click=\"load\">\n <template #icon><AppIcon icon=\"ph:arrow-clockwise\" :size=\"16\" /></template>\n </n-button>\n <n-input\n v-model:value=\"keyword\"\n clearable\n style=\"width: 240px\"\n :placeholder=\"t('aiModel.searchPlaceholder')\"\n @keyup.enter=\"load\"\n >\n <template #prefix><AppIcon icon=\"ph:magnifying-glass\" :size=\"14\" /></template>\n </n-input>\n <div class=\"toolbar-spacer\" />\n <n-button v-auth=\"'POST:/api/v1/sys/ai/provider/add'\" type=\"primary\" @click=\"openAdd\">\n <template #icon><AppIcon icon=\"ph:plus\" :size=\"16\" /></template>\n {{ t('aiModel.addProvider') }}\n </n-button>\n </div>\n\n <n-spin :show=\"loading\">\n <n-empty\n v-if=\"!loading && providers.length === 0\"\n :description=\"t('common.noData')\"\n class=\"empty\"\n />\n <n-grid v-else :cols=\"'1 s:2 l:3'\" responsive=\"screen\" :x-gap=\"16\" :y-gap=\"16\">\n <n-gi v-for=\"p in providers\" :key=\"p.id\">\n <ProviderCard :provider=\"p\" @edit=\"openEdit(p)\" @deleted=\"load\" />\n </n-gi>\n </n-grid>\n </n-spin>\n\n <ProviderForm v-model:show=\"formShow\" :editing=\"editing\" @saved=\"load\" />\n </div>\n</template>\n\n<style scoped>\n.view {\n display: flex;\n flex-direction: column;\n gap: var(--gap-card, 16px);\n}\n.toolbar {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n.toolbar-spacer {\n flex: 1;\n}\n.empty {\n padding: 64px 0;\n}\n</style>\n"],"names":["t","useI18n","message","useMessage","loading","ref","keyword","providers","load","items","aiProviderApi","e","translateError","onMounted","watchDebounced","formShow","editing","openAdd","openEdit","p","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","_unref","NButton","AppIcon","NInput","$event","_createBlock","_createTextVNode","NSpin","NEmpty","NGrid","_Fragment","_renderList","NGi","ProviderCard","ProviderForm"],"mappings":"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"}
1
+ {"version":3,"file":"index2.vue.js","sources":["../../../../src/views/system/ai-model/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// AI 模型管理:厂商是卡片网格,不是 SmartTable —— 厂商数量级很小(十几个封顶),卡片能把\n// 徽标/协议/Base URL/模型数/启停/测试连接一次性摆开,比表格行更直观。\n// 列表本身一次拉大页(pageSize 100)铺成网格,不做真分页;关键字过滤(厂商 code/name)交给\n// 后端 keyword 参数,输入防抖 400ms 后自动重拉,回车立即拉一次。\n// 交互都收进 ProviderCard(启停/编辑入口/删除/测试连接)与 ProviderForm(新增/编辑抽屉),\n// 本页只管拉列表、开表单、增删改后 reload。\n// 版式:一行工具条卡片(刷新 + 关键字 + 新增)+ 卡片网格(列数按内容区宽度分档:窄 1 / 中 2 / 宽 3,\n// 用容器查询而不是视口断点,侧栏展开收起时跟着变)。\nimport { onMounted, ref } from 'vue'\nimport { NButton, NCard, NEmpty, NInput, NSpin, useMessage } from 'naive-ui'\nimport { watchDebounced } from '@vueuse/core'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { aiProviderApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport type { AiProviderView } from '#/types/api'\nimport ProviderCard from './components/ProviderCard.vue'\nimport ProviderForm from './components/ProviderForm.vue'\n\nconst { t } = useI18n()\nconst message = useMessage()\n\nconst loading = ref(false)\nconst keyword = ref('')\nconst providers = ref<AiProviderView[]>([])\n\nasync function load() {\n loading.value = true\n try {\n const { items } = await aiProviderApi.page({\n page: 1,\n pageSize: 100,\n keyword: keyword.value.trim() || undefined,\n })\n providers.value = items\n } catch (e) {\n message.error(translateError(e))\n } finally {\n loading.value = false\n }\n}\nonMounted(load)\n// 关键字防抖重拉;回车走 @keyup.enter 立即触发,两者共用同一个 load()。\nwatchDebounced(keyword, load, { debounce: 400 })\n\n// 新增/编辑抽屉:show/editing 走 v-model + prop,与 config 页 ConfigFormModal 同一协议\n// (defineModel('show') + `editing: AiProviderView | null`,null = 新增)。\nconst formShow = ref(false)\nconst editing = ref<AiProviderView | null>(null)\nfunction openAdd() {\n editing.value = null\n formShow.value = true\n}\nfunction openEdit(p: AiProviderView) {\n editing.value = p\n formShow.value = true\n}\n</script>\n\n<template>\n <div class=\"view\">\n <n-card class=\"a-card\" size=\"small\" content-style=\"padding: 10px 12px\">\n <div class=\"toolbar\">\n <n-button\n quaternary\n circle\n :aria-label=\"t('table.refresh')\"\n :loading=\"loading\"\n @click=\"load\"\n >\n <template #icon><AppIcon icon=\"ph:arrow-clockwise\" :size=\"16\" /></template>\n </n-button>\n <n-input\n v-model:value=\"keyword\"\n clearable\n class=\"toolbar-search\"\n :placeholder=\"t('aiModel.searchPlaceholder')\"\n @keyup.enter=\"load\"\n >\n <template #prefix>\n <AppIcon icon=\"ph:magnifying-glass\" :size=\"15\" class=\"faint\" />\n </template>\n </n-input>\n <div class=\"toolbar-spacer\" />\n <n-button v-auth=\"'POST:/api/v1/sys/ai/provider/add'\" type=\"primary\" @click=\"openAdd\">\n <template #icon><AppIcon icon=\"ph:plus\" :size=\"16\" /></template>\n {{ t('aiModel.addProvider') }}\n </n-button>\n </div>\n </n-card>\n\n <n-spin :show=\"loading\">\n <n-empty\n v-if=\"!loading && providers.length === 0\"\n :description=\"t('common.noData')\"\n class=\"empty\"\n />\n <div v-else class=\"grid\">\n <ProviderCard\n v-for=\"p in providers\"\n :key=\"p.id\"\n :provider=\"p\"\n @edit=\"openEdit(p)\"\n @deleted=\"load\"\n />\n </div>\n </n-spin>\n\n <ProviderForm v-model:show=\"formShow\" :editing=\"editing\" @saved=\"load\" />\n </div>\n</template>\n\n<style scoped>\n/* 容器查询的容器:内容区宽度分档(narrow < 604 / wide ≥ 1400),不看视口 */\n.view {\n display: flex;\n flex-direction: column;\n gap: var(--gap-card, 8px);\n container-type: inline-size;\n}\n.toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n.toolbar-search {\n flex: 0 1 240px;\n min-width: 0;\n}\n.toolbar-spacer {\n flex: 1;\n}\n.empty {\n padding: 64px 0;\n}\n.grid {\n display: grid;\n gap: 8px;\n grid-template-columns: minmax(0, 1fr);\n}\n@container (min-width: 604px) {\n .grid {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n@container (min-width: 1400px) {\n .grid {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n/* 窄档:搜索框占满一行剩余宽度,新增按钮靠右 */\n@container (max-width: 603px) {\n .toolbar-search {\n flex: 1 1 0;\n }\n .toolbar-spacer {\n display: none;\n }\n}\n</style>\n"],"names":["t","useI18n","message","useMessage","loading","ref","keyword","providers","load","items","aiProviderApi","e","translateError","onMounted","watchDebounced","formShow","editing","openAdd","openEdit","p","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","NCard","_createElementVNode","_hoisted_2","NButton","AppIcon","NInput","$event","_createBlock","_createTextVNode","NSpin","NEmpty","_hoisted_3","_Fragment","_renderList","ProviderCard","ProviderForm"],"mappings":";;;;;;;;;;;;;;;AAoBA,UAAM,EAAE,GAAAA,EAAA,IAAMC,EAAA,GACRC,IAAUC,EAAA,GAEVC,IAAUC,EAAI,EAAK,GACnBC,IAAUD,EAAI,EAAE,GAChBE,IAAYF,EAAsB,EAAE;AAE1C,mBAAeG,IAAO;AACpB,MAAAJ,EAAQ,QAAQ;AAChB,UAAI;AACF,cAAM,EAAE,OAAAK,EAAA,IAAU,MAAMC,EAAc,KAAK;AAAA,UACzC,MAAM;AAAA,UACN,UAAU;AAAA,UACV,SAASJ,EAAQ,MAAM,KAAA,KAAU;AAAA,QAAA,CAClC;AACD,QAAAC,EAAU,QAAQE;AAAA,MACpB,SAASE,GAAG;AACV,QAAAT,EAAQ,MAAMU,EAAeD,CAAC,CAAC;AAAA,MACjC,UAAA;AACE,QAAAP,EAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AACA,IAAAS,EAAUL,CAAI,GAEdM,EAAeR,GAASE,GAAM,EAAE,UAAU,KAAK;AAI/C,UAAMO,IAAWV,EAAI,EAAK,GACpBW,IAAUX,EAA2B,IAAI;AAC/C,aAASY,IAAU;AACjB,MAAAD,EAAQ,QAAQ,MAChBD,EAAS,QAAQ;AAAA,IACnB;AACA,aAASG,EAASC,GAAmB;AACnC,MAAAH,EAAQ,QAAQG,GAChBJ,EAAS,QAAQ;AAAA,IACnB;;;AAIE,aAAAK,EAAA,GAAAC,EAiDM,OAjDNC,GAiDM;AAAA,QAhDJC,EA4BSC,EAAAC,CAAA,GAAA;AAAA,UA5BD,OAAM;AAAA,UAAS,MAAK;AAAA,UAAQ,iBAAc;AAAA,QAAA;qBAChD,MA0BM;AAAA,YA1BNC,EA0BM,OA1BNC,GA0BM;AAAA,cAzBJJ,EAQWC,EAAAI,CAAA,GAAA;AAAA,gBAPT,YAAA;AAAA,gBACA,QAAA;AAAA,gBACC,cAAYJ,EAAAxB,CAAA,EAAC,eAAA;AAAA,gBACb,SAASI,EAAA;AAAA,gBACT,SAAOI;AAAA,cAAA;gBAEG,QAAK,MAAgD;AAAA,kBAAhDe,EAAgDM,GAAA;AAAA,oBAAvC,MAAK;AAAA,oBAAsB,MAAM;AAAA,kBAAA;;;;cAE5DN,EAUUC,EAAAM,CAAA,GAAA;AAAA,gBATA,OAAOxB,EAAA;AAAA,yDAAAA,EAAO,QAAAyB;AAAA,gBACtB,WAAA;AAAA,gBACA,OAAM;AAAA,gBACL,aAAaP,EAAAxB,CAAA,EAAC,2BAAA;AAAA,gBACd,WAAaQ,GAAI,CAAA,OAAA,CAAA;AAAA,cAAA;gBAEP,UACT,MAA+D;AAAA,kBAA/De,EAA+DM,GAAA;AAAA,oBAAtD,MAAK;AAAA,oBAAuB,MAAM;AAAA,oBAAI,OAAM;AAAA,kBAAA;;;;8BAGzDH,EAA8B,OAAA,EAAzB,OAAM,iBAAA,GAAgB,MAAA,EAAA;AAAA,sBAC3BM,EAGWR,EAAAI,CAAA,GAAA;AAAA,gBAH2C,MAAK;AAAA,gBAAW,SAAOX;AAAA,cAAA;gBAChE,QAAK,MAAqC;AAAA,kBAArCM,EAAqCM,GAAA;AAAA,oBAA5B,MAAK;AAAA,oBAAW,MAAM;AAAA,kBAAA;;2BAAiB,MAChE;AAAA,kBADgEI,EAAA,QAC7DT,EAAAxB,CAAA,EAAC,qBAAA,CAAA,GAAA,CAAA;AAAA,gBAAA;;;oBAFY,kCAAkC;AAAA,cAAA;;;;;QAOxDuB,EAeSC,EAAAU,CAAA,GAAA,EAfA,MAAM9B,EAAA,SAAO;AAAA,qBACpB,MAIE;AAAA,aAHOA,EAAA,SAAWG,EAAA,MAAU,WAAM,UADpCyB,EAIER,EAAAW,CAAA,GAAA;AAAA;cAFC,aAAaX,EAAAxB,CAAA,EAAC,eAAA;AAAA,cACf,OAAM;AAAA,YAAA,iCAERoB,KAAAC,EAQM,OARNe,GAQM;AAAA,sBAPJf,EAMEgB,GAAA,MAAAC,EALY/B,EAAA,OAAS,CAAdY,YADTa,EAMEO,GAAA;AAAA,gBAJC,KAAKpB,EAAE;AAAA,gBACP,UAAUA;AAAA,gBACV,QAAI,CAAAY,MAAEb,EAASC,CAAC;AAAA,gBAChB,WAASX;AAAA,cAAA;;;;;QAKhBe,EAAyEiB,GAAA;AAAA,UAAnD,MAAMzB,EAAA;AAAA,kDAAAA,EAAQ,QAAAgB;AAAA,UAAG,SAASf,EAAA;AAAA,UAAU,SAAOR;AAAA,QAAA;;;;;"}
@@ -1,7 +1,7 @@
1
1
  export interface AiProviderPresetMeta {
2
2
  /** 卡片角标用的极短缩写(拉丁字母,2 个字符左右,深色徽标上的文字) */
3
3
  abbr: string;
4
- /** Iconify 图标名(ph:*,已随内核种子图标一并登记进 ph-subset.json) */
4
+ /** Iconify 图标名(ph:* 线条款) */
5
5
  icon: string;
6
6
  /** 强调色(卡片描边 / 图标底色),16 进制 */
7
7
  color: string;
@@ -1,22 +1,22 @@
1
- const e = {
2
- openai: { abbr: "AI", icon: "ph:asterisk-duotone", color: "#10A37F" },
3
- "azure-openai": { abbr: "Az", icon: "ph:cloud-duotone", color: "#0078D4" },
4
- anthropic: { abbr: "An", icon: "ph:mountains-duotone", color: "#CC785C" },
5
- deepseek: { abbr: "DS", icon: "ph:compass-duotone", color: "#4D6BFE" },
6
- qwen: { abbr: "Qw", icon: "ph:wind-duotone", color: "#615CED" },
7
- zhipu: { abbr: "Zh", icon: "ph:diamond-duotone", color: "#3A5CE6" },
8
- moonshot: { abbr: "Ms", icon: "ph:moon-stars-duotone", color: "#16171A" },
9
- doubao: { abbr: "Db", icon: "ph:planet-duotone", color: "#F2A93B" },
10
- gemini: { abbr: "Ge", icon: "ph:globe-duotone", color: "#4285F4" },
11
- ollama: { abbr: "Ol", icon: "ph:terminal-window-duotone", color: "#4B5563" },
12
- custom: { abbr: "Cu", icon: "ph:puzzle-piece-duotone", color: "#8A8F98" }
13
- }, n = e.custom;
14
- function r(o) {
15
- return o ? e[o] ?? n : n;
1
+ const n = {
2
+ openai: { abbr: "AI", icon: "ph:asterisk", color: "#10A37F" },
3
+ "azure-openai": { abbr: "Az", icon: "ph:cloud", color: "#0078D4" },
4
+ anthropic: { abbr: "An", icon: "ph:mountains", color: "#CC785C" },
5
+ deepseek: { abbr: "DS", icon: "ph:compass", color: "#4D6BFE" },
6
+ qwen: { abbr: "Qw", icon: "ph:wind", color: "#615CED" },
7
+ zhipu: { abbr: "Zh", icon: "ph:diamond", color: "#3A5CE6" },
8
+ moonshot: { abbr: "Ms", icon: "ph:moon-stars", color: "#16171A" },
9
+ doubao: { abbr: "Db", icon: "ph:planet", color: "#F2A93B" },
10
+ gemini: { abbr: "Ge", icon: "ph:globe", color: "#4285F4" },
11
+ ollama: { abbr: "Ol", icon: "ph:terminal-window", color: "#4B5563" },
12
+ custom: { abbr: "Cu", icon: "ph:puzzle-piece", color: "#8A8F98" }
13
+ }, r = n.custom;
14
+ function c(o) {
15
+ return o ? n[o] ?? r : r;
16
16
  }
17
17
  export {
18
- e as AI_PROVIDER_PRESET_META,
19
- n as FALLBACK_PRESET_META,
20
- r as resolvePresetMeta
18
+ n as AI_PROVIDER_PRESET_META,
19
+ r as FALLBACK_PRESET_META,
20
+ c as resolvePresetMeta
21
21
  };
22
22
  //# sourceMappingURL=presets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sources":["../../../../src/views/system/ai-model/presets.ts"],"sourcesContent":["// AI 厂商预设的展示元数据:纯静态表,不发请求、不依赖后端。\n// 后端 AiProviderPresets.cs 落定了 11 个预置 code(见 GET /api/v1/sys/ai/provider/presets 的 AiProviderPreset.code);\n// 这里只补一份「按 code 取卡片缩写/图标/强调色」的视觉层,厂商预设下拉与厂商卡片(ProviderCard.vue/ProviderForm.vue)据此渲染,\n// 厂商的展示名/协议/Base URL 等业务字段仍以后端返回的 AiProviderPreset 为准,不在这里重复。\n// 新增预设 code 时后端与这里要同步维护;未登记的 code 统一兜底成 custom 的视觉,不会渲染不出来。\n\nexport interface AiProviderPresetMeta {\n /** 卡片角标用的极短缩写(拉丁字母,2 个字符左右,深色徽标上的文字) */\n abbr: string\n /** Iconify 图标名(ph:*,已随内核种子图标一并登记进 ph-subset.json) */\n icon: string\n /** 强调色(卡片描边 / 图标底色),16 进制 */\n color: string\n}\n\n/** 厂商预设 code → 展示元数据。key 必须与后端 AiProviderPresets.cs 的 code 一致。 */\nexport const AI_PROVIDER_PRESET_META: Readonly<Record<string, AiProviderPresetMeta>> = {\n openai: { abbr: 'AI', icon: 'ph:asterisk-duotone', color: '#10A37F' },\n 'azure-openai': { abbr: 'Az', icon: 'ph:cloud-duotone', color: '#0078D4' },\n anthropic: { abbr: 'An', icon: 'ph:mountains-duotone', color: '#CC785C' },\n deepseek: { abbr: 'DS', icon: 'ph:compass-duotone', color: '#4D6BFE' },\n qwen: { abbr: 'Qw', icon: 'ph:wind-duotone', color: '#615CED' },\n zhipu: { abbr: 'Zh', icon: 'ph:diamond-duotone', color: '#3A5CE6' },\n moonshot: { abbr: 'Ms', icon: 'ph:moon-stars-duotone', color: '#16171A' },\n doubao: { abbr: 'Db', icon: 'ph:planet-duotone', color: '#F2A93B' },\n gemini: { abbr: 'Ge', icon: 'ph:globe-duotone', color: '#4285F4' },\n ollama: { abbr: 'Ol', icon: 'ph:terminal-window-duotone', color: '#4B5563' },\n custom: { abbr: 'Cu', icon: 'ph:puzzle-piece-duotone', color: '#8A8F98' },\n}\n\n/** 未登记 code 的兜底视觉(等同 custom)。 */\nexport const FALLBACK_PRESET_META: AiProviderPresetMeta = AI_PROVIDER_PRESET_META.custom!\n\n/** 按 code 取展示元数据;查无此 code(新预设未同步维护)时兜底成 custom,不抛错。 */\nexport function resolvePresetMeta(code: string | null | undefined): AiProviderPresetMeta {\n if (!code) return FALLBACK_PRESET_META\n return AI_PROVIDER_PRESET_META[code] ?? FALLBACK_PRESET_META\n}\n"],"names":["AI_PROVIDER_PRESET_META","FALLBACK_PRESET_META","resolvePresetMeta","code"],"mappings":"AAgBO,MAAMA,IAA0E;AAAA,EACrF,QAAQ,EAAE,MAAM,MAAM,MAAM,uBAAuB,OAAO,UAAA;AAAA,EAC1D,gBAAgB,EAAE,MAAM,MAAM,MAAM,oBAAoB,OAAO,UAAA;AAAA,EAC/D,WAAW,EAAE,MAAM,MAAM,MAAM,wBAAwB,OAAO,UAAA;AAAA,EAC9D,UAAU,EAAE,MAAM,MAAM,MAAM,sBAAsB,OAAO,UAAA;AAAA,EAC3D,MAAM,EAAE,MAAM,MAAM,MAAM,mBAAmB,OAAO,UAAA;AAAA,EACpD,OAAO,EAAE,MAAM,MAAM,MAAM,sBAAsB,OAAO,UAAA;AAAA,EACxD,UAAU,EAAE,MAAM,MAAM,MAAM,yBAAyB,OAAO,UAAA;AAAA,EAC9D,QAAQ,EAAE,MAAM,MAAM,MAAM,qBAAqB,OAAO,UAAA;AAAA,EACxD,QAAQ,EAAE,MAAM,MAAM,MAAM,oBAAoB,OAAO,UAAA;AAAA,EACvD,QAAQ,EAAE,MAAM,MAAM,MAAM,8BAA8B,OAAO,UAAA;AAAA,EACjE,QAAQ,EAAE,MAAM,MAAM,MAAM,2BAA2B,OAAO,UAAA;AAChE,GAGaC,IAA6CD,EAAwB;AAG3E,SAASE,EAAkBC,GAAuD;AACvF,SAAKA,IACEH,EAAwBG,CAAI,KAAKF,IADtBA;AAEpB;"}
1
+ {"version":3,"file":"presets.js","sources":["../../../../src/views/system/ai-model/presets.ts"],"sourcesContent":["// AI 厂商预设的展示元数据:纯静态表,不发请求、不依赖后端。\n// 后端 AiProviderPresets.cs 落定了 11 个预置 code(见 GET /api/v1/sys/ai/provider/presets 的 AiProviderPreset.code);\n// 这里只补一份「按 code 取卡片缩写/图标/强调色」的视觉层,厂商卡片(ProviderCard.vue)据此渲染:\n// 徽标只用 `abbr`(2 字缩写色块,色取强调色衍生/中性色,不写品牌色),`custom` 画拼图图标;\n// `icon` / `color` 保留给需要品牌识别的下游替换页使用,内核卡片不读它们。\n// 厂商的展示名/协议/Base URL 等业务字段仍以后端返回的 AiProviderPreset 为准,不在这里重复。\n// 新增预设 code 时后端与这里要同步维护;未登记的 code 统一兜底成 custom 的视觉,不会渲染不出来。\n\nexport interface AiProviderPresetMeta {\n /** 卡片角标用的极短缩写(拉丁字母,2 个字符左右,深色徽标上的文字) */\n abbr: string\n /** Iconify 图标名(ph:* 线条款) */\n icon: string\n /** 强调色(卡片描边 / 图标底色),16 进制 */\n color: string\n}\n\n/** 厂商预设 code → 展示元数据。key 必须与后端 AiProviderPresets.cs 的 code 一致。 */\nexport const AI_PROVIDER_PRESET_META: Readonly<Record<string, AiProviderPresetMeta>> = {\n openai: { abbr: 'AI', icon: 'ph:asterisk', color: '#10A37F' },\n 'azure-openai': { abbr: 'Az', icon: 'ph:cloud', color: '#0078D4' },\n anthropic: { abbr: 'An', icon: 'ph:mountains', color: '#CC785C' },\n deepseek: { abbr: 'DS', icon: 'ph:compass', color: '#4D6BFE' },\n qwen: { abbr: 'Qw', icon: 'ph:wind', color: '#615CED' },\n zhipu: { abbr: 'Zh', icon: 'ph:diamond', color: '#3A5CE6' },\n moonshot: { abbr: 'Ms', icon: 'ph:moon-stars', color: '#16171A' },\n doubao: { abbr: 'Db', icon: 'ph:planet', color: '#F2A93B' },\n gemini: { abbr: 'Ge', icon: 'ph:globe', color: '#4285F4' },\n ollama: { abbr: 'Ol', icon: 'ph:terminal-window', color: '#4B5563' },\n custom: { abbr: 'Cu', icon: 'ph:puzzle-piece', color: '#8A8F98' },\n}\n\n/** 未登记 code 的兜底视觉(等同 custom)。 */\nexport const FALLBACK_PRESET_META: AiProviderPresetMeta = AI_PROVIDER_PRESET_META.custom!\n\n/** 按 code 取展示元数据;查无此 code(新预设未同步维护)时兜底成 custom,不抛错。 */\nexport function resolvePresetMeta(code: string | null | undefined): AiProviderPresetMeta {\n if (!code) return FALLBACK_PRESET_META\n return AI_PROVIDER_PRESET_META[code] ?? FALLBACK_PRESET_META\n}\n"],"names":["AI_PROVIDER_PRESET_META","FALLBACK_PRESET_META","resolvePresetMeta","code"],"mappings":"AAkBO,MAAMA,IAA0E;AAAA,EACrF,QAAQ,EAAE,MAAM,MAAM,MAAM,eAAe,OAAO,UAAA;AAAA,EAClD,gBAAgB,EAAE,MAAM,MAAM,MAAM,YAAY,OAAO,UAAA;AAAA,EACvD,WAAW,EAAE,MAAM,MAAM,MAAM,gBAAgB,OAAO,UAAA;AAAA,EACtD,UAAU,EAAE,MAAM,MAAM,MAAM,cAAc,OAAO,UAAA;AAAA,EACnD,MAAM,EAAE,MAAM,MAAM,MAAM,WAAW,OAAO,UAAA;AAAA,EAC5C,OAAO,EAAE,MAAM,MAAM,MAAM,cAAc,OAAO,UAAA;AAAA,EAChD,UAAU,EAAE,MAAM,MAAM,MAAM,iBAAiB,OAAO,UAAA;AAAA,EACtD,QAAQ,EAAE,MAAM,MAAM,MAAM,aAAa,OAAO,UAAA;AAAA,EAChD,QAAQ,EAAE,MAAM,MAAM,MAAM,YAAY,OAAO,UAAA;AAAA,EAC/C,QAAQ,EAAE,MAAM,MAAM,MAAM,sBAAsB,OAAO,UAAA;AAAA,EACzD,QAAQ,EAAE,MAAM,MAAM,MAAM,mBAAmB,OAAO,UAAA;AACxD,GAGaC,IAA6CD,EAAwB;AAG3E,SAASE,EAAkBC,GAAuD;AACvF,SAAKA,IACEH,EAAwBG,CAAI,KAAKF,IADtBA;AAEpB;"}
@@ -1,7 +1,7 @@
1
1
  import o from "./index2.vue.js";
2
2
  /* empty css */
3
- import t from "../../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-d81fc5a2"]]);
3
+ import f from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ f(o, [["__scopeId", "data-v-06f1e1ff"]]);
5
5
  export {
6
6
  m as default
7
7
  };