黄色草逼视频_久久夜夜视频_亚洲国产成人久久午夜_三级在线播放
網站改版
|
WAP網站制作
|
域名注冊
|
虛擬主機
|
服務器
|
海微商
|
海微信
|
海微通
|
無障礙
| 24小時服務電話:13807590485
海南網站建設
海南網站制作
海口網站建設
三亞網站建設
儋州網站建設
五指山網站建設
文昌網站建設
瓊海網站建設
萬寧網站建設
東方網站建設
定安網站建設
網站首頁
網站首頁
網站建設
網站建設
微信開發
微信開發
網站推廣
網站推廣
海南世紀華聯
網站超市
網站超市
客戶案例
客戶案例
網站模板
網站模板
關于我們
關于我們
無障礙
微信開發
微信系統開發
微信開發功能
公眾號基礎教程
開發技術資訊
公眾號推廣營銷
客戶案例
聯系我們
QQ服務群:
28519571
工作時間:
86-0898-31568080
傳真號碼:
86-0898-31568085
24小時服務:
0138-07590485
您現在的位置: 首頁 >> 微信開發 >> 開發技術資訊
開發技術資訊
微信公眾平臺NodeJs開發之路--消息處理
世紀華聯 | 2018-01-26 23:52:49 | 閱讀:13666
關于微信開放平臺的申請過程,請查看官方地址:
http://mp.weixin.qq.com/cgi-bin/ ... -doc&lang=zh_CN
現在貼出來如何處理消息的,XML的解析使用了node-xml這個模塊 ,使用命令:npm install node-xml 安裝.
001var crypto=require("crypto");
002var xml=require("./node-xml/lib/node-xml.js");
003var messageSender=require("./messageSender.js");
004function isLegel(signature,timestamp,nonce,token){
005var array=new Array();
006array[0]=timestamp;
007array[1]=nonce;
008array[2]=token;
009array.sort();
010var hasher=crypto.createHash("sha1");
011var msg=array[0]+array[1]+array[2];
012hasher.update(msg);
013var msg=hasher.digest('hex');
014if(msg==signature){
015return true;
016}else{
017return false;
018}
019}
020
021function processMessage(data,response){
022var ToUserName="";
023var FromUserName="";
024var CreateTime="";
025var MsgType="";
026var Content="";
027var Location_X="";
028var Location_Y="";
029var Scale=1;
030var Label="";
031var PicUrl="";
032var FuncFlag="";
033
034var tempName="";
035var parse=new xml.SaxParser(function(cb){
036cb.onStartElementNS(function(elem,attra,prefix,uri,namespaces){
037tempName=elem;
038});
039
040cb.onCharacters(function(chars){
041chars=chars.replace(/(^s*)|(s*$)/g, "");
042if(tempName=="CreateTime"){
043CreateTime=chars;
044}else if(tempName=="Location_X"){
045Location_X=cdata;
046}else if(tempName=="Location_Y"){
047Location_Y=cdata;
048}else if(tempName=="Scale"){
049Scale=cdata;
050}
051
052
053});
054
055cb.onCdata(function(cdata){
056
057if(tempName=="ToUserName"){
058ToUserName=cdata;
059}else if(tempName=="FromUserName"){
060FromUserName=cdata;
061}else if(tempName=="MsgType"){
062MsgType=cdata;
063}else if(tempName=="Content"){
064Content=cdata;
065}else if(tempName=="PicUrl"){
066PicUrl=cdata;
067}else if(tempName=="Label"){
068Label=cdata;
069}
070console.log("cdata:"+cdata);
071});
072
073cb.onEndElementNS(function(elem,prefix,uri){
074tempName="";
075});
076
077cb.onEndDocument(function(){
078console.log("onEndDocument");
079tempName="";
080var date=new Date();
081var yy=date.getYear();
082var MM=date.getMonth() + 1;
083var dd=date.getDay();
084var hh=date.getHours();
085var mm=date.getMinutes();
086var ss=date.getSeconds();
087var sss=date.getMilliseconds();
088var result=Date.UTC(yy,MM,dd,hh,mm,ss,sss);
089var msg="";
090if(MsgType=="text"){
091msg="謝謝關注,你說的是:"+Content;
092}else if (MsgType="location"){
093msg="你所在的位置: 經度:"+Location_X+"緯度:"+Location_Y;
094}else if (MsgType="image"){
095msg="你發的圖片是:"+PicUrl;
096}
097messageSender.sendTextMessage(FromUserName,ToUserName,CreateTime,msg,FuncFlag,response);
098
099});
100});
101parse.parseString(data);
102}
103module.exports.isLegel=isLegel;
104module.exports.processMessage=processMessage;
調用過程:
view source print?
01var app=require("express").createServer();
02var wx=require('./lib/wx');
03var fs=require("fs");
04app.get('/',function(req,response){
05
06fs.readFile("./qrCode.jpg","binary",function(err,file){
07if(err){
08response.writeHead(500,{"Content-Type":"text/plain"});
09response.write(err+"n");
10}else{
11response.writeHead(200,{"Content-Type":"image/jpg"});
12response.write(file,"binary");
13}
14response.end();
15});
16});
17
18
19app.get('/wx',function(req,res){
20var signature=req.query.signature;
21var timestamp=req.query.timestamp;
22var nonce=req.query.nonce;
23var echostr=req.query.echostr;
24var check=false;
25check=wx.isLegel(signature,timestamp,nonce,token);//替換成你的token
26if(check){
27res.write(echostr);
28}else{
29res.write("error data");
30}
31res.end();
32});
33app.post('/wx',function(req,res){
34var response=res;
35var formData="";
36req.on("data",function(data){
37formData+=data;
38});
39req.on("end",function(){
40wx.processMessage(formData,response);
41});
42});
43app.listen(3000);
44
45<DIV>
46
47
48</DIV>
海南網站建設
|
海南網站制作
|
海口網站建設
|
三亞網站建設
|
儋州網站建設
|
五指山網站建設
|
文昌網站建設
|
瓊海網站建設
|
萬寧網站建設
|
東方網站建設
|
定安網站建設
|
屯昌網站建設
|
澄邁網站建設
|
臨高網站建設
|
白沙網站建設
|
昌江網站建設
|
樂東網站建設
|
陵水網站建設
|
保亭網站建設
|
瓊中網站建設
|
海口精英網
|
三亞精英網
|
文昌精英網
|
瓊海精英網
|
陵水精英網
|
儋州精英網
|
萬寧精英網
|
澄邁精英網
|
海微通
合作伙伴
企業發展
企業文化
聯系我們
在線訂購
網站地圖
返回首頁
手機版
海口世紀華聯科技有限公司2025版權所有 24小時服務熱線:13807590485 歡迎來電咨詢
地址:海南省.海口市.海甸二東路環惠大廈6樓(南寶路明都大廈107#) 公司電話:0898-31568080 31568060 QQ:85398489
全國合作聯盟分布:海南海口 四川成都 湖北武漢 湖南長沙 安徽合肥 廣東深圳 山西太原 西藏拉薩
技術服務: E_mail:server@www.0118yy.com 服務訂購:E_mail:server@www.0118yy.com 在線客服邀請
瓊ICP備10201086號-15
推廣關鍵字:
海南網站建設公司
,
海南網站制作公司
,
海南網站開發公司
,
海南微信開發公司
,
海南微信公眾號開發公司
,
海南微信公眾號代運營公司
,
海南模板網站制作公司
,
海南網頁設計公司
,
海南網絡公司