settings.js 1.4 KB

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