本文讨论了在企业微信中打开扫一扫功能的多种方法,包括通过云苍穹平台的JS代码调用企业微信的开放API,使用云苍穹的Java插件代码,以及开发自定义控件来实现。还介绍了配置可信域名的必要步骤,以确保JS代码能在企业微信中生效,包括下载文件、修改配置等细节。
最近,和伙伴一起讨论了:“如何打开企业微信的扫一扫功能”,遇到了一些问题,写文章做一个记录。
(1)云苍穹是BS结构的平台,用浏览器即可访问,所以企业微信就是在APP内置的浏览器中访问云苍穹的页面。
打开企业微信的扫一扫功能,其实就是云苍穹上的JS代码调用企业微信的开放API。
企业微信API文档,JS-SDK:
https://work.weixin.qq.com/api/doc/90000/90136/90514
(2)用云苍穹的java插件代码打开扫一扫功能,可以参考门户上的文章:
https://dev.kingdee.com/index/docsNew/5bfd9f6d-357c-4294-98ae-b4ca96dd3cfa
https://dev.kingdee.com/index/docsNew/2b90259c-573d-4ddc-b2eb-fd263c3abf28
//调用扫描功能 MobileFormView view = (MobileFormView)this.getView(); view.callClientAppMethod(ClientMethod.ScanQRCode, null);
(3)理论上也可以用苍穹平台开发一个自定义控件,用自定义控件的JS代码去打开扫一扫功能。
具体做法参考企业微信api:
https://work.weixin.qq.com/api/doc/90000/90136/90492
wx.scanQRCode({ desc: 'scanQRCode desc', needResult: 0, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 success: function(res) { // 回调 }, error: function(res) { if (res.errMsg.indexOf('function_not_exist') > 0) { alert('版本过低请升级') } } });
(4)不管用什么方式去打开扫一扫,只要是用了云苍穹的平台,我们为了让JS代码能够生效,必须按照企业微信文档上提示的,在页企业微信的管理平台,配置可信域名。
企业微信管理台,配置可信域名和地址,这里的可信域名只接受域名和端口号,
(5)在上图配置可信域名文件时,需要把两个步骤
1.把上图下载的.txt文件,复制到静态文件的根目录下面
2.把ierp去掉,
如果是DebugServer.java启动,增加以下配置;
如果是用start-cosmic.bat脚本启动,需要在bat脚本里面添加参数
System.setProperty("JETTY_CONTEXT","/"); System.setProperty("domain.contextUrl","http://你的域名:8080");
之后访问云苍穹平台就要去掉ierp访问了
(6)企业微信通过了域名验证,之后即可调用JS
推荐阅读