uni-app 小程序请求拦截

前言

在小程序的开发中,经常会遇到登录过期让用户重新登录、请求header增加token、请求失败提示失败信息…等等,请求过多的时候,就会多了很多冗余重复的代码,所以必要时候我们需要做请求拦截和响应拦截。

一、新建requestHttp.js 文件

/**
* @param method {String} 'POST' 'GET' 'PUT'...
* @param url {String} :开发者服务器接口地址
* @param data {Object/String/ArrayBuffer} :请求的参数
*/

const HTTP = "https://aaa.bb.com/"; // 接口地址
const requestPromise = function(method, url, data) {

	return new Promise((resolve, reject) => {
		uni.request({
			method,
			url: HTTP + url,
			data,
			header: {
				token: uni.getStorageSync("token")
			},
			success: res => {
				switch (res.data.code) {
					case 0: // 请求正确
						resolve(res)
						break
					case -1: // 登录超时
						uni.switchTab({
							url: "../pages/login/login",
						})
						resolve(res)
						break
					default: // 其它异常情况
						uni.showToast({
							title: res.data.msg,
							icon: "none",
						})
						reject(res)
						break
				}
			},
			fail: err => {
				uni.showToast({
					title: "请求失败,请稍后再试",
					icon: "none",
				})
				reject(err)
			}
		})

	})
}

module.exports = {
	requestPromise
}

二、在具体业务中调用


import requestHttp from "./requestHttp.js"

requestHttp.requestPromise("POST", "get/userInfo", data).then(res => {
	// do somethings
}).catch(err => {
	console.log('err', err)
})
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值