refactor: ♻️ aPI 路径基础 URL 提取

This commit is contained in:
hxr
2024-06-17 08:12:41 +08:00
parent e2cecf2905
commit 1449b078b1
6 changed files with 163 additions and 97 deletions

View File

@@ -1,12 +1,14 @@
import request from "@/utils/request";
import { CaptchaResult, LoginData, LoginResult } from "./model";
const AUTH_BASE_URL = "/api/v1/auth";
class AuthAPI {
/**
* 登录API
*
* @param data {LoginData}
* @returns
* @param data 登录数据
* @returns 登录结果
*/
static login(data: LoginData) {
const formData = new FormData();
@@ -15,7 +17,7 @@ class AuthAPI {
formData.append("captchaKey", data.captchaKey || "");
formData.append("captchaCode", data.captchaCode || "");
return request<any, LoginResult>({
url: "/api/v1/auth/login",
url: `${AUTH_BASE_URL}/login`,
method: "post",
data: formData,
headers: {
@@ -26,20 +28,24 @@ class AuthAPI {
/**
* 注销API
*
* @returns 请求结果
*/
static logout() {
return request({
url: "/api/v1/auth/logout",
url: `${AUTH_BASE_URL}/logout`,
method: "delete",
});
}
/**
* 获取验证码
*
* @returns 验证码结果
*/
static getCaptcha() {
return request<any, CaptchaResult>({
url: "/api/v1/auth/captcha",
url: `${AUTH_BASE_URL}/captcha`,
method: "get",
});
}

View File

@@ -1,38 +1,44 @@
import request from "@/utils/request";
import { DeptForm, DeptQuery, DeptVO } from "./model";
const DEPT_BASE_URL = "/api/v1/dept";
class DeptAPI {
/**
* 部门树形表格
* 获取部门树形表格列表
*
* @param queryParams
* @param queryParams 查询参数(可选)
* @returns 部门树形表格数据
*/
static getList(queryParams?: DeptQuery) {
return request<any, DeptVO[]>({
url: "/api/v1/dept",
url: `${DEPT_BASE_URL}`,
method: "get",
params: queryParams,
});
}
/**
* 部门下拉列表
* 获取部门下拉列表选项
*
* @returns 部门下拉列表选项
*/
static getOptions() {
return request<any, OptionType[]>({
url: "/api/v1/dept/options",
url: `${DEPT_BASE_URL}/options`,
method: "get",
});
}
/**
* 获取部门详情
* 获取部门详情表单数据
*
* @param id
* @param id 部门ID
* @returns 部门详情表单数据
*/
static getFormData(id: number) {
return request<any, DeptForm>({
url: "/api/v1/dept/" + id + "/form",
url: `${DEPT_BASE_URL}/${id}/form`,
method: "get",
});
}
@@ -40,25 +46,27 @@ class DeptAPI {
/**
* 新增部门
*
* @param data
* @param data 部门表单数据
* @returns 请求结果
*/
static add(data: DeptForm) {
return request({
url: "/api/v1/dept",
url: `${DEPT_BASE_URL}`,
method: "post",
data: data,
});
}
/**
* 修改部门
* 修改部门
*
* @param id
* @param data
* @param id 部门ID
* @param data 部门表单数据
* @returns 请求结果
*/
static update(id: number, data: DeptForm) {
return request({
url: "/api/v1/dept/" + id,
url: `${DEPT_BASE_URL}/${id}`,
method: "put",
data: data,
});
@@ -67,11 +75,12 @@ class DeptAPI {
/**
* 删除部门
*
* @param ids
* @param ids 部门ID多个以英文逗号(,)分隔
* @returns 请求结果
*/
static deleteByIds(ids: string) {
return request({
url: "/api/v1/dept/" + ids,
url: `${DEPT_BASE_URL}/${ids}`,
method: "delete",
});
}

View File

@@ -8,28 +8,32 @@ import {
DictPageResult,
} from "./model";
const DICT_BASE_URL = "/api/v1/dict";
class DictAPI {
/**
* 字典类型分页列表
* 获取字典类型分页列表
*
* @param queryParams
* @param queryParams 查询参数
* @returns 字典类型分页结果
*/
static getDictTypePage(queryParams: DictTypeQuery) {
return request<any, DictTypePageResult>({
url: "/api/v1/dict/types/page",
url: `${DICT_BASE_URL}/types/page`,
method: "get",
params: queryParams,
});
}
/**
* 字典类型表单数据
* 获取字典类型表单数据
*
* @param id
* @param id 字典类型ID
* @returns 字典类型表单数据
*/
static getDictTypeForm(id: number) {
return request<any, ResponseData<DictTypeForm>>({
url: "/api/v1/dict/types/" + id + "/form",
url: `${DICT_BASE_URL}/types/${id}/form`,
method: "get",
});
}
@@ -37,11 +41,12 @@ class DictAPI {
/**
* 新增字典类型
*
* @param data
* @param data 字典类型表单数据
* @returns 请求结果
*/
static addDictType(data: DictTypeForm) {
return request({
url: "/api/v1/dict/types",
url: `${DICT_BASE_URL}/types`,
method: "post",
data: data,
});
@@ -50,12 +55,13 @@ class DictAPI {
/**
* 修改字典类型
*
* @param id
* @param data
* @param id 字典类型ID
* @param data 字典类型表单数据
* @returns 请求结果
*/
static updateDictType(id: number, data: DictTypeForm) {
return request({
url: "/api/v1/dict/types/" + id,
url: `${DICT_BASE_URL}/types/${id}`,
method: "put",
data: data,
});
@@ -63,10 +69,13 @@ class DictAPI {
/**
* 删除字典类型
*
* @param ids 字典类型ID多个以英文逗号(,)分隔
* @returns 请求结果
*/
static deleteDictTypes(ids: string) {
return request({
url: "/api/v1/dict/types/" + ids,
url: `${DICT_BASE_URL}/types/${ids}`,
method: "delete",
});
}
@@ -75,20 +84,24 @@ class DictAPI {
* 获取字典类型的数据项
*
* @param typeCode 字典类型编码
* @returns 字典类型的数据项
*/
static getDictOptions(typeCode: string) {
return request<any, OptionType[]>({
url: "/api/v1/dict/" + typeCode + "/options",
url: `${DICT_BASE_URL}/${typeCode}/options`,
method: "get",
});
}
/**
* 字典分页列表
* 获取字典分页列表
*
* @param queryParams 查询参数
* @returns 字典分页结果
*/
static getDictPage(queryParams: DictQuery) {
return request<any, DictPageResult>({
url: "/api/v1/dict/page",
url: `${DICT_BASE_URL}/page`,
method: "get",
params: queryParams,
});
@@ -97,11 +110,12 @@ class DictAPI {
/**
* 获取字典表单数据
*
* @param id
* @param id 字典项ID
* @returns 字典表单数据
*/
static getDictFormData(id: number) {
return request<any, DictForm>({
url: "/api/v1/dict/" + id + "/form",
url: `${DICT_BASE_URL}/${id}/form`,
method: "get",
});
}
@@ -109,11 +123,12 @@ class DictAPI {
/**
* 新增字典
*
* @param data
* @param data 字典表单数据
* @returns 请求结果
*/
static addDict(data: DictForm) {
return request({
url: "/api/v1/dict",
url: `${DICT_BASE_URL}`,
method: "post",
data: data,
});
@@ -122,12 +137,13 @@ class DictAPI {
/**
* 修改字典项
*
* @param id
* @param data
* @param id 字典项ID
* @param data 字典表单数据
* @returns 请求结果
*/
static updateDict(id: number, data: DictForm) {
return request({
url: "/api/v1/dict/" + id,
url: `${DICT_BASE_URL}/${id}`,
method: "put",
data: data,
});
@@ -136,11 +152,12 @@ class DictAPI {
/**
* 删除字典
*
* @param ids 字典项ID多个以英文逗号(,)分
* @param ids 字典项ID多个以英文逗号(,)分
* @returns 请求结果
*/
static deleteDictByIds(ids: string) {
return request({
url: "/api/v1/dict/" + ids,
url: `${DICT_BASE_URL}/${ids}`,
method: "delete",
});
}

View File

@@ -1,13 +1,17 @@
import request from "@/utils/request";
import { MenuQuery, MenuVO, MenuForm, RouteVO } from "./model";
const MENU_BASE_URL = "/api/v1/menus";
class MenuAPI {
/**
* 获取路由列表
*
* @returns 路由列表
*/
static getRoutes() {
return request<any, RouteVO[]>({
url: "/api/v1/menus/routes",
url: `${MENU_BASE_URL}/routes`,
method: "get",
});
}
@@ -15,11 +19,12 @@ class MenuAPI {
/**
* 获取菜单树形列表
*
* @param queryParams
* @param queryParams 查询参数
* @returns 菜单树形列表
*/
static getList(queryParams: MenuQuery) {
return request<any, MenuVO[]>({
url: "/api/v1/menus",
url: `${MENU_BASE_URL}`,
method: "get",
params: queryParams,
});
@@ -27,10 +32,12 @@ class MenuAPI {
/**
* 获取菜单下拉数据源
*
* @returns 菜单下拉数据源
*/
static getOptions() {
return request<any, OptionType[]>({
url: "/api/v1/menus/options",
url: `${MENU_BASE_URL}/options`,
method: "get",
});
}
@@ -38,11 +45,12 @@ class MenuAPI {
/**
* 获取菜单表单数据
*
* @param id
* @param id 菜单ID
* @returns 菜单表单数据
*/
static getFormData(id: number) {
return request<any, MenuForm>({
url: "/api/v1/menus/" + id + "/form",
url: `${MENU_BASE_URL}/${id}/form`,
method: "get",
});
}
@@ -50,11 +58,12 @@ class MenuAPI {
/**
* 添加菜单
*
* @param data
* @param data 菜单表单数据
* @returns 请求结果
*/
static add(data: MenuForm) {
return request({
url: "/api/v1/menus",
url: `${MENU_BASE_URL}`,
method: "post",
data: data,
});
@@ -63,12 +72,13 @@ class MenuAPI {
/**
* 修改菜单
*
* @param id
* @param data
* @param id 菜单ID
* @param data 菜单表单数据
* @returns 请求结果
*/
static update(id: string, data: MenuForm) {
return request({
url: "/api/v1/menus/" + id,
url: `${MENU_BASE_URL}/${id}`,
method: "put",
data: data,
});
@@ -78,10 +88,11 @@ class MenuAPI {
* 删除菜单
*
* @param id 菜单ID
* @returns 请求结果
*/
static deleteById(id: number) {
return request({
url: "/api/v1/menus/" + id,
url: `${MENU_BASE_URL}/${id}`,
method: "delete",
});
}

View File

@@ -1,15 +1,18 @@
import request from "@/utils/request";
import { RoleQuery, RolePageResult, RoleForm } from "./model";
const ROLE_BASE_URL = "/api/v1/roles";
class RoleAPI {
/**
* 获取角色分页数据
*
* @param queryParams
* @param queryParams 查询参数
* @returns 角色分页数据
*/
static getPage(queryParams?: RoleQuery) {
return request<any, RolePageResult>({
url: "/api/v1/roles/page",
url: `${ROLE_BASE_URL}/page`,
method: "get",
params: queryParams,
});
@@ -18,11 +21,12 @@ class RoleAPI {
/**
* 获取角色下拉数据源
*
* @param queryParams
* @param queryParams 查询参数(可选)
* @returns 角色下拉数据源
*/
static getOptions(queryParams?: RoleQuery) {
return request<any, OptionType[]>({
url: "/api/v1/roles/options",
url: `${ROLE_BASE_URL}/options`,
method: "get",
params: queryParams,
});
@@ -31,11 +35,12 @@ class RoleAPI {
/**
* 获取角色的菜单ID集合
*
* @param queryParams
* @param roleId 角色ID
* @returns 角色的菜单ID集合
*/
static getRoleMenuIds(roleId: number) {
return request<any, number[]>({
url: "/api/v1/roles/" + roleId + "/menuIds",
url: `${ROLE_BASE_URL}/${roleId}/menuIds`,
method: "get",
});
}
@@ -43,11 +48,13 @@ class RoleAPI {
/**
* 分配菜单权限给角色
*
* @param queryParams
* @param roleId 角色ID
* @param data 菜单ID集合
* @returns 请求结果
*/
static updateRoleMenus(roleId: number, data: number[]) {
return request({
url: "/api/v1/roles/" + roleId + "/menus",
url: `${ROLE_BASE_URL}/${roleId}/menus`,
method: "put",
data: data,
});
@@ -56,11 +63,12 @@ class RoleAPI {
/**
* 获取角色表单数据
*
* @param id
* @param id 角色ID
* @returns 角色表单数据
*/
static getFormData(id: number) {
return request<any, RoleForm>({
url: "/api/v1/roles/" + id + "/form",
url: `${ROLE_BASE_URL}/${id}/form`,
method: "get",
});
}
@@ -68,11 +76,12 @@ class RoleAPI {
/**
* 添加角色
*
* @param data
* @param data 角色表单数据
* @returns 请求结果
*/
static add(data: RoleForm) {
return request({
url: "/api/v1/roles",
url: `${ROLE_BASE_URL}`,
method: "post",
data: data,
});
@@ -81,12 +90,13 @@ class RoleAPI {
/**
* 更新角色
*
* @param id
* @param data
* @param id 角色ID
* @param data 角色表单数据
* @returns 请求结果
*/
static update(id: number, data: RoleForm) {
return request({
url: "/api/v1/roles/" + id,
url: `${ROLE_BASE_URL}/${id}`,
method: "put",
data: data,
});
@@ -95,11 +105,12 @@ class RoleAPI {
/**
* 批量删除角色,多个以英文逗号(,)分割
*
* @param ids
* @param ids 角色ID字符串多个以英文逗号(,)分割
* @returns 请求结果
*/
static deleteByIds(ids: string) {
return request({
url: "/api/v1/roles/" + ids,
url: `${ROLE_BASE_URL}/${ids}`,
method: "delete",
});
}

View File

@@ -1,13 +1,17 @@
import request from "@/utils/request";
import { UserForm, UserInfo, UserPageVO, UserQuery } from "./model";
const USER_BASE_URL = "/api/v1/users";
class UserAPI {
/**
* 登录成功后获取用户信息(昵称、头像、权限集合和角色集合)
*
* @returns 用户信息
*/
static getInfo() {
return request<any, UserInfo>({
url: "/api/v1/users/me",
url: `${USER_BASE_URL}/me`,
method: "get",
});
}
@@ -15,11 +19,12 @@ class UserAPI {
/**
* 获取用户分页列表
*
* @param queryParams
* @param queryParams 查询参数
* @returns 用户分页列表
*/
static getPage(queryParams: UserQuery) {
return request<any, PageResult<UserPageVO[]>>({
url: "/api/v1/users/page",
url: `${USER_BASE_URL}/page`,
method: "get",
params: queryParams,
});
@@ -28,11 +33,12 @@ class UserAPI {
/**
* 获取用户表单详情
*
* @param userId
* @param userId 用户ID
* @returns 用户表单详情
*/
static getFormData(userId: number) {
return request<any, UserForm>({
url: "/api/v1/users/" + userId + "/form",
url: `${USER_BASE_URL}/${userId}/form`,
method: "get",
});
}
@@ -40,11 +46,12 @@ class UserAPI {
/**
* 添加用户
*
* @param data
* @param data 用户表单数据
* @returns 请求结果
*/
static add(data: UserForm) {
return request({
url: "/api/v1/users",
url: `${USER_BASE_URL}`,
method: "post",
data: data,
});
@@ -53,12 +60,13 @@ class UserAPI {
/**
* 修改用户
*
* @param id
* @param data
* @param id 用户ID
* @param data 用户表单数据
* @returns 请求结果
*/
static update(id: number, data: UserForm) {
return request({
url: "/api/v1/users/" + id,
url: `${USER_BASE_URL}/${id}`,
method: "put",
data: data,
});
@@ -67,25 +75,27 @@ class UserAPI {
/**
* 修改用户密码
*
* @param id
* @param password
* @param id 用户ID
* @param password 新密码
* @returns 请求结果
*/
static updatePassword(id: number, password: string) {
return request({
url: "/api/v1/users/" + id + "/password",
url: `${USER_BASE_URL}/${id}/password`,
method: "patch",
params: { password: password },
});
}
/**
* 删除用户
* 批量删除用户,多个以英文逗号(,)分割
*
* @param ids
* @param ids 用户ID字符串多个以英文逗号(,)分割
* @returns 请求结果
*/
static deleteByIds(ids: string) {
return request({
url: "/api/v1/users/" + ids,
url: `${USER_BASE_URL}/${ids}`,
method: "delete",
});
}
@@ -93,11 +103,11 @@ class UserAPI {
/**
* 下载用户导入模板
*
* @returns
* @returns 用户导入模板文件
*/
static downloadTemplate() {
return request({
url: "/api/v1/users/template",
url: `${USER_BASE_URL}/template`,
method: "get",
responseType: "arraybuffer",
});
@@ -106,12 +116,12 @@ class UserAPI {
/**
* 导出用户
*
* @param queryParams
* @returns
* @param queryParams 查询参数
* @returns 导出文件
*/
static export(queryParams: UserQuery) {
return request({
url: "/api/v1/users/export",
url: `${USER_BASE_URL}/export`,
method: "get",
params: queryParams,
responseType: "arraybuffer",
@@ -121,13 +131,15 @@ class UserAPI {
/**
* 导入用户
*
* @param file
* @param deptId 部门ID
* @param file 导入文件
* @returns 请求结果
*/
static import(deptId: number, file: File) {
const formData = new FormData();
formData.append("file", file);
return request({
url: "/api/v1/users/import",
url: `${USER_BASE_URL}/import`,
method: "post",
params: { deptId: deptId },
data: formData,