微信公众号如何实现会员卡领取的功能

  介绍

这篇文章给大家分享的是有关微信公众号如何实现会员卡领取的功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1,会员卡的领取也需要js-sdk接口(可以参考获取微信公众号获取用户的地理位置信息)(借鉴网址:http://gaoboy.com/article/25.html)

2,比获取用户地理位置信息多了一个是需要单独获取签名包,签名方式也和获取用户地理位置的不同(这里再说一下获取签名包的方式)

<强>,获取js-sdk签名包:

1,当前的url,时间戳,随机字符串,jsapiticket进行组合

,//调用js-sdk的签名包   ,public  function  getSignPackage (), {   美元,美元jsapiTicket =,这→getJsApiTicket ();   ,//注意,URL 一定要动态获取,不能,硬编码。(获取当前网页的url)   ,protocol 美元;=,(!空($ _SERVER [& # 39; https # 39;]),,,, $ _SERVER [& # 39; https # 39;], !==, & # 39;从# 39;,| |,$ _SERVER [& # 39; SERVER_PORT& # 39;],==, 443), ?,“https://",:,“http://";   ,url 美元;=,“美元协议$ _SERVER _SERVER [HTTP_HOST] [REQUEST_URI]“;;   ,//时间戳   时间,timestamp 美元;=,();   ,//随机字符串获取   美元,美元nonceStr =,这→createNonceStr ();   ,//这里参数的顺序要按照,key 值,ASCII 码升序排序=,美元string “jsapi_ticket=$ jsapiTicket& noncestr=$ nonceStr&时间戳=$ timestamp& url=$ url";   ,//生成字符串是用来签名用的   ,signature 美元;=,sha1 ($ string);   ,signPackage 美元;=,阵列(   “才能appId",,=祝辞,$ this→appid,   ,,“nonceStr"=祝辞,nonceStr美元,   ,,“timestamp"=祝辞,时间戳,美元   “才能url",,=祝辞,url,美元   ,,“signature"=祝辞,美元签名,   “rawString"才能,=在$ string   ,);   ,return  signPackage美元;   以前,}

获取会员卡签名包:

//使用会员卡领取的签名包   ,public  function  getHuiYuanSignPackage (), {   美元,美元apiTicket =,这→getApiTicket ();   ,//注意,URL 一定要动态获取,不能,硬编码。(获取当前网页的url)   ,protocol 美元;=,(!空($ _SERVER [& # 39; https # 39;]),,,, $ _SERVER [& # 39; https # 39;], !==, & # 39;从# 39;,| |,$ _SERVER [& # 39; SERVER_PORT& # 39;],==, 443), ?,“https://",:,“http://";   ,url 美元;=,“美元协议$ _SERVER _SERVER [HTTP_HOST] [REQUEST_URI]“;;   ,//时间戳   时间,timestamp 美元;=,();   ,//随机字符串获取   ,//nonceStr 美元;=,$ this→createNonceStr ();   ,//这里参数的顺序要按照,key 值,ASCII 码升序排序   ,string 美元=,时间戳。apiTicket美元霸主地位;pVYA_t3RCVF_yhNcO6QCeAmb-1UI";   ,//生成字符串是用来签名用的   ,signature 美元;=,sha1 ($ string);   ,signPackage 美元;=,阵列(   ,,“timestamp"=祝辞,时间戳,美元   ,,“signature"=祝辞,美元签名,   ,);   ,return  signPackage美元;   以前,}

详细代码说明:

HTML页面:

,,//引入微信js文件   ,,& lt; script  src=癶ttp://res.wx.qq.com/open/js/jweixin-1.0.0.js"祝辞& lt;/script>   & lt; script 类型=拔谋?JavaScript"比;//配置信息验证接口(填写的js-sdk获取的签名包的参数)   wx.config ({   ,调试:假的,   ,appId: & # 39; & lt; ? PHP  echo 美元signPackage [“appId"]; ?祝辞& # 39;   ,时间戳:& # 39;& lt; ? php  echo 美元signPackage [“timestamp"]; ?祝辞& # 39;   ,nonceStr: & # 39; & lt; ? php  echo 美元signPackage [“nonceStr"]; ?祝辞& # 39;   ,签名:& # 39;& lt; ? php  echo 美元signPackage [“signature"]; ?祝辞& # 39;   ,jsApiList: [//才能,所有要调用的,API 都要加到这个列表中   & # 39;才能addCard& # 39;   ,,)   ,,});   wx.ready(函数(){   ,,,,,,,//添加卡券   ,,,document.querySelector (& # 39; # addCard& # 39;) .onclick =, function  (), {   ,,,,wx.addCard ({   ,,,,,cardList:,   ,,,,,{   ,,,,,,cardId:,““,//微信公众号内创建的会员卡的id   ,,,,,,cardExt:, & # 39; {“timestamp":“& lt; ? php  echo 美元huiyuanPackage[& # 39;时间戳# 39;],?在“,“signature":“& lt; ? php  echo 美元huiyuanPackage[& # 39;签名# 39;],?在“}& # 39;//会员卡的签名包   ,,,,,}   ,,,,,,   ,,,,//成功之后的回调的函数(通过回调函数该表数据库是否领取会员卡的状态)   ,,,,,成功:,function  (res), {   ,,,,,. ajax({美元   ,,,,,url:, & # 39; __CONTROLLER__/editHuiYuan& # 39;   ,,,,,类型:,& # 39;文章# 39;   ,,,,,数据类型:,& # 39;json # 39;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

微信公众号如何实现会员卡领取的功能