AI助手支持GPT4.0
/**
* 请求工具
* 说明: 使用了luch-request作为基础
* 详细使用可以查看 https://www.quanzhan.co/luch-request/
*/
import Request from 'luch-request'
import type { HttpRequestConfig } from 'luch-request'
import { BASE_URL } from '../config'
import { toast } from '@/tuniao-ui/utils'
export type RequestType<T> = {
code: number,
data: T,
msg: string
}
export default class Http {
static http: Request = new Request({
baseURL: BASE_URL
})
static request<T>(options: HttpRequestConfig<UniApp.RequestTask>): Promise<T> {
return new Promise((resolve, reject) => {
Http.http.request<T>(options).then((res) => {
// 判断以2(2xx)开头的状态码为正确
// 异常不要返回到回调中,就在request中处理
let code = res.statusCode.toString()
let stateChar = code.charAt(0)
if (stateChar === '2') {
resolve(res.data)
} else {
Http.handleRequestError(res)
reject(res)
}
}).catch((err) => {
toast({
icon: 'none',
title: '请求失败'
})
Http.handleRequestError(err)
reject(err)
})
})
}
static handleRequestError(err: any) {
console.error('[http]请求失败', err)
}
}