refactor: ♻️ 增加语言和布局大小枚举类型

This commit is contained in:
cshaptx4869 2024-03-15 09:09:41 +08:00
parent 274b6a3deb
commit d83f43fb0e
6 changed files with 51 additions and 12 deletions

View File

@ -18,14 +18,13 @@
import { useAppStore, useSettingsStore } from "@/store";
import defaultSettings from "@/settings";
import { ThemeEnum } from "@/enums/ThemeEnum";
import { SizeEnum } from "@/enums/SizeEnum";
const appStore = useAppStore();
const settingsStore = useSettingsStore();
const locale = computed(() => appStore.locale);
const size = computed(
() => appStore.size as "default" | "small" | "large" | undefined
);
const size = computed(() => appStore.size as SizeEnum);
const watermarkEnabled = computed(() => settingsStore.watermarkEnabled);
// /

View File

@ -21,6 +21,7 @@
<script setup lang="ts">
import { useI18n } from "vue-i18n";
import { useAppStore } from "@/store/modules/app";
import { LanguageEnum } from "@/enums/LanguageEnum";
defineProps({
size: {
@ -30,8 +31,8 @@ defineProps({
});
const langOptions = [
{ label: "中文", value: "zh-cn" },
{ label: "English", value: "en" },
{ label: "中文", value: LanguageEnum.ZH_CN },
{ label: "English", value: LanguageEnum.EN },
];
const appStore = useAppStore();

View File

@ -19,14 +19,15 @@
</template>
<script setup lang="ts">
import { SizeEnum } from "@/enums/SizeEnum";
import { useAppStore } from "@/store/modules/app";
const { t } = useI18n();
const sizeOptions = computed(() => {
return [
{ label: t("sizeSelect.default"), value: "default" },
{ label: t("sizeSelect.large"), value: "large" },
{ label: t("sizeSelect.small"), value: "small" },
{ label: t("sizeSelect.default"), value: SizeEnum.DEFAULT },
{ label: t("sizeSelect.large"), value: SizeEnum.LARGE },
{ label: t("sizeSelect.small"), value: SizeEnum.SMALL },
];
});

14
src/enums/LanguageEnum.ts Normal file
View File

@ -0,0 +1,14 @@
/**
*
*/
export const enum LanguageEnum {
/**
*
*/
ZH_CN = "zh-cn",
/**
*
*/
EN = "en",
}

19
src/enums/SizeEnum.ts Normal file
View File

@ -0,0 +1,19 @@
/**
*
*/
export const enum SizeEnum {
/**
*
*/
DEFAULT = "default",
/**
*
*/
LARGE = "large",
/**
*
*/
SMALL = "small",
}

View File

@ -1,3 +1,8 @@
import { SizeEnum } from "./enums/SizeEnum";
import { LayoutEnum } from "./enums/LayoutEnum";
import { ThemeEnum } from "./enums/ThemeEnum";
import { LanguageEnum } from "./enums/LanguageEnum";
const { pkg } = __APP_INFO__;
const defaultSettings: AppSettings = {
@ -7,10 +12,10 @@ const defaultSettings: AppSettings = {
tagsView: true,
fixedHeader: true,
sidebarLogo: true,
layout: "left",
theme: "light",
size: "default",
language: "zh-cn",
layout: LayoutEnum.LEFT,
theme: ThemeEnum.LIGHT,
size: SizeEnum.DEFAULT,
language: LanguageEnum.ZH_CN,
themeColor: "#409EFF",
watermarkEnabled: false,
watermarkContent: pkg.name,