因为小程序需要在接口增加token及openid判断登录状态,而之前做的接口又太多,需要统一添加,思路是统一拦截请求,然后给每个请求的header加上token再请求,可以使用uni.addInterceptor进行request拦截

uni.addInterceptor('request',{
	invoke(invoke){
        //请求前拦截并处理
		invoke.header = {...invoke.header,openid:openid,token_key:cts.token_key}
	},
	success(res) {
        //请求成功后的接口
		// console.log('检测到接口',res)
	}
})

官方参数说明:

参数名类型必填默认值说明平台差异说明
invokeFunction拦截前触发
returnValueFunction方法调用后触发,处理返回值
successFunction成功回调拦截
failFunction失败回调拦截
completeFunction完成回调拦截

需要注意的是:只能对uni.request进行拦截,自己封装的ajax拦截不到

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐