请求参数和uni-app的文档要求的一模一样
注意参数不要传success和fail函数!!否则会不支持promise
/**
* 请求函数和响应拦截
* @param { object } options 和文档要求的参数一样
* @returns { object | null }
*/
export const http = async (options) => {
try {
const res = await uni.request({ ...options })
// axios就是这么判断的
if (res.statusCode >= 200 && res.statusCode < 300) {
console.log('请求成功')
return res
} else if (res.statusCode === 401) {
// 清除token
console.log('登陆状态过期,请重新登陆')
return null
} else {
uni.showToast({
icon: 'none',
title: res.data?.msg || '请求错误',
})
return null
}
} catch (err) {
uni.showToast({
icon: 'none',
title: '网络错误,换个网络试试',
})
console.log(err)
return null
}
}
用法:
import { http } from '路径'
const getDtail = async () => {
const res = await http({
url: '',
method: 'GET'
})
console.log(res)
}