feat: 登录和用户接口typescript类型声明

This commit is contained in:
郝先瑞
2022-03-12 00:18:21 +08:00
parent 7d46ff1224
commit 27bbd35057
8 changed files with 415 additions and 393 deletions

View File

@@ -1,12 +1,13 @@
import { defineStore } from "pinia";
import {UserState} from "@/store/interface";
import {localStorage} from "@/utils/storage";
import {getUserInfo, login, logout} from "@/api/login";
import {resetRouter} from "@/router";
import { UserState } from "@/store/interface";
import { localStorage } from "@/utils/storage";
import { login, logout } from "@/api/login";
import { resetRouter } from "@/router";
import { getUserInfo } from "@/api/system/user";
const useUserStore = defineStore({
id:"user",
state: ():UserState=>({
const useUserStore = defineStore({
id: "user",
state: (): UserState => ({
token: localStorage.get('token') || '',
nickname: '',
avatar: '',
@@ -14,7 +15,7 @@ import {resetRouter} from "@/router";
perms: []
}),
actions: {
async RESET_STATE () {
async RESET_STATE() {
this.$reset()
},
/**
@@ -26,7 +27,7 @@ import {resetRouter} from "@/router";
* uuid: 匹配正确验证码的 key
*/
login(userInfo: { username: string, password: string, code: string, uuid: string }) {
const {username, password, code, uuid} = userInfo
const { username, password, code, uuid } = userInfo
return new Promise((resolve, reject) => {
login(
{
@@ -37,7 +38,7 @@ import {resetRouter} from "@/router";
uuid: uuid
}
).then(response => {
const {access_token, token_type} = response.data
const { access_token, token_type } = response.data
const accessToken = token_type + " " + access_token
localStorage.set("token", accessToken)
this.token = accessToken
@@ -52,24 +53,24 @@ import {resetRouter} from "@/router";
*/
getUserInfo() {
return new Promise(((resolve, reject) => {
getUserInfo().then(response => {
const {data} = response
if (!data) {
return reject('Verification failed, please Login again.')
}
const {nickname, avatar, roles, perms} = data
if (!roles || roles.length <= 0) {
reject('getUserInfo: roles must be a non-null array!')
}
this.nickname = nickname
this.avatar = avatar
this.roles = roles
this.perms = perms
resolve(data)
}).catch(error => {
reject(error)
})
getUserInfo().then(response => {
const { data } = response
if (!data) {
return reject('Verification failed, please Login again.')
}
const { nickname, avatar, roles, perms } = data
if (!roles || roles.length <= 0) {
reject('getUserInfo: roles must be a non-null array!')
}
this.nickname = nickname
this.avatar = avatar
this.roles = roles
this.perms = perms
resolve(data)
}).catch(error => {
reject(error)
})
})
)
},
@@ -92,8 +93,8 @@ import {resetRouter} from "@/router";
/**
* 清除 Token
*/
resetToken(){
return new Promise(resolve=>{
resetToken() {
return new Promise(resolve => {
localStorage.remove('token')
this.RESET_STATE()
resolve(null)