1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 微信公众号生成二维码

微信公众号生成二维码

时间:2020-07-17 16:59:06

相关推荐

微信公众号生成二维码

前言:公众号开发,难免遇到二维码,再此做个记录

第一:到 https://mp./wiki?t=resource/res_main&id=mp1445241432 去看一下文档,选择账户管理,里面有生成带参数二维码的说明

第二:二维码分为零时和永久

共同点:不管是永久还是临时,都是请求同一个地址

https://api./cgi-bin/qrcode/create?access_token=TOKEN

其中token是调用微信获得

1、永久格式

请求参数:

数值型:{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}}

字符串型:{"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

请求格式:post

php请求示例:

请求之后得到的数据格式(临时,永久相同):

{"ticket":"gQH47joAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL2taZ2Z3TVRtNzJXV1Brb3ZhYmJJAAIEZ23sUwMEmm

3sUw==","expire_seconds":60,"url":"/q/kZgfwMTm72WWPkovabbI"}

到此得到了二维码信息,但二维码图片还没有。ticket:根据该数据到微信获取二维码图片。expire_seconds:二维码有效期(永久二维码没有)。url:扫描二维码解析之后的地址

PS:如果要自己利用第三方的工具类,或者插件生成二维码,到此就可以了,把url作为内容拿去生成二维码

获取二维码图片:

请求地址(get):

https://mp./cgi-bin/showqrcode?ticket=TICKET

到此永久二维码结束。

2、临时二维码

请求参数类型

数值:

{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}

字符串:

{"expire_seconds": 604800, "action_name": "QR_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

同上post请求https://api./cgi-bin/qrcode/create?access_token=TOKEN 地址并传递参数过去

PS:是字符串就传字符串是数值就传数值

请求之后同上得到

{"ticket":"gQH47joAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL2taZ2Z3TVRtNzJXV1Brb3ZhYmJJAAIEZ23sUwMEmm3sUw==","expire_seconds":60,"url":"/q/kZgfwMTm72WWPkovabbI"}

一串数据

转换数据取出 ticket

调用地址并传递ticket

https://mp./cgi-bin/showqrcode?ticket=TICKET

以get请求获取图片信息。

之后保存就行

二维码加水印:

1、通过上面获取到二维码并保存之后,继续加载logo

通过 getimgagesize(路径)获取到保存的二维码和log图片信息,得到图片数据。

2、删除原图

3、利用imagecopymerge()函数合并生成图片

将 log 图像中坐标从0开始到0结束,高为$logoWidth的部分拷贝到$logox和$logoy的地方,合并程度为100

说明:0到0标识logo图片全部加载,不用裁剪。合并程度为0到100 如果是0就什么都没做,100完全重叠,类似透明的感觉。

到此二维码结束。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。