settings.js 1.2 KB

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