由于需要在客服链接中携带自定义参数,用于企业微信自制应用获取用户在系统内的信息。在调用openCustomerServiceChat接口前,需要先从后台经过签名计算等一系列步骤计算出链接,大致流程是:
bindtap="customerService"
async customerService(){
// 拼接参数
let param = {...}
const url = await getCustomerServiceUrl(param)
wx.openCustomerServiceChat({
extInfo: {
url
},
corpId: dict.corpId,
success(res) {
console.log('客服成功');
},
fail(err) {
console.log('客服失败', err);
}
})
}
结果这个操作在安卓上正常,在IOS上会报错:
openCustomerServiceChat:fail can only be invoked by user TAP gesture
虽然中间有异步请求但确实是点击触发的啊
而且我的客服链接本身是需要根据页面实时计算的,很多地方都会用到
Chrome也有类似的逻辑,比如fullscreen相关API,但允许中间出现异步请求
是否存在优化可能?