<table class="text">
<tr class="li1"><td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104 二维码扫描:http://www.2cto.com/weixin/201505/400450.html // 微信JSSDK的Accesstoken请求URL地址 public final static String weixin_jssdk_accetoken_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=公众号appid&secret=众号appsecret;" // 微信JSSDK的ticket请求URL地址 public final static String weixin_jssdk_ticket_url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi"; /** * 获取微信JSSDK的access_token * @author Benson */ public static String getJSSDKAccesstoken() { String returnString=""; String requestUrl = weixin_jssdk_accetoken_url; JSONObject jsonObject = httpRequest(requestUrl,"GET",null); //Http GET请求 // 如果请求成功 if (null != jsonObject) { try { returnString=jsonObject.getString("access_token"); } catch (JSONException e) { returnString = null; } } return returnString; } /** * 获取微信JSSDK的ticket * @author Benson */ public static String getJSSDKTicket(String access_token) { String returnString=""; String requestUrl = weixin_jssdk_ticket_url.replace("ACCESS_TOKEN",access_token); JSONObject jsonObject = httpRequest(requestUrl,null); // 如果请求成功 if (null != jsonObject) { try { returnString=jsonObject.getString("ticket"); } catch (JSONException e) { returnString = null; } } return returnString; } //获取微信JSSDK签名,用于调用微信扫一扫,返回对应数据 @Override public Map getSignture(HttpServletRequest request,ModelAndView mav) { String js_accesstoken = WeixinUtil.getJSSDKAccesstoken(); //获取微信jssdk---access_token String jsapi_ticket = WeixinUtil.getJSSDKTicket(js_accesstoken); //获取微信jssdk---ticket System.out.println("jsapi_ticket==="+jsapi_ticket); //获取完整的URL地址 String fullPath=BasePath.getFullPath(request); Map data = WxJSsign.sign(jsapi_ticket,fullPath); mav.addobject("timestamp",data.get("timestamp")); mav.addobject("nonceStr",data.get("nonceStr")); mav.addobject("signature",data.get("signature")); return data; } //JSP页面 放置3个隐藏的input 获取时间戳,签名等信息 随机串 var signature = $("#signature").val();//签名 wx.config({ debug: false,// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '公众号ID',// 必填,公众号的唯一标识 timestamp: timestamp,// 必填,生成签名的时间戳 nonceStr: nonceStr,// 必填,生成签名的随机串 signature: signature,// 必填,签名,见附录1 jsApiList: ['scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); //点击扫描按钮,扫描二维码并返回结果 document.querySelector('#scanQRCode').onclick = function () { wx.scanQRCode({ needResult: 1, desc: 'scanQRCode desc', success: function (res) { //扫码后获取结果参数:htpp://xxx.com/c/?6123,截取到url中的防伪码后,赋值给Input var url = res.resultStr; var tempArray = url.split('?'); var tempNum = tempArray[1]; $("#id_securityCode_input").val(tempNum); } }); };
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。