123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <template>
- <ConfigProvider :theme="appTheme" :locale="getAntdLocale">
- <AppProvider>
- <RouterView />
- </AppProvider>
- </ConfigProvider>
- </template>
- <script lang="ts" setup>
- import { watch, ref } from 'vue';
- import { theme } from 'ant-design-vue';
- import { ConfigProvider } from 'ant-design-vue';
- import { AppProvider } from '/@/components/Application';
- import { useTitle } from '/@/hooks/web/useTitle';
- import { useLocale } from '/@/locales/useLocale';
- import { useAppStore } from '/@/store/modules/app';
- import { useRootSetting } from '/@/hooks/setting/useRootSetting';
- import { ThemeEnum } from '/@/enums/appEnum';
- import { changeTheme } from '/@/logics/theme/index';
- import '/src/assets/less/common.less';
- const appStore = useAppStore();
- // 解决日期时间国际化问题
- import 'dayjs/locale/zh-cn';
- // support Multi-language
- const { getAntdLocale } = useLocale();
- useTitle();
- /**
- * 2024-04-07
- * liaozhiyang
- * 暗黑模式下默认文字白色,白天模式默认文字 #333
- * */
- const modeAction = (data) => {
- if (data.token) {
- if (getDarkMode.value === ThemeEnum.DARK) {
- Object.assign(data.token, { colorTextBase: 'fff' });
- } else {
- Object.assign(data.token, { colorTextBase: '#333' });
- }
- }
- };
- // update-begin--author:liaozhiyang---date:20231218---for:【QQYUN-6366】升级到antd4.x
- const appTheme: any = ref({});
- const { getDarkMode } = useRootSetting();
- watch(
- () => getDarkMode.value,
- (newValue) => {
- delete appTheme.value.algorithm;
- if (newValue === ThemeEnum.DARK) {
- appTheme.value.algorithm = theme.darkAlgorithm;
- }
- // update-begin--author:liaozhiyang---date:20240322---for:【QQYUN-8570】生产环境暗黑模式下主题色不生效
- if (import.meta.env.PROD) {
- changeTheme(appStore.getProjectConfig.themeColor);
- }
- // update-end--author:liaozhiyang---date:20240322---for:【QQYUN-8570】生产环境暗黑模式下主题色不生效
- modeAction(appTheme.value);
- appTheme.value = {
- ...appTheme.value,
- };
- },
- { immediate: true }
- );
- watch(
- appStore.getProjectConfig,
- (newValue) => {
- const primary = newValue.themeColor;
- const result = {
- ...appTheme.value,
- ...{
- token: {
- colorPrimary: primary,
- wireframe: true,
- fontSize: 14,
- colorTextBase: '#333',
- colorSuccess: '#55D187',
- colorInfo: primary,
- borderRadius: 4,
- sizeStep: 4,
- sizeUnit: 4,
- colorWarning: '#EFBD47',
- colorError: '#ED6F6F',
- fontFamily:
- '-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol',
- },
- },
- };
- appTheme.value = result;
- modeAction(result);
- },
- { immediate: true }
- );
- setTimeout(() => {
- appStore.getProjectConfig?.themeColor && changeTheme(appStore.getProjectConfig.themeColor);
- }, 300);
- // update-end--author:liaozhiyang---date:20231218---for:【QQYUN-6366】升级到antd4.x
- </script>
- <style lang="less">
- // update-begin--author:liaozhiyang---date:20230803---for:【QQYUN-5839】windi会影响到html2canvas绘制的图片样式
- img {
- display: inline-block;
- }
- // update-end--author:liaozhiyang---date:20230803---for:【QQYUN-5839】windi会影响到html2canvas绘制的图片样式
- </style>
|