位置: 编程技术 - 正文

详解基于Node.js的微信JS-SDK后端接口实现代码(node.js的理解)

编辑:rootadmin

推荐整理分享详解基于Node.js的微信JS-SDK后端接口实现代码(node.js的理解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:基于nodejs的项目,基于node的网站有哪些,详解基于python的图像Gabor变换及特征提取,详解基于python的图像Gabor变换及特征提取,node基础,node基础,详解基于python的图像Gabor变换及特征提取,node.js基础知识,内容如对您有帮助,希望把文章链接给更多的朋友!

做了一个网站,放到线上,用微信打开,点击分享,可是分享后发给朋友的链接卡片是微信默认自带的,如下:

这标题,描述以及图片是默认自带的,丑不说,分享给别人还以为是盗号网站呢,而接入微信的JSSDK后,分享可以自定义内容,如下:

我承认,虽然这分享的标题和内容也并不正经,但这不妨碍我表达我们可以通过微信JSSDK定义分享内容,接下来我们将一步一步从零实现JSSDK从后端Node.js的接入。

成为测试公众号开发者

登录测试公众号后台

首先我们需要在微信公众平台申请测试接口,地址: 假设我这里填写的服务器地址是" 假设我这里填写的Token是"jegfjaeghfuccawegfgjdbh"

此时点击提交是会提示配置失败的,因为在提交的时候,微信是会请求你的服务器地址,而你的当前配置的地址并不能访问,所以会提示配置失败。不过别急,我们先来搭建一个简单的Node服务器,让微信能够访问该服务器。

搭建简单的Node服务器

我们需要在 这个域名上搭建一个服务器,并且曝出一个接口为/wxJssdk

现在我们在地址栏中访问 ,如果页面显示“请求成功了了了了”,则进入到下一步,如果没有成功的话,检查一下你的服务器是否开启Node服务器,如:node index.js

此时保存微信测试公众号后台的接口配置信息,仍然会提示配置失败,这是因为我们没有按照它的要求返回。

根据微信测试公众号请求信息返回对应内容

根据微信公众号开发文档接入指南,微信在请求我们配置的接口时,会带上如下信息

参数 描述 signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 timestamp 时间戳 nonce 随机数 echostr 随机字符串

微信服务器会通过GET请求,来请求我们所配置的接口,并带上以上表格的信息,而我们必须按照以下要求,将微信发送的信息进行要求校验,以确保是微信发送的信息,其中校验流程如下:

1)将token、timestamp、nonce三个参数进行字典序排序2)将三个参数字符串拼接成一个字符串进行sha1加密3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

此时我们重启Node服务器,再次保存接口配置信息即可配置成功。

微信JSSDK使用步骤

根据微信JSSDK说明文档,我们需要完成如下:

填写安全域名

详解基于Node.js的微信JS-SDK后端接口实现代码(node.js的理解)

登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”,即要调用接口的域名,不包含协议

前端引入JS

在需要调用JS接口的页面引入此JS文件,(支持https): you need,当然,这并不是我们所要讲的重点,我们接下来要看一下微信的配置信息从哪获取

在Node服务器中生成jssdk所需要的配置信息

从上一节可以看到,调用微信JSSDK需要以下信息

1.appId2.timestamp3.nonceStr4.signature5.jsApiList

其中:

1.第1项appId是测试公众号后台的appId,我们已知2.第2项时间戳我们也可以自己生成3.第3项nonceStr可以随意填写,你可以理解为密钥4.第4项signature则需要我们按要求生成5.第5项是所需要接口的接口名

生成signature

生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为秒,通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。

为了保证我们appid,appsecret,nonceStr等信息不在前端曝露,我们以下步骤将在服务器上进行操作,以免他人盗用信息获取(注:微信请求有每日次数限制,一旦超出,则无法使用,具体请求次数限制在微信公众号后台中可查看)

生成access_token

根据微信开发文档[获取access_token文档说明],我们需要将微信测试公众号后台的appid和和appsecret以GET的请求方式向 发起请求获取token,请求成功后我们会获得下返回JSON转化的字符串

具体请求代码如下:

获取jsapi_ticket

生成签名

生成签名的步骤和最开始的/wxJssdk的算法是一致的,具体如下:

连接后的代码为:

曝露接口,返回给前端

前端请求后端接口,获取配置信息

获取配置

做你想做的,比如,自定义分享

至此,后端配置好了,我们已经能够正常使用微信的接口了,但是微信每日接口请求是有上限的,通过次/天,因此如果网站上线后,一量当天访问量超过次你的接口将失效,而且每次都请求微信接口两次,造成请求时间浪费,所以我们需要将以上获取信息缓存在后端,避免造成接口失效以及多次请求微信后台。

缓存access_token及jsapi_ticket

此处直接上代码,利用node_cache包进行缓存

标签: node.js的理解

本文链接地址:https://www.jiuchutong.com/biancheng/380887.html 转载请保留说明!

上一篇:nodejs构建本地web测试服务器 如何解决访问静态资源问题(如何用nodejs搭建服务端)

下一篇:Node.js中流(stream)的使用方法示例(node stream(流)有哪些?)

  • 电子税务局实名核验失败怎么回事啊
  • 普票也要盖发票专用章吗
  • 劳务派遣员工工伤用工单位承担责任吗
  • 话费充值发票可以入账吗
  • 讲师讲课费标准2019
  • 无偿赠送商品要纳企业所得税吗
  • 房屋租赁费如何计提
  • 商业折扣的纳税影响
  • 有限合伙合伙人要求
  • 分期收款销售会计分录(现销)
  • 国有企业取得的土地收储款是否要上缴财政
  • 未开票收入如何申报增值税,下个月怎么操作
  • 交通运输业安全心得体会范文
  • 出售股份是利好吗
  • 金融机构对服务的要求
  • 个人转租房屋的法律规定
  • 电子增值普通发票经营范围呢免费吗
  • 刚升级一般纳税人可以申请贷款吗
  • 建筑行业增值税是多少
  • 国家税务总局11号令
  • 关于税前扣除的规定
  • 附加税费计提表
  • 发票月初抄税流程
  • 增值税进项抵扣完了还上附加税吗
  • 个人承包承租经营所得采用什么税率
  • 购进原材料直接销售应该怎样结转成本呢
  • 免抵退税的范围
  • 怎么向个体工商户贷款
  • 公司自己的食堂需要办理食品经营许可证吗
  • linux怎么安装程序
  • 腾讯手游助手qq版本过低
  • 鸿蒙桌面卡片怎么变小
  • 联想thinkpad安装win7方法
  • 怎么写会计凭证
  • 企业所得税征收标准
  • 辞退补偿入账
  • 微信小程序下单可以退款吗
  • 建筑业的账务处理办法
  • 家属补助每月发多少钱
  • 企业清算时
  • 承包经营所得税税率表
  • 应收账款余额在借方表示谁欠谁
  • uniapph5微信支付
  • 其他货币资金的账务处理
  • chrome插件开发语言
  • 谷歌研究院
  • 合并命令如何使用
  • 小微企业年收入超过300万按多少缴纳所得税
  • python repeat函数
  • 前端培训费用大概多少
  • 银行存款调节表调整后的银行存款余额
  • 领取材料的分录
  • 资产负债表第二年怎么填
  • 外贸企业应交税费计入
  • 用jdom创建中文的xml文件的方法
  • 小企业会计准则和企业会计准则的区别
  • 委托加工物资账务
  • 差额征收的会计分录
  • 公司汽车维修
  • 现金不够老板垫钱怎么办
  • 抵扣认证的发票怎么做账
  • 上市公司做会计有什么好处
  • mysql中删除表中的数据
  • mysql中的where子句
  • mysql基本sql语句大全(基础用语篇)
  • macos sierra怎么样
  • solaris route add
  • 32位与64位操作系统怎么区分从32位和64位的概念上进行讲述
  • diskgenius分区linux
  • 联想系统win8
  • linux下history命令显示历史指令记录的使用方法
  • 苹果Mac OS X通知中心提示音怎么修改 OS X通知中心提示音更换方法图解
  • 如何将windows 10
  • linux中文件权限读写执行的三种标志符号依次是
  • python的脚本
  • python记录运行状态的模块
  • jquery动态设置css
  • 湖北省纳税大户
  • 赣州买二手房限购吗
  • 浙江国税电子税务局申报时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设