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;
|