企业微信开发排雷指北
编者按:陆陆续续花了比预估时间长的一个《科技管理系统移动审批》需求。因为是第一个吃螃蟹的需求,之前组织里面没有人尝试过使用企业微信对外网的应用,所以走了不少弯路。在同事和搜索引擎的帮助下克服了很多困难,即使是腾讯文档或者外部服务都没法解决。现将一些地雷和排雷方案列举以下以飨读者。
注:企业微信服务器版本为。
-
wx.config和wx.agentConfig微信文档的示例中传入
wx.config的timestamp字段用的字符串形式。的确,这个示例运行的很好。wx.agentConfig使用类似的参数,不过按照wx.config形式调用的时候一直报错agentConfig:fail。将debug打开也没有什么大用。后来忍无可忍的装了
vConsole,终于发现错误信息是timestamp must be number,于是加上了parseInt(timestamp),世界清净了。 -
应用跳转地址。
跳转地址右面#号的两个大写字母的字样是不可以省略的。如果省略,企业微信iOS的客户端正常解析,安卓客户端会报奇怪的错。具体表现在
wx.checkJsApi返回fail_permission denied。在网上搜索引擎搜到的信息及解决方案均和Javascript的ES6语法有关,但是babel插件试过,全面改造ES5语法都不能解决此错误。后来检查文档发现是跳转地址配置错误。 -
vConsole打包问题。未解决。检查了一下代码可能只打包了
vConsole而没有安装vconsole-webpack-plugin。npm install -vconsole --save-dev npm install -vconsole-webpack-plugin --save-dev具体表现是白屏,报
s是未定义的函数。发布时去掉此插件可以解决。 -
VUE.js的proxyTable。proxyTable可以让我们在开发阶段跳过浏览器同源问题。这里呼吁,如果需要经过严格的打包上线步骤,请直接在开发环境中使用NGINX解决浏览器同源的问题。不要再将此问题引入生产。原因是
proxyTable在webpack中仅供开发,不会被打包成生产代码。 -
企业微信js引用问题。注意在引用企业微信脚本时一定要用文档上的。(其实无所谓)但是如果你的应用发布成
https入口话,脚本协议一定要使用https,有些浏览器会判断安全性而阻止非https协议的资源加载。

浙公网安备 33010602011771号