Files
dvcp_v2_wxcp_app/src/store/index.js

74 lines
1.8 KiB
JavaScript
Raw Normal View History

2021-11-15 10:29:05 +08:00
import Vue from 'vue'
import Vuex from 'vuex'
import perState from 'vuex-persistedstate'
import http from '../common/axios'
2022-06-10 17:15:56 +08:00
import * as modules from "../common/modules";
2021-11-15 10:29:05 +08:00
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
openUser: {},
2022-06-14 09:44:09 +08:00
apps: [],
module: ""
2021-11-15 10:29:05 +08:00
},
mutations: {
2022-05-30 18:46:49 +08:00
setApps(state, apps) {
state.apps = apps
},
2022-06-14 09:44:09 +08:00
setModule(state, mod) {
state.module = mod
},
2021-11-15 10:29:05 +08:00
logout(state) {
state.openUser = {}
2022-06-10 16:24:29 +08:00
state.user = {}
2021-11-15 10:29:05 +08:00
},
setOpenUser(state, user) {
state.openUser = user
},
bindAccount(state, params) {
//具备解决二次登录,绑定手机,token等问题
// http.post("/admin/user/cpBindByPhone", params, {
http.post("/auth/wechatcp/token", {customerLogin: 1, ...params}, {
headers: {
Authorization: "Basic d2VjaGF0OndlY2hhdA=="
},
withoutToken: true
}).then(res => {
if (res?.access_token) {
params?.then(res)
} else alert(res)
}).catch(err => alert(err))
}
2021-11-15 10:29:05 +08:00
},
actions: {
getUserInfo(state, code) {
if (code) {
return http.post("/app/wxcp/portal/getUserInfo", null, {
params: {code}, withoutToken: true
}).then(res => {
if (res?.code == 0) {
state.commit("setOpenUser", res.data)
}
})
} else {
return http.post("/app/wxcp/wxuser/getUserInfoByToken")
2022-01-27 16:18:43 +08:00
.then(res => {
if (res?.code == 0) {
state.commit("setOpenUser", res.data)
}
})
2021-11-15 10:29:05 +08:00
}
},
},
2022-06-10 17:15:56 +08:00
modules,
2021-11-15 10:29:05 +08:00
plugins: [perState({
storage: {
getItem: key => uni.getStorageSync(key),
setItem: (key, value) => uni.setStorageSync(key, value),
removeItem: key => uni.removeStorageSync(key)
}
})]
})
export default store