70 lines
1.9 KiB
JavaScript
70 lines
1.9 KiB
JavaScript
import Vue from "vue";
|
||
import Vuex from "vuex";
|
||
import storage from "@/utils/storage";
|
||
|
||
Vue.use(Vuex);
|
||
//console.log("Vuex:",Vuex)
|
||
const store = new Vuex.Store({
|
||
state: {
|
||
verificationKey: "", //获取key表示验证通过
|
||
/**
|
||
* 是否需要强制登录
|
||
*/
|
||
forcedLogin: false,
|
||
hasLogin: storage.getHasLogin(),
|
||
userInfo: storage.getUserInfo(),
|
||
uuid: storage.getUuid(),
|
||
token: "",
|
||
getHeadInfo: "",
|
||
getWeixinHeightInfo: "",
|
||
},
|
||
mutations: {
|
||
/**
|
||
* 获取头部高度 异步使用
|
||
* 文档链接在 https://uniapp.dcloud.io/api/system/info?id=getsysteminfosync
|
||
* */
|
||
GET_HEAD_HEIGHT(state) {
|
||
return new Promise((resolve, reject) => {
|
||
state.getHeadInfo = uni.getSystemInfoSync();
|
||
resolve();
|
||
});
|
||
},
|
||
/**
|
||
* 获取微信小胶囊高度 */
|
||
MP_WEIXIN_HEIGHT(state) {
|
||
// width number 宽度,单位:px
|
||
// height number 高度,单位:px
|
||
// top number 上边界坐标,单位:px
|
||
// right number 右边界坐标,单位:px
|
||
// bottom number 下边界坐标,单位:px
|
||
// left number 左边界坐标,单位:px
|
||
|
||
state.getWeixinHeightInfo = uni.getMenuButtonBoundingClientRect();
|
||
},
|
||
// 前台存储登录状态
|
||
SET_HAS_LOGIN(state, val) {
|
||
state.hasLogin = val;
|
||
},
|
||
// 登录信息
|
||
SET_USER_INFO(state, val) {
|
||
state.userInfo = val;
|
||
// console.log("SET_USER_INFO",val)
|
||
},
|
||
|
||
login(state, userInfo) {
|
||
state.userInfo = userInfo || {};
|
||
state.userName =
|
||
userInfo.Name || userInfo.Nickname || userInfo.Username || "匿名用户";
|
||
state.hasLogin = true;
|
||
console.log("state:", state);
|
||
},
|
||
logout(state) {
|
||
state.userName = "";
|
||
state.hasLogin = false;
|
||
},
|
||
},
|
||
actions: {},
|
||
});
|
||
|
||
export default store;
|