失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > js调用微信扫一扫demo_调用微信扫一扫接口

js调用微信扫一扫demo_调用微信扫一扫接口

时间:2022-03-07 20:40:35

相关推荐

js调用微信扫一扫demo_调用微信扫一扫接口

微信扫一扫,由JS去发起

请注意,如果你的页面启用了https,务必引入https://res./open/js/jweixin-1.0.0.js,否则将无法在iOS9.0以上系统中成功使用JSSDK

wx.config({

debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

appId: '', // 必填,公众号的唯一标识

timestamp: , // 必填,生成签名的时间戳

nonceStr: '', // 必填,生成签名的随机串

signature: '',// 必填,签名

jsApiList: [] // 必填,需要使用的JS接口列表

});

通过ready接口处理成功验证

wx.ready(function(){//config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,

config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。

});

通过error接口处理失败验证

wx.error(function(res){//config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。

});

获取上述签名signature的方式:

1.先获取access_token

http请求方式:GET

https://api./cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

请求参数说明:

grant_type:获取access_token填写client_credential

appid:第三方用户唯一凭证

secret:第三方用户唯一凭证密钥

返回参数:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

2.获取到access_token之后获取,采用http GET方式请求获得jsapi_ticket:

https://api./cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

成功返回:

{"errcode":0,

"errmsg":"ok",

"ticket":"bxLdikRXVbTPdHSM05e5u5sUoXNKd8-41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NYzWKVZvdVtaUgWvsdshFKA",

"expires_in":7200}

3.进行扫一扫签名:

需要的参数:

示例:

noncestr=Wm3WZYTPz0wzccnW

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg

timestamp=1414587457

注意:URL如果是http://mp.,后面必须跟上“/”.

url=http://mp,/

对这些上述参数进行签名:

签名算法:

签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。

对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。

这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。

步骤1. 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.?params=value

步骤2. 对string1进行sha1签名:signature=sha1(string1),得到signature:

0f9de62fce790f9a083d5c99e95740ceb90c27ed

在后台程序生成一个数组,js可以通过异步请求,得到该数组,这样js就能获取到相应的值发送扫一扫请求啦!

$signPackage = array("appId" => $appId,

"nonceStr" => $nonceStr,

"timestamp" => $timestamp,

"url" => $url,

"signature" => $signature,

"rawString" => $string);

示例代码可以从微信公众平台开发者文档下载

这里给一个下载链接:

如果觉得《js调用微信扫一扫demo_调用微信扫一扫接口》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。