登录相关

This commit is contained in:
qsh
2023-08-19 00:52:53 +08:00
parent 266b7d4a0f
commit ae7e2bc17f
16 changed files with 484 additions and 809 deletions

View File

@@ -1,9 +1,9 @@
import { defineStore } from 'pinia';
import http from '@/jtools/request/index';
import { login,logout } from '@/jtools/api/login';
import constants from '@/jtools/constants';
import storage from '@/jtools/storage';
const user = defineStore({
const useUserStore = defineStore({
id: 'user',
state: () => ({
token: storage.get('token'),
@@ -12,57 +12,43 @@ const user = defineStore({
}),
actions: {
// 登录
showAuth() {
// router.replaceAll('/pages/login/login');
login(params) {
// commit('isLogin', true);
return new Promise(async (resolve, reject) => {
const resp = await login(params);
if (resp.code === '0000') {
// 保存登录信息,用于重新登录
this.isLogin = true;
this.token = resp.data.token;
this.userInfo = resp.data
storage.set('isLogin', true)
storage.set('token', resp.data.token)
storage.set('userInfo', resp.data)
resolve(resp.data);
} else {
reject();
}
});
},
// 获取个人信息
async getInfo() {
const { error, data } = await userApi.profile();
if (error !== 0) return;
this.userInfo = data;
return Promise.resolve(data);
},
// 设置token
setToken(token = '') {
if (token === '') {
this.isLogin = false;
this.token = ''
this.userInfo = {}
storage.set('token', '');
storage.set('isLogin', false);
storage.set('userInfo', {});
} else {
this.isLogin = true;
this.token = token
storage.set('token', token);
storage.set('isLogin', true);
}
return this.isLogin;
},
// 重置用户默认数据
resetUserData() {
this.setToken();
},
// 登出
async logout(force = false) {
if (!force) {
const { error } = await userApi.logout();
if (error === 0) {
this.resetUserData();
}
}
if (force) {
logout(force = false) {
return new Promise((resolve, reject) => {
this.resetUserData();
}
return !this.isLogin;
uni.redirectTo({
url: '/pages/login/login'
})
resolve();
})
},
resetUserData() {
this.isLogin = false;
this.token = '';
this.userInfo = {}
storage.remove('isLogin')
storage.remove('token')
storage.remove('userInfo')
}
},
});
export default user;
export default useUserStore;