调用微信扫码实现扫一扫签到

1、首先生成二维码

 
include('phpqrcode.php'); 
$url_code = "";//扫码之后的业务逻辑层

$level = 0; //容错级别
$size = 9; //生成图片的大小
$margin = 4; //二维码周围边框空白区域间距值
$saveandprint = true; //是否保存二维码并显示
$qrpath = ''; //二维码图片存放路径
$filename = '随机字串' .'.png';//生成的二维码图片名
if (is_dir($qrpath) == false) {
mkdir($qrpath, 0777, true);
}
QRcode::png($url_code, $qrpath . $filename, $level, $size, $margin, $saveandprint); 2、定义一个点击扫一扫的入口页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>扫码</title>
</head>
<body>
    <a href="saoma.html">扫一扫</a>
</body>
</html>

3、点击扫一扫之后跳到调用扫一扫接口的html页面(重要)
<?php require_once "jssdk.php"; $jssdk = new JSSDK($appid,$appsecret); $signPackage = $jssdk->GetSignPackage(); ?> <!DOCTYPE html> <html lang="en">  <head>  <meta charset="UTF-8">  <title></title>  </head>  <script src="/static/default/js/jquery1.8.3.min.js"></script>  <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>  <script type="text/javascript">  var openid = '<?php echo $openid;?>';//事先获取到的openid  wx.config({ debug: false,  appId: '<?php echo $signPackage["appId"]; ?>',  timestamp: <?php echo $signPackage["timestamp"]; ?>,  nonceStr: '<?php echo $signPackage["nonceStr"]; ?>',  signature: '<?php echo $signPackage["signature"]; ?>',  jsApiList: [ 'scanQRCode'  ] });   wx.ready(function () { wx.scanQRCode({ needResult: 1,  desc: 'scanQRCode desc',  success: function (res) { //alert(JSON.stringify(res));//走到这一步你可以看看弹出的是什么东西  if(res.errMsg === "scanQRCode:ok"){ var url = res.resultStr+'&openid='+openid;   location.href=url;  } } });  });   wx.error(function (res) { alert(res.errMsg);  });   </script> </html> 谢谢 

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
要在HTML页面中调用微信扫一扫功能,需要使用微信提供的JS-SDK。具体步骤如下: 1. 在HTML页面中引入微信JS-SDK的代码库,可以通过以下方式引入: ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 2. 在微信开放平台上申请开通JS-SDK权限,并获取到appId、timestamp、nonceStr、signature等参数。 3. 在HTML页面中准备一个按钮或者其他元素,用于触发扫一扫功能。例如: ```html <button id="scanQRCodeBtn">扫一扫</button> ``` 4. 在JS代码中调用微信JS-SDK提供的`wx.scanQRCode`方法,打开扫一扫界面。例如: ```javascript wx.config({ // 配置参数 appId: '你的appId', timestamp: '生成签名的时间戳', nonceStr: '生成签名的随机字符串', signature: '签名', jsApiList: ['scanQRCode'] // 需要使用的JS接口列表 }); wx.ready(function() { // 配置成功后执行的回调函数 document.querySelector('#scanQRCodeBtn').onclick = function() { wx.scanQRCode({ needResult: 1, scanType: ['qrCode', 'barCode'], success: function(res) { // 扫描成功后的回调函数,res.resultStr为扫描结果 console.log(res.resultStr); }, fail: function(res) { // 扫描失败后的回调函数 console.log(res); } }); }; }); ``` 以上代码中,`wx.config`方法用于配置参数,`wx.ready`方法用于在配置成功后执行的回调函数中调用`wx.scanQRCode`方法。`needResult`参数表示是否需要返回扫描结果,`scanType`参数表示扫描的类型,`success`和`fail`参数分别表示扫描成功和扫描失败后的回调函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值