灏天阁

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;
}

- Book Lists -