記得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也有不少別的一些功能。有興趣的能夠研究下。安全