企業微信開發排雷指北
編者按:陸陸續續花了比預估時間長的一個《科技管理系統移動審批》需求。因為是第一個吃螃蟹的需求,之前組織里面沒有人嘗試過使用企業微信對外網的應用,所以走了不少彎路。在同事和搜索引擎的幫助下克服了很多困難,即使是騰訊文檔或者外部服務都沒法解決。現將一些地雷和排雷方案列舉以下以饗讀者。
注:企業微信服務器版本為。
-
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號