settings.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /**
  2. * @author chuzhixin 1204505056@qq.com (不想保留author可删除)
  3. * @description 所有全局配置的状态管理,如无必要请勿修改
  4. */
  5. import defaultSettings from '@/config'
  6. const { tabsBar, logo, layout, header, themeBar } = defaultSettings
  7. const theme =
  8. JSON.parse(localStorage.getItem('vue-admin-beautiful-theme')) || ''
  9. const state = {
  10. tabsBar: theme.tabsBar || tabsBar,
  11. logo,
  12. collapse: false,
  13. layout: theme.layout || layout,
  14. header: theme.header || header,
  15. device: 'desktop',
  16. themeBar,
  17. }
  18. const getters = {
  19. collapse: (state) => state.collapse,
  20. device: (state) => state.device,
  21. header: (state) => state.header,
  22. layout: (state) => state.layout,
  23. logo: (state) => state.logo,
  24. tabsBar: (state) => state.tabsBar,
  25. themeBar: (state) => state.themeBar,
  26. }
  27. const mutations = {
  28. changeLayout: (state, layout) => {
  29. if (layout) state.layout = layout
  30. },
  31. changeHeader: (state, header) => {
  32. if (header) state.header = header
  33. },
  34. changeTabsBar: (state, tabsBar) => {
  35. if (tabsBar) state.tabsBar = tabsBar
  36. },
  37. changeCollapse: (state) => {
  38. state.collapse = !state.collapse
  39. },
  40. foldSideBar: (state) => {
  41. state.collapse = true
  42. },
  43. openSideBar: (state) => {
  44. state.collapse = false
  45. },
  46. toggleDevice: (state, device) => {
  47. state.device = device
  48. },
  49. }
  50. const actions = {
  51. changeLayout({ commit }, layout) {
  52. commit('changeLayout', layout)
  53. },
  54. changeHeader({ commit }, header) {
  55. commit('changeHeader', header)
  56. },
  57. changeTabsBar({ commit }, tabsBar) {
  58. commit('changeTabsBar', tabsBar)
  59. },
  60. changeCollapse({ commit }) {
  61. commit('changeCollapse')
  62. },
  63. foldSideBar({ commit }) {
  64. commit('foldSideBar')
  65. },
  66. openSideBar({ commit }) {
  67. commit('openSideBar')
  68. },
  69. toggleDevice({ commit }, device) {
  70. commit('toggleDevice', device)
  71. },
  72. }
  73. export default { state, getters, mutations, actions }