From 21692898b36e30a1c6e484be15d615edcb8e58b2 Mon Sep 17 00:00:00 2001 From: CieanYau Date: Sat, 7 Nov 2026 02:14:34 +0800 Subject: [PATCH] migrate component foundation to OpenVue 1.1.1 --- README.md | 2 +- app/components/AuthProviders.vue | 6 +- app/components/BackendNavEntry.vue | 4 +- app/components/BackendNavigation.vue | 2 +- app/components/BuildUpdateNotice.vue | 4 +- app/components/CaptchaField.vue | 4 +- app/components/ClientLevelDialog.vue | 6 +- app/components/GenericOAuthProviders.vue | 4 +- app/components/HostList.vue | 24 +- app/components/MfCloudBackupPanel.vue | 16 +- app/components/NotificationPreferences.vue | 6 +- app/components/OperationNotice.vue | 2 +- app/components/OperationToasts.vue | 4 +- app/components/PageInfoNotice.vue | 2 +- app/components/PasswordField.vue | 2 +- app/components/PaymentDialog.vue | 8 +- app/components/RechargeDialog.vue | 8 +- app/components/SecurityVerificationDialog.vue | 10 +- app/components/TicketAttachments.vue | 6 +- app/components/TicketNotice.vue | 4 +- app/components/WechatConnection.vue | 10 +- app/components/WithdrawDialog.vue | 16 +- app/components/config/CloudProductPicker.vue | 8 +- app/components/config/CommonConfig.vue | 10 +- app/components/config/ConfigBandwidth.vue | 4 +- app/components/config/ConfigCheckout.vue | 4 +- app/components/config/ConfigDiskCard.vue | 2 +- app/components/config/ConfigLoadingShell.vue | 2 +- .../config/ConfigResourceOption.vue | 4 +- app/components/config/FinanceConfig.vue | 8 +- app/components/config/JyCloudConfig.vue | 8 +- app/components/config/KkyEcsConfig.vue | 8 +- app/components/config/MfCloudConfig.vue | 8 +- app/components/config/MfDcimConfig.vue | 14 +- app/components/config/ProductCustomFields.vue | 8 +- app/components/config/PromoCodeField.vue | 4 +- app/components/home/HomeConsumeTrend.vue | 2 +- app/components/home/HomeExpiringPanel.vue | 2 +- app/components/home/HomeNoticePanel.vue | 8 +- app/components/home/HomeReferralPanel.vue | 4 +- app/components/home/HomeServerPanel.vue | 10 +- app/components/home/HomeTicketPanel.vue | 6 +- app/components/home/HomeTicketStat.vue | 2 +- app/components/home/HomeWalletCard.vue | 4 +- app/components/instance/CloudAccessExtras.vue | 4 +- app/components/instance/CommonManage.vue | 22 +- app/components/instance/CommonUpgrade.vue | 12 +- app/components/instance/DcimActions.vue | 14 +- app/components/instance/DcimBilling.vue | 12 +- app/components/instance/DcimDefence.vue | 10 +- app/components/instance/DcimDomains.vue | 12 +- app/components/instance/DcimManage.vue | 26 +- app/components/instance/DcimMonitor.vue | 6 +- .../instance/DcimReinstallStatus.vue | 2 +- app/components/instance/DcimUpgrade.vue | 8 +- app/components/instance/FlowPacketPanel.vue | 8 +- .../instance/ImagePurchaseDialog.vue | 6 +- app/components/instance/InstanceAccess.vue | 18 +- app/components/instance/InstanceBilling.vue | 14 +- app/components/instance/InstanceDisks.vue | 16 +- .../instance/InstanceLoadingShell.vue | 2 +- app/components/instance/InstanceManage.vue | 14 +- app/components/instance/InstanceMonitor.vue | 6 +- .../instance/InstanceMonitorSkeleton.vue | 2 +- app/components/instance/InstanceNetwork.vue | 2 +- app/components/instance/InstanceOnDemand.vue | 14 +- app/components/instance/InstanceOverview.vue | 6 +- .../instance/InstanceRenewDialog.vue | 12 +- .../instance/InstanceServiceInfo.vue | 6 +- app/components/instance/InstanceSmsCode.vue | 6 +- app/components/instance/InstanceStatusTag.vue | 2 +- app/components/instance/InstanceTraffic.vue | 6 +- app/components/instance/LegacyDcimActions.vue | 14 +- app/components/instance/LegacyDcimManage.vue | 18 +- .../instance/LegacyProductUpgrade.vue | 6 +- app/components/instance/RemfUpgrade.vue | 8 +- app/components/instance/RemoteConsole.vue | 4 +- app/components/kkyecs/KkyUpgrade.vue | 12 +- app/components/mfcloud/MfCloudDefence.vue | 8 +- app/components/mfcloud/MfCloudIps.vue | 12 +- app/components/mfcloud/MfCloudLogs.vue | 14 +- app/components/mfcloud/MfCloudNat.vue | 16 +- .../mfcloud/MfCloudResourceUpgrade.vue | 8 +- app/components/mfcloud/MfCloudUpgrade.vue | 6 +- app/components/mfcloud/MfCloudVpc.vue | 14 +- app/config/{primevue.js => openvue.js} | 6 +- app/layouts/default.vue | 6 +- app/lib/useListPage.js | 2 +- app/pages/account/api-keys.vue | 18 +- app/pages/account/connections.vue | 8 +- app/pages/account/index.vue | 12 +- app/pages/account/realname/index.vue | 24 +- app/pages/cart/index.vue | 12 +- app/pages/cloud-servers/index.vue | 4 +- app/pages/dedicated-servers/index.vue | 4 +- app/pages/finance/index.vue | 32 +-- app/pages/forgot-password.vue | 6 +- app/pages/help.vue | 12 +- app/pages/home.htm.vue | 4 +- app/pages/index.vue | 6 +- app/pages/invoices/index.vue | 18 +- app/pages/invoices/invoice.vue | 6 +- app/pages/invoices/settings/index.vue | 18 +- app/pages/logbook/index.vue | 14 +- app/pages/login.vue | 6 +- app/pages/messages/index.vue | 24 +- app/pages/news.vue | 14 +- app/pages/notices/index.vue | 12 +- app/pages/oauth/bind.vue | 8 +- app/pages/oauth/callback.vue | 4 +- app/pages/orders/[id].vue | 10 +- app/pages/orders/index.vue | 22 +- app/pages/products/[id].vue | 4 +- app/pages/products/cloud-server.vue | 4 +- .../products/dedicated-server/customize.vue | 6 +- app/pages/products/dedicated-server/index.vue | 10 +- app/pages/products/index.vue | 10 +- app/pages/recommend/index.vue | 32 +-- app/pages/register.vue | 12 +- app/pages/remote-console.vue | 4 +- app/pages/resources.vue | 6 +- app/pages/security/domains/index.vue | 20 +- app/pages/security/groups/index.vue | 24 +- app/pages/security/ssh-keys/index.vue | 16 +- app/pages/servers/server.vue | 16 +- app/pages/tickets/[id].vue | 6 +- app/pages/tickets/create.vue | 14 +- app/pages/tickets/index.vue | 14 +- app/pages/transfer/index.vue | 20 +- app/pages/vouchers/index.vue | 20 +- app/plugins/01-ui.client.js | 18 +- package-lock.json | 252 ++++++++++-------- package.json | 6 +- scripts/check-source.mjs | 11 +- scripts/reconstruct.mjs | 4 +- 135 files changed, 780 insertions(+), 749 deletions(-) rename app/config/{primevue.js => openvue.js} (87%) diff --git a/README.md b/README.md index f073692..755f143 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ | 层次 | 技术 | | ---------- | --------------------------------------------------------------- | | 应用框架 | Nuxt 4、Vue 3、Vue Router,客户端 SPA(`ssr: false`) | -| 状态与界面 | Pinia、PrimeVue 4、PrimeUI 主题、本地 Lucide 图标 | +| 状态与界面 | Pinia、OpenVue、OpenVue Aura 主题、本地 Lucide 图标 | | 图表与远控 | ECharts、vue-echarts、noVNC | | 源码 | JavaScript、Vue 单文件组件、CSS,Nuxt 配置使用 TypeScript | | 验证工具 | Node.js `node:test`、Playwright、源码检查脚本、ESLint、Prettier | diff --git a/app/components/AuthProviders.vue b/app/components/AuthProviders.vue index ce66925..5e2ac0e 100644 --- a/app/components/AuthProviders.vue +++ b/app/components/AuthProviders.vue @@ -32,10 +32,10 @@ import { useApi } from "~/lib/auth.js"; import { isValidJwt } from "~/lib/auth.js"; import { useAuth } from "~/lib/auth.js"; import { t as useSiteConfig_t } from "~/lib/useSiteConfig.js"; -import button from "primevue/button"; +import button from "openvue/button"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; -import message from "primevue/message"; -import radiobutton from "primevue/radiobutton"; +import message from "openvue/message"; +import radiobutton from "openvue/radiobutton"; import { r as wechat_binding_r } from "~/lib/wechat-binding.js"; import { r as auth_redirect_r } from "~/lib/auth-redirect.js"; var fe = { diff --git a/app/components/BackendNavEntry.vue b/app/components/BackendNavEntry.vue index dafc3d4..ae97673 100644 --- a/app/components/BackendNavEntry.vue +++ b/app/components/BackendNavEntry.vue @@ -23,8 +23,8 @@ import { NuxtLink } from "#components"; import { Icon } from "#components"; import { c as backend_menu_c } from "~/lib/backend-menu.js"; import { n as backend_menu_n } from "~/lib/backend-menu.js"; -import dialog from "primevue/dialog"; -import button from "primevue/button"; +import dialog from "openvue/dialog"; +import button from "openvue/button"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; var T = { key: 0, diff --git a/app/components/BackendNavigation.vue b/app/components/BackendNavigation.vue index 631e665..e9a83a7 100644 --- a/app/components/BackendNavigation.vue +++ b/app/components/BackendNavigation.vue @@ -18,7 +18,7 @@ import { openBlock } from "vue"; import { useApi } from "~/lib/auth.js"; import { useAuth } from "~/lib/auth.js"; import { t as navigation_state_t } from "~/lib/navigation-state.js"; -import button from "primevue/button"; +import button from "openvue/button"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; import BackendNavEntry from "~/components/BackendNavEntry.vue"; var y = { diff --git a/app/components/BuildUpdateNotice.vue b/app/components/BuildUpdateNotice.vue index 9ed7c10..7293b06 100644 --- a/app/components/BuildUpdateNotice.vue +++ b/app/components/BuildUpdateNotice.vue @@ -16,8 +16,8 @@ import { unref } from "vue"; import { defineComponent } from "vue"; import { createVNode } from "vue"; import { openBlock } from "vue"; -import dialog from "primevue/dialog"; -import button from "primevue/button"; +import dialog from "openvue/dialog"; +import button from "openvue/button"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; var b = { key: 0, diff --git a/app/components/CaptchaField.vue b/app/components/CaptchaField.vue index 05ed07d..841e5f4 100644 --- a/app/components/CaptchaField.vue +++ b/app/components/CaptchaField.vue @@ -18,10 +18,10 @@ import { unref } from "vue"; import { defineComponent } from "vue"; import { createVNode } from "vue"; import { openBlock } from "vue"; -import button from "primevue/button"; +import button from "openvue/button"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; import GeetestField from "~/components/GeetestField.vue"; -import inputtext from "primevue/inputtext"; +import inputtext from "openvue/inputtext"; var _ = { class: `field`, }, diff --git a/app/components/ClientLevelDialog.vue b/app/components/ClientLevelDialog.vue index bbaf1cd..5ab75a8 100644 --- a/app/components/ClientLevelDialog.vue +++ b/app/components/ClientLevelDialog.vue @@ -21,12 +21,12 @@ import { createVNode } from "vue"; import { openBlock } from "vue"; import { normalizeStyle } from "vue"; import { useApi } from "~/lib/auth.js"; -import dialog from "primevue/dialog"; +import dialog from "openvue/dialog"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; import { n as product_name_n } from "~/lib/product-name.js"; import { r as dict_r } from "~/lib/dict.js"; -import datatable from "primevue/datatable"; -import column from "primevue/column"; +import datatable from "openvue/datatable"; +import column from "openvue/column"; var E = { key: 0, class: `lvl-state`, diff --git a/app/components/GenericOAuthProviders.vue b/app/components/GenericOAuthProviders.vue index 01c8182..93174e5 100644 --- a/app/components/GenericOAuthProviders.vue +++ b/app/components/GenericOAuthProviders.vue @@ -17,9 +17,9 @@ import { defineComponent } from "vue"; import { openBlock } from "vue"; import { NuxtLink } from "#components"; import { t as useSiteConfig_t } from "~/lib/useSiteConfig.js"; -import button from "primevue/button"; +import button from "openvue/button"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; -import message from "primevue/message"; +import message from "openvue/message"; import { t as oauth_t } from "~/lib/oauth.js"; import { t as useOAuth_t } from "~/lib/useOAuth.js"; var x = { diff --git a/app/components/HostList.vue b/app/components/HostList.vue index 459856a..3549c7c 100644 --- a/app/components/HostList.vue +++ b/app/components/HostList.vue @@ -39,19 +39,19 @@ import { NuxtLink } from "#components"; import { sanitizeMessage } from "~/lib/auth.js"; import { useApi } from "~/lib/auth.js"; import { useAuth } from "~/lib/auth.js"; -import dialog from "primevue/dialog"; -import button from "primevue/button"; +import dialog from "openvue/dialog"; +import button from "openvue/button"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; -import message from "primevue/message"; -import inputtext from "primevue/inputtext"; +import message from "openvue/message"; +import inputtext from "openvue/inputtext"; import { n as product_name_n } from "~/lib/product-name.js"; import { c as dict_c } from "~/lib/dict.js"; import { l as dict_l } from "~/lib/dict.js"; import { r as dict_r } from "~/lib/dict.js"; -import datatable from "primevue/datatable"; -import paginator from "primevue/paginator"; -import select from "primevue/select"; -import column from "primevue/column"; +import datatable from "openvue/datatable"; +import paginator from "openvue/paginator"; +import select from "openvue/select"; +import column from "openvue/column"; import ListSegments from "~/components/ListSegments.vue"; import ListEmpty from "~/components/ListEmpty.vue"; import { n as modules_n } from "~/lib/modules.js"; @@ -63,10 +63,10 @@ import { t as useListPage_t } from "~/lib/useListPage.js"; import { r as instance_status_r } from "~/lib/instance-status.js"; import { t as instance_status_t } from "~/lib/instance-status.js"; import password from "~/components/PasswordField.vue"; -import textarea from "primevue/textarea"; -import menu from "primevue/menu"; -import tag from "primevue/tag"; -import skeleton from "primevue/skeleton"; +import textarea from "openvue/textarea"; +import menu from "openvue/menu"; +import tag from "openvue/tag"; +import skeleton from "openvue/skeleton"; import { t as server_page_t } from "~/lib/server-page.js"; import { a as instance_data_a } from "~/lib/instance-data.js"; import { d as instance_data_d } from "~/lib/instance-data.js"; diff --git a/app/components/MfCloudBackupPanel.vue b/app/components/MfCloudBackupPanel.vue index 6b0b13a..18c586d 100644 --- a/app/components/MfCloudBackupPanel.vue +++ b/app/components/MfCloudBackupPanel.vue @@ -22,17 +22,17 @@ import { defineComponent } from "vue"; import { createVNode } from "vue"; import { openBlock } from "vue"; import { useApi } from "~/lib/auth.js"; -import dialog from "primevue/dialog"; -import button from "primevue/button"; +import dialog from "openvue/dialog"; +import button from "openvue/button"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; -import message from "primevue/message"; -import inputtext from "primevue/inputtext"; +import message from "openvue/message"; +import inputtext from "openvue/inputtext"; import { r as dict_r } from "~/lib/dict.js"; -import datatable from "primevue/datatable"; -import select from "primevue/select"; -import column from "primevue/column"; +import datatable from "openvue/datatable"; +import select from "openvue/select"; +import column from "openvue/column"; import OperationNotice from "~/components/OperationNotice.vue"; -import tag from "primevue/tag"; +import tag from "openvue/tag"; import { i as instance_data_i } from "~/lib/instance-data.js"; import { l as instance_data_l } from "~/lib/instance-data.js"; import { s as instance_data_s } from "~/lib/instance-data.js"; diff --git a/app/components/NotificationPreferences.vue b/app/components/NotificationPreferences.vue index 472a7ea..4a0a668 100644 --- a/app/components/NotificationPreferences.vue +++ b/app/components/NotificationPreferences.vue @@ -18,10 +18,10 @@ import { defineComponent } from "vue"; import { createVNode } from "vue"; import { openBlock } from "vue"; import { useApi } from "~/lib/auth.js"; -import button from "primevue/button"; +import button from "openvue/button"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; -import message from "primevue/message"; -import toggleswitch from "primevue/toggleswitch"; +import message from "openvue/message"; +import toggleswitch from "openvue/toggleswitch"; var x = [`aria-labelledby`], S = { class: `preferences-heading`, diff --git a/app/components/OperationNotice.vue b/app/components/OperationNotice.vue index f433581..f3d3cef 100644 --- a/app/components/OperationNotice.vue +++ b/app/components/OperationNotice.vue @@ -4,7 +4,7 @@ import { onMounted } from "vue"; import { renderSlot } from "vue"; import { watch } from "vue"; import { defineComponent } from "vue"; -import { useToast } from "primevue/usetoast"; +import { useToast } from "openvue/usetoast"; var a = Object.assign( defineComponent({ __name: `OperationNotice`, diff --git a/app/components/OperationToasts.vue b/app/components/OperationToasts.vue index 264f59b..47a6727 100644 --- a/app/components/OperationToasts.vue +++ b/app/components/OperationToasts.vue @@ -14,8 +14,8 @@ import { createElementVNode } from "vue"; import { defineComponent } from "vue"; import { openBlock } from "vue"; import { useAuth } from "~/lib/auth.js"; -import toast from "primevue/toast"; -import { useToast } from "primevue/usetoast"; +import toast from "openvue/toast"; +import { useToast } from "openvue/usetoast"; var h = { class: `operation-toast-copy`, }, diff --git a/app/components/PageInfoNotice.vue b/app/components/PageInfoNotice.vue index 803c19c..c57aada 100644 --- a/app/components/PageInfoNotice.vue +++ b/app/components/PageInfoNotice.vue @@ -6,7 +6,7 @@ import { createBlock } from "vue"; import { withCtx } from "vue"; import { openBlock } from "vue"; import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js"; -import message from "primevue/message"; +import message from "openvue/message"; var o = {}; function s(i, o) { let s = message; diff --git a/app/components/PasswordField.vue b/app/components/PasswordField.vue index ac3dada..6d96942 100644 --- a/app/components/PasswordField.vue +++ b/app/components/PasswordField.vue @@ -1,7 +1,7 @@