test.ts 1.86 KB
import request from "./../utils/request";

//一般情况下,接口类型会放到一个文件
// 下面两个TS接口,表示要传的参数
interface ReqLogin {
  name: string
  paw: string
}

interface ReqStatus {
  id: string
  navStatus: string
}


// Res是返回的参数,T是泛型,需要自己定义,返回对数统一管理***
type Res<T> = Promise<ItypeAPI<T>>;
// 一般情况下响应数据返回的这三个参数,
// 但不排除后端返回其它的可能性,
interface ItypeAPI<T> {
  data: T,//请求的数据,用泛型
  msg: string | null // 返回状态码的信息,如请求成功等
  code: number //返回后端自定义的200,404,500这种状态码
}


// post请求 ,没参数
export const LogoutAPI = (): Res<null> => request.post("/web/productInfoFinance/getFinanceList");

// post请求,有参数,如传用户名和密码
export const loginAPI = (data: ReqLogin): Res<string> =>
  request.post("/web/productInfoFinance/getFinanceList", data);

// post请求 ,没参数,但要路径传参
export const StatusAPI = (data: ReqStatus): Res<null> =>
  request.post(`/productCategory?ids=${data.id}&navStatus=${data.navStatus}`);


//  get请求,没参数,
export const FlashSessionListApi = (): Res<null> =>
  request.get("/web/productInfoFinance/getFinanceList");

export const footInfoApi = (): Res<null> =>
  request.get("/web/homeInfo/footInfo");

// get请求,有参数,路径也要传参  (也可能直接在这写类型,不过不建议,大点的项目会维护一麻烦)
export const ProductCategoryApi = (params: { parentId: number }): Res<any> =>
  request.get(`/productCategory/list/${params.parentId}`, {params});

// get请求,有参数,(如果你不会写类型也可以使用any,不过不建议,因为用了之后 和没写TS一样)
export const AdminListAPI = (params: any): Res<any> => request.get("/admin/list", {params});