| | |
| | | <template> |
| | | <ConfigProvider |
| | | v-bind="lockEvent" |
| | | :locale="antConfigLocale" |
| | | :transform-cell-text="transformCellText" |
| | | > |
| | | <router-view /> |
| | | <ConfigProvider :locale="getAntdLocale" :theme="themeConfig"> |
| | | <AppProvider> |
| | | <RouterView /> |
| | | </AppProvider> |
| | | </ConfigProvider> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { defineComponent } from 'vue'; |
| | | <script lang="ts" setup> |
| | | import { AppProvider } from '@/components/Application'; |
| | | import { useTitle } from '@/hooks/web/useTitle'; |
| | | import { useLocale } from '@/locales/useLocale'; |
| | | import { ConfigProvider } from 'ant-design-vue'; |
| | | |
| | | import { getConfigProvider, initAppConfigStore } from '/@/setup/App'; |
| | | import { useDarkModeTheme } from '@/hooks/setting/useDarkModeTheme'; |
| | | import 'dayjs/locale/zh-cn'; |
| | | import { computed, ref } from 'vue'; |
| | | |
| | | import { useLockPage } from '/@/hooks/web/useLockPage'; |
| | | import { useLocale } from '/@/hooks/web/useLocale'; |
| | | import { getCurrentInstance } from 'vue'; |
| | | |
| | | export default defineComponent({ |
| | | name: 'App', |
| | | components: { ConfigProvider }, |
| | | setup() { |
| | | // Initialize vuex internal system configuration |
| | | initAppConfigStore(); |
| | | // 获取当前实例 |
| | | const instance = getCurrentInstance(); |
| | | const proxy = instance?.proxy; |
| | | |
| | | // Get ConfigProvider configuration |
| | | const { transformCellText } = getConfigProvider(); |
| | | const setCookie = () => { |
| | | // 先检查proxy是否存在,再进行操作 |
| | | if (proxy && proxy.$cookies) { |
| | | proxy.$cookies.remove('JSESSIONID'); |
| | | proxy.$cookies.set('JSESSIONID', '071339196A579D1A2D374739F29D7521.jvm_59_9010', '1d'); |
| | | } else { |
| | | console.error('proxy对象未初始化或不包含$cookies属性'); |
| | | } |
| | | }; |
| | | setCookie(); |
| | | // support Multi-language |
| | | const { getAntdLocale } = useLocale(); |
| | | |
| | | // Create a lock screen monitor |
| | | const lockEvent = useLockPage(); |
| | | const { isDark, darkTheme } = useDarkModeTheme(); |
| | | |
| | | // support Multi-language |
| | | const { antConfigLocale } = useLocale(); |
| | | |
| | | return { |
| | | transformCellText, |
| | | antConfigLocale, |
| | | lockEvent, |
| | | }; |
| | | }, |
| | | }); |
| | | const themeConfig = computed(() => |
| | | Object.assign( |
| | | { |
| | | token: { |
| | | colorPrimary: '#0960bd', |
| | | colorSuccess: '#55D187', |
| | | colorWarning: '#EFBD47', |
| | | colorError: '#ED6F6F', |
| | | colorInfo: '#0960bd', |
| | | }, |
| | | }, |
| | | isDark.value ? darkTheme : {}, |
| | | ), |
| | | ); |
| | | // Listening to page changes and dynamically changing site titles |
| | | useTitle(); |
| | | </script> |