vue3.2/Vite/Ts16: API接口统一管理
·
Yin灏
- 新建 src / api
|-- src
|-- acl #权限
|-- product #产品
|-- user #用户
|-- type.ts # 定义参数的 ts 类型
|-- index.ts
- src / api / user / index.ts
import request from "@/utils/request";
// 引入定义的 ts 类型
import type { loginForm, loginResponseData, userResponseData } from "./type";
enum API {
LOGIN_URL = "/user/login",
USERINGO_URL = "/user/info",
}
// 登录接口
export const reqLogin = (data: loginForm) =>
request.post<any, loginResponseData>(API.LOGIN_URL, data);
// 获取用户信息
export const reqUserInfo = () =>
request.get<any, userResponseData>(API.USERINGO_URL);
- 定义 user ts 类型:src / api / user / type.ts
// 定义登录接口参数的类型
export interface loginForm {
username: string;
password: string;
}
interface dataType {
token: string;
}
// 定义登录接口返回的数据类型
export interface loginResponseData {
code: number;
data: dataType;
}
interface userInfo {
id: number;
avatar: string;
username: string;
password: string;
desc: string;
roles: string[];
buttons: string[];
routes: string;
token: string;
}
interface user {
checkUser: userInfo;
}
// 定义用户接口返回的数据类型
export interface userResponseData {
code: number;
data: user;
}