基于uniapp异步封装接口请求简介

uni.request({
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。
    data: {
        text: 'uni.request'
    },
    header: {
        'custom-header': 'hello' //自定义请求头信息
    },
    success: (res) => {
        console.log(res.data);
        this.text = 'request success';
    }
});

这是uniapp官网发起请求的方法,可见其为异步请求;

接下来,我们来二次封装咱们的项目逻辑,如果你对Promise不大了解,建议先去了解了解!

request.globalRequest = (url, method, data) => {
	    const token = uni.getStorageSync('token');
		headers['Content-Type'] = 'application/x-www-form-urlencoded'
		if (token != ""){
			headers['Authorization'] = 'Bearer' + token
		}//请求携带token
	
		    return uni.request({
		        url: url,
		        method,
		        data: data,
		        dataType: 'json',
				sslVerify:false,
		        header: headers
		    }).then(res => {
				// return res[1]
		        if (res[1].data.err == 0) {//后端业务逻辑,err=0成功,err=1失败,根据自己业务逻辑改变。
		            return res[1]
		        } else {
		            throw res[1].data //抛出异常
		        }
		    }).catch(parmas => {
		      switch (parmas.code) {
		        case 401:
		        // 登录失败,未授权
		          uni.clearStorageSync()//同步清理本地数据缓存。
		          break
		        default:
		          uni.showToast({  //弹出异常提醒
		            title: parmas.msg,
		            icon: 'none'
		          })
		          return Promise.reject()
		          break
		      }
		  })
 } 

export default request
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值