login.ts 1.31 KB
import request from "./../utils/request";

//一般情况下,接口类型会放到一个文件
// 下面两个TS接口,表示要传的参数
interface ReqLogin {
  phone: string
  code: 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 loginAPI = (data: ReqLogin): Res<string> => request.post("/web/purchase/index/login", data);

// post请求 ,没参数,但要路径传参
export const loginAPI = (data: ReqLogin): Res<null> => request.post(`/web/purchase/user/login?phone=${data.phone}&code=${data.code}`);

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

// 获取最新用户信息
export const getUserPageInfo = (): Res<null> => request.post(`/web/bsUser/getUserPageInfo`);