扫描小程序码分享
只有IOS端有问题
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你好,getcontext getcurexternalcontact sendchatmessage这些接口是需要在agentconfig中注入权限的
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
通过这几天的调试验证发现以下几点问题:
1.因使用的是uniapp搭建的项目,uniapp内置的有一个wx对象,导致了JS-SDK中的wx对象不能使用,企业微信Api文档上边说到过也可以使用jWeixin对象,通过调试验证后发现,jWeixin对象,只能用于安卓端、PC端、Mac端,IOS端中不能使用。解决方案如下:以下注释的为解决方案
<!DOCTYPE html> <html lang="zh-CN"> <head></head> <body> <noscript> <strong>Please enable JavaScript to continue.</strong> </noscript> </body> <script> // 处理uni内部自带wx对象 window.wx = {}; </script> <!-- 先处理uni内置对象后在引用 --> <!-- 引入企业微信的JS-SDK开始 --> <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> <!-- 引入企业微信的JS-SDK结束 --> </html>
2.由于IOS端是延迟注入的,如需使用agentConfig接口的话,会出现agentConfig接口调用不起来,有两种解决方案,解决方案如下:
1.使用定时器,延迟调用,0.5s就可以。
setTimeout(() => { wx.agentConfig({ corpid: _this.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致 agentid: _this.data.agentid, // 必填,企业微信的应用id (e.g. 1000247) timestamp: _this.data.timestamp1, // 必填,生成签名的时间戳 nonceStr: _this.data.noncestr1, // 必填,生成签名的随机串 signature: _this.data.agent_conf_sign, // 必填,签名,见附录-JS-SDK使用权限签名算法 jsApiList: ['getContext', 'getCurExternalContact', 'sendChatMessage'], //必填,传入需要使用的接口名称 success: function(agent) { // wx.ready(function() { // resolve(agent); // }) } }); }, 500)
2.把agentConfig放在config的ready方法中即可。
wx.ready(function() { wx.agentConfig({ corpid: _this.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致 agentid: _this.data.agentid, // 必填,企业微信的应用id (e.g. 1000247) timestamp: _this.data.timestamp1, // 必填,生成签名的时间戳 nonceStr: _this.data.noncestr1, // 必填,生成签名的随机串 signature: _this.data.agent_conf_sign, // 必填,签名,见附录-JS-SDK使用权限签名算法 jsApiList: ['getContext', 'getCurExternalContact', 'sendChatMessage'], //必填,传入需要使用的接口名称 success: function(agent) { } }) })
总结:既然官方已经把jWeixin抛出来使用了,就请把IOS端没有jWeixin对像的问题解决一下。。。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你好,getcontext getcurexternalcontact sendchatmessage这些接口是需要在agentconfig中注入权限的
通过这几天的调试验证发现以下几点问题:
1.因使用的是uniapp搭建的项目,uniapp内置的有一个wx对象,导致了JS-SDK中的wx对象不能使用,企业微信Api文档上边说到过也可以使用jWeixin对象,通过调试验证后发现,jWeixin对象,只能用于安卓端、PC端、Mac端,IOS端中不能使用。解决方案如下:以下注释的为解决方案
<!DOCTYPE html> <html lang="zh-CN"> <head></head> <body> <noscript> <strong>Please enable JavaScript to continue.</strong> </noscript> </body> <script> // 处理uni内部自带wx对象 window.wx = {}; </script> <!-- 先处理uni内置对象后在引用 --> <!-- 引入企业微信的JS-SDK开始 --> <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> <!-- 引入企业微信的JS-SDK结束 --> </html>2.由于IOS端是延迟注入的,如需使用agentConfig接口的话,会出现agentConfig接口调用不起来,有两种解决方案,解决方案如下:
1.使用定时器,延迟调用,0.5s就可以。
setTimeout(() => { wx.agentConfig({ corpid: _this.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致 agentid: _this.data.agentid, // 必填,企业微信的应用id (e.g. 1000247) timestamp: _this.data.timestamp1, // 必填,生成签名的时间戳 nonceStr: _this.data.noncestr1, // 必填,生成签名的随机串 signature: _this.data.agent_conf_sign, // 必填,签名,见附录-JS-SDK使用权限签名算法 jsApiList: ['getContext', 'getCurExternalContact', 'sendChatMessage'], //必填,传入需要使用的接口名称 success: function(agent) { // wx.ready(function() { // resolve(agent); // }) } }); }, 500)2.把agentConfig放在config的ready方法中即可。
wx.ready(function() { wx.agentConfig({ corpid: _this.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致 agentid: _this.data.agentid, // 必填,企业微信的应用id (e.g. 1000247) timestamp: _this.data.timestamp1, // 必填,生成签名的时间戳 nonceStr: _this.data.noncestr1, // 必填,生成签名的随机串 signature: _this.data.agent_conf_sign, // 必填,签名,见附录-JS-SDK使用权限签名算法 jsApiList: ['getContext', 'getCurExternalContact', 'sendChatMessage'], //必填,传入需要使用的接口名称 success: function(agent) { } }) })总结:既然官方已经把jWeixin抛出来使用了,就请把IOS端没有jWeixin对像的问题解决一下。。。