refactor: ♻️ 代码优化

This commit is contained in:
ray
2025-10-04 15:44:24 +08:00
parent f655954c99
commit 10c8b9fc75
14 changed files with 39 additions and 17 deletions

View File

@@ -8,6 +8,6 @@ export function setupStore(app: App<Element>) {
app.use(store);
}
export * from "./modules/user.store";
export * from "./modules/theme.store";
export * from "./modules/user-store";
export * from "./modules/theme-store";
export { store };

View File

@@ -1,11 +1,14 @@
import { defineStore } from "pinia";
import { useStorage } from "@uni-helper/uni-use";
import { Storage } from "@/utils/storage";
import { THEME_MODE_KEY, THEME_COLOR_KEY } from "@/constants";
import type { ThemeColorOption, ThemeMode } from "@/composables/types/theme";
import { themeColorOptions } from "@/composables/types/theme";
export const useThemeStore = defineStore("theme", () => {
const theme = useStorage<ThemeMode>("app-theme", "light");
const currentThemeColor = useStorage<ThemeColorOption>("app-theme-color", themeColorOptions[0]);
const theme = ref<ThemeMode>(Storage.get<ThemeMode>(THEME_MODE_KEY, "light"));
const currentThemeColor = ref<ThemeColorOption>(
Storage.get<ThemeColorOption>(THEME_COLOR_KEY, themeColorOptions[0])
);
// 主题变量(响应式对象)
const themeVars = reactive({
@@ -40,6 +43,7 @@ export const useThemeStore = defineStore("theme", () => {
*/
const toggleTheme = (mode?: ThemeMode) => {
theme.value = mode || (theme.value === "light" ? "dark" : "light");
Storage.set(THEME_MODE_KEY, theme.value);
setNavigationBarColor();
};
@@ -49,6 +53,7 @@ export const useThemeStore = defineStore("theme", () => {
*/
const setCurrentThemeColor = (color: ThemeColorOption) => {
currentThemeColor.value = color;
Storage.set(THEME_COLOR_KEY, color);
themeVars.colorTheme = color.primary;
console.log("主题色已设置:", color.name);
};