import Taro from "@tarojs/taro"; export const BASE_URL = process.env.TARO_APP_API; interface Res { code: number; data: T; msg: string; } type Method = "GET" | "POST" | "PUT" | "DELETE"; const request = ( url: string, data: object = {}, method: Method = "GET" ): Promise> => { return new Promise((resolve, reject) => { Taro.request({ url: BASE_URL + url, data: data, method: method, header: { "content-type": "application/json", token: Taro.getStorageSync("token") || "", }, success: ({ data }) => { if (data.code !== 200) { Taro.showToast({ title: data.msg, icon: "none", }); reject(data); } else { resolve(data); } }, fail: (err) => { reject(err); }, }); }); }; export default request;