位置: 编程技术 - 正文
推荐整理分享详解nodejs微信jssdk后端接口(node.js 微信小程序),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:node.js 微信小程序,nodejs开发微信小程序,nodejs ws,nodejs xhr,nodejs xhr,nodejs接入微信支付,nodejs ws,nodejs wechat,内容如对您有帮助,希望把文章链接给更多的朋友!
写过了两个微信的页面,遇到了挺多不会的问题,当时也是自己边查资料,边实践完成了简单的需求,刚好现在有空,把之前的东西整理一遍。
与普通的手机页面不同的是,微信页面提供给你了调用微信APP内置功能的接口,可以实现更复杂的功能。
jssdk的前端使用
前端页面调用jssdk首先要通绑定“公众号设置”的“功能设置”里填写“JS接口安全域名” 然后在页面中引入 调用 wx.config({...}) 来验证权限配置 然后可根据需要 调用微信所提供的接口后端返回接口
在前端调用时wx.config({...})中需要的参数需要我们自己进行返回
其中 timestamp , nonceStr, signature,是需要后端计算返回的。
签名获取方法
签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。
而其中的 jsapi_ticket 是通过 access_token 来获取的,且两者都有过期时间(秒)其中 jsapi_ticket 更是限制了获取次数。所以为了保存两者,使用redis数据库保存在内存中是个很好的选择(可快速读取,并设置过期时间)。
token获取方法:
在配置文件中配置好所需要的appid和appsecret,首先查看redis中是否存在,如果存在就直接返回,没有的话,就调用saveToken去获取并保存在redis中
jsapi_ticket 获取方法
同理,jsapi_ticket 也采用同样的方式去获取
签名算法
在获取jsapi_ticket后就可以生成JS-SDK权限验证的签名了
以上基本就完成了后端返回签名的过程(省略了redis部分)。具体细节可参考我当时的练手项目中的代码。
至此,前端就可以使用jssdk来完成功能的调用了。
ps:某次使用录音接口做了一个功能,但是发现,微信服务器只会保存3天数据,需要自己下载到自己的服务器才行,不知道诸位有没做过类似的需求,给我提供下指导啥的,感激不尽~
后记
后来又写过一个获取用户信息的页面,感觉也是挺常用的就写个demo出来看看吧(没有做access_token的保存,好像是没有获取次数限制)。
标签: node.js 微信小程序
本文链接地址:https://www.jiuchutong.com/biancheng/380809.html 转载请保留说明!上一篇:node.js操作mongodb简单示例分享(node.js操作mssql)
友情链接: 武汉网站建设