Blame view

antis-ncc-admin/src/store/modules/settings.js 1.67 KB
03207d5d   wwk   1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
  import variables from '@/styles/element-variables.scss'
  import defaultSettings from '@/settings'
  import ncc from '@/utils/ncc'
  
  const {
    showSettings,
    tagsView,
    tagsIcon,
    showLanguage,
    showSearch,
    useCache,
    fixedHeader,
    sidebarLogo,
    themeClass,
    slideClass,
    layoutType
  } = defaultSettings
  
  const state = {
    theme: variables.theme,
    showSettings: showSettings,
    tagsView: ncc.storageGet('tagsView') === null ? tagsView : ncc.storageGet('tagsView'),
    tagsIcon: ncc.storageGet('tagsIcon') === null ? tagsIcon : ncc.storageGet('tagsIcon'),
    showLanguage: ncc.storageGet('showLanguage') === null ? showLanguage : ncc.storageGet('showLanguage'),
    showSearch: ncc.storageGet('showSearch') === null ? showSearch : ncc.storageGet('showSearch'),
    useCache: ncc.storageGet('useCache') === null ? useCache : ncc.storageGet('useCache'),
    fixedHeader: ncc.storageGet('fixedHeader') === null ? fixedHeader : ncc.storageGet('fixedHeader'),
    sidebarLogo: ncc.storageGet('sidebarLogo') === null ? sidebarLogo : ncc.storageGet('sidebarLogo'),
    themeClass: ncc.storageGet('themeClass') === null ? themeClass : ncc.storageGet('themeClass'),
    slideClass: ncc.storageGet('slideClass') === null ? slideClass : ncc.storageGet('slideClass'),
    layoutType: ncc.storageGet('layoutType') === null ? layoutType : ncc.storageGet('layoutType')
  }
  
  const mutations = {
    CHANGE_SETTING: (state, { key, value }) => {
      if (state.hasOwnProperty(key)) {
        state[key] = value
        ncc.storageSet({
          [key]: value
        })
      }
    }
  }
  
  const actions = {
    changeSetting({ commit }, data) {
      commit('CHANGE_SETTING', data)
    }
  }
  
  export default {
    namespaced: true,
    state,
    mutations,
    actions
  }