全栈OkLin
全栈OkLin
  • 发布:2022-05-11 11:44
  • 更新:2022-11-26 02:00
  • 阅读:756

【报Bug】addInterceptor('callFunction') 拦截器无法监听云对象

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

客户端:
1、uniCloud.addInterceptor('callFunction', {})
2、调用任意云对象

预期结果:

可以拦截云对象的 invoke、success、fail、complete

实际结果:

无法拦截监听云对象的调用

bug描述:

云对象是对云函数的封装,客户端调用云对象,实际上也是调用uniCloud.callFunction
但是实际上用 uniCloud.addInterceptor('callFunction', {}) 添加拦截器,无法拦截云对象

而服务端有些错误码,需要客户端拦截进行统一处理。
而无法拦截云对象,会造成麻烦,恳请官方修复此bug,或实现这个需求

2022-05-11 11:44 负责人:无 分享
已邀请:
全栈OkLin

全栈OkLin (作者) - android、ios、web、小程序、uniapp、python、php。。。。。。

不好意思,开了重复的帖子,不知道怎么删帖。。。

已得到回复,见附件

建议用 uniCloud.addInterceptor 这种方式注册拦截器,方便管理代码。或者跟云函数用同一个拦截器也行

小蒋同学

小蒋同学

我也遇到这个问题,HBuilderX 3.4.3版本是可以用 uniCloud.addInterceptor('callFunction', {}) 拦截云函数和云对象的,升级到HBuilderX 3.5.x之后就拦截不到云对象。
因为刚好uni-id也从3.x升级到4.x,一直以为可能是客户端的uni-id版本问题,hx3.5和hx3.4alpha长期共存....今天研究了下发现是因为拦截器没有生效。

目前:
HBuilderX 3.4.13已新增uniCloud.onResponse监听云端响应:https://uniapp.dcloud.net.cn/uniCloud/client-sdk.html#on-response
HBuilderX 3.5.0已新增uniIdRouter自动路由:https://uniapp.dcloud.net.cn/uniCloud/uni-id-summary.html#uni-id-router
HBuilderX 3.5.5已新增uniCloud.interceptObject云对象拦截器:https://uniapp.dcloud.net.cn/uniCloud/client-sdk.html#intercept-object

改改代码,升级HX!

  • DCloud_uniCloud_WYQ

    在拦截器上线初期能拦截云对象请求是错误的表现。后来进行了调整

    2022-11-26 19:15

要回复问题请先登录注册