十行代码完成公众号对话,VFP的能力就是这么强悍,你学会了吗?

微信公众号在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,如果有响应,说明内网穿透成功。

微信后台配置

微信后台设置
域名填写二级域名即可

回调URL
填写刚刚内网穿透的域名和实际调用的类

猫框设置

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

posted @ 2021-11-20 14:04  加菲猫的VFP  阅读(334)  评论(0编辑  收藏  举报