feat: 查询用户信息.
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
import type { AxiosRequestConfig, AxiosResponse } from 'axios';
|
||||
import axios from 'axios';
|
||||
import { Message, Notification } from '@arco-design/web-vue';
|
||||
import { Message } from '@arco-design/web-vue';
|
||||
import { useUserStore } from '@/store';
|
||||
import { getToken } from '@/utils/auth';
|
||||
import { reLoginTipsKey } from '@/types/symbol';
|
||||
|
||||
export interface HttpResponse<T = unknown> {
|
||||
msg: string;
|
||||
@@ -45,25 +46,28 @@ axios.interceptors.response.use(
|
||||
if (code === 200) {
|
||||
return res;
|
||||
}
|
||||
// 非 200 业务异常
|
||||
if (response.config.promptBizErrorMessage) {
|
||||
// 异常判断
|
||||
if ([401, 700, 701, 702, 703].includes(code)) {
|
||||
// 提示
|
||||
Message.error({
|
||||
content: res.msg || 'Error',
|
||||
duration: 5 * 1000,
|
||||
});
|
||||
}
|
||||
// 业务判断
|
||||
if ([401, 700, 701, 702].includes(code)) {
|
||||
Notification.error({
|
||||
closable: true,
|
||||
content: res.msg,
|
||||
// 认证异常
|
||||
setTimeout(async () => {
|
||||
// 设置错误信息 登录页面重新提示 (重新加载会刷掉提示)
|
||||
window.sessionStorage.setItem(reLoginTipsKey, res.msg);
|
||||
// 登出
|
||||
await useUserStore().logout();
|
||||
// 重新加载自动跳转登录页面
|
||||
window.location.reload();
|
||||
});
|
||||
// 非登录页面跳转登录页面
|
||||
if (response.config.url !== '/infra/auth/login') {
|
||||
setTimeout(async () => {
|
||||
// 登出
|
||||
await useUserStore().logout();
|
||||
window.location.reload();
|
||||
} else {
|
||||
// 其他异常 判断是否弹出错误信息
|
||||
if (response.config.promptBizErrorMessage) {
|
||||
Message.error({
|
||||
content: res.msg || 'Error',
|
||||
duration: 5 * 1000,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import type { LoginHistoryQueryResponse } from './operator-log';
|
||||
import type { UserQueryResponse, UserSessionQueryResponse, UserSessionOfflineRequest, UserUpdateRequest } from './user';
|
||||
import type { DataGrid } from '@/types/global';
|
||||
import type { LoginHistoryQueryResponse, OperatorLogQueryRequest, OperatorLogQueryResponse } from './operator-log';
|
||||
import type { UserQueryResponse, UserSessionOfflineRequest, UserSessionQueryResponse, UserUpdateRequest } from './user';
|
||||
import axios from 'axios';
|
||||
|
||||
/**
|
||||
@@ -51,3 +52,10 @@ export function getCurrentUserSessionList() {
|
||||
export function offlineCurrentUserSession(request: UserSessionOfflineRequest) {
|
||||
return axios.put('/infra/mine/offline-session', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户操作日志
|
||||
*/
|
||||
export function getCurrentUserOperatorLog(request: OperatorLogQueryRequest) {
|
||||
return axios.post<DataGrid<OperatorLogQueryResponse>>('/infra/mine/query-operator-log', request);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ export interface UserCreateRequest {
|
||||
*/
|
||||
export interface UserUpdateRequest extends UserCreateRequest {
|
||||
id?: number;
|
||||
status?: number;
|
||||
roleIdList?: Array<number>;
|
||||
password?: string;
|
||||
}
|
||||
@@ -146,3 +147,16 @@ export function deleteUser(id: number) {
|
||||
return axios.delete('/infra/system-user/delete', { params: { id } });
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户会话列表
|
||||
*/
|
||||
export function getUserSessionList(id: number) {
|
||||
return axios.get<Array<UserSessionQueryResponse>>('/infra/system-user/user-session', { params: { id } });
|
||||
}
|
||||
|
||||
/**
|
||||
* 下线用户会话
|
||||
*/
|
||||
export function offlineUserSession(request: UserSessionOfflineRequest) {
|
||||
return axios.put('/infra/system-user/offline-session', request);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user