亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

nodejs微信開發之接入指南

2024-05-06 16:49:08
字體:
來源:轉載
供稿:網友

最近又拾起了微信開發,之前的公眾號是用的flask進行開發的,所以最近想要用nodejs改寫一下,這些算是記錄吧,邊寫代碼邊寫下這篇文章。

因為我對nodejs也并不是那么的熟悉,僅僅是新手的狀態,如果有錯誤的地方請指出。

文章最后會放出源碼。公眾號部署在leancloud,這里也會稍微介紹一下leancloud的云引擎,方便部署。

這部分文章涉及的代碼不多,多是工具的介紹以及一個接入指南。

內網穿透

由于微信開發的端口必須是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 configconst 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也是可以成功的,不過后面的請求就不太好辦了?)。

這樣來說接入應該就算是成功了。

首先github地址奉上:https://github.com/xiadd/shorthand

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97精品欧美一区二区三区| 亚洲日韩中文字幕在线播放| 免费不卡欧美自拍视频| 亚洲国产精品女人久久久| 国产精品视频自在线| 亚洲欧洲国产精品| 精品国产一区二区三区久久久| 亚洲国产成人精品一区二区| 欧美性极品xxxx做受| 国产精品网站视频| 中文字幕欧美精品日韩中文字幕| 精品亚洲aⅴ在线观看| 国产男女猛烈无遮挡91| 日本精品va在线观看| 午夜精品一区二区三区在线视频| 中文字幕在线观看日韩| 国产97在线亚洲| 国产精品香蕉av| 国产精品日韩av| 亚洲最大福利网| 久久久久久国产精品久久| 国产精品久久久久久久久久三级| 91精品视频在线免费观看| 97国产在线观看| 欧美激情第一页xxx| 青青久久av北条麻妃海外网| 国产做受69高潮| 亚洲成人xxx| 5566成人精品视频免费| 精品久久久一区| 欧美日韩亚洲一区二| 久久精品久久久久久国产 免费| 欧美有码在线视频| 亚洲自拍偷拍福利| 日韩一二三在线视频播| 亚洲xxx视频| 91精品久久久久久久久| 欧美一区二区.| 最近中文字幕mv在线一区二区三区四区| 欧美做爰性生交视频| 欧美亚洲激情在线| 欧美福利视频在线观看| 欧美午夜精品久久久久久浪潮| 亚洲第一页自拍| 亚洲系列中文字幕| 精品久久久久久久久久久久久| 国产日产久久高清欧美一区| 91午夜理伦私人影院| 久久久成人精品| 国产精品久久久av久久久| 日韩中文在线中文网在线观看| 亚洲色图av在线| 久久久久国产精品免费| 日韩精品免费一线在线观看| 欧美华人在线视频| 亚洲一区二区三区成人在线视频精品| 91精品国产综合久久久久久蜜臀| 精品毛片三在线观看| 日韩激情视频在线播放| 亚洲人线精品午夜| 成人免费在线视频网址| 日韩一级裸体免费视频| 国产精品小说在线| 日韩精品在线视频| 中文综合在线观看| 日韩美女写真福利在线观看| 日本91av在线播放| 国产精品久久久久久亚洲影视| xvideos成人免费中文版| 国产精品第三页| 成人激情电影一区二区| 2019国产精品自在线拍国产不卡| 91麻豆国产语对白在线观看| 91精品国产91久久久久久不卡| 欧美午夜激情视频| 日韩成人av网| 欧美成人sm免费视频| 久久精品国产99国产精品澳门| 九九视频直播综合网| 狠狠综合久久av一区二区小说| 国产精品久久久久久搜索| 色天天综合狠狠色| 日本在线精品视频| 亚洲精品中文字| 精品久久久久久久久久久久久| 性视频1819p久久| 亚洲精品中文字幕有码专区| 欧美激情性做爰免费视频| 亚洲第一色在线| 在线性视频日韩欧美| 日韩大片在线观看视频| 在线精品国产欧美| 欧美性xxxx在线播放| 亚洲第一网站男人都懂| 日韩一区二区福利| 亚洲男人av电影| 亚洲深夜福利视频| 欧美国产一区二区三区| 亚洲男人天堂久| 日韩成人在线视频| 91亚洲精品在线| 日韩69视频在线观看| 亚洲伊人成综合成人网| 视频在线观看99| 国产精品久久久久久久久久| 欧美精品免费在线观看| 亚洲一区二区三区乱码aⅴ| 日韩精品视频免费专区在线播放| 日本a级片电影一区二区| 久久久久久久久爱| 欧美激情精品久久久久久久变态| 亚洲电影在线看| 国产成+人+综合+亚洲欧美丁香花| 97久久国产精品| 57pao国产精品一区| 国产精品亚洲一区二区三区| 日韩精品有码在线观看| 亚洲国产精品一区二区三区| 亚洲电影免费观看高清完整版在线| 日本一欧美一欧美一亚洲视频| 日韩在线中文字| 色噜噜狠狠色综合网图区| 都市激情亚洲色图| 欧美中文字幕视频| 国产日韩欧美影视| 欧美日韩中文字幕综合视频| 亚洲电影免费观看高清完整版| 亚洲国产天堂久久国产91| 欧美激情一区二区三区高清视频| 高潮白浆女日韩av免费看| 日韩中文字在线| 精品久久久久久久久久久久久久| 久久久久久久久中文字幕| 久久理论片午夜琪琪电影网| 91视频-88av| 久久人91精品久久久久久不卡| 2024亚洲男人天堂| 97**国产露脸精品国产| 91高清视频免费观看| 亚洲欧美国产日韩中文字幕| 久久精品一区中文字幕| 亚洲天堂成人在线视频| 在线播放日韩欧美| 亚洲a∨日韩av高清在线观看| 91久久在线视频| 成人免费在线网址| 欧美裸体xxxx极品少妇软件| 日本不卡高字幕在线2019| 亚洲成人av在线| 欧美成人免费大片| 韩剧1988免费观看全集| 久久九九精品99国产精品| 欧美老肥婆性猛交视频| 久久精品99久久久香蕉| 最新国产精品亚洲| 亚洲精品国产精品自产a区红杏吧| 精品日本美女福利在线观看| 亚洲美腿欧美激情另类| 日韩电视剧在线观看免费网站| 日韩大陆毛片av| 91免费看视频.| 久久亚洲电影天堂| 久久久人成影片一区二区三区观看| 欧美最猛性xxxxx亚洲精品|