1. 程式人生 > 其它 >開發微信公眾號基礎訊息能力的經驗(一)

開發微信公眾號基礎訊息能力的經驗(一)

公司的經銷商在他們的DMS終端填寫匯款資料、上傳銀行憑證(DMS付款單的操作,用於以後在DMS上批發購車),在這之後公司端財務會稽核通過/駁回,DMS發出稽核結果通知。

現在的痛點是,DMS是PC軟體,經銷商的核心業務不是文職工作,他們不會經常開啟DMS,因此不知道稽核結果。我考慮使用簡訊通知的功能,通過後臺定時訪問DMS資料庫,檢查到單據變化後發出通知;或者使用微信公眾號,類似招商銀行的信用卡消費提醒。以此向公司IT部門提需求時,得到了非常機械的回答:程式碼很簡單,關鍵是伺服器的問題,購買簡訊模板服務的問題......

我看了微信開放介面的文件,想了想整體框架,覺得理論上可行,於是我親自開發了這個專案,使用我個人在阿里雲的伺服器和微信進行互動,開發工具是Python Flask。在這個過程中,我從後往前做,即先用阿里雲伺服器接收/傳送訊息;之後在雲端建立使用者表、角色表、許可權(功能)表、角色-許可權表、dms_user表(用於根據DMS使用者進行粉絲認證)、資料字典,然後實現微信認證功能:繫結粉絲的openid和業務user_id;再之後,在公司的區域網用kettle同步DMS資料,建立業務資料庫:使用者表、付款單據表、metadata表;最後使用者連線部門幫忙登入了公司的公眾號,我申請了模板訊息功能。說實話我提心吊膽,因為從後往前做,前面的步驟都是理論上可行,具體未知的狀態。而為何要從後往前做?是因為我第一次做,急切想貼近終極效果,好奇心和熱情驅動的,實際這並不是科學步驟;好在結果是成功的。這個專案發出三種通知:有粉絲(經銷商)認證成功的通知、付款單被建立(此時需財務及時稽核)的通知、付款單被稽核通過/駁回的通知;以後可以發出任何通知,而實現非常簡單。

整體框架是:DMS資料庫---區域網---阿里雲---微信開放介面。區域網ip無法被外網訪問,它只向阿里雲定時傳送請求;使用區域網是考慮業務資料避免儲存到我個人伺服器,但是為此付出了很長時間。

第一次做這個,我預計一週可以出結果,但是做成之後已是三週,完善之後是四周。之所以慢,是因為考慮了1、以後彈性擴充套件其他功能,2、資料保密(實際以我的角色,以及資料被黑的可能性,都不需太多考慮這個問題)