|
|
- import storage from '@/utils/storage'
- import constant from '@/utils/constant'
- import {
- getInfo,
- login,
- logout
- } from '@/api/login'
- import {
- getIsLogin,
- getToken,
- removeToken,
- setIsLogin,
- setToken
- } from '@/utils/auth'
- import {
- currentUrl
- } from '@/utils/getUrl'
- import {
- wxLogin
- } from "../../api/system/user";
- import {
- getbaseInfo
- } from "@/api/home.js"
-
- const baseUrl = currentUrl
- const user = {
- state: {
- accessToken: uni.getStorageSync("token") || "",
- userInfo: uni.getStorageSync("baseInfo") ? JSON.parse(uni.getStorageSync("baseInfo")) : {}
- },
-
- mutations: {
- // 设置token
- setAccessToken(state, token) {
- state.accessToken = token;
- },
-
- // 设置用户信息
- setUserInfo(state, userInfo) {
- state.userInfo = userInfo;
- }
- },
-
- actions: {
- login(context) {
- uni.login({
- success: (res) => {
- const code = res.code
- uni.showLoading({
- mask : true
- });
- wxLogin({
- code
- }).then(res => {
- if (res.code === 200) {
- uni.setStorageSync("token", res.data.token)
- uni.setStorageSync("baseInfo", JSON.stringify(res.data.userInfo))
- context.commit('setAccessToken', res.data.token);
- context.commit('setUserInfo', res.data.userInfo);
- setIsLogin(true);
- uni.hideLoading();
-
- if (!res.data.userInfo.userName || !res.data.userInfo.userImage || !
- res.data.userInfo.userTelephone) {
- uni.navigateTo({
- url: "/pages/login/wxUserInfo"
- })
- } else {
- uni.navigateBack(-1)
- }
- }
- })
- }
- })
- },
-
- // 已登录的情况下调用接口获取用户信息,保证用户信息的实时更新
- async getUserInfo({
- commit,
- state
- }) {
- if (getIsLogin()) {
- const response = await getbaseInfo(state.userInfo.userId);
- if (response.code == 200) {
- commit("setUserInfo", response.data);
- uni.setStorageSync("baseInfo", JSON.stringify(response.data))
- }
- }
- }
- }
- }
-
- export default user
|