快速学习nodejs系列:微信公众号开发六之JS-SDK

微信js-sdk是基于微信内的网页开发的工具包,为我们提供许多功能,通过使用微信JS-SDK,我们可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,可为微信用户提供更优质的网页体验。

使用js-sdk的步骤:

1.绑定域名

clipboard.png

2.引入JS文件

clipboard.png

3.通过config接口注入权限验证配置

clipboard.png

4.通过ready接口处理成功验证(这一步骤不是必要的)

clipboard.png

从上面的步骤3可知,一定要config接口后才能使用其他的接口,config接口有签名signature需要验证,签名有其生成的方法,具体文档见:https://mp.weixin.qq.com/wiki...

签名的生成
jsapi_ticket
我们前面说过access_token,现在也会说另外一个票据叫做jsapi_ticket。jsapi_ticket是公众号用于调用微信JS接口的临时票据。jsapi_ticket的有效期为7200秒,通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。

获取jsapi_ticket的api https://api.weixin.qq.com/cgi...

clipboard.png

js-sdk签名算法:
参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。
算法:对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。

列子:

clipboard.png

现在代码实现下:

clipboard.png

使用js-sdk的页面是:http://xgqfgg.natappfree.cc/i...

clipboard.png

说明:index.html使用fetch来做异步请求,你也可以用jquery等。事例中我们只调用updateAppMessageShareData分享给朋友。

微信开发工作结果:

clipboard.png

上图结果说明 我们的config是成功了的,下面你就可以调用js-sdk的所有接口了。

到这节微信工作号的所有关键知识已经说完了,有些细节的东西没有讲到,希望大家可以好好看下微信的官方文档。接下来的课程,我们做一个基于微信公众号的完整聊天室。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值