settings.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import defaultSettings from '@/settings'
  2. import { useDynamicTitle } from '@/utils/dynamicTitle'
  3. const { sideTheme, showSettings, topNav, tagsView, tagsIcon, fixedHeader, sidebarLogo, dynamicTitle, footerVisible, footerContent } = defaultSettings
  4. const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
  5. const state = {
  6. title: '',
  7. theme: storageSetting.theme || '#409EFF',
  8. sideTheme: storageSetting.sideTheme || sideTheme,
  9. showSettings: showSettings,
  10. topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
  11. tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
  12. tagsIcon: storageSetting.tagsIcon === undefined ? tagsIcon : storageSetting.tagsIcon,
  13. fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
  14. sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
  15. dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle,
  16. footerVisible: storageSetting.footerVisible === undefined ? footerVisible : storageSetting.footerVisible,
  17. footerContent: footerContent
  18. }
  19. const mutations = {
  20. CHANGE_SETTING: (state, { key, value }) => {
  21. if (state.hasOwnProperty(key)) {
  22. state[key] = value
  23. }
  24. }
  25. }
  26. const actions = {
  27. // 修改布局设置
  28. changeSetting({ commit }, data) {
  29. commit('CHANGE_SETTING', data)
  30. },
  31. // 设置网页标题
  32. setTitle({ commit }, title) {
  33. state.title = title
  34. useDynamicTitle()
  35. }
  36. }
  37. export default {
  38. namespaced: true,
  39. state,
  40. mutations,
  41. actions
  42. }