发布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
+81
View File
@@ -0,0 +1,81 @@
import request from "@/utils/request";
const FileAPI = {
/**
* 上传文件
*
* @param formData
*/
upload(formData: FormData) {
return request<any, FileInfo>({
url: "/api/v1/files",
method: "post",
data: formData,
headers: {
"Content-Type": "multipart/form-data",
},
});
},
/**
* 上传文件
*/
uploadFile(file: File) {
const formData = new FormData();
formData.append("file", file);
return request<any, FileInfo>({
url: "/api/v1/files",
method: "post",
data: formData,
headers: {
"Content-Type": "multipart/form-data",
},
});
},
/**
* 删除文件
*
* @param filePath 文件完整路径
*/
delete(filePath?: string) {
return request({
url: "/api/v1/files",
method: "delete",
params: { filePath },
});
},
/**
* 下载文件
* @param url
* @param fileName
*/
download(url: string, fileName?: string) {
return request({
url,
method: "get",
responseType: "blob",
}).then((res) => {
const blob = new Blob([res.data]);
const a = document.createElement("a");
const url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName || "下载文件";
a.click();
window.URL.revokeObjectURL(url);
});
},
};
export default FileAPI;
/**
* 文件API类型声明
*/
export interface FileInfo {
/** 文件名 */
name: string;
/** 文件路径 */
url: string;
}
-51
View File
@@ -1,51 +0,0 @@
import request from "@/utils/request";
export function getCacheInfo(query) {
return request({
url: "/api/v1/monitor/cache/info",
method: "get",
params: query,
});
}
export function getCacheNames() {
return request({
url: "/api/v1/monitor/cache/get/names",
method: "get",
});
}
export function getCacheKeys(cacheName) {
return request({
url: `/api/v1/monitor/cache/get/keys/${cacheName}`,
method: "get",
});
}
export function getCacheValue(cacheName, cacheKey) {
return request({
url: `/api/v1/monitor/cache/get/value/${cacheName}/${cacheKey}`,
method: "get",
});
}
export function deleteCacheName(cacheName) {
return request({
url: `/api/v1/monitor/cache/delete/name/${cacheName}`,
method: "delete",
});
}
export function deleteCacheKey(cacheKey) {
return request({
url: `/api/v1/monitor/cache/delete/key/${cacheKey}`,
method: "delete",
});
}
export function deleteCacheAll() {
return request({
url: "/api/v1/monitor/cache/delete/all",
method: "delete",
});
}
+93
View File
@@ -0,0 +1,93 @@
import request from "@/utils/request";
const CacheAPI = {
getCacheInfo() {
return request<ApiResponse>({
url: `/monitor/cache/info`,
method: "get",
});
},
getCacheNames() {
return request<ApiResponse>({
url: `/monitor/cache/get/names`,
method: "get",
});
},
getCacheKeys(cacheName: string) {
return request<ApiResponse>({
url: `/monitor/cache/get/keys/${cacheName}`,
method: "get",
});
},
getCacheValue(cacheName: string, cacheKey: string) {
return request<ApiResponse>({
url: `/monitor/cache/get/value/${cacheName}/${cacheKey}`,
method: "get",
});
},
deleteCacheName(cacheName: string) {
return request<ApiResponse>({
url: `/monitor/cache/delete/name/${cacheName}`,
method: "delete",
});
},
deleteCacheKey(cacheKey: string) {
return request<ApiResponse>({
url: `/monitor/cache/delete/key/${cacheKey}`,
method: "delete",
});
},
deleteCacheAll() {
return request<ApiResponse>({
url: "/monitor/cache/delete/all",
method: "delete",
});
},
};
export default CacheAPI;
export interface CacheForm {
cache_name: string;
cache_key: string;
cache_value: string;
}
export interface CacheInfo {
cache_key: string;
cache_name: string;
cache_value: string;
remark: string;
}
export interface CommandStats {
name: string;
value: string;
}
export interface RedisInfo {
redis_version: string;
redis_mode: string;
tcp_port: number;
connected_clients: number;
uptime_in_days: number;
used_memory_human: string;
used_cpu_user_children: string;
maxmemory_human: string;
aof_enabled: string;
rdb_last_bgsave_status: string;
instantaneous_input_kbps: number;
instantaneous_output_kbps: number;
}
export interface CacheMonitor {
command_stats: CommandStats[];
db_size: number;
info: RedisInfo;
}
-19
View File
@@ -1,19 +0,0 @@
import request from "@/utils/request";
// 查询在线用户列表
export function getOnlineList(query) {
return request({
url: '/api/v1/monitor/online/list',
method: 'get',
params: query
})
}
// 强退用户
export function deleteOnline(body) {
return request({
url: "/api/v1/monitor/online/delete",
method: "delete",
data: body,
});
}
+41
View File
@@ -0,0 +1,41 @@
import request from "@/utils/request";
const OnlineAPI = {
// 查询在线用户列表
getOnlineList(query: OnlineUserPageQuery) {
return request<ApiResponse<PageResult<OnlineUserTable[]>>>({
url: `/monitor/online/list`,
method: "get",
params: query,
});
},
// 强退用户
deleteOnline(body: any) {
return request<ApiResponse>({
url: `/monitor/online/delete`,
method: "delete",
data: body,
});
},
};
export default OnlineAPI;
export interface OnlineUserPageQuery extends PageQuery {
ipaddr?: string;
name?: string;
login_location?: string;
}
export interface OnlineUserTable {
session_id: string;
user_id: number;
name: string;
user_name: string;
ipaddr: string;
login_location: string;
os: string;
browser: string;
login_time: string;
}
-9
View File
@@ -1,9 +0,0 @@
import request from "@/utils/request";
// 获取服务信息
export function getServer() {
return request({
url: '/api/v1/monitor/server/info',
method: 'get'
})
}
+65
View File
@@ -0,0 +1,65 @@
import request from "@/utils/request";
const ServerAPI = {
// 获取服务信息
getServer() {
return request<ApiResponse>({
url: `/monitor/server/info`,
method: "get",
});
},
};
export default ServerAPI;
export interface Cpu {
cpu_num: number;
used: number;
sys: number;
free: number;
}
export interface Memory {
total: string;
used: string;
free: string;
usage: number;
}
export interface System {
computer_name: string;
os_name: string;
computer_ip: string;
os_arch: string;
user_dir: string;
}
export interface Python {
name: string;
version: string;
start_time: string;
run_time: string;
home: string;
memory_total: string;
memory_used: string;
memory_free: string;
memory_usage: number;
}
export interface SysFile {
dirName: string;
sysTypeName: string;
typeName: string;
total: string;
free: string;
used: string;
usage: number;
}
export interface ServerInfo {
cpu: Cpu;
mem: Memory;
sys: System;
py: Python;
disks: SysFile[];
}
-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;
}