feat: 查询用户信息.

This commit is contained in:
lijiahang
2023-11-02 17:23:44 +08:00
parent 0322729797
commit a003c9725a
27 changed files with 402 additions and 302 deletions

View File

@@ -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,
});
}
}

View File

@@ -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);
}

View File

@@ -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);
}