发布v2.0.0分支

This commit is contained in:
zhangtao
2025-07-13 19:31:23 +08:00
parent 4150a39713
commit 6a8ca3becc
342 changed files with 39441 additions and 14737 deletions
-35
View File
@@ -1,35 +0,0 @@
import request from "@/utils/request";
export function login(body) {
return request({
url: "/api/v1/system/auth/login",
method: "post",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
data: body,
});
}
export function getNewToken(body) {
return request({
url: "/api/v1/system/auth/token/refresh",
method: "post",
data: body,
});
}
export function getCaptcha() {
return request({
url: "/api/v1/system/auth/captcha/get",
method: "post",
});
}
export function logout(body) {
return request({
url: "/api/v1/system/auth/logout",
method: "post",
data: body,
});
}
+73
View File
@@ -0,0 +1,73 @@
import request from "@/utils/request";
const AuthAPI = {
login(body: LoginFormData) {
return request<ApiResponse<LoginResult>>({
url: `/system/auth/login`,
method: "post",
headers: {
"Content-Type": "multipart/form-data",
},
data: body,
});
},
refreshToken(body: RefreshToekenBody) {
return request<ApiResponse<LoginResult>>({
url: `/system/auth/token/refresh`,
method: "post",
data: body,
});
},
getCaptcha() {
return request<ApiResponse<CaptchaInfo>>({
url: `/system/auth/captcha/get`,
method: "post",
});
},
logout(body: LogoutBody) {
return request<ApiResponse>({
url: `/system/auth/logout`,
method: "post",
data: body,
});
},
};
export default AuthAPI;
/** 登录表单数据 */
export interface LoginFormData {
username: string;
password: string;
captcha_key: string;
captcha: string;
remember: boolean;
}
// 刷新令牌
export interface RefreshToekenBody {
refresh_token: string;
}
/** 登录响应 */
export interface LoginResult {
access_token: string;
refresh_token: string;
token_type: string;
expires_in: number;
}
/** 验证码信息 */
export interface CaptchaInfo {
enable: boolean;
key: string;
img_base: string;
}
/** 退出登录操作 */
export interface LogoutBody {
token: string;
}
-71
View File
@@ -1,71 +0,0 @@
import request from "@/utils/request";
export function uploadFile(body) {
return request({
url: "/api/v1/system/config/upload",
method: "post",
data: body,
headers: { "Content-Type": "multipart/form-data" },
});
}
export function getInitConfig() {
return request({
url: "/api/v1/system/config/info",
method: "get",
});
}
export function getConfigList(query) {
return request({
url: "/api/v1/system/config/list",
method: "get",
params: query,
});
}
export function getConfigDetail(query) {
return request({
url: "/api/v1/system/config/detail",
method: "get",
params: query,
});
}
export function createConfig(body) {
return request({
url: "/api/v1/system/config/create",
method: "post",
data: body,
});
}
export function updateConfig(body) {
return request({
url: "/api/v1/system/config/update",
method: "put",
data: body,
});
}
export function deleteConfig(query) {
return request({
url: "/api/v1/system/config/delete",
method: "delete",
params: query,
});
}
export function exportConfig(body) {
return request({
url: "/api/v1/system/config/export",
method: "post",
data: body,
responseType: "blob",
});
}
+105
View File
@@ -0,0 +1,105 @@
import request from "@/utils/request";
const ConfigAPI = {
uploadFile(body: any) {
return request<ApiResponse<UploadFilePath>>({
url: `/system/config/upload`,
method: "post",
data: body,
headers: { "Content-Type": "multipart/form-data" },
});
},
getInitConfig() {
return request<ApiResponse<ConfigTable[]>>({
url: `/system/config/info`,
method: "get",
});
},
getConfigList(query: ConfigPageQuery) {
return request<ApiResponse<PageResult<ConfigTable[]>>>({
url: `/system/config/list`,
method: "get",
params: query,
});
},
getConfigDetail(query: any) {
return request<ApiResponse<ConfigTable>>({
url: `/system/config/detail`,
method: "get",
params: query,
});
},
createConfig(body: ConfigForm) {
return request<ApiResponse>({
url: `/system/config/create`,
method: "post",
data: body,
});
},
updateConfig(body: ConfigForm) {
return request<ApiResponse>({
url: `/system/config/update`,
method: "put",
data: body,
});
},
deleteConfig(query: any) {
return request<ApiResponse>({
url: `/system/config/delete`,
method: "delete",
params: query,
});
},
exportConfig(body: any) {
return request<ApiResponse>({
url: `/system/config/export`,
method: "post",
data: body,
responseType: "blob",
});
},
};
export default ConfigAPI;
export interface ConfigPageQuery extends PageQuery {
/** 配置名称 */
config_name?: string;
/** 配置键 */
config_key?: string;
/** 配置类型 */
config_type?: boolean;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface ConfigTable {
id?: number;
config_name?: string;
config_key?: string;
config_value?: string;
config_type?: boolean;
description?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
}
export interface ConfigForm {
id?: number;
config_name?: string;
config_key?: string;
config_value?: string;
config_type?: boolean;
description?: string;
}
-50
View File
@@ -1,50 +0,0 @@
import request from "@/utils/request";
export function getDeptList(query) {
return request({
url: "/api/v1/system/dept/list",
method: "get",
params: query,
});
}
export function getDeptDetail(query) {
return request({
url: "/api/v1/system/dept/detail",
method: "get",
params: query,
});
}
export function createDept(body) {
return request({
url: "/api/v1/system/dept/create",
method: "post",
data: body,
});
}
export function updateDept(body) {
return request({
url: "/api/v1/system/dept/update",
method: "put",
data: body,
});
}
export function deleteDept(query) {
return request({
url: "/api/v1/system/dept/delete",
method: "delete",
params: query,
});
}
export function batchAvailableDept(body) {
return request({
url: "/api/v1/system/dept/available/setting",
method: "patch",
data: body,
});
}
+86
View File
@@ -0,0 +1,86 @@
import request from "@/utils/request";
const DeptAPI = {
getDeptList(query: DeptPageQuery) {
return request<ApiResponse<PageResult<DeptTable>>>({
url: `/system/dept/list`,
method: "get",
params: query,
});
},
getDeptDetail(query: any) {
return request<ApiResponse<DeptTable>>({
url: `/system/dept/detail`,
method: "get",
params: query,
});
},
createDept(body: DeptForm) {
return request<ApiResponse>({
url: `/system/dept/create`,
method: "post",
data: body,
});
},
updateDept(body: DeptForm) {
return request<ApiResponse>({
url: `/system/dept/update`,
method: "put",
data: body,
});
},
deleteDept(query: any) {
return request<ApiResponse>({
url: `/system/dept/delete`,
method: "delete",
params: query,
});
},
batchAvailableDept(body: any) {
return request<ApiResponse>({
url: `/system/dept/available/setting`,
method: "patch",
data: body,
});
},
};
export default DeptAPI;
export interface DeptPageQuery extends PageQuery {
name?: string;
status?: boolean;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface DeptTable {
index?: number;
id?: number;
name?: string;
order?: number;
parent_id?: number;
parent_name?: string;
status?: boolean;
description?: string;
created_at?: string;
updated_at?: string;
children?: DeptTable[];
creator?: creatorType;
}
export interface DeptForm {
id?: number;
name?: string;
order?: number;
parent_id?: number;
status?: boolean;
description?: string;
}
-113
View File
@@ -1,113 +0,0 @@
import request from "@/utils/request";
export function getDictTypeList(query) {
return request({
url: "/api/v1/system/dict/type/list",
method: "get",
params: query,
});
}
export function getDictTypeOptionselect() {
return request({
url: "/api/v1/system/dict/type/optionselect",
method: "get",
});
}
export function getDictTypeDetail(query) {
return request({
url: "/api/v1/system/dict/type/detail",
method: "get",
params: query,
});
}
export function createDictType(body) {
return request({
url: "/api/v1/system/dict/type/create",
method: "post",
data: body,
});
}
export function updateDictType(body) {
return request({
url: "/api/v1/system/dict/type/update",
method: "put",
data: body,
});
}
export function deleteDictType(query) {
return request({
url: "/api/v1/system/dict/type/delete",
method: "delete",
params: query,
});
}
export function exportDictType(body) {
return request({
url: "/api/v1/system/dict/type/export",
method: "post",
data: body,
responseType: "blob",
});
}
export function getDictDataList(query) {
return request({
url: "/api/v1/system/dict/data/list",
method: "get",
params: query,
});
}
export function getDictDataDetail(query) {
return request({
url: "/api/v1/system/dict/data/detail",
method: "get",
params: query,
});
}
export function createDictData(body) {
return request({
url: "/api/v1/system/dict/data/create",
method: "post",
data: body,
});
}
export function updateDictData(body) {
return request({
url: "/api/v1/system/dict/data/update",
method: "put",
data: body,
});
}
export function deleteDictData(query) {
return request({
url: "/api/v1/system/dict/data/delete",
method: "delete",
params: query,
});
}
export function exportDictData(body) {
return request({
url: "/api/v1/system/dict/data/export",
method: "post",
data: body,
responseType: "blob",
});
}
export function getInitDict(query) {
return request({
url: `/api/v1/system/dict/data/info/${query}`,
method: "get",
});
}
+188
View File
@@ -0,0 +1,188 @@
import request from "@/utils/request";
const DictAPI = {
getDictTypeList(query: DictPageQuery) {
return request<ApiResponse<PageResult<DictTable[]>>>({
url: `/system/dict/type/list`,
method: "get",
params: query,
});
},
getDictTypeOptionselect() {
return request<ApiResponse>({
url: `/system/dict/type/optionselect`,
method: "get",
});
},
getDictTypeDetail(query: any) {
return request<ApiResponse<DictTable>>({
url: `/system/dict/type/detail`,
method: "get",
params: query,
});
},
createDictType(body: DictForm) {
return request<ApiResponse>({
url: `/system/dict/type/create`,
method: "post",
data: body,
});
},
updateDictType(body: DictForm) {
return request<ApiResponse>({
url: `/system/dict/type/update`,
method: "put",
data: body,
});
},
deleteDictType(query: any) {
return request<ApiResponse>({
url: `/system/dict/type/delete`,
method: "delete",
params: query,
});
},
exportDictType(body: any) {
return request<ApiResponse>({
url: `/system/dict/type/export`,
method: "post",
data: body,
responseType: "blob",
});
},
getDictDataList(query: DictDataPageQuery) {
return request<ApiResponse<PageResult<DictDataTable[]>>>({
url: `/system/dict/data/list`,
method: "get",
params: query,
});
},
getDictDataDetail(query: any) {
return request<ApiResponse<DictDataTable>>({
url: `/system/dict/data/detail`,
method: "get",
params: query,
});
},
createDictData(body: DictDataForm) {
return request<ApiResponse>({
url: `/system/dict/data/create`,
method: "post",
data: body,
});
},
updateDictData(body: DictDataForm) {
return request<ApiResponse>({
url: `/system/dict/data/update`,
method: "put",
data: body,
});
},
deleteDictData(query: any) {
return request<ApiResponse>({
url: `/system/dict/data/delete`,
method: "delete",
params: query,
});
},
exportDictData(body: any) {
return request<ApiResponse>({
url: `/system/dict/data/export`,
method: "post",
data: body,
responseType: "blob",
});
},
getInitDict(query: any) {
return request<ApiResponse>({
url: `/system/dict/data/info/${query}`,
method: "get",
});
},
};
export default DictAPI;
export interface DictPageQuery extends PageQuery {
/** 通知标题 */
dict_name?: string;
/** 通知类型 */
dict_type?: string;
/** 通知状态 */
status?: boolean;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface DictDataPageQuery extends PageQuery {
dict_label?: string;
dict_type?: string;
status?: boolean;
start_time?: string;
end_time?: string;
}
export interface DictTable {
index?: number;
id?: number;
dict_name?: string;
dict_type?: string;
status?: boolean;
description?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
}
export interface DictForm {
id?: number;
dict_name?: string;
dict_type?: string;
status?: boolean;
description?: string;
}
export interface DictDataTable {
index?: number;
id?: number;
dict_sort?: number;
dict_label?: string;
dict_value?: string;
dict_type?: string;
css_class?: string;
list_class?: string;
is_default?: boolean;
status?: boolean;
description?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
}
export interface DictDataForm {
id?: number;
dict_sort?: number;
dict_label?: string;
dict_value?: string;
dict_type?: string;
css_class?: string;
list_class?: string;
is_default?: boolean;
status?: boolean;
description?: string;
}
-67
View File
@@ -1,67 +0,0 @@
import request from "@/utils/request";
export function getJobList(query) {
return request({
url: "/api/v1/system/job/list",
method: "get",
params: query,
});
}
export function getJobDetail(query) {
return request({
url: "/api/v1/system/job/detail",
method: "get",
params: query,
});
}
export function createJob(body) {
return request({
url: "/api/v1/system/job/create",
method: "post",
data: body,
});
}
export function updateJob(body) {
return request({
url: "/api/v1/system/job/update",
method: "put",
data: body,
});
}
export function deleteJob(query) {
return request({
url: "/api/v1/system/job/delete",
method: "delete",
params: query,
});
}
export function exportJob(body) {
return request({
url: "/api/v1/system/job/export",
method: "post",
data: body,
responseType: "blob",
});
}
export function clearJob() {
return request({
url: "/api/v1/system/job/clear",
method: "delete",
});
}
export function OptionJob(params) {
return request({
url: "/api/v1/system/job/option",
method: "put",
params: params
});
}
+120
View File
@@ -0,0 +1,120 @@
import request from "@/utils/request";
const JobAPI = {
getJobList(query: any) {
return request<ApiResponse>({
url: `/system/job/list`,
method: "get",
params: query,
});
},
getJobDetail(query: any) {
return request<ApiResponse>({
url: `/system/job/detail`,
method: "get",
params: query,
});
},
createJob(body: any) {
return request<ApiResponse>({
url: `/system/job/create`,
method: "post",
data: body,
});
},
updateJob(body: any) {
return request<ApiResponse>({
url: `/system/job/update`,
method: "put",
data: body,
});
},
deleteJob(query: any) {
return request<ApiResponse>({
url: `/system/job/delete`,
method: "delete",
params: query,
});
},
exportJob(body: any) {
return request<ApiResponse>({
url: `/system/job/export`,
method: "post",
data: body,
responseType: "blob",
});
},
clearJob() {
return request<ApiResponse>({
url: `/system/job/clear`,
method: "delete",
});
},
OptionJob(params: any) {
return request<ApiResponse>({
url: `/system/job/option`,
method: "put",
data: params,
});
},
};
export default JobAPI;
export interface JobPageQuery extends PageQuery {
name?: string;
status?: boolean;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface JobTable {
index?: number;
id?: number;
name?: string;
func?: string;
trigger?: string;
args?: string;
kwargs?: string;
coalesce?: boolean;
max_instances?: number;
jobstore?: string;
executor?: string;
trigger_args?: string;
start_date?: string;
end_date?: string;
status?: boolean;
message?: string;
description?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
}
export interface JobForm {
id?: number;
name?: string;
func?: string;
trigger?: string;
args?: string;
kwargs?: string;
coalesce?: boolean;
max_instances?: number;
jobstore?: string;
executor?: string;
trigger_args?: string;
start_date?: string;
end_date?: string;
status?: boolean;
message?: string;
description?: string;
}
-34
View File
@@ -1,34 +0,0 @@
import request from "@/utils/request";
export function getLogList(query) {
return request({
url: "/api/v1/system/log/list",
method: "get",
params: query,
});
}
export function getLogDetail(query) {
return request({
url: "/api/v1/system/log/detail",
method: "get",
params: query,
});
}
export function deleteLog(query) {
return request({
url: "/api/v1/system/log/delete",
method: "delete",
params: query,
});
}
export function exportLog(query) {
return request({
url: '/api/v1/system/log/export',
method: 'post',
data: query,
responseType: 'blob',
})
}
+65
View File
@@ -0,0 +1,65 @@
import request from "@/utils/request";
const LogAPI = {
getLogList(query: LogPageQuery) {
return request<ApiResponse<PageResult<LogTable[]>>>({
url: `/system/log/list`,
method: "get",
params: query,
});
},
getLogDetail(query: any) {
return request<ApiResponse<LogTable>>({
url: `/system/log/detail`,
method: "get",
params: query,
});
},
deleteLog(query: any) {
return request<ApiResponse>({
url: `/system/log/delete`,
method: "delete",
params: query,
});
},
exportLog(query: any) {
return request<ApiResponse>({
url: `/system/log/export`,
method: "post",
data: query,
responseType: "blob",
});
},
};
export default LogAPI;
export interface LogPageQuery extends PageQuery {
request_path?: string;
creator_name?: string;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface LogTable {
id?: number;
request_path?: string;
request_method?: string;
request_ip?: string;
login_location?: string;
request_browser?: string;
request_os?: string;
response_code?: number;
request_payload?: string;
response_json?: string;
process_time?: number;
description?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
}
-50
View File
@@ -1,50 +0,0 @@
import request from "@/utils/request";
export function getMenuList(query) {
return request({
url: "/api/v1/system/menu/list",
method: "get",
params: query,
});
}
export function getMenuDetail(query) {
return request({
url: "/api/v1/system/menu/detail",
method: "get",
params: query,
});
}
export function createMenu(body) {
return request({
url: "/api/v1/system/menu/create",
method: "post",
data: body,
});
}
export function updateMenu(body) {
return request({
url: "/api/v1/system/menu/update",
method: "put",
data: body,
});
}
export function deleteMenu(query) {
return request({
url: "/api/v1/system/menu/delete",
method: "delete",
params: query,
});
}
export function batchAvailableMenu(body) {
return request({
url: "/api/v1/system/menu/available/setting",
method: "patch",
data: body,
});
}
+111
View File
@@ -0,0 +1,111 @@
import request from "@/utils/request";
const MenuAPI = {
getMenuList(query: MenuPageQuery) {
return request<ApiResponse<PageResult<MenuTable[]>>>({
url: `/system/menu/list`,
method: "get",
params: query,
});
},
getMenuDetail(query: any) {
return request<ApiResponse<MenuTable>>({
url: `/system/menu/detail`,
method: "get",
params: query,
});
},
createMenu(body: MenuForm) {
return request<ApiResponse>({
url: `/system/menu/create`,
method: "post",
data: body,
});
},
updateMenu(body: MenuForm) {
return request<ApiResponse>({
url: `/system/menu/update`,
method: "put",
data: body,
});
},
deleteMenu(query: any) {
return request<ApiResponse>({
url: `/system/menu/delete`,
method: "delete",
params: query,
});
},
batchAvailableMenu(body: any) {
return request<ApiResponse>({
url: `/system/menu/available/setting`,
method: "patch",
data: body,
});
},
};
export default MenuAPI;
export interface MenuPageQuery extends PageQuery {
name?: string;
status?: boolean;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface MenuTable {
index?: number;
id?: number;
name?: string;
type?: number;
icon?: string;
order?: number;
permission?: string;
route_name?: string;
route_path?: string;
component_path?: string;
redirect?: string;
parent_id?: number;
parent_name?: string;
keep_alive?: boolean;
hidden?: boolean;
always_show?: boolean;
title?: string;
params?: string;
affix?: boolean;
status?: boolean;
description?: string;
created_at?: string;
updated_at?: string;
children?: MenuTable[];
}
export interface MenuForm {
id?: number;
name?: string;
type?: number;
icon?: string;
order?: number;
permission?: string;
route_name?: string;
route_path?: string;
component_path?: string;
redirect?: string;
parent_id?: number;
keep_alive?: boolean;
hidden?: boolean;
always_show?: boolean;
title?: string;
params?: string;
affix?: boolean;
status?: boolean;
description?: string;
}
-65
View File
@@ -1,65 +0,0 @@
import request from "@/utils/request";
export function getNoticeList(query) {
return request({
url: "/api/v1/system/notice/list",
method: "get",
params: query,
});
}
export function getNoticeListAvailable() {
return request({
url: "/api/v1/system/notice/info",
method: "get",
});
}
export function getNoticeDetail(query) {
return request({
url: "/api/v1/system/notice/detail",
method: "get",
params: query,
});
}
export function createNotice(body) {
return request({
url: "/api/v1/system/notice/create",
method: "post",
data: body,
});
}
export function updateNotice(body) {
return request({
url: "/api/v1/system/notice/update",
method: "put",
data: body,
});
}
export function deleteNotice(query) {
return request({
url: "/api/v1/system/notice/delete",
method: "delete",
params: query,
});
}
export function batchAvailableNotice(body) {
return request({
url: "/api/v1/system/notice/available/setting",
method: "patch",
data: body,
});
}
export function exportNotice(body) {
return request({
url: "/api/v1/system/notice/export",
method: "post",
data: body,
responseType: 'blob'
});
}
+104
View File
@@ -0,0 +1,104 @@
import request from "@/utils/request";
const NoticeAPI = {
getNoticeList(query: NoticePageQuery) {
return request<ApiResponse<PageResult<NoticeTable[]>>>({
url: `/system/notice/list`,
method: "get",
params: query,
});
},
getNoticeListAvailable() {
return request<ApiResponse<PageResult<NoticeTable[]>>>({
url: `/system/notice/info`,
method: "get",
});
},
getNoticeDetail(query: any) {
return request<ApiResponse<NoticeTable>>({
url: `/system/notice/detail`,
method: "get",
params: query,
});
},
createNotice(body: NoticeForm) {
return request<ApiResponse>({
url: `/system/notice/create`,
method: "post",
data: body,
});
},
updateNotice(body: NoticeForm) {
return request<ApiResponse>({
url: `/system/notice/update`,
method: "put",
data: body,
});
},
deleteNotice(query: any) {
return request<ApiResponse>({
url: `/system/notice/delete`,
method: "delete",
params: query,
});
},
batchAvailableNotice(body: any) {
return request<ApiResponse>({
url: `/system/notice/available/setting`,
method: "patch",
data: body,
});
},
exportNotice(body: any) {
return request<ApiResponse>({
url: `/system/notice/export`,
method: "post",
data: body,
responseType: "blob",
});
},
};
export default NoticeAPI;
export interface NoticePageQuery extends PageQuery {
/** 通知标题 */
notice_title?: string;
/** 通知类型 */
notice_type?: string;
/** 通知状态 */
status?: boolean;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface NoticeTable {
index?: number;
id?: number;
notice_title?: string;
notice_type?: string;
notice_content?: string;
status?: boolean;
description?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
}
export interface NoticeForm {
id?: number;
notice_title?: string;
notice_type?: string;
notice_content?: string;
status?: boolean;
description?: string;
}
-58
View File
@@ -1,58 +0,0 @@
import request from "@/utils/request";
export function getPositionList(query) {
return request({
url: "/api/v1/system/position/list",
method: "get",
params: query,
});
}
export function getPositionDetail(query) {
return request({
url: "/api/v1/system/position/detail",
method: "get",
params: query,
});
}
export function createPosition(body) {
return request({
url: "/api/v1/system/position/create",
method: "post",
data: body,
});
}
export function updatePosition(body) {
return request({
url: "/api/v1/system/position/update",
method: "put",
data: body,
});
}
export function deletePosition(query) {
return request({
url: "/api/v1/system/position/delete",
method: "delete",
params: query,
});
}
export function batchAvailablePosition(body) {
return request({
url: "/api/v1/system/position/available/setting",
method: "patch",
data: body,
});
}
export function exportPosition(body) {
return request({
url: "/api/v1/system/position/export",
method: "post",
data: body,
responseType: 'blob'
});
}
+91
View File
@@ -0,0 +1,91 @@
import request from "@/utils/request";
const PositionAPI = {
getPositionList(query: PositionPageQuery) {
return request<ApiResponse<PageResult<PositionTable[]>>>({
url: `/system/position/list`,
method: "get",
params: query,
});
},
getPositionDetail(query: any) {
return request<ApiResponse<PositionTable>>({
url: `/system/position/detail`,
method: "get",
params: query,
});
},
createPosition(body: PositionForm) {
return request<ApiResponse>({
url: `/system/position/create`,
method: "post",
data: body,
});
},
updatePosition(body: PositionForm) {
return request<ApiResponse>({
url: `/system/position/update`,
method: "put",
data: body,
});
},
deletePosition(query: any) {
return request<ApiResponse>({
url: `/system/position/delete`,
method: "delete",
params: query,
});
},
batchAvailablePosition(body: any) {
return request<ApiResponse>({
url: `/system/position/available/setting`,
method: "patch",
data: body,
});
},
exportPosition(body: any) {
return request<ApiResponse>({
url: `/system/position/export`,
method: "post",
data: body,
responseType: "blob",
});
},
};
export default PositionAPI;
export interface PositionPageQuery extends PageQuery {
name?: string;
status?: boolean;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface PositionTable {
index?: number;
id?: number;
name?: string;
order?: number;
status?: boolean;
description?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
}
export interface PositionForm {
id?: number;
name?: string;
order?: number;
status?: boolean;
description?: string;
}
-66
View File
@@ -1,66 +0,0 @@
import request from "@/utils/request";
export function getRoleList(query) {
return request({
url: "/api/v1/system/role/list",
method: "get",
params: query,
});
}
export function getRoleDetail(query) {
return request({
url: "/api/v1/system/role/detail",
method: "get",
params: query,
});
}
export function createRole(body) {
return request({
url: "/api/v1/system/role/create",
method: "post",
data: body,
});
}
export function updateRole(body) {
return request({
url: "/api/v1/system/role/update",
method: "put",
data: body,
});
}
export function deleteRole(query) {
return request({
url: "/api/v1/system/role/delete",
method: "delete",
params: query,
});
}
export function batchAvailableRole(body) {
return request({
url: "/api/v1/system/role/available/setting",
method: "patch",
data: body,
});
}
export function setPermission(body) {
return request({
url: "/api/v1/system/role/permission/setting",
method: "patch",
data: body,
});
}
export function exportRole(body) {
return request({
url: "/api/v1/system/role/export",
method: "post",
data: body,
responseType: 'blob'
});
}
+132
View File
@@ -0,0 +1,132 @@
import request from "@/utils/request";
const RoleAPI = {
getRoleList(query: TablePageQuery) {
return request<ApiResponse<PageResult<RoleTable[]>>>({
url: `/system/role/list`,
method: "get",
params: query,
});
},
getRoleDetail(query: any) {
return request<ApiResponse<RoleTable>>({
url: `/system/role/detail`,
method: "get",
params: query,
});
},
createRole(body: RoleForm) {
return request<ApiResponse>({
url: `/system/role/create`,
method: "post",
data: body,
});
},
updateRole(body: RoleForm) {
return request<ApiResponse>({
url: `/system/role/update`,
method: "put",
data: body,
});
},
deleteRole(query: any) {
return request<ApiResponse>({
url: `/system/role/delete`,
method: "delete",
params: query,
});
},
batchAvailableRole(body: any) {
return request<ApiResponse>({
url: `/system/role/available/setting`,
method: "patch",
data: body,
});
},
setPermission(body: permissionDataType) {
return request<ApiResponse>({
url: `/system/role/permission/setting`,
method: "patch",
data: body,
});
},
exportRole(body: any) {
return request<ApiResponse>({
url: `/system/role/export`,
method: "post",
data: body,
responseType: "blob",
});
},
};
export default RoleAPI;
export interface TablePageQuery extends PageQuery {
name?: string;
status?: boolean;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface RoleTable {
index?: number;
id?: number;
name?: string;
order?: number;
data_scope?: number;
status?: boolean;
menus?: permissionMenuType[];
depts?: permissionDeptType[];
description?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
}
export interface RoleForm {
id?: number;
name?: string;
order?: number;
status?: boolean;
description?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
menus?: permissionMenuType[];
depts?: permissionDeptType[];
}
export interface permissionDataType {
role_ids?: RoleTable["id"][];
menu_ids?: permissionMenuType["id"][];
data_scope?: number;
dept_ids?: number[];
}
export interface permissionDeptType {
id?: number;
name?: string;
parent_id?: number;
children?: permissionDeptType[];
}
export interface permissionMenuType {
id?: number;
name?: string;
type?: number;
permission?: string;
parent_id?: number;
status?: boolean;
description?: string;
children?: permissionMenuType[];
}
-125
View File
@@ -1,125 +0,0 @@
import request from "@/utils/request";
export function getCurrentUserInfo() {
return request({
url: "/api/v1/system/user/current/info",
method: "get",
});
}
export function uploadCurrentUserAvatar(body) {
return request({
url: "/api/v1/system/user/current/avatar/upload",
method: "post",
data: body,
headers: { "Content-Type": "multipart/form-data" },
});
}
export function updateCurrentUserInfo(body) {
return request({
url: "/api/v1/system/user/current/info/update",
method: "put",
data: body,
});
}
export function changeCurrentUserPassword(body) {
return request({
url: "/api/v1/system/user/current/password/change",
method: "put",
data: body,
});
}
export function registerUser(body) {
return request({
url: "/api/v1/system/user/register",
method: "post",
data: body,
});
}
export function forgetPassword(body) {
return request({
url: "/api/v1/system/user/forget/password",
method: "post",
data: body,
});
}
export function getUserList(query) {
return request({
url: "/api/v1/system/user/list",
method: "get",
params: query,
});
}
export function getUserDetail(query) {
return request({
url: "/api/v1/system/user/detail",
method: "get",
params: query,
});
}
export function createUser(body) {
return request({
url: "/api/v1/system/user/create",
method: "post",
data: body,
});
}
export function updateUser(body) {
return request({
url: "/api/v1/system/user/update",
method: "put",
data: body,
});
}
export function deleteUser(query) {
return request({
url: "/api/v1/system/user/delete",
method: "delete",
params: query,
});
}
export function batchAvailableUser(body) {
return request({
url: "/api/v1/system/user/available/setting",
method: "patch",
data: body,
});
}
export function exportUser(query) {
return request({
url: '/api/v1/system/user/export',
method: 'post',
params: query,
responseType: 'blob'
})
}
export function downloadTemplate() {
return request({
url: '/api/v1/system/user/import/template',
method: 'post',
responseType: 'blob'
})
}
export function importUser(data) {
return request({
url: '/api/v1/system/user/import/data',
method: 'post',
data: data,
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
+246
View File
@@ -0,0 +1,246 @@
import request from "@/utils/request";
import { MenuTable } from "@/api/system/menu";
export const UserAPI = {
getCurrentUserInfo() {
return request<ApiResponse<UserInfo>>({
url: `/system/user/current/info`,
method: "get",
});
},
uploadCurrentUserAvatar(body: any) {
return request<ApiResponse>({
url: `/system/user/current/avatar/upload`,
method: "post",
data: body,
headers: { "Content-Type": "multipart/form-data" },
});
},
updateCurrentUserInfo(body: any) {
return request<ApiResponse>({
url: `/system/user/current/info/update`,
method: "put",
data: body,
});
},
changeCurrentUserPassword(body: any) {
return request<ApiResponse>({
url: `/system/user/current/password/change`,
method: "put",
data: body,
});
},
registerUser(body: RegisterForm) {
return request<ApiResponse>({
url: `/system/user/register`,
method: "post",
data: body,
});
},
forgetPassword(body: ForgetPasswordForm) {
return request<ApiResponse>({
url: `/system/user/forget/password`,
method: "post",
data: body,
});
},
getUserList(query: any) {
return request<ApiResponse>({
url: `/system/user/list`,
method: "get",
params: query,
});
},
getUserDetail(query: any) {
return request<ApiResponse>({
url: `/system/user/detail`,
method: "get",
params: query,
});
},
createUser(body: any) {
return request<ApiResponse>({
url: `/system/user/create`,
method: "post",
data: body,
});
},
updateUser(body: any) {
return request<ApiResponse>({
url: `/system/user/update`,
method: "put",
data: body,
});
},
deleteUser(query: any) {
return request<ApiResponse>({
url: `/system/user/delete`,
method: "delete",
params: query,
});
},
batchAvailableUser(body: any) {
return request<ApiResponse>({
url: `/system/user/available/setting`,
method: "patch",
data: body,
});
},
exportUser(query: any) {
return request<ApiResponse>({
url: `/system/user/export`,
method: "post",
params: query,
responseType: "blob",
});
},
downloadTemplate() {
return request<ApiResponse>({
url: `/system/user/import/template`,
method: "post",
responseType: "blob",
});
},
importUser(body: any) {
return request<ApiResponse>({
url: `/system/user/import/data`,
method: "post",
data: body,
headers: {
"Content-Type": "multipart/form-data",
},
});
},
};
export default UserAPI;
export interface ForgetPasswordForm {
username: string;
new_password: string;
confirmPassword: string;
}
export interface RegisterForm {
username: string;
password: string;
confirmPassword: string;
}
export interface UserPageQuery extends PageQuery {
username?: string;
name?: string;
status?: boolean;
dept_id?: number;
/** 开始时间 */
start_time?: string;
/** 结束时间 */
end_time?: string;
}
export interface searchSelectDataType {
name?: string;
status?: string;
}
export interface UserInfo {
index?: number;
id?: number;
username?: string;
name?: string;
avatar?: string;
email?: string;
mobile?: string;
gender?: string;
password?: string;
menus?: MenuTable[];
dept?: deptTreeType;
dept_id?: deptTreeType["id"];
dept_name?: deptTreeType["name"];
roles?: roleSelectorType[];
roleNames?: string;
role_ids?: roleSelectorType["id"][];
positions?: positionSelectorType[];
positionNames?: string;
position_ids?: positionSelectorType["id"][];
is_superuser?: boolean;
status?: boolean;
description?: string;
last_login?: string;
created_at?: string;
updated_at?: string;
creator?: creatorType;
}
export interface deptTreeType {
id?: number;
name?: string;
parent_id?: number;
children?: deptTreeType[];
}
export interface roleSelectorType {
id?: number;
name?: string;
status?: boolean;
description?: string;
}
export interface positionSelectorType {
id?: number;
name?: string;
status?: boolean;
description?: string;
}
export interface InfoFormState {
name: string;
gender: number;
mobile: string;
email: string;
username: string;
dept_name: string;
positions: positionSelectorType[];
roles: roleSelectorType[];
avatar: string;
created_at: string;
}
export interface PasswordFormState {
oldPassword: string;
newPassword: string;
confirmPassword: string;
}
export interface UserForm {
id: undefined;
username: string;
name: string;
dept_id?: undefined | number;
dept_name?: undefined | string;
role_ids?: undefined | number[];
roleNames?: undefined | string;
position_ids?: undefined | number[];
positionNames?: undefined | string;
password: string;
gender?: undefined | number;
email?: string;
mobile?: string;
is_superuser?: boolean;
status?: boolean;
description?: string;
}