Merge pull request #79 from cshaptx4869/patch-41
refactor: ♻️ 优化axios响应数据TS类型提示
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
import { AxiosPromise } from "axios";
|
|
||||||
import { CaptchaResult, LoginData, LoginResult } from "./types";
|
import { CaptchaResult, LoginData, LoginResult } from "./types";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -8,13 +7,13 @@ import { CaptchaResult, LoginData, LoginResult } from "./types";
|
|||||||
* @param data {LoginData}
|
* @param data {LoginData}
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function loginApi(data: LoginData): AxiosPromise<LoginResult> {
|
export function loginApi(data: LoginData) {
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append("username", data.username);
|
formData.append("username", data.username);
|
||||||
formData.append("password", data.password);
|
formData.append("password", data.password);
|
||||||
formData.append("captchaKey", data.captchaKey || "");
|
formData.append("captchaKey", data.captchaKey || "");
|
||||||
formData.append("captchaCode", data.captchaCode || "");
|
formData.append("captchaCode", data.captchaCode || "");
|
||||||
return request({
|
return request<any, ResponseData<LoginResult>>({
|
||||||
url: "/api/v1/auth/login",
|
url: "/api/v1/auth/login",
|
||||||
method: "post",
|
method: "post",
|
||||||
data: formData,
|
data: formData,
|
||||||
@@ -37,8 +36,8 @@ export function logoutApi() {
|
|||||||
/**
|
/**
|
||||||
* 获取验证码
|
* 获取验证码
|
||||||
*/
|
*/
|
||||||
export function getCaptchaApi(): AxiosPromise<CaptchaResult> {
|
export function getCaptchaApi() {
|
||||||
return request({
|
return request<any, ResponseData<CaptchaResult>>({
|
||||||
url: "/api/v1/auth/captcha",
|
url: "/api/v1/auth/captcha",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
import { AxiosPromise } from "axios";
|
|
||||||
import { DeptForm, DeptQuery, DeptVO } from "./types";
|
import { DeptForm, DeptQuery, DeptVO } from "./types";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -7,8 +6,8 @@ import { DeptForm, DeptQuery, DeptVO } from "./types";
|
|||||||
*
|
*
|
||||||
* @param queryParams
|
* @param queryParams
|
||||||
*/
|
*/
|
||||||
export function listDepts(queryParams?: DeptQuery): AxiosPromise<DeptVO[]> {
|
export function listDepts(queryParams?: DeptQuery) {
|
||||||
return request({
|
return request<any, ResponseData<DeptVO[]>>({
|
||||||
url: "/api/v1/dept",
|
url: "/api/v1/dept",
|
||||||
method: "get",
|
method: "get",
|
||||||
params: queryParams,
|
params: queryParams,
|
||||||
@@ -18,8 +17,8 @@ export function listDepts(queryParams?: DeptQuery): AxiosPromise<DeptVO[]> {
|
|||||||
/**
|
/**
|
||||||
* 部门下拉列表
|
* 部门下拉列表
|
||||||
*/
|
*/
|
||||||
export function getDeptOptions(): AxiosPromise<OptionType[]> {
|
export function getDeptOptions() {
|
||||||
return request({
|
return request<any, ResponseData<OptionType[]>>({
|
||||||
url: "/api/v1/dept/options",
|
url: "/api/v1/dept/options",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
@@ -30,8 +29,8 @@ export function getDeptOptions(): AxiosPromise<OptionType[]> {
|
|||||||
*
|
*
|
||||||
* @param id
|
* @param id
|
||||||
*/
|
*/
|
||||||
export function getDeptForm(id: number): AxiosPromise<DeptForm> {
|
export function getDeptForm(id: number) {
|
||||||
return request({
|
return request<any, ResponseData<DeptForm>>({
|
||||||
url: "/api/v1/dept/" + id + "/form",
|
url: "/api/v1/dept/" + id + "/form",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
import { AxiosPromise } from "axios";
|
|
||||||
import {
|
import {
|
||||||
DictTypeQuery,
|
DictTypeQuery,
|
||||||
DictTypePageResult,
|
DictTypePageResult,
|
||||||
@@ -14,10 +13,8 @@ import {
|
|||||||
*
|
*
|
||||||
* @param queryParams
|
* @param queryParams
|
||||||
*/
|
*/
|
||||||
export function getDictTypePage(
|
export function getDictTypePage(queryParams: DictTypeQuery) {
|
||||||
queryParams: DictTypeQuery
|
return request<any, ResponseData<DictTypePageResult>>({
|
||||||
): AxiosPromise<DictTypePageResult> {
|
|
||||||
return request({
|
|
||||||
url: "/api/v1/dict/types/page",
|
url: "/api/v1/dict/types/page",
|
||||||
method: "get",
|
method: "get",
|
||||||
params: queryParams,
|
params: queryParams,
|
||||||
@@ -29,8 +26,8 @@ export function getDictTypePage(
|
|||||||
*
|
*
|
||||||
* @param id
|
* @param id
|
||||||
*/
|
*/
|
||||||
export function getDictTypeForm(id: number): AxiosPromise<DictTypeForm> {
|
export function getDictTypeForm(id: number) {
|
||||||
return request({
|
return request<any, ResponseData<DictTypeForm>>({
|
||||||
url: "/api/v1/dict/types/" + id + "/form",
|
url: "/api/v1/dict/types/" + id + "/form",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
@@ -78,8 +75,8 @@ export function deleteDictTypes(ids: string) {
|
|||||||
*
|
*
|
||||||
* @param typeCode 字典类型编码
|
* @param typeCode 字典类型编码
|
||||||
*/
|
*/
|
||||||
export function getDictOptions(typeCode: string): AxiosPromise<OptionType[]> {
|
export function getDictOptions(typeCode: string) {
|
||||||
return request({
|
return request<any, ResponseData<OptionType[]>>({
|
||||||
url: "/api/v1/dict/" + typeCode + "/options",
|
url: "/api/v1/dict/" + typeCode + "/options",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
@@ -88,10 +85,8 @@ export function getDictOptions(typeCode: string): AxiosPromise<OptionType[]> {
|
|||||||
/**
|
/**
|
||||||
* 字典分页列表
|
* 字典分页列表
|
||||||
*/
|
*/
|
||||||
export function getDictPage(
|
export function getDictPage(queryParams: DictQuery) {
|
||||||
queryParams: DictQuery
|
return request<any, ResponseData<DictPageResult>>({
|
||||||
): AxiosPromise<DictPageResult> {
|
|
||||||
return request({
|
|
||||||
url: "/api/v1/dict/page",
|
url: "/api/v1/dict/page",
|
||||||
method: "get",
|
method: "get",
|
||||||
params: queryParams,
|
params: queryParams,
|
||||||
@@ -103,8 +98,8 @@ export function getDictPage(
|
|||||||
*
|
*
|
||||||
* @param id
|
* @param id
|
||||||
*/
|
*/
|
||||||
export function getDictFormData(id: number): AxiosPromise<DictForm> {
|
export function getDictFormData(id: number) {
|
||||||
return request({
|
return request<any, ResponseData<DictForm>>({
|
||||||
url: "/api/v1/dict/" + id + "/form",
|
url: "/api/v1/dict/" + id + "/form",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
import { AxiosPromise } from "axios";
|
|
||||||
import { FileInfo } from "./types";
|
import { FileInfo } from "./types";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -7,10 +6,10 @@ import { FileInfo } from "./types";
|
|||||||
*
|
*
|
||||||
* @param file
|
* @param file
|
||||||
*/
|
*/
|
||||||
export function uploadFileApi(file: File): AxiosPromise<FileInfo> {
|
export function uploadFileApi(file: File) {
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append("file", file);
|
formData.append("file", file);
|
||||||
return request({
|
return request<any, ResponseData<FileInfo>>({
|
||||||
url: "/api/v1/files",
|
url: "/api/v1/files",
|
||||||
method: "post",
|
method: "post",
|
||||||
data: formData,
|
data: formData,
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
import { AxiosPromise } from "axios";
|
import type { RouteRecordRaw } from "vue-router";
|
||||||
import { MenuQuery, MenuVO, MenuForm } from "./types";
|
import { MenuQuery, MenuVO, MenuForm } from "./types";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取路由列表
|
* 获取路由列表
|
||||||
*/
|
*/
|
||||||
export function listRoutes() {
|
export function listRoutes() {
|
||||||
return request({
|
return request<any, ResponseData<RouteRecordRaw[]>>({
|
||||||
url: "/api/v1/menus/routes",
|
url: "/api/v1/menus/routes",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
@@ -17,8 +17,8 @@ export function listRoutes() {
|
|||||||
*
|
*
|
||||||
* @param queryParams
|
* @param queryParams
|
||||||
*/
|
*/
|
||||||
export function listMenus(queryParams: MenuQuery): AxiosPromise<MenuVO[]> {
|
export function listMenus(queryParams: MenuQuery) {
|
||||||
return request({
|
return request<any, ResponseData<MenuVO[]>>({
|
||||||
url: "/api/v1/menus",
|
url: "/api/v1/menus",
|
||||||
method: "get",
|
method: "get",
|
||||||
params: queryParams,
|
params: queryParams,
|
||||||
@@ -28,8 +28,8 @@ export function listMenus(queryParams: MenuQuery): AxiosPromise<MenuVO[]> {
|
|||||||
/**
|
/**
|
||||||
* 获取菜单下拉树形列表
|
* 获取菜单下拉树形列表
|
||||||
*/
|
*/
|
||||||
export function getMenuOptions(): AxiosPromise<OptionType[]> {
|
export function getMenuOptions() {
|
||||||
return request({
|
return request<any, ResponseData<OptionType[]>>({
|
||||||
url: "/api/v1/menus/options",
|
url: "/api/v1/menus/options",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
@@ -40,8 +40,8 @@ export function getMenuOptions(): AxiosPromise<OptionType[]> {
|
|||||||
*
|
*
|
||||||
* @param id
|
* @param id
|
||||||
*/
|
*/
|
||||||
export function getMenuForm(id: number): AxiosPromise<MenuForm> {
|
export function getMenuForm(id: number) {
|
||||||
return request({
|
return request<any, ResponseData<MenuForm>>({
|
||||||
url: "/api/v1/menus/" + id + "/form",
|
url: "/api/v1/menus/" + id + "/form",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
import { AxiosPromise } from "axios";
|
|
||||||
import { RoleQuery, RolePageResult, RoleForm } from "./types";
|
import { RoleQuery, RolePageResult, RoleForm } from "./types";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -7,10 +6,8 @@ import { RoleQuery, RolePageResult, RoleForm } from "./types";
|
|||||||
*
|
*
|
||||||
* @param queryParams
|
* @param queryParams
|
||||||
*/
|
*/
|
||||||
export function getRolePage(
|
export function getRolePage(queryParams?: RoleQuery) {
|
||||||
queryParams?: RoleQuery
|
return request<any, ResponseData<RolePageResult>>({
|
||||||
): AxiosPromise<RolePageResult> {
|
|
||||||
return request({
|
|
||||||
url: "/api/v1/roles/page",
|
url: "/api/v1/roles/page",
|
||||||
method: "get",
|
method: "get",
|
||||||
params: queryParams,
|
params: queryParams,
|
||||||
@@ -22,10 +19,8 @@ export function getRolePage(
|
|||||||
*
|
*
|
||||||
* @param queryParams
|
* @param queryParams
|
||||||
*/
|
*/
|
||||||
export function getRoleOptions(
|
export function getRoleOptions(queryParams?: RoleQuery) {
|
||||||
queryParams?: RoleQuery
|
return request<any, ResponseData<OptionType[]>>({
|
||||||
): AxiosPromise<OptionType[]> {
|
|
||||||
return request({
|
|
||||||
url: "/api/v1/roles/options",
|
url: "/api/v1/roles/options",
|
||||||
method: "get",
|
method: "get",
|
||||||
params: queryParams,
|
params: queryParams,
|
||||||
@@ -37,8 +32,8 @@ export function getRoleOptions(
|
|||||||
*
|
*
|
||||||
* @param queryParams
|
* @param queryParams
|
||||||
*/
|
*/
|
||||||
export function getRoleMenuIds(roleId: number): AxiosPromise<number[]> {
|
export function getRoleMenuIds(roleId: number) {
|
||||||
return request({
|
return request<any, ResponseData<number[]>>({
|
||||||
url: "/api/v1/roles/" + roleId + "/menuIds",
|
url: "/api/v1/roles/" + roleId + "/menuIds",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
@@ -49,10 +44,7 @@ export function getRoleMenuIds(roleId: number): AxiosPromise<number[]> {
|
|||||||
*
|
*
|
||||||
* @param queryParams
|
* @param queryParams
|
||||||
*/
|
*/
|
||||||
export function updateRoleMenus(
|
export function updateRoleMenus(roleId: number, data: number[]) {
|
||||||
roleId: number,
|
|
||||||
data: number[]
|
|
||||||
): AxiosPromise<any> {
|
|
||||||
return request({
|
return request({
|
||||||
url: "/api/v1/roles/" + roleId + "/menus",
|
url: "/api/v1/roles/" + roleId + "/menus",
|
||||||
method: "put",
|
method: "put",
|
||||||
@@ -65,8 +57,8 @@ export function updateRoleMenus(
|
|||||||
*
|
*
|
||||||
* @param id
|
* @param id
|
||||||
*/
|
*/
|
||||||
export function getRoleForm(id: number): AxiosPromise<RoleForm> {
|
export function getRoleForm(id: number) {
|
||||||
return request({
|
return request<any, ResponseData<RoleForm>>({
|
||||||
url: "/api/v1/roles/" + id + "/form",
|
url: "/api/v1/roles/" + id + "/form",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
import { AxiosPromise } from "axios";
|
|
||||||
import { UserForm, UserInfo, UserPageVO, UserQuery } from "./types";
|
import { UserForm, UserInfo, UserPageVO, UserQuery } from "./types";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录成功后获取用户信息(昵称、头像、权限集合和角色集合)
|
* 登录成功后获取用户信息(昵称、头像、权限集合和角色集合)
|
||||||
*/
|
*/
|
||||||
export function getUserInfoApi(): AxiosPromise<UserInfo> {
|
export function getUserInfoApi() {
|
||||||
return request({
|
return request<any, ResponseData<UserInfo>>({
|
||||||
url: "/api/v1/users/me",
|
url: "/api/v1/users/me",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
@@ -17,10 +16,8 @@ export function getUserInfoApi(): AxiosPromise<UserInfo> {
|
|||||||
*
|
*
|
||||||
* @param queryParams
|
* @param queryParams
|
||||||
*/
|
*/
|
||||||
export function getUserPage(
|
export function getUserPage(queryParams: UserQuery) {
|
||||||
queryParams: UserQuery
|
return request<any, ResponseData<PageResult<UserPageVO[]>>>({
|
||||||
): AxiosPromise<PageResult<UserPageVO[]>> {
|
|
||||||
return request({
|
|
||||||
url: "/api/v1/users/page",
|
url: "/api/v1/users/page",
|
||||||
method: "get",
|
method: "get",
|
||||||
params: queryParams,
|
params: queryParams,
|
||||||
@@ -32,8 +29,8 @@ export function getUserPage(
|
|||||||
*
|
*
|
||||||
* @param userId
|
* @param userId
|
||||||
*/
|
*/
|
||||||
export function getUserForm(userId: number): AxiosPromise<UserForm> {
|
export function getUserForm(userId: number) {
|
||||||
return request({
|
return request<any, ResponseData<UserForm>>({
|
||||||
url: "/api/v1/users/" + userId + "/form",
|
url: "/api/v1/users/" + userId + "/form",
|
||||||
method: "get",
|
method: "get",
|
||||||
});
|
});
|
||||||
|
|||||||
9
src/typings/global.d.ts
vendored
9
src/typings/global.d.ts
vendored
@@ -1,4 +1,13 @@
|
|||||||
declare global {
|
declare global {
|
||||||
|
/**
|
||||||
|
* 响应数据
|
||||||
|
*/
|
||||||
|
interface ResponseData<T = any> {
|
||||||
|
code: string;
|
||||||
|
data: T;
|
||||||
|
msg: string;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询参数
|
* 分页查询参数
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user