-
Notifications
You must be signed in to change notification settings - Fork 155
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
19 changed files
with
224 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import Mock from 'mockjs'; | ||
|
||
export function resultSuccess(data: any, { msg = 'success' } = {}) { | ||
return Mock.mock({ | ||
code: 200, | ||
data, | ||
msg, | ||
}); | ||
} | ||
export function resultFailed(data: any, { msg = 'failed' } = {}) { | ||
return Mock.mock({ | ||
code: 400, | ||
data, | ||
msg, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
/* 缓存的Key值 */ | ||
export enum EnumStorageKey { | ||
userInfo = '__USER_INFO__', | ||
token = '__TOKEN__', | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export * from './common'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,9 @@ | ||
import { request } from '../http'; | ||
import { mockRequest } from '../http'; | ||
|
||
interface Itest { | ||
data: string; | ||
interface Ilogin { | ||
userName: string; | ||
password: string; | ||
} | ||
/* get方法测试 */ | ||
export function fetachGet() { | ||
return request.get('/getAPI'); | ||
} | ||
/* post方法测试 */ | ||
export function fetachPost(params: Itest) { | ||
return request.post('/postAPI', params); | ||
} | ||
/* delete方法测试 */ | ||
export function fetachDelete() { | ||
return request.Delete('/deleteAPI'); | ||
} | ||
/* put方法测试 */ | ||
export function fetachPut(params: Itest) { | ||
return request.put('/putAPI', params); | ||
} | ||
/* patch方法测试 */ | ||
export function fetachPatch(params: Itest) { | ||
return request.patch('/patchAPI', params); | ||
} | ||
/* mock方法测试 */ | ||
export function fetchMock() { | ||
return mockRequest.post('/login'); | ||
export function fetchLogin(params: Ilogin) { | ||
return mockRequest.post('/login', params); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
import { request } from '../http'; | ||
import { mockRequest } from '../http'; | ||
|
||
interface Itest { | ||
data: string; | ||
} | ||
/* get方法测试 */ | ||
export function fetachGet() { | ||
return request.get('/getAPI'); | ||
} | ||
/* post方法测试 */ | ||
export function fetachPost(params: Itest) { | ||
return request.post('/postAPI', params); | ||
} | ||
/* delete方法测试 */ | ||
export function fetachDelete() { | ||
return request.Delete('/deleteAPI'); | ||
} | ||
/* put方法测试 */ | ||
export function fetachPut(params: Itest) { | ||
return request.put('/putAPI', params); | ||
} | ||
/* patch方法测试 */ | ||
export function fetachPatch(params: Itest) { | ||
return request.patch('/patchAPI', params); | ||
} | ||
/* mock方法测试 */ | ||
export function fetchMock() { | ||
return mockRequest.post('/login'); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
export * from './api/test'; | ||
export * from './api/login'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,55 @@ | ||
import { defineStore } from 'pinia'; | ||
import { fetchLogin } from '@/service'; | ||
import { setUserInfo, getUserInfo, getToken, setToken } from '@/utils/auth'; | ||
import { router } from '@/router'; | ||
|
||
export const useAuthStore = defineStore('auth-store', { | ||
state: () => { | ||
return { | ||
name: '张三', | ||
userInfo: getUserInfo(), | ||
token: getToken(), | ||
loginLoading: false, | ||
}; | ||
}, | ||
getters: { | ||
/** 是否登录 */ | ||
isLogin(state) { | ||
return Boolean(state.token); | ||
}, | ||
}, | ||
actions: { | ||
/* 用户登录 */ | ||
async login(userName: string, password: string) { | ||
this.loginLoading = true; | ||
const data = await fetchLogin({ userName, password }); | ||
|
||
// 处理登录信息 | ||
this.handleAfterLogin(data as any); | ||
|
||
this.loginLoading = false; | ||
}, | ||
handleAfterLogin(data: Auth.UserInfo) { | ||
// 存储用户信息 | ||
setUserInfo(data); | ||
setToken(data.token); | ||
this.userInfo = data; | ||
this.token = data.token; | ||
|
||
// 触发用户提示 | ||
window.$notification?.success({ | ||
title: '登录成功!', | ||
content: `欢迎回来,${this.userInfo.realName}!`, | ||
duration: 3000, | ||
}); | ||
|
||
// 进行跳转 | ||
const route = router.currentRoute; | ||
const { query } = route.value; | ||
if (query?.redirect) { | ||
router.push(query.redirect as string); | ||
} else { | ||
router.push('/'); | ||
} | ||
}, | ||
}, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
/* 接口类型数据 */ | ||
|
||
/** 后端返回的用户相关类型 */ | ||
declare namespace ApiAuth { | ||
/** 返回的用户信息 */ | ||
type UserInfo = Auth.UserInfo; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/** 用户相关模块 */ | ||
declare namespace Auth { | ||
/** | ||
* 用户角色类型(前端静态路由用角色类型进行路由权限的控制) | ||
* - super: 超级管理员(该权限具有所有路由数据) | ||
* - admin: 管理员 | ||
* - user: 用户 | ||
* - custom: 自定义角色 | ||
*/ | ||
// type RoleType = keyof typeof import('@/enum').EnumUserRole; | ||
|
||
/** 用户信息 */ | ||
interface UserInfo { | ||
/** 用户id */ | ||
userId: string; | ||
/** 用户名 */ | ||
userName: string; | ||
/* 用户称呼 */ | ||
realName: string; | ||
/* 用户头像 */ | ||
avatar: string; | ||
/** 用户角色类型 */ | ||
role: RoleType; | ||
/* 密码 */ | ||
password: string; | ||
/* token */ | ||
token: string; | ||
/* 权限路由 */ | ||
permissions: []; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
import { setLocal, getLocal, removeLocal } from './storage'; | ||
import { EnumStorageKey } from '@/enum'; | ||
|
||
/* 获取当前token */ | ||
export function getToken() { | ||
return getLocal(EnumStorageKey.token); | ||
} | ||
/* 设置token */ | ||
export function setToken(data: string) { | ||
setLocal(EnumStorageKey.token, data); | ||
} | ||
/* 移除token */ | ||
export function removeToken() { | ||
removeLocal(EnumStorageKey.token); | ||
} | ||
|
||
/* 获取用户详情 */ | ||
export function getUserInfo() { | ||
return getLocal(EnumStorageKey.userInfo); | ||
} | ||
/* 设置用户详情 */ | ||
export function setUserInfo(data: any) { | ||
setLocal(EnumStorageKey.userInfo, data); | ||
} | ||
/* 移除用户详情 */ | ||
export function removeUserInfo() { | ||
removeLocal(EnumStorageKey.userInfo); | ||
} | ||
|
||
/** 去除用户相关缓存 */ | ||
export function clearAuthStorage() { | ||
removeToken(); | ||
removeUserInfo(); | ||
} |
Oops, something went wrong.