收藏
回答

公众号网页调用扫一扫,返回config:ok后再无反应,请问是什么问题?


<!doctype html>
<html>
<head>
<meta charset="utf-8" name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<title>demo</title>
 
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
 
<!-- 微信 -->
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
</head>
<body>
<script type="text/javascript">
 
    $(document).ready(function () {
		getWeixinParams();
	});
 
	var appId ;
	var nonceStr ;
	var signature ;
	var timestamp ;
	
	//微信JS—SDK验证
	function getWeixinParams() {
		//带参数URL
		var WX_url = location.href.split('#')[0];
		$.ajax({
			type: "get",
			url: "********",
			data: {"URL": WX_url},
			datatype: "json",
			async:false,
			success: function (data) {
				var data = JSON.parse(data);
				appId = data.appId;
				nonceStr = data.nonceStr;
				signature = data.signature;
				timestamp = data.timestamp;
				getWeixinParamsCallBack(data.appId, data.timestamp, data.nonceStr, data.signature);
			},
			error: function () {
				alert("出错了");
			}
		});
	}
	
	//选择要调用的接口 接口名称
	function getWeixinParamsCallBack(appId, timestamp, nonceStr, signature) {
		//步骤三:通过config接口注入权限验证配置       
 		wx.config({
			debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
			appId: appId, // 必填,公众号的唯一标识
			timestamp: timestamp, // 必填,生成签名的时间戳
			nonceStr: nonceStr, // 必填,生成签名的随机串
			signature: signature, // 必填,签名
			jsApiList: ['scanQRCode'] // 必填,需要使用的JS接口列表
		});
		//步骤四:通过ready接口处理成功验证(可不写 这里只是跟你说配置成功而已)
		wx.ready(function () {
			
		});
		//步骤五:通过error接口处理失败验证
		wx.error(function (res) {
			alert("获取数据出错了:" + res.errMsg);
		});
	}
	
	function getWeixinResult() {
		//调取接口
		wx.scanQRCode({
		needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
		//desc: 'scanQRCode desc',
			scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
			success: function (res) {
				var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
				if (result.indexOf("=") != -1) {
					result = result.split("=")[1];
				} else if (result.indexOf(",") != -1) {
					result = result.split(",")[1];
				}
				alert(res.resultStr);//解析结果
				//alert("扫描成功::扫描码=" + result);
			}
		});
	}
</script>
</body>
</html>
回答关注问题邀请回答
收藏

1 个回答

  • 迪克
    迪克
    2022-03-05
    getWeixinResult
    

    你没调用扫一扫方法啊

    2022-03-05
    有用 1
    回复 1
    • qeert
      qeert
      发表于移动端
      2022-03-05
      谢谢,解决了,新手见谅
      2022-03-05
      1
      回复
登录 后发表内容