zoukankan      html  css  js  c++  java
  • 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. 请美工来设计,程序员的直男审美,真的不好看.一个样式美工一小时,你调三天.

    猫言猫语

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

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

    VFP祺佑三层开发框架,是VFP界第一款可以应用于开发CS、BS、APP、小程序、公众号的全功能开发框架。了解更多,请访问http://www.sn58.cn
  • 相关阅读:
    springboot设置banner
    pytorch(分布式)数据并行个人实践总结——DataParallel/DistributedDataParallel
    jupyter之配置自己喜欢的python环境
    ImportError: DLL load failed: 找不到指定的模块;ImportError: numpy.core.multiarray failed to import 报错解决
    multitask learning 相关论文资源
    python如何删除二维或者三维数组/列表中某维的空元素
    finished with exit code -1073740791 (0xC0000409)解决方案
    Keras学习系列——神经网络层组件
    腾讯云搭建个人博客wordpress
    多任务学习相关资料整理
  • 原文地址:https://www.cnblogs.com/fitche/p/15596732.html
Copyright © 2011-2022 走看看