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