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.
- package/README.md +6 -6
- package/dist/api/index.d.ts +41 -2
- package/dist/api/index.js +36 -15
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +418 -6
- package/dist/assets/icons/ph-subset.json.js +7 -7
- package/dist/assets/smart-logo.svg.js +5 -0
- package/dist/assets/smart-logo.svg.js.map +1 -0
- package/dist/components/AppIcon.vue.js +9 -9
- package/dist/components/AppIcon.vue.js.map +1 -1
- package/dist/components/AppWatermark.vue.d.ts +14 -0
- package/dist/components/AppWatermark.vue.js +38 -0
- package/dist/components/AppWatermark.vue.js.map +1 -0
- package/dist/components/AppWatermark2.vue.js +5 -0
- package/dist/components/AppWatermark2.vue.js.map +1 -0
- package/dist/components/Chart/PieChart.vue.d.ts +1 -1
- package/dist/components/Chart/echarts.js +15 -20
- package/dist/components/Chart/echarts.js.map +1 -1
- package/dist/components/CronEditor/index.vue.js +1 -1
- package/dist/components/CronEditor/index2.vue.js +2 -1
- package/dist/components/CronEditor/index2.vue.js.map +1 -1
- package/dist/components/DetailPage/index.vue.js +2 -2
- package/dist/components/DetailPage/index2.vue.js.map +1 -1
- package/dist/components/DictTag/index.vue.js.map +1 -1
- package/dist/components/ErrorBoundary/index.vue.js +2 -2
- package/dist/components/ErrorBoundary/index2.vue.js +1 -1
- package/dist/components/ErrorBoundary/index2.vue.js.map +1 -1
- package/dist/components/FormContainer/index.vue.js +91 -56
- package/dist/components/FormContainer/index.vue.js.map +1 -1
- package/dist/components/ImportWizard/index.vue.js +1 -1
- package/dist/components/ImportWizard/index2.vue.js +44 -41
- package/dist/components/ImportWizard/index2.vue.js.map +1 -1
- package/dist/components/MenuSearch.vue.js +2 -2
- package/dist/components/MenuSearch2.vue.js +19 -18
- package/dist/components/MenuSearch2.vue.js.map +1 -1
- package/dist/components/PasswordStrength/index.vue.js +2 -2
- package/dist/components/PasswordStrength/index2.vue.js +20 -18
- package/dist/components/PasswordStrength/index2.vue.js.map +1 -1
- package/dist/components/SmartLogo.vue.d.ts +3 -0
- package/dist/components/SmartLogo.vue.js +1 -1
- package/dist/components/SmartLogo2.vue.js +22 -64
- package/dist/components/SmartLogo2.vue.js.map +1 -1
- package/dist/{views/system/config/components/GroupExtraConfig.vue.d.ts → components/TableTotal/index.vue.d.ts} +1 -4
- package/dist/components/{SelectTable → TableTotal}/index.vue.js +1 -1
- package/dist/components/TableTotal/index2.vue.js +16 -0
- package/dist/components/TableTotal/index2.vue.js.map +1 -0
- package/dist/components/TableZoomButton/index.vue.js.map +1 -1
- package/dist/components/UserPicker/index.vue.js +2 -2
- package/dist/components/UserPicker/index2.vue.js +176 -117
- package/dist/components/UserPicker/index2.vue.js.map +1 -1
- package/dist/composables/useBatchDelete.js.map +1 -1
- package/dist/composables/useLayoutMenu.js +17 -16
- package/dist/composables/useLayoutMenu.js.map +1 -1
- package/dist/composables/useLoginHero.d.ts +2 -0
- package/dist/composables/useLoginHero.js +22 -0
- package/dist/composables/useLoginHero.js.map +1 -0
- package/dist/composables/useModule.js +39 -29
- package/dist/composables/useModule.js.map +1 -1
- package/dist/composables/usePageTitle.js +16 -14
- package/dist/composables/usePageTitle.js.map +1 -1
- package/dist/composables/useShellBreakpoint.d.ts +19 -0
- package/dist/composables/useShellBreakpoint.js +37 -0
- package/dist/composables/useShellBreakpoint.js.map +1 -0
- package/dist/composables/useSite.d.ts +20 -0
- package/dist/composables/useSite.js +18 -13
- package/dist/composables/useSite.js.map +1 -1
- package/dist/composables/useTabTitle.js.map +1 -1
- package/dist/composables/useTableTitle.d.ts +6 -0
- package/dist/composables/useTableTitle.js +11 -0
- package/dist/composables/useTableTitle.js.map +1 -0
- package/dist/composables/useTableZoom.d.ts +5 -0
- package/dist/composables/useTableZoom.js.map +1 -1
- package/dist/composables/useTheme.d.ts +2 -2
- package/dist/composables/useTheme.js +23 -20
- package/dist/composables/useTheme.js.map +1 -1
- package/dist/createSmartAdmin.d.ts +12 -2
- package/dist/createSmartAdmin.js +72 -60
- package/dist/createSmartAdmin.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +223 -208
- package/dist/index.js.map +1 -1
- package/dist/layouts/AccentPicker.vue.js +8 -0
- package/dist/layouts/AccentPicker.vue.js.map +1 -0
- package/dist/layouts/AccentPicker2.vue.js +131 -0
- package/dist/layouts/AccentPicker2.vue.js.map +1 -0
- package/dist/layouts/AppHeader.vue.d.ts +8 -1
- package/dist/layouts/AppHeader.vue.js +2 -2
- package/dist/layouts/AppHeader2.vue.js +317 -235
- package/dist/layouts/AppHeader2.vue.js.map +1 -1
- package/dist/layouts/NoticeBell.vue.js +2 -2
- package/dist/layouts/NoticeBell2.vue.js +1 -1
- package/dist/layouts/NoticeBell2.vue.js.map +1 -1
- package/dist/layouts/PersonalLayout.vue.js +2 -2
- package/dist/layouts/PersonalLayout2.vue.js +69 -47
- package/dist/layouts/PersonalLayout2.vue.js.map +1 -1
- package/dist/layouts/SettingsDrawer.vue.js +3 -3
- package/dist/layouts/SettingsDrawer2.vue.js +261 -325
- package/dist/layouts/SettingsDrawer2.vue.js.map +1 -1
- package/dist/layouts/TabsBar.vue.js +2 -2
- package/dist/layouts/TabsBar2.vue.js +97 -69
- package/dist/layouts/TabsBar2.vue.js.map +1 -1
- package/dist/layouts/components/SideNav.vue.d.ts +3 -0
- package/dist/layouts/components/SideNav.vue.js +1 -1
- package/dist/layouts/components/SideNav2.vue.js +54 -26
- package/dist/layouts/components/SideNav2.vue.js.map +1 -1
- package/dist/layouts/default.vue.js +1 -1
- package/dist/layouts/default2.vue.js +170 -140
- package/dist/layouts/default2.vue.js.map +1 -1
- package/dist/lib/favicon.d.ts +1 -0
- package/dist/lib/favicon.js +12 -0
- package/dist/lib/favicon.js.map +1 -0
- package/dist/lib/loginHero.d.ts +16 -0
- package/dist/lib/loginHero.js +33 -0
- package/dist/lib/loginHero.js.map +1 -0
- package/dist/lib/logoCrop.d.ts +25 -0
- package/dist/lib/logoCrop.js +22 -0
- package/dist/lib/logoCrop.js.map +1 -0
- package/dist/lib/runtime.d.ts +2 -0
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/securityRules.d.ts +26 -0
- package/dist/lib/securityRules.js +86 -0
- package/dist/lib/securityRules.js.map +1 -0
- package/dist/lib/watermark.d.ts +110 -0
- package/dist/lib/watermark.js +151 -0
- package/dist/lib/watermark.js.map +1 -0
- package/dist/locales/en-US.d.ts +462 -42
- package/dist/locales/en-US.js +491 -78
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/kernelMenuTitles.d.ts +1 -0
- package/dist/locales/kernelMenuTitles.js +128 -0
- package/dist/locales/kernelMenuTitles.js.map +1 -0
- package/dist/locales/menuTitle.d.ts +3 -0
- package/dist/locales/menuTitle.js +14 -12
- package/dist/locales/menuTitle.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +462 -42
- package/dist/locales/zh-CN.js +490 -81
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/router/index.js +41 -32
- package/dist/router/index.js.map +1 -1
- package/dist/router/namedPage.d.ts +4 -0
- package/dist/router/namedPage.js +7 -7
- package/dist/router/namedPage.js.map +1 -1
- package/dist/router/viewRegistry.js +12 -12
- package/dist/router/viewRegistry.js.map +1 -1
- package/dist/stores/app.d.ts +0 -12
- package/dist/stores/app.js +11 -12
- package/dist/stores/app.js.map +1 -1
- package/dist/stores/tabs.js.map +1 -1
- package/dist/stores/user.d.ts +10 -0
- package/dist/stores/user.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/theme/accentTokens.d.ts +27 -0
- package/dist/theme/accentTokens.js +54 -0
- package/dist/theme/accentTokens.js.map +1 -0
- package/dist/theme/accents.d.ts +21 -1
- package/dist/theme/accents.js +11 -2
- package/dist/theme/accents.js.map +1 -1
- package/dist/theme/mix.d.ts +58 -7
- package/dist/theme/mix.js +115 -30
- package/dist/theme/mix.js.map +1 -1
- package/dist/theme/naive-theme.d.ts +5 -2
- package/dist/theme/naive-theme.js +405 -75
- package/dist/theme/naive-theme.js.map +1 -1
- package/dist/utils/jwt.d.ts +8 -0
- package/dist/utils/jwt.js +14 -0
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/menuIcon.d.ts +2 -0
- package/dist/utils/menuIcon.js +8 -0
- package/dist/utils/menuIcon.js.map +1 -0
- package/dist/utils/oauthBrand.d.ts +34 -9
- package/dist/utils/oauthBrand.js +70 -74
- package/dist/utils/oauthBrand.js.map +1 -1
- package/dist/utils/tableFilter.d.ts +88 -0
- package/dist/utils/tableFilter.js +116 -0
- package/dist/utils/tableFilter.js.map +1 -0
- package/dist/utils/tableToolbar.d.ts +18 -0
- package/dist/utils/tableToolbar.js +11 -0
- package/dist/utils/tableToolbar.js.map +1 -0
- package/dist/utils/treeFilter.d.ts +20 -0
- package/dist/utils/treeFilter.js +24 -0
- package/dist/utils/treeFilter.js.map +1 -0
- package/dist/views/dashboard/ShortcutPicker.vue.js +1 -1
- package/dist/views/dashboard/ShortcutPicker2.vue.js +73 -48
- package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -1
- package/dist/views/dashboard/biz.vue.js +1 -1
- package/dist/views/dashboard/biz2.vue.js +310 -257
- package/dist/views/dashboard/biz2.vue.js.map +1 -1
- package/dist/views/dashboard/workbench.vue.js +2 -2
- package/dist/views/dashboard/workbench2.vue.js +141 -155
- package/dist/views/dashboard/workbench2.vue.js.map +1 -1
- package/dist/views/embed/iframe.vue.js +2 -2
- package/dist/views/embed/iframe2.vue.js +22 -15
- package/dist/views/embed/iframe2.vue.js.map +1 -1
- package/dist/views/error/404.vue.js +2 -2
- package/dist/views/error/4042.vue.js +33 -24
- package/dist/views/error/4042.vue.js.map +1 -1
- package/dist/views/error/BootError.vue.js +1 -1
- package/dist/views/error/BootError2.vue.js +59 -48
- package/dist/views/error/BootError2.vue.js.map +1 -1
- package/dist/views/error/MissingRoute.vue.js +2 -2
- package/dist/views/error/MissingRoute2.vue.js +34 -15
- package/dist/views/error/MissingRoute2.vue.js.map +1 -1
- package/dist/views/login/LoginForm.vue.d.ts +7 -1
- package/dist/views/login/LoginForm.vue.js +2 -2
- package/dist/views/login/LoginForm2.vue.js +580 -488
- package/dist/views/login/LoginForm2.vue.js.map +1 -1
- package/dist/views/login/components/LoginDesk.vue.d.ts +36 -0
- package/dist/views/login/components/LoginDesk.vue.js +9 -0
- package/dist/views/login/components/LoginDesk.vue.js.map +1 -0
- package/dist/views/login/components/LoginDesk2.vue.js +100 -0
- package/dist/views/login/components/LoginDesk2.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel.vue.d.ts +18 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js +8 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js +61 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -0
- package/dist/views/login/index.vue.js +1 -1
- package/dist/views/login/index2.vue.js +141 -71
- package/dist/views/login/index2.vue.js.map +1 -1
- package/dist/views/login/layout.d.ts +11 -0
- package/dist/views/login/layout.js +27 -0
- package/dist/views/login/layout.js.map +1 -0
- package/dist/views/mfa/index.vue.js +2 -2
- package/dist/views/mfa/index2.vue.js +367 -321
- package/dist/views/mfa/index2.vue.js.map +1 -1
- package/dist/views/module/index.vue.js +2 -2
- package/dist/views/module/index2.vue.js +132 -99
- package/dist/views/module/index2.vue.js.map +1 -1
- package/dist/views/oauth/callback.vue.js +2 -2
- package/dist/views/oauth/callback2.vue.js +65 -51
- package/dist/views/oauth/callback2.vue.js.map +1 -1
- package/dist/views/personal/bindings.vue.js +2 -2
- package/dist/views/personal/bindings2.vue.js +98 -94
- package/dist/views/personal/bindings2.vue.js.map +1 -1
- package/dist/views/personal/notice2.vue.js +103 -76
- package/dist/views/personal/notice2.vue.js.map +1 -1
- package/dist/views/personal/password2.vue.js +47 -40
- package/dist/views/personal/password2.vue.js.map +1 -1
- package/dist/views/personal/profile.vue.js +3 -3
- package/dist/views/personal/profile2.vue.js +24 -18
- package/dist/views/personal/profile2.vue.js.map +1 -1
- package/dist/views/personal/security.vue.js +2 -2
- package/dist/views/personal/security2.vue.js +65 -53
- package/dist/views/personal/security2.vue.js.map +1 -1
- package/dist/views/personal/sessions.vue.js +2 -2
- package/dist/views/personal/sessions2.vue.js +67 -62
- package/dist/views/personal/sessions2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderCard.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js +142 -130
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderForm.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js +71 -70
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -1
- package/dist/views/system/ai-model/index.vue.js +2 -2
- package/dist/views/system/ai-model/index2.vue.js +99 -99
- package/dist/views/system/ai-model/index2.vue.js.map +1 -1
- package/dist/views/system/ai-model/presets.d.ts +1 -1
- package/dist/views/system/ai-model/presets.js +18 -18
- package/dist/views/system/ai-model/presets.js.map +1 -1
- package/dist/views/system/ai-usage/index.vue.js +2 -2
- package/dist/views/system/ai-usage/index2.vue.js +356 -258
- package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
- package/dist/views/system/api-docs/index.vue.js +5 -2
- package/dist/views/system/api-docs/index.vue.js.map +1 -1
- package/dist/views/system/api-docs/index2.vue.js +92 -42
- package/dist/views/system/api-docs/index2.vue.js.map +1 -1
- package/dist/views/system/cache/index.vue.js +2 -2
- package/dist/views/system/cache/index2.vue.js +74 -80
- package/dist/views/system/cache/index2.vue.js.map +1 -1
- package/dist/views/system/config/components/AdminMock.vue.js +8 -0
- package/dist/views/system/config/components/AdminMock.vue.js.map +1 -0
- package/dist/views/system/config/components/AdminMock2.vue.js +93 -0
- package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js +8 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js +163 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection.vue.d.ts +7 -0
- package/dist/views/system/config/components/BrandSection.vue.js +8 -0
- package/dist/views/system/config/components/BrandSection.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection2.vue.js +266 -0
- package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup.vue.d.ts +18 -0
- package/dist/views/system/config/components/CfgGroup.vue.js +8 -0
- package/dist/views/system/config/components/CfgGroup.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js +22 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow.vue.d.ts +26 -0
- package/dist/views/system/config/components/CfgRow.vue.js +9 -0
- package/dist/views/system/config/components/CfgRow.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow2.vue.js +54 -0
- package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment.vue.d.ts +28 -0
- package/dist/views/system/config/components/CfgSegment.vue.js +8 -0
- package/dist/views/system/config/components/CfgSegment.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js +45 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js +4 -1
- package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -1
- package/dist/views/system/config/components/ConfigFormModal2.vue.js +72 -60
- package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
- package/dist/views/system/config/components/JobSection.vue.js +8 -0
- package/dist/views/system/config/components/JobSection.vue.js.map +1 -0
- package/dist/views/system/config/components/JobSection2.vue.js +140 -0
- package/dist/views/system/config/components/JobSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock.vue.d.ts +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock2.vue.js +132 -0
- package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper.vue.d.ts +10 -0
- package/dist/views/system/config/components/LogoCropper.vue.js +8 -0
- package/dist/views/system/config/components/LogoCropper.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js +122 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor.vue.js +8 -0
- package/dist/views/system/config/components/LogoEditor.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js +161 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet.vue.d.ts +17 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js +8 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js +343 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -0
- package/dist/{layouts/SettingRow.vue.d.ts → views/system/config/components/ScaleToFit.vue.d.ts} +2 -1
- package/dist/views/system/config/components/ScaleToFit.vue.js +8 -0
- package/dist/views/system/config/components/ScaleToFit.vue.js.map +1 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js +41 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout.vue.d.ts +30 -0
- package/dist/views/system/config/components/SectionLayout.vue.js +8 -0
- package/dist/views/system/config/components/SectionLayout.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js +69 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection.vue.js +8 -0
- package/dist/views/system/config/components/SecuritySection.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js +417 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js +8 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js +214 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection.vue.js +8 -0
- package/dist/views/system/config/components/SigninSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection2.vue.js +201 -0
- package/dist/views/system/config/components/SigninSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection.vue.js +8 -0
- package/dist/views/system/config/components/UploadSection.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection2.vue.js +176 -0
- package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/WatermarkSection.vue.js +8 -0
- package/dist/views/system/config/components/WatermarkSection.vue.js.map +1 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js +284 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js.map +1 -0
- package/dist/views/system/config/draft.d.ts +148 -0
- package/dist/views/system/config/draft.js +170 -0
- package/dist/views/system/config/draft.js.map +1 -0
- package/dist/views/system/config/flash.d.ts +2 -0
- package/dist/views/system/config/flash.js +9 -0
- package/dist/views/system/config/flash.js.map +1 -0
- package/dist/views/system/config/groups.d.ts +38 -7
- package/dist/views/system/config/groups.js +104 -14
- package/dist/views/system/config/groups.js.map +1 -1
- package/dist/views/system/config/index.vue.js +6 -2
- package/dist/views/system/config/index.vue.js.map +1 -1
- package/dist/views/system/config/index2.vue.js +201 -111
- package/dist/views/system/config/index2.vue.js.map +1 -1
- package/dist/views/system/config/layoutMode.d.ts +23 -0
- package/dist/views/system/config/layoutMode.js +28 -0
- package/dist/views/system/config/layoutMode.js.map +1 -0
- package/dist/views/system/config/providerForm.d.ts +33 -0
- package/dist/views/system/config/providerForm.js +63 -0
- package/dist/views/system/config/providerForm.js.map +1 -0
- package/dist/views/system/dict/index.vue.js +2 -2
- package/dist/views/system/dict/index2.vue.js +471 -366
- package/dist/views/system/dict/index2.vue.js.map +1 -1
- package/dist/views/system/file/index2.vue.js +91 -76
- package/dist/views/system/file/index2.vue.js.map +1 -1
- package/dist/views/system/job/index.vue.js +3 -3
- package/dist/views/system/job/index2.vue.js +897 -828
- package/dist/views/system/job/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/components/AttemptTable.vue.d.ts +8 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js +5 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js.map +1 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js +54 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -0
- package/dist/views/system/job-log/index.vue.js +2 -2
- package/dist/views/system/job-log/index2.vue.js +193 -207
- package/dist/views/system/job-log/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/runStatus.d.ts +13 -0
- package/dist/views/system/job-log/runStatus.js +26 -0
- package/dist/views/system/job-log/runStatus.js.map +1 -0
- package/dist/views/system/job-monitor/index.vue.js +2 -2
- package/dist/views/system/job-monitor/index2.vue.js +172 -180
- package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
- package/dist/views/system/log/exception/index.vue.js +2 -2
- package/dist/views/system/log/exception/index2.vue.js +135 -96
- package/dist/views/system/log/exception/index2.vue.js.map +1 -1
- package/dist/views/system/log/login/index2.vue.js +62 -41
- package/dist/views/system/log/login/index2.vue.js.map +1 -1
- package/dist/views/system/log/op/index.vue.js +2 -2
- package/dist/views/system/log/op/index2.vue.js +200 -162
- package/dist/views/system/log/op/index2.vue.js.map +1 -1
- package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
- package/dist/views/system/menu/components/ButtonManager2.vue.js +206 -190
- package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
- package/dist/views/system/menu/components/MenuFormModal.vue.js +2 -2
- package/dist/views/system/menu/components/MenuFormModal2.vue.js +127 -118
- package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -1
- package/dist/views/system/menu/index.vue.js +1 -1
- package/dist/views/system/menu/index2.vue.js +216 -183
- package/dist/views/system/menu/index2.vue.js.map +1 -1
- package/dist/views/system/module/index.vue.js +1 -1
- package/dist/views/system/module/index2.vue.js +177 -144
- package/dist/views/system/module/index2.vue.js.map +1 -1
- package/dist/views/system/monitor/index.vue.js +2 -2
- package/dist/views/system/monitor/index2.vue.js +134 -149
- package/dist/views/system/monitor/index2.vue.js.map +1 -1
- package/dist/views/system/notice/index.vue.js +1 -1
- package/dist/views/system/notice/index2.vue.js +209 -181
- package/dist/views/system/notice/index2.vue.js.map +1 -1
- package/dist/views/system/org/index.vue.js +1 -1
- package/dist/views/system/org/index2.vue.js +278 -248
- package/dist/views/system/org/index2.vue.js.map +1 -1
- package/dist/views/system/position/index.vue.js +5 -2
- package/dist/views/system/position/index.vue.js.map +1 -1
- package/dist/views/system/position/index2.vue.js +128 -92
- package/dist/views/system/position/index2.vue.js.map +1 -1
- package/dist/views/system/recycle/index.vue.js +2 -2
- package/dist/views/system/recycle/index2.vue.js +90 -67
- package/dist/views/system/recycle/index2.vue.js.map +1 -1
- package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +20 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js +8 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js +117 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +6 -4
- package/dist/views/system/role/components/GrantMenuTable.vue.js +2 -2
- package/dist/views/system/role/components/GrantMenuTable2.vue.js +279 -177
- package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
- package/dist/views/system/role/components/MatchText.vue.d.ts +7 -0
- package/dist/views/system/role/components/MatchText.vue.js +8 -0
- package/dist/views/system/role/components/MatchText.vue.js.map +1 -0
- package/dist/views/system/role/components/MatchText2.vue.js +29 -0
- package/dist/views/system/role/components/MatchText2.vue.js.map +1 -0
- package/dist/views/system/role/components/grantMenuGroups.d.ts +36 -0
- package/dist/views/system/role/components/grantMenuGroups.js +110 -48
- package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
- package/dist/views/system/role/index.vue.js +5 -2
- package/dist/views/system/role/index.vue.js.map +1 -1
- package/dist/views/system/role/index2.vue.js +181 -165
- package/dist/views/system/role/index2.vue.js.map +1 -1
- package/dist/views/system/session/index2.vue.js +75 -49
- package/dist/views/system/session/index2.vue.js.map +1 -1
- package/dist/views/system/user/components/ResetPasswordModal.vue.js +2 -2
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js +2 -0
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -1
- package/dist/views/system/user/components/UserFormModal.vue.js +2 -2
- package/dist/views/system/user/components/UserFormModal2.vue.js +77 -76
- package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -1
- package/dist/views/system/user/index.vue.js +2 -2
- package/dist/views/system/user/index2.vue.js +362 -275
- package/dist/views/system/user/index2.vue.js.map +1 -1
- package/package.json +6 -8
- package/dist/components/SelectTable/index.vue.d.ts +0 -76
- package/dist/components/SelectTable/index2.vue.js +0 -256
- package/dist/components/SelectTable/index2.vue.js.map +0 -1
- package/dist/composables/useTableRowSort.d.ts +0 -20
- package/dist/composables/useTableRowSort.js +0 -59
- package/dist/composables/useTableRowSort.js.map +0 -1
- package/dist/layouts/LayoutModeCards.vue.js +0 -8
- package/dist/layouts/LayoutModeCards.vue.js.map +0 -1
- package/dist/layouts/LayoutModeCards2.vue.js +0 -67
- package/dist/layouts/LayoutModeCards2.vue.js.map +0 -1
- package/dist/layouts/SettingRow.vue.js +0 -8
- package/dist/layouts/SettingRow.vue.js.map +0 -1
- package/dist/layouts/SettingRow2.vue.js +0 -23
- package/dist/layouts/SettingRow2.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass.vue.js +0 -8
- package/dist/views/login/skins/AuroraGlass.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass2.vue.js +0 -80
- package/dist/views/login/skins/AuroraGlass2.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel.vue.js +0 -8
- package/dist/views/login/skins/SplitPanel.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel2.vue.js +0 -85
- package/dist/views/login/skins/SplitPanel2.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight.vue.js +0 -8
- package/dist/views/login/skins/Spotlight.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight2.vue.js +0 -36
- package/dist/views/login/skins/Spotlight2.vue.js.map +0 -1
- package/dist/views/login/skins.d.ts +0 -8
- package/dist/views/login/skins.js +0 -13
- package/dist/views/login/skins.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js +0 -8
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +0 -218
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig.vue.js +0 -8
- package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js +0 -108
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig.vue.js +0 -5
- package/dist/views/system/config/components/HighSensConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig2.vue.js +0 -134
- package/dist/views/system/config/components/HighSensConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig.vue.js +0 -5
- package/dist/views/system/config/components/JobConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig2.vue.js +0 -116
- package/dist/views/system/config/components/JobConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig.vue.js +0 -5
- package/dist/views/system/config/components/OtherConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig2.vue.js +0 -121
- package/dist/views/system/config/components/OtherConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig.vue.js +0 -8
- package/dist/views/system/config/components/SecurityConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig2.vue.js +0 -456
- package/dist/views/system/config/components/SecurityConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig.vue.js +0 -5
- package/dist/views/system/config/components/SysBaseConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig2.vue.js +0 -107
- package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig.vue.d.ts +0 -3
- package/dist/views/system/config/components/UploadConfig.vue.js +0 -5
- package/dist/views/system/config/components/UploadConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig2.vue.js +0 -135
- package/dist/views/system/config/components/UploadConfig2.vue.js.map +0 -1
- /package/dist/components/{SelectTable → TableTotal}/index.vue.js.map +0 -0
- /package/dist/layouts/{LayoutModeCards.vue.d.ts → AccentPicker.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/AuroraGlass.vue.d.ts → system/config/components/AdminMock.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/SplitPanel.vue.d.ts → system/config/components/AdvancedSection.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/Spotlight.vue.d.ts → system/config/components/JobSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{ExternalAuthConfig.vue.d.ts → LogoEditor.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{HighSensConfig.vue.d.ts → SecuritySection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{JobConfig.vue.d.ts → SensitiveSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{OtherConfig.vue.d.ts → SigninSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SecurityConfig.vue.d.ts → UploadSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SysBaseConfig.vue.d.ts → WatermarkSection.vue.d.ts} +0 -0
|
@@ -1,177 +1,162 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useMessage as
|
|
3
|
-
import { useI18n as
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { defineComponent as P, ref as k, computed as _, onMounted as D, openBlock as d, createElementBlock as v, createElementVNode as s, createVNode as l, unref as e, withCtx as c, createTextVNode as M, toDisplayString as t, normalizeStyle as h, Fragment as E, renderList as H, createBlock as V } from "vue";
|
|
2
|
+
import { useMessage as W, NButton as F, NSpin as T, NCard as f, NProgress as B } from "naive-ui";
|
|
3
|
+
import { useI18n as U } from "vue-i18n";
|
|
4
|
+
import j from "../../../components/AppIcon.vue.js";
|
|
5
|
+
import { useShellBreakpoint as I } from "../../../composables/useShellBreakpoint.js";
|
|
6
|
+
import { monitorApi as L } from "../../../api/index.js";
|
|
7
|
+
import { translateError as q } from "../../../utils/error.js";
|
|
7
8
|
import { fmtBytes as u } from "../../../utils/format.js";
|
|
8
|
-
const
|
|
9
|
+
const G = { class: "monitor" }, J = { class: "bar" }, K = { class: "stat-val num" }, O = { class: "sub" }, Q = { class: "stat-val num" }, R = { class: "sub" }, X = { class: "rows" }, Y = { class: "row" }, Z = { class: "k" }, ee = { class: "v" }, te = { class: "row" }, se = { class: "k" }, oe = { class: "v" }, ae = { class: "row" }, ne = { class: "k" }, re = { class: "v" }, le = { class: "row" }, ie = { class: "k" }, ce = { class: "v" }, ue = { class: "row" }, me = { class: "k" }, de = { class: "v" }, pe = { class: "disk-val num" }, _e = { class: "sub" }, Me = /* @__PURE__ */ P({
|
|
9
10
|
__name: "index",
|
|
10
|
-
setup(
|
|
11
|
-
const { t: a } =
|
|
12
|
-
async function
|
|
11
|
+
setup(ve) {
|
|
12
|
+
const { t: a } = U(), S = W(), o = k(null), m = k(!1), { width: w, bp: $ } = I(), y = _(() => w.value < 600 ? 1 : w.value < 1e3 ? 2 : 4), N = _(() => ({ gridTemplateColumns: `repeat(${y.value}, minmax(0, 1fr))` })), b = _(() => ({ gridColumn: `span ${y.value === 1 ? 1 : 2}` })), x = _(() => ({ gridColumn: `span ${y.value === 2 ? 2 : 1}` }));
|
|
13
|
+
async function C() {
|
|
13
14
|
m.value = !0;
|
|
14
15
|
try {
|
|
15
|
-
o.value = await
|
|
16
|
-
} catch (
|
|
17
|
-
|
|
16
|
+
o.value = await L.server();
|
|
17
|
+
} catch (r) {
|
|
18
|
+
S.error(q(r));
|
|
18
19
|
} finally {
|
|
19
20
|
m.value = !1;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
|
|
23
|
-
function
|
|
24
|
-
const
|
|
23
|
+
D(C);
|
|
24
|
+
function A(r) {
|
|
25
|
+
const i = Math.floor(r / 86400), n = Math.floor(r % 86400 / 3600), z = Math.floor(r % 3600 / 60);
|
|
25
26
|
return [
|
|
26
|
-
|
|
27
|
+
i ? `${i}${a("monitor.days")}` : "",
|
|
27
28
|
n ? `${n}${a("monitor.hours")}` : "",
|
|
28
|
-
`${
|
|
29
|
+
`${z}${a("monitor.minutes")}`
|
|
29
30
|
].filter(Boolean).join(" ");
|
|
30
31
|
}
|
|
31
|
-
function p(
|
|
32
|
-
return
|
|
32
|
+
function p(r, i) {
|
|
33
|
+
return i > 0 ? Math.round(r / i * 100) : 0;
|
|
33
34
|
}
|
|
34
|
-
function
|
|
35
|
-
return
|
|
35
|
+
function g(r) {
|
|
36
|
+
return r >= 90 ? "error" : r >= 75 ? "warning" : "success";
|
|
36
37
|
}
|
|
37
|
-
return (
|
|
38
|
-
s("div",
|
|
39
|
-
|
|
40
|
-
size: "small",
|
|
38
|
+
return (r, i) => (d(), v("div", G, [
|
|
39
|
+
s("div", J, [
|
|
40
|
+
l(e(F), {
|
|
41
41
|
secondary: "",
|
|
42
|
+
size: e($) === "narrow" ? "large" : "medium",
|
|
42
43
|
loading: m.value,
|
|
43
|
-
onClick:
|
|
44
|
+
onClick: C
|
|
44
45
|
}, {
|
|
45
|
-
icon:
|
|
46
|
-
|
|
46
|
+
icon: c(() => [
|
|
47
|
+
l(j, {
|
|
47
48
|
icon: "ph:arrow-clockwise",
|
|
48
49
|
size: 16
|
|
49
50
|
})
|
|
50
51
|
]),
|
|
51
|
-
default:
|
|
52
|
-
|
|
52
|
+
default: c(() => [
|
|
53
|
+
M(" " + t(e(a)("monitor.refresh")), 1)
|
|
53
54
|
]),
|
|
54
55
|
_: 1
|
|
55
|
-
}, 8, ["loading"])
|
|
56
|
+
}, 8, ["size", "loading"])
|
|
56
57
|
]),
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
l(e(T), {
|
|
59
|
+
show: m.value,
|
|
60
|
+
class: "monitor-spin"
|
|
61
|
+
}, {
|
|
62
|
+
default: c(() => [
|
|
63
|
+
o.value ? (d(), v("div", {
|
|
60
64
|
key: 0,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}, {
|
|
73
|
-
default: l(() => [
|
|
74
|
-
s("div", j, [
|
|
75
|
-
C(t(o.value.processCpuPercent.toFixed(1)) + " ", 1),
|
|
76
|
-
c[0] || (c[0] = s("span", { class: "unit" }, "%", -1))
|
|
77
|
-
]),
|
|
78
|
-
r(e(h), {
|
|
79
|
-
type: "line",
|
|
80
|
-
percentage: Math.round(o.value.processCpuPercent),
|
|
81
|
-
status: v(Math.round(o.value.processCpuPercent)),
|
|
82
|
-
"show-indicator": !1,
|
|
83
|
-
height: 6
|
|
84
|
-
}, null, 8, ["percentage", "status"]),
|
|
85
|
-
s("div", I, t(e(a)("monitor.processorCount")) + ": " + t(o.value.processorCount) + " · " + t(e(a)("monitor.threadCount")) + ": " + t(o.value.threadCount), 1)
|
|
86
|
-
]),
|
|
87
|
-
_: 1
|
|
88
|
-
}, 8, ["title"])
|
|
65
|
+
class: "cards",
|
|
66
|
+
style: h(N.value)
|
|
67
|
+
}, [
|
|
68
|
+
l(e(f), {
|
|
69
|
+
title: e(a)("monitor.cpu"),
|
|
70
|
+
class: "a-card"
|
|
71
|
+
}, {
|
|
72
|
+
default: c(() => [
|
|
73
|
+
s("div", K, [
|
|
74
|
+
M(t(o.value.processCpuPercent.toFixed(1)) + " ", 1),
|
|
75
|
+
i[0] || (i[0] = s("small", null, "%", -1))
|
|
89
76
|
]),
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
_: 1
|
|
174
|
-
})) : z("", !0)
|
|
77
|
+
l(e(B), {
|
|
78
|
+
class: "usage",
|
|
79
|
+
type: "line",
|
|
80
|
+
percentage: Math.round(o.value.processCpuPercent),
|
|
81
|
+
status: g(Math.round(o.value.processCpuPercent)),
|
|
82
|
+
"show-indicator": !1,
|
|
83
|
+
height: 6
|
|
84
|
+
}, null, 8, ["percentage", "status"]),
|
|
85
|
+
s("div", O, t(e(a)("monitor.processorCount")) + ": " + t(o.value.processorCount) + " · " + t(e(a)("monitor.threadCount")) + ": " + t(o.value.threadCount), 1)
|
|
86
|
+
]),
|
|
87
|
+
_: 1
|
|
88
|
+
}, 8, ["title"]),
|
|
89
|
+
l(e(f), {
|
|
90
|
+
title: e(a)("monitor.memory"),
|
|
91
|
+
class: "a-card"
|
|
92
|
+
}, {
|
|
93
|
+
default: c(() => [
|
|
94
|
+
s("div", Q, t(e(u)(o.value.processWorkingSetBytes)), 1),
|
|
95
|
+
l(e(B), {
|
|
96
|
+
class: "usage",
|
|
97
|
+
type: "line",
|
|
98
|
+
percentage: p(o.value.processWorkingSetBytes, o.value.totalAvailableMemoryBytes),
|
|
99
|
+
status: g(p(o.value.processWorkingSetBytes, o.value.totalAvailableMemoryBytes)),
|
|
100
|
+
height: 6
|
|
101
|
+
}, null, 8, ["percentage", "status"]),
|
|
102
|
+
s("div", R, t(e(a)("monitor.gcHeap")) + ": " + t(e(u)(o.value.gcHeapBytes)) + " · " + t(e(a)("monitor.totalMemory")) + ": " + t(e(u)(o.value.totalAvailableMemoryBytes)), 1)
|
|
103
|
+
]),
|
|
104
|
+
_: 1
|
|
105
|
+
}, 8, ["title"]),
|
|
106
|
+
l(e(f), {
|
|
107
|
+
title: e(a)("monitor.runtime"),
|
|
108
|
+
class: "a-card",
|
|
109
|
+
style: h(b.value)
|
|
110
|
+
}, {
|
|
111
|
+
default: c(() => [
|
|
112
|
+
s("div", X, [
|
|
113
|
+
s("div", Y, [
|
|
114
|
+
s("span", Z, t(e(a)("monitor.machineName")), 1),
|
|
115
|
+
s("span", ee, t(o.value.machineName), 1)
|
|
116
|
+
]),
|
|
117
|
+
s("div", te, [
|
|
118
|
+
s("span", se, t(e(a)("monitor.framework")), 1),
|
|
119
|
+
s("span", oe, t(o.value.frameworkDescription), 1)
|
|
120
|
+
]),
|
|
121
|
+
s("div", ae, [
|
|
122
|
+
s("span", ne, t(e(a)("monitor.os")), 1),
|
|
123
|
+
s("span", re, t(o.value.osDescription), 1)
|
|
124
|
+
]),
|
|
125
|
+
s("div", le, [
|
|
126
|
+
s("span", ie, t(e(a)("monitor.arch")), 1),
|
|
127
|
+
s("span", ce, t(o.value.processArchitecture), 1)
|
|
128
|
+
]),
|
|
129
|
+
s("div", ue, [
|
|
130
|
+
s("span", me, t(e(a)("monitor.uptime")), 1),
|
|
131
|
+
s("span", de, t(A(o.value.processUptimeSeconds)), 1)
|
|
132
|
+
])
|
|
133
|
+
])
|
|
134
|
+
]),
|
|
135
|
+
_: 1
|
|
136
|
+
}, 8, ["title", "style"]),
|
|
137
|
+
(d(!0), v(E, null, H(o.value.disks.filter((n) => n.totalBytes > 0), (n) => (d(), V(e(f), {
|
|
138
|
+
key: n.name,
|
|
139
|
+
title: `${e(a)("monitor.disk")} ${n.name}`,
|
|
140
|
+
class: "a-card",
|
|
141
|
+
style: h(x.value)
|
|
142
|
+
}, {
|
|
143
|
+
default: c(() => [
|
|
144
|
+
s("div", pe, t(e(u)(n.totalBytes - n.freeBytes)) + " / " + t(e(u)(n.totalBytes)), 1),
|
|
145
|
+
l(e(B), {
|
|
146
|
+
class: "usage",
|
|
147
|
+
type: "line",
|
|
148
|
+
percentage: p(n.totalBytes - n.freeBytes, n.totalBytes),
|
|
149
|
+
status: g(p(n.totalBytes - n.freeBytes, n.totalBytes)),
|
|
150
|
+
height: 6
|
|
151
|
+
}, null, 8, ["percentage", "status"]),
|
|
152
|
+
s("div", _e, t(e(a)("monitor.free")) + ": " + t(e(u)(n.freeBytes)), 1)
|
|
153
|
+
]),
|
|
154
|
+
_: 2
|
|
155
|
+
}, 1032, ["title", "style"]))), 128))
|
|
156
|
+
], 4)) : (d(), v("div", {
|
|
157
|
+
key: 1,
|
|
158
|
+
style: h({ minHeight: m.value ? "180px" : "0" })
|
|
159
|
+
}, null, 4))
|
|
175
160
|
]),
|
|
176
161
|
_: 1
|
|
177
162
|
}, 8, ["show"])
|
|
@@ -179,6 +164,6 @@ const H = { class: "monitor" }, U = { class: "bar" }, j = { class: "metric" }, I
|
|
|
179
164
|
}
|
|
180
165
|
});
|
|
181
166
|
export {
|
|
182
|
-
|
|
167
|
+
Me as default
|
|
183
168
|
};
|
|
184
169
|
//# sourceMappingURL=index2.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index2.vue.js","sources":["../../../../src/views/system/monitor/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 服务器监控 = 卡片 + 手动刷新(不轮询:CPU 快照后端每次采样 500ms,自动轮询会持续占用)。\nimport { onMounted, ref } from 'vue'\nimport { NGrid, NGi, NCard, NProgress, NButton, NSpin, useMessage } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { monitorApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport { fmtBytes } from '#/utils/format'\nimport type { ServerInfoOutput } from '#/types/api'\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst info = ref<ServerInfoOutput | null>(null)\nconst loading = ref(false)\n\nasync function load() {\n loading.value = true\n try {\n info.value = await monitorApi.server()\n } catch (e) {\n message.error(translateError(e))\n } finally {\n loading.value = false\n }\n}\nonMounted(load)\n\n/** 运行秒数 → d/h/m。 */\nfunction fmtUptime(s: number): string {\n const d = Math.floor(s / 86400)\n const h = Math.floor((s % 86400) / 3600)\n const m = Math.floor((s % 3600) / 60)\n return [\n d ? `${d}${t('monitor.days')}` : '',\n h ? `${h}${t('monitor.hours')}` : '',\n `${m}${t('monitor.minutes')}`,\n ]\n .filter(Boolean)\n .join(' ')\n}\n/** 内存/磁盘占用百分比(整数,0–100)。 */\nfunction pct(used: number, total: number): number {\n return total > 0 ? Math.round((used / total) * 100) : 0\n}\nfunction usageStatus(p: number): 'success' | 'warning' | 'error' {\n return p >= 90 ? 'error' : p >= 75 ? 'warning' : 'success'\n}\n</script>\n\n<template>\n <div class=\"monitor\">\n <div class=\"bar\">\n <n-button size=\"small\" secondary :loading=\"loading\" @click=\"load\">\n <template #icon><AppIcon icon=\"ph:arrow-clockwise\" :size=\"16\" /></template>\n {{ t('monitor.refresh') }}\n </n-button>\n </div>\n\n <n-spin :show=\"loading\">\n <n-grid v-if=\"info\" cols=\"1 s:2 l:4\" responsive=\"screen\" :x-gap=\"12\" :y-gap=\"12\">\n <!-- CPU -->\n <n-gi>\n <n-card :title=\"t('monitor.cpu')\" size=\"small\">\n <div class=\"metric\">\n {{ info.processCpuPercent.toFixed(1) }}\n <span class=\"unit\">%</span>\n </div>\n <n-progress\n type=\"line\"\n :percentage=\"Math.round(info.processCpuPercent)\"\n :status=\"usageStatus(Math.round(info.processCpuPercent))\"\n :show-indicator=\"false\"\n :height=\"6\"\n />\n <div class=\"sub\">\n {{ t('monitor.processorCount') }}: {{ info.processorCount }} ·\n {{ t('monitor.threadCount') }}: {{ info.threadCount }}\n </div>\n </n-card>\n </n-gi>\n\n <!-- 内存 -->\n <n-gi>\n <n-card :title=\"t('monitor.memory')\" size=\"small\">\n <div class=\"metric\">{{ fmtBytes(info.processWorkingSetBytes) }}</div>\n <n-progress\n type=\"line\"\n :percentage=\"pct(info.processWorkingSetBytes, info.totalAvailableMemoryBytes)\"\n :status=\"\n usageStatus(pct(info.processWorkingSetBytes, info.totalAvailableMemoryBytes))\n \"\n :height=\"6\"\n />\n <div class=\"sub\">\n {{ t('monitor.gcHeap') }}: {{ fmtBytes(info.gcHeapBytes) }} ·\n {{ t('monitor.totalMemory') }}: {{ fmtBytes(info.totalAvailableMemoryBytes) }}\n </div>\n </n-card>\n </n-gi>\n\n <!-- 运行时 -->\n <n-gi span=\"1 s:2\">\n <n-card :title=\"t('monitor.runtime')\" size=\"small\">\n <div class=\"rows\">\n <div>\n <span class=\"k\">{{ t('monitor.machineName') }}</span>\n <span class=\"v\">{{ info.machineName }}</span>\n </div>\n <div>\n <span class=\"k\">{{ t('monitor.framework') }}</span>\n <span class=\"v\">{{ info.frameworkDescription }}</span>\n </div>\n <div>\n <span class=\"k\">{{ t('monitor.os') }}</span>\n <span class=\"v\">{{ info.osDescription }}</span>\n </div>\n <div>\n <span class=\"k\">{{ t('monitor.arch') }}</span>\n <span class=\"v\">{{ info.processArchitecture }}</span>\n </div>\n <div>\n <span class=\"k\">{{ t('monitor.uptime') }}</span>\n <span class=\"v\">{{ fmtUptime(info.processUptimeSeconds) }}</span>\n </div>\n </div>\n </n-card>\n </n-gi>\n\n <!-- 磁盘(过滤掉容量为 0 的未就绪/映射盘,免渲染一张全 0 卡片) -->\n <n-gi\n v-for=\"disk in info.disks.filter(d => d.totalBytes > 0)\"\n :key=\"disk.name\"\n span=\"1 s:2 l:1\"\n >\n <n-card :title=\"`${t('monitor.disk')} ${disk.name}`\" size=\"small\">\n <div class=\"metric small\">\n {{ fmtBytes(disk.totalBytes - disk.freeBytes) }} / {{ fmtBytes(disk.totalBytes) }}\n </div>\n <n-progress\n type=\"line\"\n :percentage=\"pct(disk.totalBytes - disk.freeBytes, disk.totalBytes)\"\n :status=\"usageStatus(pct(disk.totalBytes - disk.freeBytes, disk.totalBytes))\"\n :height=\"6\"\n />\n <div class=\"sub\">{{ t('monitor.free') }}: {{ fmtBytes(disk.freeBytes) }}</div>\n </n-card>\n </n-gi>\n </n-grid>\n </n-spin>\n </div>\n</template>\n\n<style scoped>\n.monitor {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.bar {\n display: flex;\n justify-content: flex-end;\n}\n.metric {\n font-size: 28px;\n font-weight: 600;\n line-height: 1.2;\n margin-bottom: 10px;\n}\n.metric.small {\n font-size: 18px;\n}\n.unit {\n font-size: 16px;\n margin-left: 2px;\n color: var(--color-text-secondary, #999);\n}\n.sub {\n margin-top: 8px;\n font-size: 12px;\n color: var(--color-text-secondary, #999);\n}\n.rows {\n display: grid;\n gap: 8px;\n font-size: 13px;\n}\n.rows .k {\n display: inline-block;\n width: 88px;\n color: var(--color-text-secondary, #999);\n}\n.rows .v {\n word-break: break-all;\n}\n</style>\n"],"names":["t","useI18n","message","useMessage","info","ref","loading","load","monitorApi","e","translateError","onMounted","fmtUptime","s","d","h","m","pct","used","total","usageStatus","p","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","_unref","NButton","AppIcon","_createTextVNode","NSpin","_createBlock","NGrid","NGi","NCard","_hoisted_3","_toDisplayString","_cache","NProgress","_hoisted_4","_hoisted_5","_hoisted_6","fmtBytes","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_Fragment","_renderList","disk","_hoisted_18","_hoisted_19"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index2.vue.js","sources":["../../../../src/views/system/monitor/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 服务器监控 = 卡片 + 手动刷新(不轮询:CPU 快照后端每次采样 500ms,自动轮询会持续占用)。\nimport { computed, onMounted, ref } from 'vue'\nimport { NCard, NProgress, NButton, NSpin, useMessage } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { useShellBreakpoint } from '#/composables/useShellBreakpoint'\nimport { monitorApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport { fmtBytes } from '#/utils/format'\nimport type { ServerInfoOutput } from '#/types/api'\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst info = ref<ServerInfoOutput | null>(null)\nconst loading = ref(false)\n\n// 栅格按内容区宽度分档(壳层 604 在这里量的是不含留白的 content box,折算为 600):\n// < 600 一列,600–999 两列,>= 1000 四列。运行时卡片占 2 列(一列时占 1),磁盘卡片两列档下占满一行\nconst { width: pw, bp } = useShellBreakpoint()\nconst cols = computed(() => (pw.value < 600 ? 1 : pw.value < 1000 ? 2 : 4))\nconst gridStyle = computed(() => ({ gridTemplateColumns: `repeat(${cols.value}, minmax(0, 1fr))` }))\nconst runtimeSpan = computed(() => ({ gridColumn: `span ${cols.value === 1 ? 1 : 2}` }))\nconst diskSpan = computed(() => ({ gridColumn: `span ${cols.value === 2 ? 2 : 1}` }))\n\nasync function load() {\n loading.value = true\n try {\n info.value = await monitorApi.server()\n } catch (e) {\n message.error(translateError(e))\n } finally {\n loading.value = false\n }\n}\nonMounted(load)\n\n/** 运行秒数 → d/h/m。 */\nfunction fmtUptime(s: number): string {\n const d = Math.floor(s / 86400)\n const h = Math.floor((s % 86400) / 3600)\n const m = Math.floor((s % 3600) / 60)\n return [\n d ? `${d}${t('monitor.days')}` : '',\n h ? `${h}${t('monitor.hours')}` : '',\n `${m}${t('monitor.minutes')}`,\n ]\n .filter(Boolean)\n .join(' ')\n}\n/** 内存/磁盘占用百分比(整数,0–100)。 */\nfunction pct(used: number, total: number): number {\n return total > 0 ? Math.round((used / total) * 100) : 0\n}\nfunction usageStatus(p: number): 'success' | 'warning' | 'error' {\n return p >= 90 ? 'error' : p >= 75 ? 'warning' : 'success'\n}\n</script>\n\n<template>\n <div class=\"monitor\">\n <!-- 顶部工具条:右对齐,只有一个「刷新」(无权限码、无确认) -->\n <div class=\"bar\">\n <n-button\n secondary\n :size=\"bp === 'narrow' ? 'large' : 'medium'\"\n :loading=\"loading\"\n @click=\"load\"\n >\n <template #icon><AppIcon icon=\"ph:arrow-clockwise\" :size=\"16\" /></template>\n {{ t('monitor.refresh') }}\n </n-button>\n </div>\n\n <n-spin :show=\"loading\" class=\"monitor-spin\">\n <div v-if=\"info\" class=\"cards\" :style=\"gridStyle\">\n <!-- CPU:当前进程占用,不是整机 CPU -->\n <n-card :title=\"t('monitor.cpu')\" class=\"a-card\">\n <div class=\"stat-val num\">\n {{ info.processCpuPercent.toFixed(1) }}\n <small>%</small>\n </div>\n <n-progress\n class=\"usage\"\n type=\"line\"\n :percentage=\"Math.round(info.processCpuPercent)\"\n :status=\"usageStatus(Math.round(info.processCpuPercent))\"\n :show-indicator=\"false\"\n :height=\"6\"\n />\n <div class=\"sub\">\n {{ t('monitor.processorCount') }}: {{ info.processorCount }} ·\n {{ t('monitor.threadCount') }}: {{ info.threadCount }}\n </div>\n </n-card>\n\n <!-- 内存:大字是字节数,百分比只在进度条指示器上 -->\n <n-card :title=\"t('monitor.memory')\" class=\"a-card\">\n <div class=\"stat-val num\">{{ fmtBytes(info.processWorkingSetBytes) }}</div>\n <n-progress\n class=\"usage\"\n type=\"line\"\n :percentage=\"pct(info.processWorkingSetBytes, info.totalAvailableMemoryBytes)\"\n :status=\"usageStatus(pct(info.processWorkingSetBytes, info.totalAvailableMemoryBytes))\"\n :height=\"6\"\n />\n <div class=\"sub\">\n {{ t('monitor.gcHeap') }}: {{ fmtBytes(info.gcHeapBytes) }} ·\n {{ t('monitor.totalMemory') }}: {{ fmtBytes(info.totalAvailableMemoryBytes) }}\n </div>\n </n-card>\n\n <!-- 运行时 -->\n\n <n-card :title=\"t('monitor.runtime')\" class=\"a-card\" :style=\"runtimeSpan\">\n <div class=\"rows\">\n <div class=\"row\">\n <span class=\"k\">{{ t('monitor.machineName') }}</span>\n <span class=\"v\">{{ info.machineName }}</span>\n </div>\n <div class=\"row\">\n <span class=\"k\">{{ t('monitor.framework') }}</span>\n <span class=\"v\">{{ info.frameworkDescription }}</span>\n </div>\n <div class=\"row\">\n <span class=\"k\">{{ t('monitor.os') }}</span>\n <span class=\"v\">{{ info.osDescription }}</span>\n </div>\n <div class=\"row\">\n <span class=\"k\">{{ t('monitor.arch') }}</span>\n <span class=\"v\">{{ info.processArchitecture }}</span>\n </div>\n <div class=\"row\">\n <span class=\"k\">{{ t('monitor.uptime') }}</span>\n <span class=\"v\">{{ fmtUptime(info.processUptimeSeconds) }}</span>\n </div>\n </div>\n </n-card>\n\n <!-- 磁盘(过滤掉容量为 0 的未就绪/映射盘,免渲染一张全 0 卡片) -->\n <n-card\n v-for=\"disk in info.disks.filter(d => d.totalBytes > 0)\"\n :key=\"disk.name\"\n :title=\"`${t('monitor.disk')} ${disk.name}`\"\n class=\"a-card\"\n :style=\"diskSpan\"\n >\n <div class=\"disk-val num\">\n {{ fmtBytes(disk.totalBytes - disk.freeBytes) }} / {{ fmtBytes(disk.totalBytes) }}\n </div>\n <n-progress\n class=\"usage\"\n type=\"line\"\n :percentage=\"pct(disk.totalBytes - disk.freeBytes, disk.totalBytes)\"\n :status=\"usageStatus(pct(disk.totalBytes - disk.freeBytes, disk.totalBytes))\"\n :height=\"6\"\n />\n <div class=\"sub\">{{ t('monitor.free') }}: {{ fmtBytes(disk.freeBytes) }}</div>\n </n-card>\n </div>\n <!-- 首次加载前没有数据:栅格不渲染,只留一块加载区给 n-spin 盖 -->\n <div v-else :style=\"{ minHeight: loading ? '180px' : '0' }\"></div>\n </n-spin>\n </div>\n</template>\n\n<style scoped>\n.monitor {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.bar {\n display: flex;\n justify-content: flex-end;\n padding: 2px 4px 0;\n}\n.cards {\n display: grid;\n gap: 12px;\n}\n.monitor-spin {\n flex-shrink: 0;\n}\n/* 大字:28px 加粗、字距收紧、等宽数字;单位缩小并退到三级文字色 */\n.stat-val {\n color: var(--text-1);\n font-size: 28px;\n line-height: 34px;\n font-weight: 600;\n letter-spacing: -0.04em;\n}\n.stat-val small {\n margin-left: 4px;\n font-size: 16px;\n color: var(--text-3);\n letter-spacing: 0;\n}\n.disk-val {\n color: var(--text-1);\n font-size: 18px;\n line-height: 26px;\n font-weight: 600;\n}\n.num {\n font-variant-numeric: tabular-nums;\n}\n.usage {\n margin: 12px 0 8px;\n}\n.sub {\n font-size: 13px;\n color: var(--text-2);\n}\n.rows .row {\n display: grid;\n grid-template-columns: 88px minmax(0, 1fr);\n gap: 12px;\n padding: 3px 0;\n line-height: 22px;\n}\n.rows .k {\n font-size: 13px;\n color: var(--text-2);\n}\n.rows .v {\n overflow-wrap: anywhere;\n}\n</style>\n"],"names":["t","useI18n","message","useMessage","info","ref","loading","pw","bp","useShellBreakpoint","cols","computed","gridStyle","runtimeSpan","diskSpan","load","monitorApi","e","translateError","onMounted","fmtUptime","s","d","h","m","pct","used","total","usageStatus","p","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","_unref","NButton","AppIcon","_createTextVNode","NSpin","NCard","_hoisted_3","_toDisplayString","_cache","NProgress","_hoisted_4","_hoisted_5","_hoisted_6","fmtBytes","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_Fragment","_renderList","disk","_createBlock","_hoisted_23","_hoisted_24"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./index2.vue.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-0e60f33e"]]);
|
|
5
5
|
export {
|
|
6
6
|
m as default
|
|
7
7
|
};
|