greenPro/unpackage/dist/dev/mp-weixin/store/index.js

121 lines
3.1 KiB
JavaScript

"use strict";
const common_vendor = require("../common/vendor.js");
const store = common_vendor.createStore({
state: {
hasLogin: false,
isUniverifyLogin: false,
loginProvider: "",
openid: null,
testvuex: false,
colorIndex: 0,
colorList: ["#FF0000", "#00FF00", "#0000FF"],
noMatchLeftWindow: true,
active: "componentPage",
leftWinActive: "/pages/component/view/view",
activeOpen: "",
menu: [],
univerifyErrorMsg: ""
},
mutations: {
login(state, provider) {
state.hasLogin = true;
state.loginProvider = provider;
},
logout(state) {
state.hasLogin = false;
state.openid = null;
},
setOpenid(state, openid) {
state.openid = openid;
},
setTestTrue(state) {
state.testvuex = true;
},
setTestFalse(state) {
state.testvuex = false;
},
setColorIndex(state, index) {
state.colorIndex = index;
},
setMatchLeftWindow(state, matchLeftWindow) {
state.noMatchLeftWindow = !matchLeftWindow;
},
setActive(state, tabPage) {
state.active = tabPage;
},
setLeftWinActive(state, leftWinActive) {
state.leftWinActive = leftWinActive;
},
setActiveOpen(state, activeOpen) {
state.activeOpen = activeOpen;
},
setMenu(state, menu) {
state.menu = menu;
},
setUniverifyLogin(state, payload) {
typeof payload !== "boolean" ? payload = !!payload : "";
state.isUniverifyLogin = payload;
},
setUniverifyErrorMsg(state, payload = "") {
state.univerifyErrorMsg = payload;
}
},
getters: {
currentColor(state) {
return state.colorList[state.colorIndex];
}
},
actions: {
// lazy loading openid
getUserOpenId: async function({
commit,
state
}) {
return await new Promise((resolve, reject) => {
if (state.openid) {
resolve(state.openid);
} else {
common_vendor.index.login({
success: (data) => {
commit("login");
setTimeout(function() {
const openid = "123456789";
console.log("uni.request mock openid[" + openid + "]");
commit("setOpenid", openid);
resolve(openid);
}, 1e3);
},
fail: (err) => {
console.log("uni.login 接口调用失败,将无法正常使用开放接口等服务", err);
reject(err);
}
});
}
});
},
getPhoneNumber: function({
commit
}, univerifyInfo) {
return new Promise((resolve, reject) => {
common_vendor.index.request({
url: "https://97fca9f2-41f6-449f-a35e-3f135d4c3875.bspapp.com/http/univerify-login",
method: "POST",
data: univerifyInfo,
success: (res2) => {
const data = res2.data;
if (data.success) {
resolve(data.phoneNumber);
} else {
reject(res2);
}
},
fail: (err) => {
reject(res);
}
});
});
}
}
});
exports.store = store;