微信OA開發過程-原創首發

騰訊的ENYA同學給我看了她公司內部的微信審批,一邊吃飯一邊批內部費用單,雖然簡單,但是方便。她建議OA軟件也往微信OA微信審批微信協同辦公發展。

OA這個行業做了十年,價格越做越低,大大小小開發商多少都有些無奈,微信OA也許是個新的出路。於是投入分析研究,發現表單引擎系統改造成微信OA有得天獨厚的優勢。

 

實現微信OA要有什麼條件

微信本身是個APP,不管是安卓還是蘋果、windows手機,TC公司已經解決了手機APP,微信通過公衆號,允許第三方WEB應用接入。所以要實現微信OA,首先要申請公衆號、其次是要有可以在手機上使用的WEB系統,最後是公衆號跟WEB系統的對接。公衆號在微信網站上申請,申請後有相應的開發文檔實現對接。

wKiom1TS7xWR1ZKlAAErQywhHZE857.jpg 

 

微信OA對服務器方面的要求

微信上的應用要求有固定的IP和使用80端口,因此把OA系統安裝在內網是無法跟微信對接的。目前各種雲主機是部署微信OA的好選擇,價格便宜、系統穩定、擴展方便。至於80端口,一個服務器上只有一個80端口,用JAVA開發的話,採用apachetomcat結合,將apache80端口映射到tomcat8080端口,實踐證明,微信是允許這麼操作的。

 

爲微信OA增加適應手機的WEB界面

表單系統的特點是在開發應用時不需要編寫代碼,通過可視化界面編輯,最終保存爲HTMLXML,數據的查詢、添加、保存、流轉都是通過一套固定的JAVA代碼驅動XML文件,最終達到界面與數據庫交互的目的。因此不管是公文審批、工作管理、會議管理、客戶管理、車輛管理等等功能,只要增加一套適合手機大小的界面就可以完成,開發量非常小。而且這一舉兩得,不光微信能上OA,所有的手機瀏覽器都能上OA。這不僅僅是一套微信OA,還是一套可以自定義的微信OA,隨時可以增加功能、調整字段。

wKiom1TS7s6wrfQ-AADoy4zMXK0831.jpg

 

改用UTF-8編碼適應微信OA

JSP開發的手機界面完成後,部署到服務器,通過微信測試,發現有亂碼。原來微信要求用UTF-8編碼,而表單系統一直用GBK編碼。於是採用org.apache.commons.FileUtils,用程序遞歸的方式批量的將jsphtmljs等文件轉爲UTF-8編碼,解決了編碼問題。

 

微信OAQQ瀏覽器無法使用window.parent

         選擇分類、選擇人員是通過打開一個窗口,選擇後,將選擇的值寫回父窗口。Chrome瀏覽器無法使用window.showModalDialog,於是整個系統的showModalDialog都改爲open模式。用open模式,在蘋果上用safari瀏覽器是正常,在微信OAQQ瀏覽器上無法寫回父窗口,分析後發現window.open被微信當作連接打開,無法通過window.parent操作父窗口。

         解決辦法是把window.open改成打開iframe,而iframe可以通過window.parent操作父窗口。在需要彈出窗口的頁面,用div包含iframe並隱藏,需要的時候把div顯示出來,並設置對應的src頁面,問題得到完美的解決。

 

微信OA中附件名稱亂碼

         這個問題一開始也很困擾,不管怎麼轉碼都是亂的,後來在獲取數據的jsp頁面增加了:request.setCharacterEncoding("UTF-8")解決了問題。

 

iWebOffice在微信OA下怎麼辦

         iWebOfficeocx插件,在手機下肯定無法使用,目前的解決辦法是在保存後將wordexcel內容轉爲文件形式,office附件或html格式,在電腦上編輯,在手機OA或微信OA上,查看附件或通過web格式查看。

         html頁時也遇到了問題,iWebOffice控件只支持gb2312格式,用內在的方法轉成html文件,在微信OA上查看亂碼,無奈只能在轉換後再加一次轉換,還是用org.apache.commons.FileUtils,也算圓滿解決。

 

OA消息提醒對接微信信息

         微信這一年的發展相當快,當我們開始研究微信OA的時候,還沒有任何途徑可以通過OA系統發送信息到微信,後來發現可以調用微信客服消息實現微信消息推送,達到發送消息到微信的目的,前提是微信用戶在48小時內與微信公衆號有交互。

 

微信企業號也來了

         用微信訂閱號、服務號就可以實現微信OA,微信企業號推出後,媒體都在宣傳OA的末日要到來。其實我看這是OA廠家的福利,微信是個大商場,OA廠家是商場裏的一個賣家。託微信之福,OA廠家的品牌也會得到發展和肯定,要做的就是紮紮實實把產品做的更好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章