From f0186562f99898566e1ea355b4df251d2cfeb139 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Sun, 6 Aug 2023 16:23:12 +0800
Subject: [PATCH] feat

---
 src/components/Button/src/BasicButton.vue         |  4 ++--
 src/components/IFrame/src/IFrame.vue              |  2 +-
 .../src/components/settings/FullScreenSetting.vue |  4 +++-
 .../header/components/user-dropdown/index.vue     |  4 +++-
 src/store/modules/app.ts                          |  7 +++++--
 src/views/base/lock/LockPage.vue                  |  2 +-
 src/views/base/profile/AccountBind.vue            | 15 ++++++---------
 src/views/base/profile/BaseSetting.vue            |  2 +-
 src/views/base/profile/MsgNotify.vue              |  2 +-
 src/views/base/profile/SecureSetting.vue          |  2 +-
 src/views/base/profile/index.vue                  |  2 +-
 src/views/infra/apiAccessLog/AccessLogModal.vue   |  2 +-
 src/views/infra/apiErrorLog/ErrorLogModal.vue     |  2 +-
 src/views/infra/server/index.vue                  |  4 +++-
 src/views/infra/skywalking/index.vue              |  4 +++-
 src/views/infra/swagger/index.vue                 |  4 +++-
 src/views/report/goview/index.vue                 |  4 +++-
 src/views/report/jmreport/index.vue               |  4 +++-
 src/views/system/mail/log/MailLogModal.vue        |  2 +-
 src/views/system/mail/template/SendMailModal.vue  |  2 +-
 .../system/notify/components/MessageInfoModal.vue |  2 +-
 .../system/notify/template/SendNotifyModal.vue    |  2 +-
 src/views/system/sms/template/SendSmsModal.vue    |  2 +-
 23 files changed, 47 insertions(+), 33 deletions(-)

diff --git a/src/components/Button/src/BasicButton.vue b/src/components/Button/src/BasicButton.vue
index d3521d4d..bc0d535f 100644
--- a/src/components/Button/src/BasicButton.vue
+++ b/src/components/Button/src/BasicButton.vue
@@ -1,11 +1,11 @@
-<script lang="ts" setup extends="Button">
+<script lang="ts" setup>
 import { Button } from 'ant-design-vue'
 import { computed, unref } from 'vue'
 import { buttonProps } from './props'
 import { Icon } from '@/components/Icon'
 import { useAttrs } from '@/hooks/core/useAttrs'
 
-defineOptions({ name: 'AButton', indeterminate: false })
+defineOptions({ name: 'AButton', extends: Button, indeterminate: false })
 
 const props = defineProps(buttonProps)
 // get component class
diff --git a/src/components/IFrame/src/IFrame.vue b/src/components/IFrame/src/IFrame.vue
index 52a3cccc..2ae69232 100644
--- a/src/components/IFrame/src/IFrame.vue
+++ b/src/components/IFrame/src/IFrame.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { onMounted, ref } from 'vue'
 import { propTypes } from '@/utils/propTypes'
 
diff --git a/src/components/Table/src/components/settings/FullScreenSetting.vue b/src/components/Table/src/components/settings/FullScreenSetting.vue
index d4a241c5..c6801e33 100644
--- a/src/components/Table/src/components/settings/FullScreenSetting.vue
+++ b/src/components/Table/src/components/settings/FullScreenSetting.vue
@@ -1,10 +1,12 @@
-<script lang="ts" setup nmae="FullScreenSetting">
+<script lang="ts" setup>
 import { Tooltip } from 'ant-design-vue'
 import { FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons-vue'
 import { useFullscreen } from '@vueuse/core'
 import { useTableContext } from '../../hooks/useTableContext'
 import { useI18n } from '@/hooks/web/useI18n'
 
+defineOptions({ name: 'FullScreenSetting' })
+
 const table = useTableContext()
 const { t } = useI18n()
 const { toggle, isFullscreen } = useFullscreen(table.wrapRef)
diff --git a/src/layouts/default/header/components/user-dropdown/index.vue b/src/layouts/default/header/components/user-dropdown/index.vue
index 63fcd3d6..0cda0ec7 100644
--- a/src/layouts/default/header/components/user-dropdown/index.vue
+++ b/src/layouts/default/header/components/user-dropdown/index.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts" name="UserDropdown">
+<script lang="ts" setup>
 import { Dropdown, Menu, MenuDivider } from 'ant-design-vue'
 import type { MenuInfo } from 'ant-design-vue/lib/menu/src/interface'
 import { computed } from 'vue'
@@ -14,6 +14,8 @@ import { openWindow } from '@/utils'
 import { useGo } from '@/hooks/web/usePage'
 import { createAsyncComponent } from '@/utils/factory/createAsyncComponent'
 
+defineOptions({ name: 'UserDropdown' })
+
 defineProps({
   theme: propTypes.oneOf(['dark', 'light']),
 })
diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts
index ebe4a263..878f9a02 100644
--- a/src/store/modules/app.ts
+++ b/src/store/modules/app.ts
@@ -2,6 +2,7 @@ import { defineStore } from 'pinia'
 import { theme as antdTheme } from 'ant-design-vue/es'
 import type { ThemeConfig } from 'ant-design-vue/es/config-provider/context'
 import { reactive } from 'vue'
+import { primaryColor } from '../../../build/config/themeConfig'
 import type { AppSizeType, HeaderSetting, MenuSetting, MultiTabsSetting, ProjectConfig, TransitionSetting } from '@/types/config'
 import type { BeforeMiniState } from '@/types/store'
 
@@ -91,7 +92,7 @@ export const useAppStore = defineStore('app', {
           colorBgContainer: '#fff',
           colorPrimary: color || (this.projectConfig
             ? this.projectConfig.themeColor
-            : '#1890ff'),
+            : primaryColor),
         },
         components: {},
       })
@@ -103,7 +104,7 @@ export const useAppStore = defineStore('app', {
             colorBgContainer: 'rgb(36, 37, 37)',
             colorPrimary: color || (this.projectConfig
               ? this.projectConfig.themeColor
-              : '#1890ff'),
+              : primaryColor),
           },
           components: {},
         }
@@ -126,6 +127,8 @@ export const useAppStore = defineStore('app', {
     },
 
     setMenuSetting(setting: Partial<MenuSetting>): void {
+      if (!this.projectConfig)
+        return
       this.projectConfig.menuSetting = deepMerge(this.projectConfig.menuSetting, setting)
       Persistent.setLocal(PROJ_CFG_KEY, this.projectConfig)
     },
diff --git a/src/views/base/lock/LockPage.vue b/src/views/base/lock/LockPage.vue
index fe4144b2..07156ac8 100644
--- a/src/views/base/lock/LockPage.vue
+++ b/src/views/base/lock/LockPage.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { computed, ref } from 'vue'
 import { Input } from 'ant-design-vue'
 import { LockOutlined } from '@ant-design/icons-vue'
diff --git a/src/views/base/profile/AccountBind.vue b/src/views/base/profile/AccountBind.vue
index ac359043..2985fcfc 100644
--- a/src/views/base/profile/AccountBind.vue
+++ b/src/views/base/profile/AccountBind.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { List } from 'ant-design-vue'
 import { onMounted } from 'vue'
 import { accountBindList } from './data'
@@ -6,9 +6,6 @@ import { Icon } from '@/components/Icon'
 import { CollapseContainer } from '@/components/Container/index'
 import { getUserProfileApi } from '@/api/base/profile'
 
-const ListItem = List.Item
-const ListItemMeta = List.Item.Meta
-
 async function init() {
   const userInfo = await getUserProfileApi()
   // TODO
@@ -16,7 +13,7 @@ async function init() {
     if (userInfo.socialUsers) {
       for (const j in userInfo.socialUsers) {
         if (accountBindList[i].key === userInfo.socialUsers[j].type) {
-          accountBindList[i].title = '已綁定'
+          accountBindList[i].title = '已绑定'
           break
         }
       }
@@ -32,8 +29,8 @@ onMounted(async () => {
   <CollapseContainer title="账号绑定" :can-expan="false">
     <List>
       <template v-for="item in accountBindList" :key="item.key">
-        <ListItem>
-          <ListItemMeta>
+        <List.Item>
+          <List.Item.Meta>
             <template #avatar>
               <Icon v-if="item.avatar" class="avatar" :icon="item.avatar" :color="item.color" />
             </template>
@@ -46,8 +43,8 @@ onMounted(async () => {
             <template #description>
               <div>{{ item.description }}</div>
             </template>
-          </ListItemMeta>
-        </ListItem>
+          </List.Item.Meta>
+        </List.Item>
       </template>
     </List>
   </CollapseContainer>
diff --git a/src/views/base/profile/BaseSetting.vue b/src/views/base/profile/BaseSetting.vue
index b8fddeb9..fc852b32 100644
--- a/src/views/base/profile/BaseSetting.vue
+++ b/src/views/base/profile/BaseSetting.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { Button, Col, Row } from 'ant-design-vue'
 import { computed, onMounted } from 'vue'
 import { baseSetschemas } from './data'
diff --git a/src/views/base/profile/MsgNotify.vue b/src/views/base/profile/MsgNotify.vue
index feca07cd..7890a21e 100644
--- a/src/views/base/profile/MsgNotify.vue
+++ b/src/views/base/profile/MsgNotify.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { List, Switch } from 'ant-design-vue'
 import { msgNotifyList } from './data'
 import { CollapseContainer } from '@/components/Container/index'
diff --git a/src/views/base/profile/SecureSetting.vue b/src/views/base/profile/SecureSetting.vue
index ad8174ac..3805eb40 100644
--- a/src/views/base/profile/SecureSetting.vue
+++ b/src/views/base/profile/SecureSetting.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { List } from 'ant-design-vue'
 import { secureSettingList } from './data'
 import PasswordModal from './PasswordModal.vue'
diff --git a/src/views/base/profile/index.vue b/src/views/base/profile/index.vue
index 16cc719b..836f677c 100644
--- a/src/views/base/profile/index.vue
+++ b/src/views/base/profile/index.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { TabPane, Tabs } from 'ant-design-vue'
 import { ref } from 'vue'
 import { settingList } from './data'
diff --git a/src/views/infra/apiAccessLog/AccessLogModal.vue b/src/views/infra/apiAccessLog/AccessLogModal.vue
index dcde524c..3c5b3997 100644
--- a/src/views/infra/apiAccessLog/AccessLogModal.vue
+++ b/src/views/infra/apiAccessLog/AccessLogModal.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { ref } from 'vue'
 import { infoSchema } from './apiAccessLog.data'
 import { BasicModal, useModalInner } from '@/components/Modal'
diff --git a/src/views/infra/apiErrorLog/ErrorLogModal.vue b/src/views/infra/apiErrorLog/ErrorLogModal.vue
index c6ae32e7..b465bea9 100644
--- a/src/views/infra/apiErrorLog/ErrorLogModal.vue
+++ b/src/views/infra/apiErrorLog/ErrorLogModal.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { ref } from 'vue'
 import { infoSchema } from './apiErrorLog.data'
 import { BasicModal, useModalInner } from '@/components/Modal'
diff --git a/src/views/infra/server/index.vue b/src/views/infra/server/index.vue
index e334a509..f1320335 100644
--- a/src/views/infra/server/index.vue
+++ b/src/views/infra/server/index.vue
@@ -1,7 +1,9 @@
-<script setup lang="ts" name="InfraServer">
+<script lang="ts" setup>
 import { ref } from 'vue'
 import { IFrame } from '@/components/IFrame'
 
+defineOptions({ name: 'InfraServer' })
+
 const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/admin/applications`)
 </script>
 
diff --git a/src/views/infra/skywalking/index.vue b/src/views/infra/skywalking/index.vue
index 8db5aeb6..ee36848e 100644
--- a/src/views/infra/skywalking/index.vue
+++ b/src/views/infra/skywalking/index.vue
@@ -1,7 +1,9 @@
-<script setup lang="ts" name="InfraSkywalking">
+<script lang="ts" setup>
 import { ref } from 'vue'
 import { IFrame } from '@/components/IFrame'
 
+defineOptions({ name: 'InfraSkywalking' })
+
 const src = ref('http://skywalking.shop.iocoder.cn')
 </script>
 
diff --git a/src/views/infra/swagger/index.vue b/src/views/infra/swagger/index.vue
index 1a42bf32..4416a1e4 100644
--- a/src/views/infra/swagger/index.vue
+++ b/src/views/infra/swagger/index.vue
@@ -1,7 +1,9 @@
-<script setup lang="ts" name="InfraSwagger">
+<script lang="ts" setup>
 import { ref } from 'vue'
 import { IFrame } from '@/components/IFrame'
 
+defineOptions({ name: 'InfraSwagger' })
+
 // knife4j
 // const src = ref(import.meta.env.VITE_GLOB_BASE_URL + '/doc.html')
 const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/swagger-ui`)
diff --git a/src/views/report/goview/index.vue b/src/views/report/goview/index.vue
index abb77929..678f139a 100644
--- a/src/views/report/goview/index.vue
+++ b/src/views/report/goview/index.vue
@@ -1,7 +1,9 @@
-<script setup lang="ts" name="ReportGoview">
+<script lang="ts" setup>
 import { ref } from 'vue'
 import { IFrame } from '@/components/IFrame'
 
+defineOptions({ name: 'ReportGoview' })
+
 const src = ref('http://127.0.0.1:3000')
 </script>
 
diff --git a/src/views/report/jmreport/index.vue b/src/views/report/jmreport/index.vue
index 8724152b..5ee94ccf 100644
--- a/src/views/report/jmreport/index.vue
+++ b/src/views/report/jmreport/index.vue
@@ -1,8 +1,10 @@
-<script setup lang="ts" name="ReportJmreport">
+<script lang="ts" setup>
 import { ref } from 'vue'
 import { IFrame } from '@/components/IFrame'
 import { getAccessToken } from '@/utils/auth'
 
+defineOptions({ name: 'ReportJmreport' })
+
 const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/jmreport/list?token=${getAccessToken()}`)
 </script>
 
diff --git a/src/views/system/mail/log/MailLogModal.vue b/src/views/system/mail/log/MailLogModal.vue
index 6efa7276..66234ddb 100644
--- a/src/views/system/mail/log/MailLogModal.vue
+++ b/src/views/system/mail/log/MailLogModal.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { ref } from 'vue'
 import { logSchema } from './mailLog.data'
 import { BasicModal, useModalInner } from '@/components/Modal'
diff --git a/src/views/system/mail/template/SendMailModal.vue b/src/views/system/mail/template/SendMailModal.vue
index cbe4b446..0e125f41 100644
--- a/src/views/system/mail/template/SendMailModal.vue
+++ b/src/views/system/mail/template/SendMailModal.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { baseSendSchemas, keyPrefix } from './template.data'
 import { BasicModal, useModalInner } from '@/components/Modal'
 import type { FormSchema } from '@/components/Form'
diff --git a/src/views/system/notify/components/MessageInfoModal.vue b/src/views/system/notify/components/MessageInfoModal.vue
index b2b1c0f6..77063e13 100644
--- a/src/views/system/notify/components/MessageInfoModal.vue
+++ b/src/views/system/notify/components/MessageInfoModal.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { ref } from 'vue'
 import type { MessageInfo } from './message.data'
 import { infoSchema } from './message.data'
diff --git a/src/views/system/notify/template/SendNotifyModal.vue b/src/views/system/notify/template/SendNotifyModal.vue
index c60ea90d..1222ddde 100644
--- a/src/views/system/notify/template/SendNotifyModal.vue
+++ b/src/views/system/notify/template/SendNotifyModal.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { reactive, ref } from 'vue'
 import { baseSendSchemas } from './template.data'
 import { BasicModal, useModalInner } from '@/components/Modal'
diff --git a/src/views/system/sms/template/SendSmsModal.vue b/src/views/system/sms/template/SendSmsModal.vue
index b7d88c2b..f6be91e4 100644
--- a/src/views/system/sms/template/SendSmsModal.vue
+++ b/src/views/system/sms/template/SendSmsModal.vue
@@ -1,4 +1,4 @@
-<script setup lang="ts">
+<script lang="ts" setup>
 import { reactive, ref } from 'vue'
 import { baseSendSchemas } from './smsTemplate.data'
 import { BasicModal, useModalInner } from '@/components/Modal'