1,创建一个二维码的ticket,关于一些参数可参数官网上的文档,这里直接上代码吧
def get_ticket wx_mp_user
appid = wx_mp_user.app_id #公众号app_id
secret = wx_mp_user.app_secret #公众号app_secret
url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=# {appid}&secret=#{secret}"
url = URI::encode(url)
result = RestClient.get(url)#发起get请求,获取公众号的access_token
info = jsON(result)
access_token = info['access_token']
return '' unless access_token.present?
attrs = "{\"action_name\": \"QR_LIMIT_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": # {SCENE_ID}}}}"#请求二维码接口所需的参数,注意转义符
result = RestClient.post("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=# {access_token}", attrs)#发起post请求,得到ticket
info = JSON result
info['ticket']
end
通过上面的上步就得到了ticket,现在我们要通过ticket换取二维码了
换取二维码就要看你具体要怎样了,通过下面的url,将ticket补上去就能看到了,
B. php怎样调用微信接口生成大尺寸二维码
PHP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpqrcode.sourceforge.net/。
下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。phpqrcode.php提供了一个关键的png()方法,其中参数$text表示生成二位的的信息文本;参数$outfile表示是否输出二维码图片文件,默认否;参数$level表示容错率,也就是有被覆盖的区域还能识别,分别是L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);参数$size表示生成图片大小,默认是3;参数$margin表示二维码周围边框空白区域间距值;参数$saveandprint表示是否保存二维码并显示。
public static function png($text, $outfile=false, $level=QR_ECLEVEL_L, $size=3, $margin=4,
$saveandprint=false)
{
$enc = QRencode::factory($level, $size, $margin);
return $enc->encodePNG($text, $outfile, $saveandprint=false);
}
调用PHP QR Code非常简单,如下代码即可生成一张内容为"http://www.helloweba.com"的二维码.
include 'phpqrcode.php';
QRcode::png('http://www.helloweba.com');
C. html5+js实现二维码扫描的代码
通过下面的代码即可实现:
HBuilder就有调用原生硬件的接口html5++
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<title>CameraExample</title>
<scripttype="text/javascript">
//扩展API加载完回毕后调用onPlusReady回调函数
document.addEventListener("plusready",onPlusReady,false);
varr=null;
//扩展API加载完毕,答现在可以正常调用扩展API
functiononPlusReady(){
//获取设备默认的摄像头对象
varcmr=plus.camera.getCamera();