refactor: 账号管理功能大体完成,后续优化与细节调整

This commit is contained in:
秋帆
2024-04-21 22:33:48 +08:00
parent 124674c530
commit 875b72b3a0
32 changed files with 1279 additions and 397 deletions

View File

@@ -2,15 +2,18 @@ import { defineStore } from 'pinia'
import { ref, reactive, computed } from 'vue'
import { resetRouter } from '@/router'
import { accountLogin as accountLoginApi, logout as logoutApi, getUserInfo as getUserInfoApi } from '@/apis'
import type { UserInfo } from '@/apis'
import { socialAuth, type UserInfo } from '@/apis'
import { setToken, clearToken, getToken } from '@/utils/auth'
import { resetHasRouteFlag } from '@/router/permission'
import getAvatar from '@/utils/avatar'
const storeSetup = () => {
const userInfo = reactive<Pick<UserInfo, 'nickname' | 'avatar'>>({
const userInfo = reactive<Pick<UserInfo, 'nickname' | 'avatar' | 'email' | 'phone' | 'registrationDate'>>({
nickname: '',
avatar: ''
avatar: '',
email: '',
phone: '',
registrationDate: ''
})
const name = computed(() => userInfo.nickname)
const avatar = computed(() => userInfo.avatar)
@@ -32,7 +35,16 @@ const storeSetup = () => {
setToken(res.data.token)
token.value = res.data.token
}
// 三方账号身份登录
const socialLogin = async (source: string, req: any) => {
try {
const res = await socialAuth(source, req)
setToken(res.data.token)
} catch (err) {
clearToken()
throw err
}
}
// 退出登录
const logout = async () => {
try {
@@ -57,6 +69,9 @@ const storeSetup = () => {
const res = await getUserInfoApi()
userInfo.nickname = res.data.nickname
userInfo.avatar = getAvatar(res.data.avatar, res.data.gender)
userInfo.email = res.data.email
userInfo.phone = res.data.phone
userInfo.registrationDate = res.data.registrationDate
if (res.data.roles && res.data.roles.length) {
roles.value = res.data.roles
permissions.value = res.data.permissions
@@ -71,6 +86,7 @@ const storeSetup = () => {
roles,
permissions,
accountLogin,
socialLogin,
logout,
logoutCallBack,
getInfo,