小程序产品库完成
This commit is contained in:
100
src/store/index.js
Normal file
100
src/store/index.js
Normal file
@@ -0,0 +1,100 @@
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import perState from 'vuex-persistedstate'
|
||||
import http from "../utils/axios";
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
const store = new Vuex.Store({
|
||||
state: {
|
||||
/**
|
||||
* 是否需要强制登录
|
||||
*/
|
||||
forcedLogin: false,
|
||||
token: "",
|
||||
userName: "",
|
||||
user: {
|
||||
username: "",
|
||||
avatarUrl: "",
|
||||
nickName: "",
|
||||
gender: "",
|
||||
token: "",
|
||||
phoneNumber: ''
|
||||
},
|
||||
global: {
|
||||
areaId: ""
|
||||
}
|
||||
},
|
||||
mutations: {
|
||||
getToken(state, params) {
|
||||
if (params?.code) {
|
||||
http.instance.post("/auth/wechat-con/token", params, {
|
||||
headers: {"Authorization": "Basic d2VjaGF0OndlY2hhdA=="},
|
||||
withoutToken: true
|
||||
}).then(res => {
|
||||
if (res?.access_token) {
|
||||
state.token = res.token_type + ' ' + res.access_token
|
||||
uni.setStorageSync("token", res.token_type + ' ' + res.access_token)
|
||||
params?.then(true)
|
||||
} else {
|
||||
uni.showToast({title: res?.msg})
|
||||
params?.then(false)
|
||||
}
|
||||
})
|
||||
} else params?.then(false)
|
||||
},
|
||||
getUserInfo(state, cb) {
|
||||
http.instance.post("/app/appwechatuser/check").then(res => {
|
||||
if (res?.data) {
|
||||
state.user = res.data
|
||||
uni.setStorageSync('userInfo', res.data)
|
||||
cb && cb(true)
|
||||
} else {
|
||||
cb && cb(false)
|
||||
}
|
||||
}).catch(err => {
|
||||
console.error(err)
|
||||
cb && cb(false)
|
||||
})
|
||||
},
|
||||
login(state, ploy) {
|
||||
state.userName = ploy.userName || '新用户';
|
||||
state.token = ploy.token
|
||||
},
|
||||
logout(state) {
|
||||
state.userName = "";
|
||||
state.token = ""
|
||||
uni.setStorageSync('userInfo', {})
|
||||
uni.setStorageSync('vuex', {})
|
||||
state.user = {
|
||||
username: "",
|
||||
avatarUrl: "",
|
||||
nickName: "",
|
||||
gender: "",
|
||||
token: "",
|
||||
phoneNumber: ''
|
||||
}
|
||||
uni.showToast({title: `登录失效,请重新登录`, duration: 2000, icon: 'none'})
|
||||
},
|
||||
setUser(state, info) {
|
||||
state.user = info
|
||||
},
|
||||
getUser(state, ploy) {
|
||||
state.user.nickName = ploy.nickName;
|
||||
state.user.avatarUrl = ploy.avatarUrl;
|
||||
state.user.gender = ploy.gender;
|
||||
},
|
||||
getUserPhoneNumber(state, ploy) {
|
||||
state.user.phoneNumber = ploy.phoneNumber;
|
||||
}
|
||||
},
|
||||
plugins: [perState({
|
||||
storage: {
|
||||
getItem: key => uni.getStorageSync(key),
|
||||
setItem: (key, value) => uni.setStorageSync(key, value),
|
||||
removeItem: key => uni.removeStorageSync(key)
|
||||
}
|
||||
})]
|
||||
})
|
||||
|
||||
export default store
|
||||
Reference in New Issue
Block a user