refactor: ♻️ 重构登录页面并添加新功能

重新设计了登录页面布局和样式,添加了注册和重置密码功能组件
This commit is contained in:
zimo493
2025-04-03 15:05:03 +08:00
parent 6026e9cac0
commit c0718a089c
10 changed files with 742 additions and 276 deletions

View File

@@ -0,0 +1,39 @@
<template>
<el-dropdown trigger="click" @command="handleDarkChange">
<el-icon :size="20">
<component :is="settingsStore.theme === ThemeMode.DARK ? Moon : Sunny" />
</el-icon>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item
v-for="item in theneList"
:key="item.value"
:command="item.value"
:disabled="settingsStore.theme === item.value"
>
<el-icon>
<component :is="item.component" />
</el-icon>
{{ item.label }}
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
<script setup lang="ts">
import { useSettingsStore } from "@/store";
import { ThemeMode } from "@/enums";
import { Moon, Sunny } from "@element-plus/icons-vue";
const { t } = useI18n();
const settingsStore = useSettingsStore();
const theneList = [
{ label: t("login.light"), value: ThemeMode.LIGHT, component: Sunny },
{ label: t("login.dark"), value: ThemeMode.DARK, component: Moon },
];
const handleDarkChange = (theme: ThemeMode) => {
settingsStore.changeTheme(theme);
};
</script>