登录页面调整
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { defineStore } from 'pinia';
|
||||
import type { providerType, UserState } from './types';
|
||||
import { getUserProfile, login as userLogin, login, logout as userLogout } from '@/api/user/index';
|
||||
import { getUserProfile, login, logout as userLogout, register } from '@/api/user/index';
|
||||
import { clearToken, setCompanyId, setToken } from '@/utils/auth';
|
||||
import type { LoginParams } from '@/api/user/types';
|
||||
import type { RegisterParams } from '@/api/user/types';
|
||||
|
||||
const useUserStore = defineStore('user', {
|
||||
state: (): UserState => <UserState>({
|
||||
@@ -37,6 +37,7 @@ const useUserStore = defineStore('user', {
|
||||
return { ...state };
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
// 设置用户的信息
|
||||
setUserInfo(partial: Partial<UserState>) {
|
||||
@@ -51,27 +52,25 @@ const useUserStore = defineStore('user', {
|
||||
const result = await getUserProfile();
|
||||
this.setUserInfo(result);
|
||||
},
|
||||
// 异步登录并存储token
|
||||
login(loginForm: LoginParams) {
|
||||
|
||||
userRegister(registerForm: RegisterParams) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
try {
|
||||
const result = await userLogin(loginForm);
|
||||
const token = result?.token;
|
||||
if(token) {
|
||||
setToken(token);
|
||||
}
|
||||
const result = await register(registerForm);
|
||||
resolve(result);
|
||||
} catch (error) {
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// Logout
|
||||
async logout() {
|
||||
await userLogout();
|
||||
this.resetInfo();
|
||||
clearToken();
|
||||
},
|
||||
|
||||
// 小程序授权登录
|
||||
authLogin(provider: providerType = 'weixin') {
|
||||
return new Promise((resolve, reject) => {
|
||||
@@ -91,9 +90,25 @@ const useUserStore = defineStore('user', {
|
||||
const res = await login({
|
||||
code: result.code,
|
||||
userInfo: userInfo,
|
||||
referrerUserId: '1727303781559697409'
|
||||
referrerUserId: '1731886841265598466'
|
||||
});
|
||||
|
||||
if(res.user == undefined || res.user.id === null) {
|
||||
const registerForm = {
|
||||
unionId: res.user.unionId,
|
||||
openId: res.user.openId,
|
||||
maOpenId: res.user.maOpenId,
|
||||
image: res.user.image,
|
||||
nickName: res.user.nickName,
|
||||
telephone: res.user.telephone,
|
||||
birthday: res.user.birthday,
|
||||
companyId: res.user.companyId,
|
||||
creatorId: res.user.creatorId,
|
||||
gender: res.user.gender
|
||||
};
|
||||
await this.userRegister(registerForm);
|
||||
}
|
||||
|
||||
this.setUserInfo(res.user);
|
||||
setToken(res.token);
|
||||
setCompanyId(res.user.companyId);
|
||||
|
||||
Reference in New Issue
Block a user