zoukankan      html  css  js  c++  java
  • 十行代码完成公众号对话,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

    VFP祺佑三层开发框架,是VFP界第一款可以应用于开发CS、BS、APP、小程序、公众号的全功能开发框架。了解更多,请访问http://www.sn58.cn
  • 相关阅读:
    含字母的数字排序
    ci中简单实用的权限管理
    时间戳和日期转换
    prop
    定时器
    centos查看防火墙策略是firewall还是iptables
    centos上安装rabbitmq服务器
    springcloud微服务feign消费模式解决 com.netflix.client.ClientException: Load balancer does not have available server for client:xxx
    java正则去掉json字符串key的引号
    centos安装redis
  • 原文地址:https://www.cnblogs.com/fitche/p/15581080.html
Copyright © 2011-2022 走看看