agentConfig执行ok , getContext、getCurExternalCha回调失败
开发角色:第三方应用 js-sdk版本: <script type="text/javascript" src='//res.wx.qq.com/open/js/jweixin-1.2.0.js'></script> 必要配置: 当前成员已配置了客户联系功能,已配置客户联系功能权限 问题描述: 使用js-sdk调用 config 和agentConfig 已成功 接下来 在agentConfi的success回调里面调用 getContext 提示 返回的结果为空 类似问题: config执行ok,agentConfig也执行ok,但是好像不执行wx.invoke https://developers.weixin.qq.com/community/develop/doc/00008050db02d0a0441a45dc95b000?highLine=agentConfig 目标: 成功调用 getContext 和 getCurExternalChat 具体代码如下: wx.config({
beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.corpid, // 必填,企业微信的corpID
timestamp: data.config.timestamp, // 必填,生成签名的时间戳
nonceStr: data.config.nonceStr, // 必填,生成签名的随机串
signature: data.config.signature,// 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: [
'agentConfig',
'checkJsApi',
'onMenuShareWechat',
'onMenuShareAppMessage'
] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});
wx.ready(function () {
wx.agentConfig({
corpid: data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
agentid: data.agentid, // 必填,企业微信的应用id (e.g. 1000247)
timestamp: data.agnetConfig.timestamp, // 必填,生成签名的时间戳
nonceStr: data.agnetConfig.nonceStr, // 必填,生成签名的随机串
signature: data.agnetConfig.signature,// 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList: ['getContext', 'getCurExternalChat'], //必填
success: function (res) {
alert('agentConfig 调用成功') // 这里执行成功
// 回调
wx.invoke('getContext', {}, function (res1) {
alert(`getContext :`, res1) // 这里返回 的res1 为空
if (res1.err_msg == "getContext:ok") {
let entry = res1.entry // 入口环境
if (entry == 'group_chat_tools') { // 群聊中工具栏进入
// 无法进入到这里
wx.invoke('getCurExternalChat', {}, function (res2) {
// 获取当前客户群的群ID
alert(`getCurExternalChat :`, res2)
})
}
} else {
//错误处理
alert(`getContext 错误`, res1.err_msg) // 这里也同时会执行
}
})
},
fail: function (res) {
if (res.errMsg.indexOf('function not exist') > -1) {
alert('版本过低请升级')
}
}
})
})