| | |
| | | <template> |
| | | <ConfigProvider |
| | | :locale="zhCN" |
| | | :renderEmpty="renderEmpty" |
| | | :transformCellText="transformCellText" |
| | | v-bind="lockOn" |
| | | > |
| | | <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 { createBreakpointListen } from '/@/hooks/event/useBreakpoint'; |
| | | |
| | | import zhCN from 'ant-design-vue/es/locale/zh_CN'; |
| | | import moment from 'moment'; |
| | | import 'moment/locale/zh-cn'; |
| | | import { useDarkModeTheme } from '@/hooks/setting/useDarkModeTheme'; |
| | | import 'dayjs/locale/zh-cn'; |
| | | import { computed, ref } from 'vue'; |
| | | |
| | | import { useConfigProvider, useInitAppConfigStore, useListenerNetWork } from './useApp'; |
| | | import { useLockPage } from '/@/hooks/web/useLockPage'; |
| | | moment.locale('zh-cn'); |
| | | export default defineComponent({ |
| | | name: 'App', |
| | | components: { ConfigProvider }, |
| | | setup() { |
| | | useInitAppConfigStore(); |
| | | useListenerNetWork(); |
| | | createBreakpointListen(); |
| | | const { renderEmpty, transformCellText } = useConfigProvider(); |
| | | const { on: lockOn } = useLockPage(); |
| | | import { getCurrentInstance } from 'vue'; |
| | | |
| | | return { |
| | | renderEmpty, |
| | | transformCellText, |
| | | zhCN, |
| | | lockOn, |
| | | }; |
| | | }, |
| | | }); |
| | | // 获取当前实例 |
| | | const instance = getCurrentInstance(); |
| | | const proxy = instance?.proxy; |
| | | |
| | | const setCookie = () => { |
| | | // 先检查proxy是否存在,再进行操作 |
| | | if (proxy && proxy.$cookies) { |
| | | proxy.$cookies.remove('JSESSIONID'); |
| | | proxy.$cookies.set('JSESSIONID', '741E9E2AAD7578915B16287A5ECAE1DF.jvm_59_9010', '1d'); |
| | | } else { |
| | | console.error('proxy对象未初始化或不包含$cookies属性'); |
| | | } |
| | | }; |
| | | setCookie(); |
| | | // support Multi-language |
| | | const { getAntdLocale } = useLocale(); |
| | | |
| | | const { isDark, darkTheme } = useDarkModeTheme(); |
| | | |
| | | 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> |