客户端:
1、uniCloud.addInterceptor('callFunction', {})
2、调用任意云对象
- 发布:2022-05-11 11:44
- 更新:2022-11-26 02:00
- 阅读:919
产品分类: uniCloud/App
操作步骤:
预期结果:
可以拦截云对象的 invoke、success、fail、complete
可以拦截云对象的 invoke、success、fail、complete
实际结果:
无法拦截监听云对象的调用
无法拦截监听云对象的调用
bug描述:
云对象是对云函数的封装,客户端调用云对象,实际上也是调用uniCloud.callFunction
但是实际上用 uniCloud.addInterceptor('callFunction', {}) 添加拦截器,无法拦截云对象
而服务端有些错误码,需要客户端拦截进行统一处理。
而无法拦截云对象,会造成麻烦,恳请官方修复此bug,或实现这个需求
全栈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!