VFP为公众号添加一个报名功能,代码不多,但谁能得扬名立万

VFP为公众号添加一个报名功能,代码不多,但谁能得扬名立万

有客户需要利用公众号注册会员,方便查询会员积分余额什么的,也有教育系统的需要做个报名功能的,那今天我们来试试用公众号来做这个功能。

公众号其实就是流量入口,完全可以替代掉80%的APP功能,成本还低太多了,如果你打不定主意实现什么商业模式的时候,你完成可以通过公众号来完成这个功能。

关于公众号的商业模式,猫猫以后再更新相关的文章,有时候一些案例,让人拍案叫奇。

需求分析

客户需要做公众号报名,经分析一下,功能流程如下。

1 点开公众号菜单 报名,打开右图网页, 用户提交用户名,学号
2 系统接收,后台审核后,推送一条消息给该用户
报名登记

找出需要解决的问题点

推送消息需要用户的openid,我们直接在公众号菜单绑定的网址
http://192.168.0.99:801/baoming.html
它是静态的,这样是没有办法获取openid

要怎么样才能有openid呢?

方案一:事件消息中获取

  1. 制作一个自定义菜单,这个菜单触发一个事件,取得用户的openid,
  2. 根据这个事件发送一个动态的网址http://192.168.0.99:801/ctl_bm.fsp?proc=html&openid=用户openid
  3. 上面的这个网址可以用vfp直接输出html

注意:正式使用openid要加密

一、梳理操作流程如下

  1. 用户点击菜单
  2. 后台发送动态网址
    http://192.168.0.99:801/ctl_bm.fsp.fsp?proc=html&openid=用户openid
  3. fsp文件根据openid 拼接生成 html字符串发送
  4. 动态页面提交action到指定的接收网址

二、自定义菜单

*-- 创建自定义菜单 一个按钮
TEXT TO lcMenu NOSHOW 
 {
     "button":[
      {	
          "type":"click",
          "name":"报名",
          "key":"baoming"
      }
      ]
 }
ENDTEXT 
oWxapi=Newobject("weixinapi","weixinapi.prg")
?oWxapi.createMenu(lcMenu)

注意上方的key是baoming

三、后台应答类响应这个baoming key事件

lcContent="感谢您的关注"		
IF msgtype=="event" 
   IF this.getkeyvalue(MsgText,"EventKey")=="baoming"
     TEXT TO lcContent NOSHOW TEXTMERGE PRETEXT 1+2
     <a href="http://qiyusoft.free.idcfengye.com/ctl_bm.fsp?proc=html&openid=<<FromUserName>>">
点击报名</a>
     ENDTEXT 		     
   ENDIF   	      
ENDIF

判断事件的Eventkey==baoming之后,我们创建了一个超链接,然后将 lcContent 回发给用户。

用户收到消息,点击点击报名这个超链接后,就要跳转到我们的这个http://qiyusoft.free.idcfengye.com/ctl_bm.fsp?proc=html&openid=<>网址上面。

二、制作报名网页

fsp输出html字符串,html文件的本质也是字符串

form表单的action是ctl_bm.fsp?proc=baoming
网页代码

三、接收HTML提交的数据

在ctl_bm.fsp添加baoming的过程

Procedure baoming
cname=HttpQueryParams("name")
ccode=HttpQueryParams("code")
cOpenid=HttpQueryParams("openid")

?cname,ccode,cOpenid  &&拿到报名信息存数据库,后台根据openid发模板消息
RETURN “ok"  &&正常这里也是输出html网页的		
Endproc

至此方案一就完成啦。

方案二

公众号点开菜单,就跳转到报名的网页,这个网页直接就能获取到openid 并存放于cookie中,这样需要用openid的时候,就取一下cookie 就可以了

一、公众号后台配置一下域名权限

配成自己的域名 不用带http 重要
qiyusoft.free.idcfengye.com
域名配置

二、定义weixinfsp 的子类

Define Class ctl_bm2 As weixinfsp Of Locfile("weixinfsp.prg")


Enddefine

三、添加view菜单

添加view菜单

四、编写生成html过程

html代码

注意
This.ReGetOpenID()为关键代码,获取openid并存到cookie中
form action 提交的位置要注意

五、获取报名数据 httpGetCookie

Procedure baoming		
	cname=HttpQueryParams("name")
	ccode=HttpQueryParams("code")
	cOpenid=HttpGetCookie("openid")
	?cname,ccode,cOpenid  &&拿到报名信息存数据库,后台根据openid发模板消息
	Return "ok"  &&正常这里也是可以输出html网页的
Endproc

常见错误

问题:redirect_uri错误 
redirect_uri错误

解决: 开启网页授权获取用户基本信息

网页授权

好看html怎么来

  1. 别人做好的模板,拿来改改, 组件拿来拼装一下,开源的组件也蛮多,去找找.
    weui 手机端
    layui 后端

  2. 请美工来设计,程序员的直男审美,真的不好看.一个样式美工一小时,你调三天.

猫言猫语

不要啥都自己干,很多狐友都是单干,单干归单干,也要懂得整合资源,记住你的时间价值比请人高的时候,不要自己干,很亏的。

有些人认为请人会花钱,感觉花钱自己就亏了,而这种感觉是错的,老板开公司请人,请的人是帮你赚钱的,而单干的人首先要突破这个点,请人花钱是替你赚钱的,而这个人你得找对。

posted @ 2021-11-24 09:37  加菲猫的VFP  阅读(171)  评论(0编辑  收藏  举报