记得 15 年那个刚刚进入工作的时候, 公司有个微信公众号的项目, 那个时候微信官方没有什么调试工具, 也没有什么比较好的本地调试工具当时有个功能需要调用微信 JSSDK 里面的扫一扫的功能由于本地不能调试开发起来很烦每次都需要把代码上传到测试服务器, 然后在测试这样耗费了不少时间前几天之前的同事再次开发公众号的时候出了一些问题然后在讨论的时候得知了一个微信公众号本地开发的神器 "localtunne" 可以自己本地直接调试开发微信公号调用 JSSDK 使用非常简单
什么是 localtunne
Localtunnel 是一个可以让内网服务器暴露到公网上的开源项目项目地址他可以让你本地项目只需要一句命令直接让外网访问
怎么安装 localtunne
localtunnel 是基于 Node.js 所有你本地需要安装 nodeJS 如果本地已经安装直接运行
- # 安装 localtunnel
- npm install -g localtunnel
- # 查看当前版本现在最新是 1.8.3
- lt --version
没有安装 nodejs 的可以参考 nodejs 官方下载安装官网
接入微信公众号
已经安装好了 localtunne, 怎么关联微信公众号呢? 首先打开微信公众平台接口测试帐号申请 直接使用手机微信扫码登录
然后看到需要填写接口配置信息和 JS 接口安全域名
这个时候就需要用到刚刚我们安装的 localtunnel 我们直接在控制台输入
- # 这里 3000 指的是我本地程序的监听的端口根据具体项目修改运行成功会返回一个域名这个域名等会会用到
- robin:~ robin$ lt --port 3000
- your url is: https://wvfgfpvsdm.localtunnel.me
这里我们需要一段代码来做认证使用 代码如下:
- 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 也有很多别的一些功能有兴趣的可以研究下
来源: https://www.cnblogs.com/pass245939319/p/8608580.html