猫妈狗爸伴宠师小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

93 lines
1.9 KiB

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() && state.userInfo.userId) {
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