uniCloud.interceptObject({
async invoke({
objectName, // 云对象名称
methodName, // 云对象的方法名称
params // 参数列表
}) {
//token过期
if (uniCloud.getCurrentUserInfo().tokenExpired <= Date.now()) {
console.log("身份过期,自动跳转至登录页面");
uni.showToast({
icon: 'error',
title: "身份过期,请登录"
})
uni.navigateTo({
url: "/uni_modules/uni-id-pages/pages/login/login-withpwd"
})
return false
}
console.log('interceptObject', {
objectName, // 云对象名称
methodName, // 云对象的方法名称
params // 参数列表
});
},
success(e) {
console.log(`拦截并执行成功:`, e);
},
complete() {
},
fail(e) {
console.log(`拦截并执行失败:`, e);
}
})
c***@163.com
- 发布:2024-11-12 19:15
- 更新:2024-11-13 11:16
- 阅读:80
产品分类: uniCloud/支付宝小程序云
示例代码:
操作步骤:
- 调用云对象
- interceptObject的invoke相应请求的预处理
- 调用云对象
- interceptObject的invoke相应请求的预处理
预期结果:
在invoke中 使用 return false 停止云对象的调用
在invoke中 使用 return false 停止云对象的调用
实际结果:
return false并没有起作用,云对象依然被调用了
return false并没有起作用,云对象依然被调用了
bug描述:
需求是这样的:
需要在请求云对象时判断用户的token是否过期,过期了,就停止云对象的调用
我看云函数的 uniCloud.addInterceptor是支持在invoke中返回false来停止云函数api调用的,云对象就不行吗?
1 个回复
DCloud_uniCloud_CRL
需要抛出错误才会终止执行。