"use strict"; const common_vendor = require("../../common/vendor.js"); const store_mutationTypes = require("../mutation-types.js"); const utils_storage = require("../../utils/storage.js"); require("../../api/login.js"); const core_app = require("../../core/app.js"); const loginSuccess = (commit, { token, id, userInfo }) => { const expiryTime = 30 * 86400 * 3; utils_storage.storage.set(store_mutationTypes.USER_ID, id, expiryTime); utils_storage.storage.set(store_mutationTypes.ACCESS_TOKEN, token, expiryTime); commit("SET_TOKEN", token); commit("SET_USER_ID", id); commit("SET_USER_INFO", userInfo); }; const user = { state: { // 用户认证token token: common_vendor.index.getStorageSync(store_mutationTypes.ACCESS_TOKEN), // 用户ID userId: common_vendor.index.getStorageSync(store_mutationTypes.USER_ID), userInfo: common_vendor.index.getStorageSync(store_mutationTypes.USER_INFO), parent_id: null }, mutations: { SET_TOKEN: (state, value) => { state.token = value; }, SET_USER_ID: (state, value) => { state.userId = value; }, SET_USER_INFO: (state, value) => { state.userInfo = value; }, M_PARENT_ID: (state, value) => { state.parent_id = value; } }, actions: { // 用户登录(普通登录: 输入手机号和验证码) async LoginWX({ commit }, data) { const result = await userLoginWX(data); if (result) { if (result.data.token) { loginSuccess(commit, { token: result.data.token, id: result.data.id, userInfo: {} }); return Promise.resolve(result); } else { return Promise.resolve(result); } } }, // 用户登录(普通登录: 输入手机号和验证码) async LoginApp({ commit }, data) { const result = await userLloginApp(data); if (result) { loginSuccess(commit, { token: result.data.token, id: result.data.id }); return Promise.resolve(result); } else { return Promise.resolve(result); } }, // H5登陆 async LoginH5({ commit }, data) { const result = await userLoginH5(data); if (result) { if (result.data.token) { loginSuccess(commit, { token: result.data.token, id: result.data.id }); return Promise.resolve(result); } else { return Promise.resolve(result); } } }, // 退出登录 async Logout({ commit }, data) { const store = this; if (store.getters.userId > 0) { utils_storage.storage.remove(store_mutationTypes.USER_ID); utils_storage.storage.remove(store_mutationTypes.ACCESS_TOKEN); utils_storage.storage.remove(store_mutationTypes.USER_INFO); commit("SET_TOKEN", ""); commit("SET_USER_ID", null); commit("SET_USER_INFO", null); core_app.navTo("pages/home/index", {}); return Promise.resolve({ result: true }); } } } }; exports.user = user;