国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

? ?? ??? ?? ?? NodeJs? WeChat ?? ?? WeChat ??? ?? ?? ?? ??? ?????.

NodeJs? WeChat ?? ?? WeChat ??? ?? ?? ?? ??? ?????.

Mar 21, 2017 pm 04:00 PM

? ?? ?? NodeJ? ???? WeChat ?? ??? ?? WeChat ??? ?? ?? ??? ???? ??? ?? ??? ?????. ??? ??? ?? ??? ? ????.

WeChat ?? ??? ????? ??? ????. , ?? ?? ?? ??? ?????? ?? ???? ???. ?? ?? ?? ?? ??? ??? ??? ???? ???? ???. ?? ???? ????? ??????? ?? ??? ?? nodejs? WeChat? ??? ???????? ?? ????????. ??? ??? ??? ??? ?? ??? ??? URL???(?? /login/wechat? ??).

??? ????

QR ??? ???? WeChat ?? ??? ???? ? WeChat?? ?????? ??? ???. login/wechat , xml ??? ?? ?????. ?? ??? ??? ??, ??? ? ??? ?? ??? TOKEN? ????? ???? ???. xml? ?? ?????. ??? xml? ?? ??? ? ??? ?? ???? ???. ??? ?? xml ?? ??

//xml解析模塊
var XMLJS = require('xml2js');
//解析,將xml解析為json
var parser = new XMLJS.Parser();
//重組,將json重組為xml
var builder = new XMLJS.Builder();

? ???? req? ???? ???? ?? WeChat?? ?? xml ???? ?????. ??? ?? ???? ?? ??? ???? ? WeChat?? ??? ?????(?? ???? ??? /yourapi)? ??? xml ?? ??????. ?? ??, ? ??? ??? ????.

NodeJs? WeChat ?? ?? WeChat ??? ?? ?? ?? ??? ?????.

tousername: Recipient [??? ?? WeChat ??]

fromusername: Sender [??? ??? openid]

createTime: ??? ??

msgtype: ??? ?? [???(?? ???), ???(?? ???), ???(?? ??? ???) ?]

???: ??? ?? [??? ??????. ]

eventkey: ???? ?? ? ??? ??? ? ?? ????.

? ??? ??? ?? ?????. a ???? ??? ??? ? WeChat? ?????? ?? ??? ?????. ??? ???? ??? ?? ???? openid? fromusername???. ???? ? ???? openid? ?? ? WeChat(https://api.weixin.qq.com/)?? ???? ?? ?????? ??? ? ????. cgi-bin/ user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN) ???? ???, ??, ??? ? ?? ??? ???? ??? ? ?? ? ??????? ?????.

?? ??

//微信事件推送的入口
app.post('/yourapi', function(req, res, next) {
//獲取參數(shù)
var query = req.query; 
//簽名
var signature = query.signature; 
//輸出的字符,你填寫的TOKEN 
var echostr = query.echostr; 
//時間戳
var timestamp = query['timestamp']; 
//隨機字符串
var nonce = query.nonce; 
var oriArray = new Array(); 
oriArray[] = nonce; 
oriArray[] = timestamp; 
oriArray[] = appConfig.token;
//排序參數(shù)
oriArray.sort(); 
var original = oriArray[]+oriArray[]+oriArray[]; 
//加密
var scyptoString = sha(original); 
//判斷是否與你填寫TOKEN相等
if (signature == scyptoString) {
//獲取xml數(shù)據(jù)
req.on("data", function(data) {
//將xml解析
parser.parseString(data.toString(), function(err, result) {
var body = result.xml;
var messageType = body.MsgType[];
//用戶點擊菜單響應(yīng)事件
if(messageType === 'event') {
var eventName = body.Event[];
(EventFunction[eventName]||function(){})(body, req, res);
//自動回復(fù)消息
}else if(messageType === 'text') {
EventFunction.responseNews(body, res);
//第一次填寫URL時確認接口是否有效
}else {
res.send(echostr);
}
});
});
} else { 
//認證失敗,非法操作
res.send("Bad Token!"); 
}
});
//微信客戶端各類回調(diào)用接口
var EventFunction = {
//關(guān)注
subscribe: function(result, req, res) {
//存入openid 通過微信的接口獲取用戶的信息同時存入數(shù)據(jù)庫。
},
//注銷
unsubscribe: function(openid, req, res) {
//刪除對應(yīng)id
},
//打開某個網(wǎng)頁
VIEW: function() {
//根據(jù)需求,處理不同的業(yè)務(wù)
},
//自動回復(fù)
responseNews: function(body, res) {
//組裝微信需要的json
var xml = {xml: {
ToUserName: body.FromUserName,
FromUserName: body.ToUserName,
CreateTime: + new Date(),
MsgType: 'text',
Content: '編輯@+您想說的話,我們可以收到'
}};
var reciviMessage = body.Content[]
if(/^\@.*/.test(reciviMessage)) {
xml.xml.Content = '已經(jīng)收到您的建議,會及時處理!'
}<br>//將json轉(zhuǎn)為xml
xml = builder.buildObject(xml);<br>//發(fā)送給微信
res.send(xml);
}
}

???? JS?? ????? ??? ???? ?? ????? ?? , subscribe ????? ??? ????? ????, openid ????? ??? ??? WeChat ID? ????? ??? ??? ? ???? ?? ??? ??????? ??? ? ????. ??? ?? ???? ??? ? ???? ? ? ?? ??? ??? ??? openid? ???? ??????? ????? ?? ???.

? ??? NodeJs? WeChat ?? ?? WeChat ??? ?? ?? ?? ??? ?????.? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???