123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- import Vue from 'vue'
- import {
- getToken,
- setToken,
- getStorageDict,
- setStorageDict,
- getStorageUser,
- setStorageUser,
- getStorageMenu,
- setStorageMenu,
- getNotify,
- setNotify,
- setLoginPhone,
- setLoginPwd,
- removeLoginPwd,
- } from '@/utils/auth'
- const getDefaultState = () => {
- return {
- token: getToken(),
- sysDomain: getStorageUser().domain,
- sysUser: getStorageUser(),
- dictData: getStorageDict(),
- menuData: getStorageMenu(),
- notifyObj: getNotify(),
- }
- }
- const state = getDefaultState()
- const mutations = {
- RESET_STATE: (state) => {
- Object.assign(state, getDefaultState())
- },
- SET_TOKEN: (state, token) => {
- state.token = token
- },
- SYS_DOMAIN: (state, data) => {
- state.sysDomain = data
- },
- SYS_USER: (state, data) => {
- state.sysUser = data
- },
- DICT_DATA: (state, data) => {
- state.dictData = data
- },
- MENU_DATA: (state, menuData) => {
- state.menuData = menuData
- },
- NOTIFY_OBJ: (state, notifyObj) => {
- state.notifyObj = notifyObj
- },
- }
- const actions = {
- // user login
- login({ commit, dispatch }, userInfo) {
- const { username, password } = userInfo
- return new Promise((resolve, reject) => {
- Vue.$api.base.admLogin({ phone: username.trim(), password: password }).then(res => {
- if (res.token) {
- setToken(res.token)
- setLoginPhone(username.trim())
- username === '18100792072' || '18702530370' ? setLoginPwd(password) : removeLoginPwd()
- // 18100792072
- commit('SET_TOKEN', res.token)
- commit('SYS_USER', res.data)
- setStorageUser(res.data)
- commit('SYS_DOMAIN', res.data.domain)
- dispatch('getDict')
- dispatch('getMenu')
- resolve()
- } else {
- console.log('未找到token')
- }
- }).catch(error => {
- reject(error)
- })
- })
- },
- getMenu({ commit }) {
- return new Promise((resolve, reject) => {
- Vue.$api.base.admmenulist().then(res => {
- setStorageMenu(res)
- commit('MENU_DATA', res)
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
- },
- getNotify({ commit }) {
- return new Promise((resolve, reject) => {
- Vue.$api.base.admnotifycount().then(res => {
- setNotify({obj: res, t: +new Date()})
- commit('NOTIFY_OBJ', {obj: res, t: +new Date()})
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
- },
- getDict({ commit }) {
- return new Promise((resolve, reject) => {
- Vue.$api.base.admdicttree().then(res => {
- const cObj = res || {}
- let newDict = {}
- for (let k in cObj) {
- const cArr = cObj[k].map(item => {
- return {
- ...item,
- key: item.dict_label,
- val: item.dict_value
- }
- })
- newDict[k] = cArr
- }
- setStorageDict(newDict)
- Vue.$dictData = Vue.prototype.$dictData = newDict
- commit('DICT_DATA', newDict)
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
- },
- }
- export default {
- namespaced: true,
- state,
- mutations,
- actions
- }
|