From 14d71170912935b50f4e4e3f605c5305f2757fc3 Mon Sep 17 00:00:00 2001
From: 曹睿 <360930172@qq.com>
Date: 星期六, 28 六月 2025 17:01:58 +0800
Subject: [PATCH] feat: 完成附件下载

---
 src/store/modules/settings.js |  101 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 62 insertions(+), 39 deletions(-)

diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js
index 06b91d2..e526da0 100644
--- a/src/store/modules/settings.js
+++ b/src/store/modules/settings.js
@@ -1,44 +1,67 @@
-import defaultSettings from '@/settings'
-import { useDynamicTitle } from '@/utils/dynamicTitle'
+import defaultSettings from "@/settings";
+import { useDark, useToggle } from "@vueuse/core";
+import { useDynamicTitle } from "@/utils/dynamicTitle";
 
-const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle } = defaultSettings
+const isDark = useDark();
+const toggleDark = useToggle(isDark);
 
-const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
-const state = {
-  title: '',
-  theme: storageSetting.theme || '#409EFF',
-  sideTheme: storageSetting.sideTheme || sideTheme,
-  showSettings: showSettings,
-  topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
-  tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
-  fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
-  sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
-  dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle
-}
-const mutations = {
-  CHANGE_SETTING: (state, { key, value }) => {
-    if (state.hasOwnProperty(key)) {
-      state[key] = value
-    }
-  }
-}
+const {
+  sideTheme,
+  showSettings,
+  topNav,
+  tagsView,
+  fixedHeader,
+  sidebarLogo,
+  dynamicTitle,
+} = defaultSettings;
 
-const actions = {
-  // 淇敼甯冨眬璁剧疆
-  changeSetting({ commit }, data) {
-    commit('CHANGE_SETTING', data)
+const storageSetting = JSON.parse(localStorage.getItem("layout-setting")) || "";
+
+const useSettingsStore = defineStore("settings", {
+  state: () => ({
+    title: "",
+    theme: storageSetting.theme || "#002fa7",
+    sideTheme: storageSetting.sideTheme || sideTheme,
+    showSettings: showSettings,
+    topNav:
+      storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
+    tagsView:
+      storageSetting.tagsView === undefined
+        ? tagsView
+        : storageSetting.tagsView,
+    fixedHeader:
+      storageSetting.fixedHeader === undefined
+        ? fixedHeader
+        : storageSetting.fixedHeader,
+    sidebarLogo:
+      storageSetting.sidebarLogo === undefined
+        ? sidebarLogo
+        : storageSetting.sidebarLogo,
+    dynamicTitle:
+      storageSetting.dynamicTitle === undefined
+        ? dynamicTitle
+        : storageSetting.dynamicTitle,
+    isDark: isDark.value,
+  }),
+  actions: {
+    // 淇敼甯冨眬璁剧疆
+    changeSetting(data) {
+      const { key, value } = data;
+      if (this.hasOwnProperty(key)) {
+        this[key] = value;
+      }
+    },
+    // 璁剧疆缃戦〉鏍囬
+    setTitle(title) {
+      this.title = title;
+      useDynamicTitle();
+    },
+    // 鍒囨崲鏆楅粦妯″紡
+    toggleTheme() {
+      this.isDark = !this.isDark;
+      toggleDark();
+    },
   },
-  // 璁剧疆缃戦〉鏍囬
-  setTitle({ commit }, title) {
-    state.title = title
-    useDynamicTitle();
-  }
-}
+});
 
-export default {
-  namespaced: true,
-  state,
-  mutations,
-  actions
-}
-
+export default useSettingsStore;

--
Gitblit v1.9.3