微信公眾號在VFP開發其實非常容易,跟着貓貓的節奏走就一定能走通,當然也少不了貓框的加持,很多老狐其實抱着開放的心態去接觸新的東西,才會發現世界也就不一樣了。
讓你的微信公眾號能夠回復消息
用戶打開公眾號,在底部對話框發文字,你的程序接收處理
測試號開發的准備工作
1 申請測試號
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login7
2 申請一個內網穿透賬號〔有雲服務器就在雲服務器開發就不用內網穿透了〕
3 配置好端口轉發, qiyusoft.free.idcfengye.com :80->127.0.0.1:801
qiyusoft 為你自己申請的子域名。
4 運行貓框環境設置,打開調試服務器。
5 打開瀏覽器,輸入http://qiyusoft.free.idcfengye.com/a1send.fsp?proc=send,如果有響應,說明內網穿透成功。
微信后台配置
域名填寫二級域名即可
填寫剛剛內網穿透的域名和實際調用的類
貓框設置
wxsetting.dbf填寫上圖中的appid,appsercert,appuser 填寫自己喜歡的名字,我這里填寫bluesky;
編寫一個微信響應后台程序
*微信自動回復默認調用Answermsg, DoAnyThing為勾子方法
Define Class ctl_wxcenter2 As weixinApi Of Locfile("weixinApi.prg")
*-- 事件處理中心 返回XML消息格式,或返回空消息,再調用主動接口
Procedure DoAnything
Lparameters ToUserName,FromUserName,MsgText,MsgType,MsgId
?msgtxt
Endproc
Enddefine
框架約定類名等於文件名,保存為ctl_wxcenter2.prg controller目錄
現在往微信測試號發一條消息
可以看到,我們的程序響應了,把消息內容顯示出來了,它是XML格式提示故障,是因為我們沒有回復它的消息
如何回復一條信息呢
Procedure DoAnything
Lparameters ToUserName,FromUserName,MsgText,MsgType,MsgId
lcContent="感謝關注麥熊科技,你將收到消費、充值時"
*-- text消息格式 注意 收發人是要轉過來
TEXT TO lcMSG NOSHOW TEXTMERGE PRETEXT 1+2
<xml>
<ToUserName><![CDATA[<<FromUserName>>]]></ToUserName>
<FromUserName><![CDATA[<<ToUserName>>]]></FromUserName>
<CreateTime><<Tton(DATETIME())>></CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[<<lcContent>>]]></Content>
</xml>
ENDTEXT
Return lcMSG
Endproc
開發完成,就是這么簡單,你也可以根據接收到的消息,回復不回的內容啦。
各位狐友看到這里,有沒有覺得代碼很爽,只需要寫一點點代碼,我們就能夠與公眾號對話啦。這就是使用框架的努力,很多人問用框架會不會限制住自己的手腳,框架本身是沒有實體的,你原來是什么開發習慣,基本也是一致,只不過在BS不要用messagebox,wait 等打斷程序運行的指令就好。
更多資料請訪問http://www.sn58.cn