39 lines
1.3 KiB
JavaScript
39 lines
1.3 KiB
JavaScript
|
import defaultSettings from '@/settings'
|
||
|
import { useDynamicTitle } from '@/utils/dynamicTitle'
|
||
|
|
||
|
const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle } = defaultSettings
|
||
|
|
||
|
const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
|
||
|
|
||
|
const useSettingsStore = defineStore(
|
||
|
'settings',
|
||
|
{
|
||
|
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
|
||
|
}),
|
||
|
actions: {
|
||
|
// 修改布局设置
|
||
|
changeSetting(data) {
|
||
|
const { key, value } = data
|
||
|
if (this.hasOwnProperty(key)) {
|
||
|
this[key] = value
|
||
|
}
|
||
|
},
|
||
|
// 设置网页标题
|
||
|
setTitle(title) {
|
||
|
this.title = title
|
||
|
useDynamicTitle();
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
|
||
|
export default useSettingsStore
|