uni-app unicloud函数会被request拦截器拦截 不希望官网拦截
uni-app unicloud函数会被request拦截器拦截 不希望官网拦截
操作步骤:
- APP.VUE中添加uni.request拦截器
- 拦截器中动态组装请求地址
- 任意界面调用unicloud.callfunction函数请求云函数
- bug出现,云函数被组装了错误的地址导致失败
预期结果:
拦截器不应该拦截官方自己的网络请求
实际结果:
会被拦截导致请求失败
bug描述:
unicloud云函数调用时会被request拦截器拦截,希望官网针对官方的所有API重命名一下网络请求函数,不要让request拦截器拦截
2 回复
需求已了解,我们看下怎么处理,目前也可以自行在拦截器内判断参数来绕过
更多关于uni-app unicloud函数会被request拦截器拦截 不希望官网拦截的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在uni-app中,uni.request拦截器确实会拦截所有通过uni.request发起的网络请求,包括uniCloud.callFunction内部使用的请求。这是因为uniCloud.callFunction底层实现依赖于uni.request。
目前没有官方配置可以排除uniCloud请求不被拦截。建议在拦截器中通过判断请求URL或添加特定标记来跳过云函数请求。例如,在拦截器中检查URL是否包含/client/路径(uniCloud请求的固定路径),或为云函数请求设置自定义header,在拦截器中识别并放行。
示例代码:
// 在拦截器中判断
uni.addInterceptor('request', {
invoke(args) {
if (args.url.includes('/client/')) {
// 直接返回,不修改云函数请求
return args;
}
// 其他请求处理逻辑
}
});

