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

View File

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

View File

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

View File

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

View File

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

View File

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