review: 修改 api 结构.
This commit is contained in:
@@ -53,19 +53,19 @@ axios.interceptors.response.use(
|
||||
});
|
||||
}
|
||||
// 业务判断
|
||||
if (
|
||||
[401, 700, 701, 702].includes(code) &&
|
||||
response.config.url !== '/infra/auth/login'
|
||||
) {
|
||||
if ([401, 700, 701, 702].includes(code)) {
|
||||
Notification.error({
|
||||
closable: true,
|
||||
content: res.msg,
|
||||
});
|
||||
setTimeout(async () => {
|
||||
// 登出
|
||||
await useUserStore().logout();
|
||||
window.location.reload();
|
||||
});
|
||||
// 非登录页面跳转登录页面
|
||||
if (response.config.url !== '/infra/auth/login') {
|
||||
setTimeout(async () => {
|
||||
// 登出
|
||||
await useUserStore().logout();
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
return Promise.reject(new Error(res.msg || 'Error'));
|
||||
},
|
||||
|
||||
@@ -15,14 +15,6 @@ export interface LoginResponse {
|
||||
token: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改密码请求
|
||||
*/
|
||||
export interface UserUpdatePasswordRequest {
|
||||
beforePassword?: string;
|
||||
password?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*/
|
||||
@@ -37,13 +29,6 @@ export function logout() {
|
||||
return axios.get('/infra/auth/logout');
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
*/
|
||||
export function updatePassword(request: UserUpdatePasswordRequest) {
|
||||
return axios.put('/infra/auth/update-password', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
*/
|
||||
|
||||
40
orion-ops-ui/src/api/user/mine.ts
Normal file
40
orion-ops-ui/src/api/user/mine.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import type { LoginHistoryQueryResponse } from './operator-log';
|
||||
import type { UserQueryResponse, UserUpdateRequest } from './user';
|
||||
import axios from 'axios';
|
||||
|
||||
/**
|
||||
* 修改密码请求
|
||||
*/
|
||||
export interface UserUpdatePasswordRequest {
|
||||
beforePassword?: string;
|
||||
password?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改当前用户密码
|
||||
*/
|
||||
export function updateCurrentUserPassword(request: UserUpdatePasswordRequest) {
|
||||
return axios.put('/infra/mine/update-password', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户
|
||||
*/
|
||||
export function getCurrentUser() {
|
||||
return axios.get<UserQueryResponse>('/infra/mine/get-user');
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新当前用户
|
||||
*/
|
||||
export function updateCurrentUser(request: UserUpdateRequest) {
|
||||
return axios.put('/infra/mine/update-user', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户登录日志
|
||||
*/
|
||||
export function getCurrentLoginHistory() {
|
||||
return axios.get<LoginHistoryQueryResponse[]>('/infra/mine/login-history');
|
||||
}
|
||||
|
||||
@@ -66,10 +66,3 @@ export function getOperatorLogPage(request: OperatorLogQueryRequest) {
|
||||
export function getLoginHistory(username: string) {
|
||||
return axios.get<LoginHistoryQueryResponse[]>('/infra/operator-log/login-history', { params: { username } });
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户登录日志
|
||||
*/
|
||||
export function getCurrentLoginHistory() {
|
||||
return axios.get<LoginHistoryQueryResponse[]>('/infra/operator-log/current-login-history');
|
||||
}
|
||||
|
||||
@@ -91,20 +91,6 @@ export function resetUserPassword(request: UserUpdateRequest) {
|
||||
return axios.put('/infra/system-user/reset-password', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户
|
||||
*/
|
||||
export function getCurrentUser() {
|
||||
return axios.get<UserQueryResponse>('/infra/system-user/get-current');
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新当前用户
|
||||
*/
|
||||
export function updateCurrentUser(request: UserUpdateRequest) {
|
||||
return axios.put('/infra/system-user/update-current', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过 id 查询用户
|
||||
*/
|
||||
|
||||
@@ -40,13 +40,13 @@
|
||||
</script>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import type { UserUpdatePasswordRequest } from '@/api/user/auth';
|
||||
import type { UserUpdatePasswordRequest } from '@/api/user/mine';
|
||||
import { ref } from 'vue';
|
||||
import useLoading from '@/hooks/loading';
|
||||
import useVisible from '@/hooks/visible';
|
||||
import { Message } from '@arco-design/web-vue';
|
||||
import { md5 } from '@/utils';
|
||||
import { updatePassword } from '@/api/user/auth';
|
||||
import { updateCurrentUserPassword } from '@/api/user/mine';
|
||||
|
||||
const emits = defineEmits(['updated']);
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
return false;
|
||||
}
|
||||
// 修改
|
||||
await updatePassword({
|
||||
await updateCurrentUserPassword({
|
||||
beforePassword: md5(formModel.value.beforePassword as string),
|
||||
password: md5(formModel.value.password as string)
|
||||
});
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { useUserStore } from '@/store';
|
||||
import { ResultStatus } from '../types/const';
|
||||
import { getCurrentLoginHistory } from '@/api/user/operator-log';
|
||||
import { getCurrentLoginHistory } from '@/api/user/mine';
|
||||
import { dateFormat } from '@/utils';
|
||||
|
||||
const list = ref<LoginHistoryQueryResponse[]>([]);
|
||||
|
||||
@@ -53,8 +53,9 @@
|
||||
import { computed, ref, onMounted } from 'vue';
|
||||
import formRules from '../../user/types/form.rules';
|
||||
import { useUserStore } from '@/store';
|
||||
import { getCurrentUser, updateCurrentUser } from '@/api/user/user';
|
||||
import { getCurrentUser, updateCurrentUser } from '@/api/user/mine';
|
||||
import { pick } from 'lodash';
|
||||
import { Message } from '@arco-design/web-vue';
|
||||
|
||||
const userStore = useUserStore();
|
||||
const { loading, setLoading } = useLoading();
|
||||
@@ -71,6 +72,7 @@
|
||||
try {
|
||||
await updateCurrentUser(formModel.value);
|
||||
userStore.nickname = formModel.value.nickname;
|
||||
Message.success('保存成功');
|
||||
} catch (e) {
|
||||
} finally {
|
||||
setLoading(false);
|
||||
@@ -82,7 +84,7 @@
|
||||
setLoading(true);
|
||||
try {
|
||||
const { data } = await getCurrentUser();
|
||||
formModel.value = pick(data, 'id', 'username', 'nickname', 'mobile', 'email');
|
||||
formModel.value = pick(data, 'username', 'nickname', 'mobile', 'email');
|
||||
} catch (e) {
|
||||
} finally {
|
||||
setLoading(false);
|
||||
|
||||
Reference in New Issue
Block a user