使用JS-SDK调用微信扫一扫,需要有公众号支持,通过公众号生成JS-SDK使用权限签名。本文直接调用已封装好的接口来获取随机数(noncestr)、时间戳(timestamp)、签名(signature),接口地址:http://xx.xx.com/xxmap/wechat/jsapi/getSignature.do?appId=APPID&url=URL。appId是公众号的标识,url是需要调用微信扫一扫的页面的地址,需要进行encodeURIComponent编码。

调用微信扫一扫前端页面代码:

<html lang="en">

<head>

<meta charset="UTF-8">

<script src="plug-in/qrcode/jquery.min.js"></script>

<script src=”http://res.wx.qq.com/open/js/jweixin-1.0.0.js”></script>

<title>微信扫一扫</title>

</head>

<body>

<script type="application/javascript">

var purl = encodeURIComponent(location.href);

$.ajax({

url:"voucherController.do?getSignature",

data:{"url":purl},

type:"POST",

dataType:"json",

success:function(result){

wx.config({

debug:false,

appId:result.obj.appId,

timestamp:result.obj.timestamp,

nonceStr:result.obj.noncestr,

signature:result.obj.signature,

jsApiList:['scanQRCode']

});

},

error:function(){

alert("请求失败");

}

});

function scanQr(){

var ua = navigator.userAgent.toLowerCase();

var isWeiXin  =ua.indexOf('micromessenger') != -1;

if(!isWeiXin){

alert('请用微信打开链接,才可使用扫一扫!');

}

wx.scanQRCode({

needResult:1,

scanType:["qrCode"],

success:function (res) {

var scan = res.resultStr;

location.href=scan;

},

error:function(res) {

if(res.errMsg.indexOf('function_not_exist') > 0){

alert('当前版本低,请进行升级!');

}

}

});

}

wx.error(function(res){

alert(res.errMsg);

});

//$(function(){

//   setTimeout("scanQr()","1000");

//});

</script>

<input type="button" οnclick="scanQr()" id="test" value="微信扫一扫" style="font-size: 30px;border: solid 1px;padding: 10px;"/>

</body>

</html>

调用微信扫一扫后端代码:

@RequestMapping(params = “getSignature”)

@ResponseBody

public AjaxJson getSignature(String url){

AjaxJson j = new AjaxJson();

String sigUrl = “http://xx.xx.com/xxmap/wechat/jsapi/getSignature.do?appId=APPID&url=” + url;

//Get请求接口,获取随机数、时间戳、签名

JSONObject jsonObject = HttpRequest.sendGet(sigUrl);

JSONObject jsonObj = JSON.parseObject(jsonObject.getString(“result”));

jsonObj.put(“appId” ,APPID);//公众号appid

j.setObj(jsonObj);

return j;

}

注意:jweixin-1.0.0.js的引用,使用vConsole调试,IOS系统可能会出现找不到变量:wx异常,这个时候可以直接把整个jweixin-1.0.0.js复制到你的JS中,就可以解决。

HTML——微信浏览器H5页面调用微信扫一扫相关推荐

  1. H5页面调用微信支付

    1.H5页面使用微信支付,首先需要注册微信公众号,在设置与开发>公众号设置>功能设置中配置业务域名.JS接口安全域名.网页授权域名.支付功能页面需在此域名链接下的页面. 2.加入域名后,就 ...

  2. 微信浏览器H5页面自动播放背景音乐

    微信浏览器H5页面自动播放背景音乐 最近遇到一个需求 一个文章详情页(图文结合) 进入页面后自动播放背景音乐 正常用video标签后安卓打开后是自动播放的 但是ios是不支持自动播放的 经过不懈努力的 ...

  3. 公众号开发-移动端h5页面调用微信扫一扫

    前言: 大家好,我是前端小陈.今天为大家讲一下微信公众号开发,调用微信的JSSDK的案例. 前不久,接到这么一个需求:在H5网页实现扫一扫功能.  要求:微信端以及浏览器均可以实现扫一扫功能,而且不能 ...

  4. 微信小程序webview(H5页面)调用微信小程序支付

    1.业务描述:微信小程序商城入口进入的页面是商城H5页面,在H5页面进行微信支付如何实现: 2.微信小程序(webview访问H5页面)必须使用微信小程序支付: 如何实现以及实现方式以及支付后页面返回 ...

  5. 企业微信 引入微信api扫一扫(vue)【h5页面调用微信jssdk】

    引入(两种方式) (1)第一种方式 <script type="text/javascript" src="http://res.wx.qq.com/open/js ...

  6. 微信端H5页面调用分享接口

    最近公司做了一个给学生投票的H5页面,主要是在微信端使用,需要添加微信分享功能: 本文章主要是记录调用微信分享接口需要注意的事项: 1.前端用的angular1框架,首先需要在index页面引入微信接 ...

  7. 微信公众号页面调用微信扫一扫

    本以为调用微信扫一扫很容易,结果看了微信的开发者文档,正如大家所说,微信的开发文档写的一塌糊涂,非常的不详细. 转载:https://www.imooc.com/article/42734 从而导致基 ...

  8. 微信浏览器H5页面软键盘关闭导致页面空缺的问题

    微信6.7.4 H5页面里的select,input软键盘弹起的时候页面会上移,软键盘关闭页面不会下移.导致页面空缺了一部分. 微信6.7.3及其它版本不会有这个问题!页面会随着软键盘关闭而下移恢复正 ...

  9. iOS H5页面调用微信或者支付宝进行支付

    一说支付,大多数人都会理解支付方式是下载微信和支付宝SDK进行支付,但是其实还有其他的方式,就是H5调用系统支付宝和微信进行支付. H5支付可能很多人认为是加载完页面剩下的就是页面完成即可,但是实际没 ...

最新文章

  1. 前端(移动端)开发利器Chrome Developer Tools秘籍(下)
  2. CVPR 2021 | 中科大联合快手,提出人脸伪造检测新方法
  3. 架构师必备技能:教你画出一张合格的技术架构图
  4. jquery ajax跨域asp,jQuery跨域调用Asp.Net Web API
  5. 3月12日云栖精选夜读 | 安全多方计算新突破!阿里首次实现“公开可验证” 的安全方案...
  6. where and when navigation target url is retrieved by SAP UI5 Framework
  7. 列表排序并返回索引_Python特性—列表,看完你就能轻松驾驭,拿走不谢
  8. 前端学习(3113):react-hello-类式组件
  9. python深拷贝,浅拷贝,赋值引用
  10. xpe低配置系统解决“写缓存失败”问题
  11. Intellij IDEA 导入或运行流式处理框架storm以及java.lang.NoClassDefFoundError报错的解决方案
  12. Linux配置手册(八)基于MySQL构建PHP环境
  13. Raspbian 2019-06-20 发布
  14. opencv图像分析与处理(11)- 频率域滤波消除周期噪声
  15. error: failed to attach to process ID 0问题解决
  16. 什么是北京54坐标系
  17. 前端学习白嫖-QQ音乐
  18. HiJson,一个json格式化查看工具
  19. passenger安装nginx
  20. 环保设施运行在线监控

热门文章

  1. nag在逆向中是什么意思_CrackMe003-如何理解透VB逆向中的4C大法(图文+视频)-重在思维方法...
  2. 进程管理(一)——进程
  3. 第21章 DMA—直接存储区访问
  4. BCD码、8421码、余三码、格雷码
  5. 数据结构pintia_如何学好数据结构,去哪里刷题?
  6. 关于机器学习的知识点,全在这篇文章里了
  7. NLP Learning | 初识NLP
  8. 洗地机性价比高的是哪款?性价比高适合入手的洗地机介绍
  9. Ringbuffer 范例
  10. 图片标签z-index设置不起作用