记得15年那个刚刚进入工做的时候,公司有个微信公众号的项目,那个时候微信官方没有什么调试工具,也没有什么比较好的本地调试工具。当时有个功能须要调用微信JSSDK里面的扫一扫的功能。因为本地不能调试。开发起来很烦。每次都须要把代码上传到测试服务器,而后在测试。这样耗费了很多时间。前几天以前的同事再次开发公众号的时候。出了一些问题。而后在讨论的时候。得知了一个微信公众号本地开发的神器"localtunne"。能够本身本地直接调试开发微信公号。调用JSSDK。使用很是简单。javascript
Localtunnel 是一个可让内网服务器暴露到公网上的开源项目。项目地址。他可让你本地项目只须要一句命令直接让外网访问。java
localtunnel是基于Node.js。全部你本地须要安装nodeJS。若是本地已经安装直接运行node
#安装localtunnel npm install -g localtunnel #查看当前版本。如今最新是1.8.3 lt --version
没有安装nodejs的能够参考nodejs官方下载安装。官网git
已经安装好了localtunne,怎么关联微信公众号呢?首先打开微信公众平台接口测试账号申请 。直接使用手机微信扫码登陆。
而后看到须要填写接口配置信息和JS接口安全域名。
这个时候就须要用到刚刚咱们安装的localtunnel。咱们直接在控制台输入github
#这里3000指的是我本地程序的监听的端口。根据具体项目修改。运行成功会返回一个域名。这个域名等会会用到。 robin:~ robin$ lt --port 3000 your url is: https://wvfgfpvsdm.localtunnel.me
这里咱们须要一段代码来作认证使用。 代码以下:npm
const Koa = require('koa'); const app = new Koa(); let config = require('./config/config'); let sha1 = require('sha1'); app.use(async ctx => { //仅仅用于测试 console.log(ctx.query) let token = config.token; let {signature, timestamp, nonce, echostr} = ctx.query; let arr = [token, timestamp, nonce]; let str = sha1(arr.sort().join('')); if (str === signature) { ctx.body = echostr+ ''; }else { ctx.body = '出错了'; } }); app.listen(3000);
首先运行上面那段代码。而后咱们把拿到域名了填写到网页上面。token能够随便填写要记住。而后点击提交按钮。这个时候会直接提示配置成功。同时本地程序也收到了微信的请求。
这个时候已经完成了对公众号的接入。简单吧。若是须要用到JS接口还须要配置JS接口安全域名。 这个一个坑就是复制本身域名的时候千万不要带任何的协议。只须要复制https://或者http://后面部门就能够了。而后点击保存以后。就能够很愉快的使用js相关的API啦。固然localtunnel也有不少别的一些功能。有兴趣的能够研究下。安全