按照官方文档的流程使用,在企业微信浏览器中使用在wx.config调用成功后调用wx.agentConfig,会偶尔报错Uncaught (in promise) TypeError: wx.agentConfig is not a function(…),一直无法解决,引入的
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
有大佬有类似情况没,求解决
return new Promise((resolve, reject) => {
axios
.get(
`${token.tokenUrl.url}/v2/app-base-login/GetQywxCorpInfo`,
{
headers: {
Authorization: getToken()
}
}
)
.then(data => {
if (data) {
// 如果取数据成功
let appId = data.data.Data.CorpId
let agentId = data.data.Data.AgentId
axios.get(`${token.tokenUrl.url}/v2/app-base-login/GetQYWXJsSign?OrgId=&CorpId=&AppId=&SignUrl=${url}`, {
headers: {
Authorization: getToken()
}
}).then(res => {
let noncestr = res.data.Data.Noce
let timestamp = res.data.Data.Timestamp
let signature = res.data.Data.Sign
wx.config({
beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
// debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: appId, // 必填,企业微信的corpID
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: noncestr, // 必填,生成签名的随机串
signature: signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: [
'agentConfig',
'selectEnterpriseContact',
'onMenuShareAppMessage',
'onMenuShareWechat',
'onMenuShareTimeline',
'shareWechatMessage',
'shareAppMessage'
] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
})
wx.ready(function () {
axios
.get(
`${token.tokenUrl.url}/v2/app-base-login/GetAppQYWXJsSign?OrgId=&CorpId=&AppId=&SignUrl=${url}`,
{
headers: {
Authorization: getToken()
}
}
)
.then(res => {
let noncestr = res.data.Data.Noce
let timestamp = res.data.Data.Timestamp
let signature = res.data.Data.Sign
wx.agentConfig({
corpid: appId, // 必填,企业微信的corpid,必须与当前登录的企业一致
agentid: agentId, // 必填,企业微信的应用id (e.g. 1000247)
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: noncestr, // 必填,生成签名的随机串
signature: signature, // 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList: ['selectExternalContact'], // 必填,传入需要使用的接口名称
success: function (res) {
resolve(res)
},
fail: function (res) {
if (res.errMsg.indexOf('function not exist') > -1) {
alert('版本过低请升级')
}
reject()
}
})
})
})
wx.error(res => {
// reject()
})
})
}
})
})