广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >nodejs微信开发之接入的示例分析
  • 110
分享到

nodejs微信开发之接入的示例分析

2024-04-02 19:04:59 110人浏览 薄情痞子
摘要

这篇文章主要为大家展示了“nodejs微信开发之接入的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“nodejs微信开发之接入的示例分析”这篇文章吧。内

这篇文章主要为大家展示了“nodejs微信开发之接入的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“nodejs微信开发之接入的示例分析”这篇文章吧。

内网穿透

由于微信开发的端口必须是80(最近貌似增加了443),所以一个内网穿透工具还是很有必要的。我个人使用的是qq浏览器微信调试工具。

nodejs微信开发之接入的示例分析
我也推荐这个,毕竟一家的。
但是也有其他的选择:

花生壳
这个速度还可以,但是只有window客户端的,貌似还可以折腾路由器那边的东西,我也没深入折腾。

nat123
与花生壳类似,但是速度着实不太给力。经常配置错误。说是免费但是需要预充几块钱进去,不是很推荐。

ngrok
一个开源软件,可以自己在服务器上部署也可以使用现成的,其实qq浏览器的微信调试就是基于这个搭建的。算是比较好用的。

leancloud

为什么使用leancloud,其实是我没太接触其他的云服务,也无从比较,另外一个就是heroku,但是国内的访问速度感人。
leancloud应该是一个类似parse(其实parse我也不是很了解hhhh)的服务,但还提供了托管WEB的云引擎。包括python和nodejs两种,这里介绍nodejs的引擎。云引擎入门的话请看leancloud云引擎入门,毕竟比我讲的强多了。
对于个人开发者,leancloud算是免费的,限制不是很大,但是貌似最近出了个实名认证,但是没认证好像也没啥问题。但是对于面试用户,如果应用没有请求,就是睡眠,所以如果应用打不开多试两次就行了,极有可能是睡眠了。

常用命令

lean new新建项目
lean app add [appname] [appid] 关联项目到leancloud 云引擎
lean up 启动服务
lean deploy部署应用(貌似收费用户是部署到测试环境)
lean publish部署到开发环境(免费用户用不着)

云引擎简介

进入控制台后如图所示:

nodejs微信开发之接入的示例分析

存储是数据库,各个功能如名字所说。一些暂时用不着的功能就不提了。

主要是云引擎这个选项,需要进入设置中配置好域名。

nodejs微信开发之接入的示例分析

数据库

leancloud的数据库是一个半残的monGo,基本是够用的。文档在这js数据开发

公众号的接入

我这边使用的是公众号测试号,因为个人申请到的订阅号的功能严重缺失。

首先看微信文档

nodejs微信开发之接入的示例分析

填写服务器配置

nodejs微信开发之接入的示例分析

也就上图的接口配置信息,url是你服务部署的地方,图中的url是微信调试工具生成的,所以有些乱,token是随意填写的,注意下面还是要用到的,注意保存好。

验证服务器地址的有效性

这里就是代码部分了。先上目录结构:

nodejs微信开发之接入的示例分析

app目录放业务逻辑代码。

config.js存放相关配置,包括微信公众号的appId ,Token等

module.exports = {
 'token': 'yourtoken',//配置中的token
 'appId': 'your appid',//配置里的appid
 'appSecret': 'your appsecret'//配置中的appsecret
};

注:这部分引自微信公众平台文档

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下表所示:

nodejs微信开发之接入的示例分析

通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:
1)将token、timestamp、nonce三个参数进行字典序排序
2)将三个参数字符串拼接成一个字符串进行sha1加密
3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

这部分的代码如下:

const crypto = require('crypto');
const path = require('path');
const url = require('url');

//import config
const config = require('../../config');

//进行sha1加密
function sha1(str) {
 var shasum = crypto.createHash("sha1");
 shasum.update(str);
 str = shasum.digest("hex");
 return str;
}

function wechatAuth(req, res) {
 var query = url.parse(req.url, true).query;
 var signature = query.signature;
 var echostr = query.echostr;
 var timestamp = query['timestamp'];
 var nonce = query.nonce;

 var reqArray = [nonce, timestamp, config.token];

 //对数组进行字典排序
 reqArray.sort();
 var sortStr = reqArray.join('');//连接数组
 var sha1Str = sha1(sortStr);

 if (signature === sha1Str) {
  res.end(echostr);
 } else {
  res.end("false");
  console.log("授权失败!");
 }
}

module.exports = wechatAuth;

相信代码说的总是比我清楚,首先获取请求url中的四个参数,对nonce,timestamp, 和token进行字典排序也就是Array.sort(),然后进行字符串拼接,进行sha1加密,如果结果和signature相等则成功,(顺便说一句,其实直接返回echostr也是可以成功的,不过后面的请求就不太好办了?)。

这样来说接入应该就算是成功了。

以上是“nodejs微信开发之接入的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: nodejs微信开发之接入的示例分析

本文链接: https://www.lsjlt.com/news/79290.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • nodejs微信开发之接入的示例分析
    这篇文章主要为大家展示了“nodejs微信开发之接入的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“nodejs微信开发之接入的示例分析”这篇文章吧。内...
    99+
    2022-10-19
  • 微信小程序微信支付接入开发的示例分析
    这篇文章将为大家详细讲解有关微信小程序微信支付接入开发的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。内容如下:一、后台接口封装;二、小程序端整合;三、总结一、后...
    99+
    2022-10-19
  • 微信小程序开发之入门的示例分析
    这篇文章给大家分享的是有关微信小程序开发之入门的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、注册小程序账号1、进入微信公众平台(https://mp.weixin....
    99+
    2022-10-19
  • nodejs开发企业微信第三方应用的示例分析
    小编给大家分享一下nodejs开发企业微信第三方应用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、注册第三发服务商...
    99+
    2022-10-19
  • nodejs个人博客开发之入口文件的示例分析
    这篇文章主要为大家展示了“nodejs个人博客开发之入口文件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“nodejs个人博客开发之入口文件的示例分析...
    99+
    2022-10-19
  • nodejs开发微信小程序实现密码加密的示例分析
    小编给大家分享一下nodejs开发微信小程序实现密码加密的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序开发-...
    99+
    2022-10-19
  • 微信小程序开发之全局配置的示例分析
    这篇文章给大家分享的是有关微信小程序开发之全局配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一.app.json     使用app....
    99+
    2022-10-19
  • 微信小程序云开发的示例分析
    这篇文章主要介绍了微信小程序云开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下小程序云开发是微信最近推出的新的一项能...
    99+
    2022-10-19
  • 微信小程序云开发之环境配置的示例分析
    小编给大家分享一下微信小程序云开发之环境配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下注意:小程序云开...
    99+
    2022-10-19
  • Koa2微信公众号开发之消息管理的示例分析
    这篇文章将为大家详细讲解有关Koa2微信公众号开发之消息管理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。接收消息当普通微信用户向公众账号发消息时,微信服务器将...
    99+
    2022-10-19
  • 微信小程序入门开发实例分析
    这篇“微信小程序入门开发实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序入门开发实例分析”文章吧。注册微信小...
    99+
    2023-06-30
  • 微信小程序开发中Tabbar的示例分析
    这篇文章将为大家详细讲解有关微信小程序开发中Tabbar的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 Tabbar1.下载微信小程序开发软件;htt...
    99+
    2022-10-19
  • 微信小程序后端开发的示例分析
    这篇文章主要介绍了微信小程序后端开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序后端开发流程根据官网总结为两个步骤1、...
    99+
    2022-10-19
  • 微信小程序开发实践的示例分析
    这篇文章主要介绍了微信小程序开发实践的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。小程序由于微信提供了一些组件,在微信中的一些体验确实不错,对于开发来说,由数据驱动...
    99+
    2023-06-26
  • 详解nodejs微信公众号开发——1.接入微信公众号
    接入微信公众号是开发的第一步,万事开头难,走好第一步,后面的路就更宽广。 1.公众平台测试帐号的使用 登录微信公众平台,由于很多开发人员并没有认证的的微信公众号,所以比较折中的方式是使用公众平台测试帐号...
    99+
    2022-06-04
    公众 详解 nodejs
  • Vue微信公众号开发踩坑的示例分析
    这篇文章将为大家详细讲解有关Vue微信公众号开发踩坑的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求微信授权登录(基于公众号的登录方案)接入JS-SDK实现图...
    99+
    2022-10-19
  • 微信小程序开发框架MINA的示例分析
    这篇文章将为大家详细讲解有关微信小程序开发框架MINA的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。小程序MINA框架,及优点MINA框架:小程序使用的是MIN...
    99+
    2022-10-19
  • 微信小程序云开发数据库的示例分析
    小编给大家分享一下微信小程序云开发数据库的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!开发者可以使用云开发开发微信小程...
    99+
    2022-10-19
  • 微信第三方小程序代开发的示例分析
    这篇文章主要为大家展示了“微信第三方小程序代开发的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信第三方小程序代开发的示例分析”这篇文章吧。注意事项:...
    99+
    2022-10-19
  • PHPWeb开发入门的示例分析
    小编给大家分享一下PHPWeb开发入门的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PHPWeb开发入门体验学习笔记4...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作