import Vue from 'vue' import Vuex from 'vuex' import api from '../common/config/caimeiApi.js' import authorize from '../common/config/authorize.js' Vue.use(Vuex) const handlebVisible = function(arr,val){ return arr.some(item => item === val) } const store = new Vuex.Store({ state: { isWxAuthorize: false, hasLogin: false, userInfo: {}, USER_TYPE:4, isIphoneX: false, handlebBtnVisible:false, // 收款列表操作按钮显示控制 returnBtnVisible:false, // 收款列表口头返佣按钮显示控制 examineBtnVisible:false, // 审核详情审核操作按钮显示控制 }, mutations: { login(state, provider) { //用户身份 1协销人员,2客服,3财务,4超级管理员 //用户权限列表: permissions 1收款列表访问,2收款详情分享,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核 state.hasLogin = true state.userInfo = provider state.USER_TYPE = provider.userType if(handlebVisible(provider.permissions,2)){ state.handlebBtnVisible = true console.log('handlebBtnVisible',state.handlebBtnVisible) } if(handlebVisible(provider.permissions,5)){ state.returnBtnVisible = true console.log('returnBtnVisible',state.returnBtnVisible) } if(handlebVisible(provider.permissions,7)){ state.examineBtnVisible = true console.log('examineBtnVisible',state.examineBtnVisible) } uni.setStorage({ //缓存用户登陆状态 key: 'userInfo', data: provider }) }, logout(state) { state.hasLogin = false state.userInfo = {} uni.removeStorage({ key: 'userInfo' }) uni.removeStorage({ key: 'token' }) }, updateStatus(state, provider) { let TIME = api.formatDate() console.log(`${TIME}`, provider) state.userInfo = provider state.openid = provider.openid uni.setStorage({ //缓存用户openid key: 'openid', data: provider.openid }) uni.setStorage({ //缓存用户登陆状态 key: 'userInfo', data: provider }) }, setChangeVar(state, variable) { state.isIphoneX = variable }, setIsIphone(state, variable) { // 记录设备信息是否为IphoneX state.isIphone = variable } }, actions: { setVariableFun: function(context, vData) { context.commit('setChangeVar', vData) }, setIsIphoneFun: function(context, vData) { context.commit('setIsIphone', vData) }, } }) export default store