import Vue from 'vue' import Vuex from 'vuex' import api from "@/api/api" import MinCache from '@/common/util/MinCache.js' import { ACCESS_TOKEN, USER_NAME, USER_INFO } from "@/common/util/constants" Vue.use(Vuex) export default new Vuex.Store({ state: { token: '', userid: '', username: '', realname: '', welcome: '', avatar: '', dicts: '', showColum: {}, nfcreadtxt:'', }, mutations: { setNfcReadTxt(state,nfcreadtxt){ state.nfcreadtxt = nfcreadtxt }, SET_TOKEN: (state, token) => { state.token = token }, SET_NAME: (state, { username, realname, welcome }) => { state.username = username state.realname = realname state.welcome = welcome }, SET_AVATAR: (state, avatar) => { state.avatar = avatar }, SET_SHOWCOLUM: (state, showColum) => { state.showColum = showColum }, SET_DICT: (state, dicts) => { state.dicts = dicts } }, actions: { // 登录 mLogin({ commit }, userInfo) { return new Promise((resolve, reject) => { api.login(userInfo).then(response => { if (response.data.code == 200) { const result = response.data.result const userInfo = result.userInfo uni.setStorageSync(ACCESS_TOKEN, result.token); uni.setStorageSync(USER_INFO, userInfo); commit('SET_TOKEN', result.token) commit('SET_DICT', result.sysAllDictItems) commit('SET_AVATAR', userInfo.avatar) commit('SET_NAME', { username: userInfo.username, realname: userInfo.realname }) resolve(response) } else { resolve(response) } }).catch(error => { console.log("catch===>response", response) reject(error) }) }) }, //手机号登录 PhoneLogin({ commit }, userInfo) { return new Promise((resolve, reject) => { api.phoneNoLogin(userInfo).then(response => { if (response.data.code == 200) { const result = response.data.result const userInfo = result.userInfo uni.setStorageSync(ACCESS_TOKEN, result.token); uni.setStorageSync(USER_INFO, userInfo); commit('SET_TOKEN', result.token) commit('SET_NAME', { username: userInfo.username, realname: userInfo.realname }) commit('SET_AVATAR', userInfo.avatar) resolve(response) } else { reject(response) } }).catch(error => { reject(error) }) }) }, // 登出 Logout({ commit, state }) { return new Promise((resolve) => { let logoutToken = state.token; commit('SET_TOKEN', '') uni.removeStorageSync(ACCESS_TOKEN) api.logout(logoutToken).then(() => { resolve() }).catch(() => { resolve() }) }) }, }, getters: { token: state => state.token, username: state => { state.userid = uni.getStorageSync(USER_INFO).username; return state.username }, nickname: state => { state.userid = uni.getStorageSync(USER_INFO).realname; return state.user.realname }, avatar: state => { state.userid = uni.getStorageSync(USER_INFO).avatar; return state.user.avatar }, userid: state => { state.userid = uni.getStorageSync(USER_INFO).id; return state.userid }, showColum: state => { state.userid = uni.getStorageSync(USER_INFO).showColum; return state.showColum }, nfcreadtxt: state => state.nfcreadtxt } })