1.由于项目需要,需要产生下级代理商,并且为代理商生成自己的二维码,代理商可以通过自己的二维码发展下级客户....
2.刚开始接触微信的接口,也是毫无头绪。。。。 现在后台看看,我去还是真是简单...
3.代码开始:
首先需要一个认证的公众号
需要 【网页授权获取用户基本信息】这个接口,并且配置网页授权回调域名。
然后
第一步:用户同意授权,获取code
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
注意:redirect_uri要urlencode一下,不然会出错
第二步:通过code换取网页授权access_token
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
第三步:刷新access_token(如果需要)可以不用
第四步:拉取用户信息
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
注意:(需scope为 snsapi_userinfo 才可以拉取到用户信息,否则获取不到用户详细信息)
以上是获取用户信息的接口方法
假设以上用户为代理商获取信息并且存入数据库,现在我们通过二维码的接口来给分配。
微信的二维码生成有2中方式,一种是永久的一种是零时的。这里我们用永久的方式:
接口URL :
https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN
这里是post的方式 所以我们要用模拟的方式 提交。不知道的 百度一下吧。
参数
{"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "123"}}}注意:这里的scene_str 的值,是二维码里面会带的参数而且是唯一一个参数,这里就把用户的UID传入。
通过ticket换取二维码
https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET
TICKET记得进行UrlEncode这里就可以获取到一张带UID的二维码。这里我们可以写一个函数把图片下载到本地,当用户在获取的时候直接读本地图片即可,减少重复请求。
这样一张代理商的二维码就生成了。代理商可以拿着自己的二维码,获取到自己的客户,那么应该怎么做呢?
当代理商把二维码分享出去以后,用户扫描了这张带有参数的二维码,这里我们就要用关注事件来控制。
用户扫码后,第一个弹出的肯定是关注事件
这里分新用户关注和已关注用户 两种情况
我们就说新扫带参数二维码事件
当点击关注后...... 这里注意要开启服务器配置,不然收不到推送事件的
微信会推送一段xml到 你配置的服务器url
参数 | 描述 |
---|---|
ToUserName | 开发者微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
MsgType | 消息类型,event |
Event | 事件类型,subscribe |
EventKey | 事件KEY值,qrscene_为前缀,后面为二维码的参数值 |
Ticket | 二维码的ticket,可用来换取二维码图片 |
这里我们已经获取到了用户的 openid和代理的uid
是不是已经很明显了。把他俩已绑定,是不是这个用户就成了这个代理的客户了。
eventkey我们还需要转换一下 因为有一个前缀。
XML记得要自己转一下
到这里已经做完了,是不是很简单o(∩_∩)o
版权声明:《 微信开发带参数的二维码 》为Allen原创文章,转载请注明出处!
最后编辑:2015-6-23 16:06:03
提示:本文章评论功能已关闭
金玉良言 / Appraise2015-11-17 18:07