refactor: 代码优化和注释完善

This commit is contained in:
haoxr 2023-03-26 18:36:00 +08:00
parent ee1ddb3a5a
commit b68eb53030
5 changed files with 22 additions and 34 deletions

View File

@ -1,3 +1,7 @@
<script setup lang="ts">
const { isFullscreen, toggle } = useFullscreen();
</script>
<template>
<div>
<svg-icon
@ -6,7 +10,3 @@
/>
</div>
</template>
<script setup lang="ts">
const { isFullscreen, toggle } = useFullscreen();
</script>

View File

@ -1,9 +1,10 @@
// 自定义国际化配置
import { createI18n } from 'vue-i18n';
import { useAppStore } from '@/store/modules/app';
const appStore = useAppStore();
// 本地语言包
import enLocale from './en';
import zhCnLocale from './zh-cn';
import enLocale from './package/en';
import zhCnLocale from './package/zh-cn';
const messages = {
'zh-cn': {
@ -14,31 +15,9 @@ const messages = {
}
};
/**
* 使
*
* @returns zh-cn|en ...
*/
export const getLanguage = () => {
// 本地缓存获取
let language = localStorage.getItem('language');
if (language) {
return language;
}
// 浏览器使用语言
language = navigator.language.toLowerCase();
const locales = Object.keys(messages);
for (const locale of locales) {
if (language.indexOf(locale) > -1) {
return locale;
}
}
return 'zh-cn';
};
const i18n = createI18n({
legacy: false,
locale: getLanguage(),
locale: appStore.language,
messages: messages
});

View File

@ -29,6 +29,9 @@ const themeColors = ref<string[]>([
'#f5222d'
]);
/**
* 切换主题颜色
*/
function changeThemeColor(color: string) {
document.documentElement.style.setProperty('--el-color-primary', color);
settingsStore.changeSetting({ key: 'layout', value: color });

View File

@ -13,8 +13,8 @@ import 'virtual:svg-icons-register';
import i18n from '@/lang/index';
// 样式
import '@/styles/index.scss';
import 'element-plus/theme-chalk/dark/css-vars.css';
import '@/styles/index.scss';
import 'uno.css';
const app = createApp(App);

View File

@ -2,14 +2,13 @@ import { defineStore } from 'pinia';
import { useStorage } from '@vueuse/core';
import defaultSettings from '@/settings';
// Element Plus 语言包
// 导入 Element Plus 中英文语言包
import zhCn from 'element-plus/es/locale/lang/zh-cn';
import en from 'element-plus/es/locale/lang/en';
// setup
export const useAppStore = defineStore('app', () => {
// state
const device = useStorage('device', 'desktop');
const size = useStorage<any>('size', defaultSettings.size);
const language = useStorage('language', defaultSettings.language);
@ -20,6 +19,9 @@ export const useAppStore = defineStore('app', () => {
withoutAnimation: false
});
/**
*
*/
const locale = computed(() => {
if (language?.value == 'en') {
return en;
@ -58,7 +60,11 @@ export const useAppStore = defineStore('app', () => {
function changeSize(val: string) {
size.value = val;
}
/**
*
*
* @param val
*/
function changeLanguage(val: string) {
language.value = val;
}