UNPKG

@chenkaixuan000912/uni-app-request

Version:

对uni-app的uni-request与uni-addInterceptor API进行二次封装

53 lines (50 loc) 1.36 kB
const uniHttp = { setBase(base){ const httpInterceptor = { invoke(options){ //判断是否需要拼接地址 if(!options.url.startsWith('http')){ options.url = base.baseUrl + options.url } options.timeout = base.timeOut options.header = { ...options.header, //请求头标识 ...base.headers } } } uni.addInterceptor('request',httpInterceptor) uni.addInterceptor('uploadFile',httpInterceptor) }, setInterceptor(f1,f2,f3){ const http = (options)=>{ return new Promise((resolve,reject)=>{ uni.request({ ...options, success(res){ if(res.statusCode>=200 && res.statusCode<300){ //响应状态码为2xx后的操作 f1(res) resolve(res.data) }else{ //响应状态码为2xx以外的操作 f2(res) reject(res) } }, fail(err){ f3(err) uni.showToast({ icon: 'none', title: '网络错误,换个网络试试', }) reject(err) } }) }) } return http } } export default uniHttp