久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

node.js - 用node做微信開發后臺,獲取access_token報錯

瀏覽:154日期:2022-06-26 11:43:21

問題描述

按照網上教程寫的,但是貌似坑比較多,新手不知道哪里出錯了,只知道是給一個沒有定義的東西掛在屬性什么什么的,下面貼出代碼,如果不全,我繼續貼。報錯:node.js - 用node做微信開發后臺,獲取access_token報錯

這是目錄結構:

node.js - 用node做微信開發后臺,獲取access_token報錯

下面是g.js

’use strict’var sha1 = require(’sha1’);var Promise = require(’bluebird’);var request = Promise.promisify(require(’request’));var prefix = ’https://api.weixin.qq.com/cgi-bin/’;var api = { accessToken:prefix+’token?grant_type=client_credential’}function Wechat(opts) { var that = this; this.appID = opts.appID; this.appSecret = opts.appSecret; this.getAccessToken = opts.getAccessToken; this.saveAccessToken = opts.saveAccessToken; this.getAccessToken() .then(function (data) {try { data = JOSN.parse(data);}catch(e) { return that.updateAccessToken();}if (that.isValidAccessToken(data)) { Promise.resolve(data);}else { return that.updateAccessToken();} }) .then(function (data) {that.access_token = data.access_token;that.expires_in = data.expires_in;that.saveAccessToken(data); })}Wechat.prototype.isValidAccessToken = function (data) { if (!data || !data.access_token || !data.expires_in) {return false; } var access_token = data.access_token; var expires_in = data.expires_in; var now = (new Date().getTime()) if (now < expires_in) {return true; }else {return false; }}Wechat.prototype.updateAccessToken = function () { var appID = this.appID; var appSecret = this.appSecret; var url = api.accessToken + ’&appid=’ + appID + ’&secret=’ + appSecret; return new Promise(function (resolve, reject) {request({url: url, json: true}).then(function (response) { var data = response[1]; var now = (new Date().getTime()); var expires_in = now + (data.expires_in - 20) * 1000; data.expires_in = expires_in; resolve(data);}) })}module.exports = function (opts) { var wechat = new Wechat(opts); return function *(next) {console.log(this.query)var token = opts.token;var signature = this.query.signature;var nonce = this.query.nonce;var timestamp = this.query.timestamp;var echostr = this.query.echostr;var str = [token, timestamp, nonce].sort().join(’’);var sha = sha1(str);if (sha === signature) { this.body = echostr + ’’;}else { this.body = ’wrong’;} }}

util.js:

’use strict’ var fs = require(’fs’); var Promise = require(’bluebird’); exports.readFileAsync = function (fpath, encoding) {return new Promise(function (resolve, reject) { fs.readFile(fpath, encoding, function (err, content) {if (err) reject(err);else resolve(content); })}) } exports.writeFileAsync = function (fpath, content) {return new Promise(function (resolve, reject) { fs.writeFile(fpath, content, function (err) {if (err) reject(err);else resolve(); })}) }

app.js:

’use strict’var Koa = require(’koa’);var path = require(’path’);var util = require(’./libs/util’);var wechat = require(’./wechat/g’);var wechat_file = path.join(__dirname,’./config/wechat.txt’);var config = { wechat: {appID: ’wxf959acc9ef3df3df’,appSecret: ’a5eaa93a1f0b75e692c0fb88f8ecdd37’,token: ’wuwei’,getAccessToken: function () { return util.readFileAsync(wechat_file);},saveAccessToken: function (data) { data = JSON.stringify(data); return util.writeFileAsync(wechat_file, data);} }}var app = new Koa();app.use(wechat(config.wechat))app.listen(80);console.log(’listening:80’);

response:

E:慕課網7天搞定Node.js微信公眾號開發wechat>node applistening:80data----- IncomingMessage { _readableState: ReadableState { objectMode: false, highWaterMark: 16384, buffer: [], length: 0, pipes: null, pipesCount: 0, flowing: true, ended: true, endEmitted: true, reading: false, sync: true, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, defaultEncoding: ’utf8’, ranOut: false, awaitDrain: 0, readingMore: false, decoder: null, encoding: null }, readable: false, domain: null, _events: { end: [ [Function: responseOnEnd], [Function], [Function], [Function] ], close: [ [Function], [Function] ], data: [Function], error: [Function] }, _eventsCount: 4, _maxListeners: undefined, socket: TLSSocket { _tlsOptions: { pipe: null,secureContext: [Object],isServer: false,requestCert: true,rejectUnauthorized: true,session: undefined,NPNProtocols: undefined,requestOCSP: undefined }, _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, _SNICallback: null, servername: null, npnProtocol: undefined, authorized: true, authorizationError: null, encrypted: true, _events: { close: [Object],end: [Object],finish: [Function: onSocketFinish],_socketEnd: [Function: onSocketEnd],secure: [Function],free: [Function: onFree],agentRemove: [Function: onRemove],drain: [Function: ondrain],error: [Function: socketErrorListener] }, _eventsCount: 9, _connecting: false, _hadError: false, _handle: null, _parent: null, _host: ’api.weixin.qq.com’, _readableState: ReadableState {objectMode: false,highWaterMark: 16384,buffer: [],length: 0,pipes: null,pipesCount: 0,flowing: true,ended: false,endEmitted: false,reading: true,sync: false,needReadable: true,emittedReadable: false,readableListening: false,resumeScheduled: false,defaultEncoding: ’utf8’,ranOut: false,awaitDrain: 0,readingMore: false,decoder: null,encoding: null }, readable: false, domain: null, _maxListeners: undefined, _writableState: WritableState {objectMode: false,highWaterMark: 16384,needDrain: false,ending: true,ended: true,finished: true,decodeStrings: false,defaultEncoding: ’utf8’,length: 0,writing: false,corked: 0,sync: false,bufferProcessing: false,onwrite: [Function],writecb: null,writelen: 0,bufferedRequest: null,lastBufferedRequest: null,pendingcb: 0,prefinished: true,errorEmitted: false,bufferedRequestCount: 0,corkedRequestsFree: [Object] }, writable: false, allowHalfOpen: false, destroyed: true, bytesRead: 319, _bytesDispatched: 195, _sockname: null, _pendingData: null, _pendingEncoding: ’’, server: undefined, _server: null, ssl: null, _requestCert: true, _rejectUnauthorized: true, parser: null, _httpMessage: ClientRequest {domain: null,_events: [Object],_eventsCount: 4,_maxListeners: undefined,output: [],outputEncodings: [],outputCallbacks: [],outputSize: 0,writable: true,_last: true,chunkedEncoding: false,shouldKeepAlive: false,useChunkedEncodingByDefault: false,sendDate: false,_removedHeader: {},_contentLength: 0,_hasBody: true,_trailer: ’’,finished: true,_headerSent: true,socket: [Circular],connection: [Circular],_header: ’GET /cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37 HTTP/1.1rnhost: api.weixin.qq.comrnaccept: application/jsonrnCnnection: closernrn’,_headers: [Object],_headerNames: [Object],_onPendingData: null,agent: [Object],socketPath: undefined,method: ’GET’,path: ’/cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’,parser: null,res: [Circular] }, read: [Function], _consuming: true, _idleNext: null, _idlePrev: null, _idleTimeout: -1 }, connection: TLSSocket { _tlsOptions: { pipe: null,secureContext: [Object],isServer: false,requestCert: true,rejectUnauthorized: true,session: undefined,NPNProtocols: undefined,requestOCSP: undefined }, _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, _SNICallback: null, servername: null, npnProtocol: undefined, authorized: true, authorizationError: null, encrypted: true, _events: { close: [Object],end: [Object],finish: [Function: onSocketFinish],_socketEnd: [Function: onSocketEnd],secure: [Function],free: [Function: onFree],agentRemove: [Function: onRemove],drain: [Function: ondrain],error: [Function: socketErrorListener] }, _eventsCount: 9, _connecting: false, _hadError: false, _handle: null, _parent: null, _host: ’api.weixin.qq.com’, _readableState: ReadableState {objectMode: false,highWaterMark: 16384,buffer: [],length: 0,pipes: null,pipesCount: 0,flowing: true,ended: false,endEmitted: false,reading: true,sync: false,needReadable: true,emittedReadable: false,readableListening: false,resumeScheduled: false,defaultEncoding: ’utf8’,ranOut: false,awaitDrain: 0,readingMore: false,decoder: null,encoding: null }, readable: false, domain: null, _maxListeners: undefined, _writableState: WritableState {objectMode: false,highWaterMark: 16384,needDrain: false,ending: true,ended: true,finished: true,decodeStrings: false,defaultEncoding: ’utf8’,length: 0,writing: false,corked: 0,sync: false,bufferProcessing: false,onwrite: [Function],writecb: null,writelen: 0,bufferedRequest: null,lastBufferedRequest: null,pendingcb: 0,prefinished: true,errorEmitted: false,bufferedRequestCount: 0,corkedRequestsFree: [Object] }, writable: false, allowHalfOpen: false, destroyed: true, bytesRead: 319, _bytesDispatched: 195, _sockname: null, _pendingData: null, _pendingEncoding: ’’, server: undefined, _server: null, ssl: null, _requestCert: true, _rejectUnauthorized: true, parser: null, _httpMessage: ClientRequest {domain: null,_events: [Object],_eventsCount: 4,_maxListeners: undefined,output: [],outputEncodings: [],outputCallbacks: [],outputSize: 0,writable: true,_last: true,chunkedEncoding: false,shouldKeepAlive: false,useChunkedEncodingByDefault: false,sendDate: false,_removedHeader: {},_contentLength: 0,_hasBody: true,_trailer: ’’,finished: true,_headerSent: true,socket: [Circular],connection: [Circular],_header: ’GET /cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37 HTTP/1.1rnhost: api.weixin.qq.comrnaccept: application/jsonrnCnnection: closernrn’,_headers: [Object],_headerNames: [Object],_onPendingData: null,agent: [Object],socketPath: undefined,method: ’GET’,path: ’/cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’,parser: null,res: [Circular] }, read: [Function], _consuming: true, _idleNext: null, _idlePrev: null, _idleTimeout: -1 }, httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: ’1.1’, complete: true, headers: { connection: ’close’, ’content-type’: ’application/json; encoding=utf-8’, date: ’Thu, 20 Oct 2016 09:40:53 GMT’, ’content-length’: ’175’ }, rawHeaders: [ ’Connection’, ’close’, ’Content-Type’, ’application/json; encoding=utf-8’, ’Date’, ’Thu, 20 Oct 2016 09:40:53 GMT’, ’Content-Length’, ’175’ ], trailers: {}, rawTrailers: [], upgrade: false, url: ’’, method: null, statusCode: 200, statusMessage: ’OK’, client: TLSSocket { _tlsOptions: { pipe: null,secureContext: [Object],isServer: false,requestCert: true,rejectUnauthorized: true,session: undefined,NPNProtocols: undefined,requestOCSP: undefined }, _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, _SNICallback: null, servername: null, npnProtocol: undefined, authorized: true, authorizationError: null, encrypted: true, _events: { close: [Object],end: [Object],finish: [Function: onSocketFinish],_socketEnd: [Function: onSocketEnd],secure: [Function],free: [Function: onFree],agentRemove: [Function: onRemove],drain: [Function: ondrain],error: [Function: socketErrorListener] }, _eventsCount: 9, _connecting: false, _hadError: false, _handle: null, _parent: null, _host: ’api.weixin.qq.com’, _readableState: ReadableState {objectMode: false,highWaterMark: 16384,buffer: [],length: 0,pipes: null,pipesCount: 0,flowing: true,ended: false,endEmitted: false,reading: true,sync: false,needReadable: true,emittedReadable: false,readableListening: false,resumeScheduled: false,defaultEncoding: ’utf8’,ranOut: false,awaitDrain: 0,readingMore: false,decoder: null,encoding: null }, readable: false, domain: null, _maxListeners: undefined, _writableState: WritableState {objectMode: false,highWaterMark: 16384,needDrain: false,ending: true,ended: true,finished: true,decodeStrings: false,defaultEncoding: ’utf8’,length: 0,writing: false,corked: 0,sync: false,bufferProcessing: false,onwrite: [Function],writecb: null,writelen: 0,bufferedRequest: null,lastBufferedRequest: null,pendingcb: 0,prefinished: true,errorEmitted: false,bufferedRequestCount: 0,corkedRequestsFree: [Object] }, writable: false, allowHalfOpen: false, destroyed: true, bytesRead: 319, _bytesDispatched: 195, _sockname: null, _pendingData: null, _pendingEncoding: ’’, server: undefined, _server: null, ssl: null, _requestCert: true, _rejectUnauthorized: true, parser: null, _httpMessage: ClientRequest {domain: null,_events: [Object],_eventsCount: 4,_maxListeners: undefined,output: [],outputEncodings: [],outputCallbacks: [],outputSize: 0,writable: true,_last: true,chunkedEncoding: false,shouldKeepAlive: false,useChunkedEncodingByDefault: false,sendDate: false,_removedHeader: {},_contentLength: 0,_hasBody: true,_trailer: ’’,finished: true,_headerSent: true,socket: [Circular],connection: [Circular],_header: ’GET /cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37 HTTP/1.1rnhost: api.weixin.qq.comrnaccept: application/jsonrnCnnection: closernrn’,_headers: [Object],_headerNames: [Object],_onPendingData: null,agent: [Object],socketPath: undefined,method: ’GET’,path: ’/cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’,parser: null,res: [Circular] }, read: [Function], _consuming: true, _idleNext: null, _idlePrev: null, _idleTimeout: -1 }, _consuming: true, _dumped: false, req: ClientRequest { domain: null, _events: { socket: [Object],response: [Function: bound ],error: [Function: bound ],drain: [Function] }, _eventsCount: 4, _maxListeners: undefined, output: [], outputEncodings: [], outputCallbacks: [], outputSize: 0, writable: true, _last: true, chunkedEncoding: false, shouldKeepAlive: false, useChunkedEncodingByDefault: false, sendDate: false, _removedHeader: {}, _contentLength: 0, _hasBody: true, _trailer: ’’, finished: true, _headerSent: true, socket: TLSSocket {_tlsOptions: [Object],_secureEstablished: true,_securePending: false,_newSessionPending: false,_controlReleased: true,_SNICallback: null,servername: null,npnProtocol: undefined,authorized: true,authorizationError: null,encrypted: true,_events: [Object],_eventsCount: 9,_connecting: false,_hadError: false,_handle: null,_parent: null,_host: ’api.weixin.qq.com’,_readableState: [Object],readable: false,domain: null,_maxListeners: undefined,_writableState: [Object],writable: false,allowHalfOpen: false,destroyed: true,bytesRead: 319,_bytesDispatched: 195,_sockname: null,_pendingData: null,_pendingEncoding: ’’,server: undefined,_server: null,ssl: null,_requestCert: true,_rejectUnauthorized: true,parser: null,_httpMessage: [Circular],read: [Function],_consuming: true,_idleNext: null,_idlePrev: null,_idleTimeout: -1 }, connection: TLSSocket {_tlsOptions: [Object],_secureEstablished: true,_securePending: false,_newSessionPending: false,_controlReleased: true,_SNICallback: null,servername: null,npnProtocol: undefined,authorized: true,authorizationError: null,encrypted: true,_events: [Object],_eventsCount: 9,_connecting: false,_hadError: false,_handle: null,_parent: null,_host: ’api.weixin.qq.com’,_readableState: [Object],readable: false,domain: null,_maxListeners: undefined,_writableState: [Object],writable: false,allowHalfOpen: false,destroyed: true,bytesRead: 319,_bytesDispatched: 195,_sockname: null,_pendingData: null,_pendingEncoding: ’’,server: undefined,_server: null,ssl: null,_requestCert: true,_rejectUnauthorized: true,parser: null,_httpMessage: [Circular],read: [Function],_consuming: true,_idleNext: null,_idlePrev: null,_idleTimeout: -1 }, _header: ’GET /cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37 HTTP/1.1rnhost: api.weixin.qq.comrnaccept: application/jsonrnConnction: closernrn’, _headers: { host: ’api.weixin.qq.com’, accept: ’application/json’ }, _headerNames: { host: ’host’, accept: ’accept’ }, _onPendingData: null, agent: Agent {domain: null,_events: [Object],_eventsCount: 1,_maxListeners: undefined,defaultPort: 443,protocol: ’https:’,options: [Object],requests: {},sockets: [Object],freeSockets: {},keepAliveMsecs: 1000,keepAlive: false,maxSockets: Infinity,maxFreeSockets: 256,maxCachedSessions: 100,_sessionCache: [Object] }, socketPath: undefined, method: ’GET’, path: ’/cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’, parser: null, res: [Circular] }, request: Request { domain: null, _events: { error: [Function: bound ],complete: [Function: bound ],pipe: [Function],data: [Function],end: [Function] }, _eventsCount: 5, _maxListeners: undefined, callback: [Function], readable: true, writable: true, _qs: Querystring {request: [Circular],lib: [Object],useQuerystring: undefined,parseOptions: {},stringifyOptions: {} }, _auth: Auth {request: [Circular],hasAuth: false,sentAuth: false,bearerToken: null,user: null,pass: null }, _oauth: OAuth { request: [Circular], params: null }, _multipart: Multipart {request: [Circular],boundary: ’70a71426-724f-4b62-9296-5e245402b49a’,chunked: false,body: null }, _redirect: Redirect {request: [Circular],followRedirect: true,followRedirects: true,followAllRedirects: false,allowRedirect: [Function],maxRedirects: 10,redirects: [],redirectsFollowed: 0,removeRefererHeader: false }, _tunnel: Tunnel {request: [Circular],proxyHeaderWhiteList: [Object],proxyHeaderExclusiveList: [] }, headers: { accept: ’application/json’ }, setHeader: [Function], hasHeader: [Function], getHeader: [Function], removeHeader: [Function], method: ’GET’, localAddress: undefined, pool: {}, dests: [], __isRequestRequest: true, _callback: [Function], uri: Url {protocol: ’https:’,slashes: true,auth: null,host: ’api.weixin.qq.com’,port: 443,hostname: ’api.weixin.qq.com’,hash: null,search: ’?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’,query: ’grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’,pathname: ’/cgi-bin/token’,path: ’/cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’,href: ’https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’ }, proxy: null, tunnel: true, setHost: true, originalCookieHeader: undefined, _disableCookies: true, _jar: undefined, port: 443, host: ’api.weixin.qq.com’, path: ’/cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’, _json: true, httpModule: { Server: [Object],createServer: [Function],globalAgent: [Object],Agent: [Object],request: [Function],get: [Function] }, agentClass: { [Function: Agent] super_: [Object] }, agent: Agent {domain: null,_events: [Object],_eventsCount: 1,_maxListeners: undefined,defaultPort: 443,protocol: ’https:’,options: [Object],requests: {},sockets: [Object],freeSockets: {},keepAliveMsecs: 1000,keepAlive: false,maxSockets: Infinity,maxFreeSockets: 256,maxCachedSessions: 100,_sessionCache: [Object] }, _started: true, href: ’https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’, req: ClientRequest {domain: null,_events: [Object],_eventsCount: 4,_maxListeners: undefined,output: [],outputEncodings: [],outputCallbacks: [],outputSize: 0,writable: true,_last: true,chunkedEncoding: false,shouldKeepAlive: false,useChunkedEncodingByDefault: false,sendDate: false,_removedHeader: {},_contentLength: 0,_hasBody: true,_trailer: ’’,finished: true,_headerSent: true,socket: [Object],connection: [Object],_header: ’GET /cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37 HTTP/1.1rnhost: api.weixin.qq.comrnaccept: application/jsonrnCnnection: closernrn’,_headers: [Object],_headerNames: [Object],_onPendingData: null,agent: [Object],socketPath: undefined,method: ’GET’,path: ’/cgi-bin/token?grant_type=client_credential&appid=wxf959acc9ef3df3df&secret=a5eaa93a1f0b75e692c0fb88f8ecdd37’,parser: null,res: [Circular] }, ntick: true, response: [Circular], originalHost: ’api.weixin.qq.com’, originalHostHeaderName: ’host’, responseContent: [Circular], _destdata: true, _ended: true, _callbackCalled: true }, toJSON: [Function: responseToJSON], caseless: Caseless { dict: { connection: ’close’,’content-type’: ’application/json; encoding=utf-8’,date: ’Thu, 20 Oct 2016 09:40:53 GMT’,’content-length’: ’175’ } }, read: [Function], body: { access_token: ’FiHj9Q3p1rGFux1oSSiISxR-xNJfCXyFJEUT6NjlXyjhFrgBCoUZ7Ty1SXR_rbwjvBfyPo0m1CzU6QV6Ipaw1FgCKXRczjtXgEDg1BYmboxWE7GLeohv-rsYLT8OEa53XYSaAFASTN’, expires_in: 7200 } }Unhandled rejection TypeError: Cannot read property ’expires_in’ of undefined at E:慕課網7天搞定Node.js微信公眾號開發wechatwechatg.js:59:32 at tryCatcher (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesbluebirdjsreleaseutil.js:16:23) at Promise._settlePromiseFromHandler (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesbluebirdjsreleasepromise.js:510:31) at Promise._settlePromise (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesbluebirdjsreleasepromise.js:567:18) at Promise._settlePromise0 (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesbluebirdjsreleasepromise.js:612:10) at Promise._settlePromises (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesbluebirdjsreleasepromise.js:691:18) at Promise._fulfill (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesbluebirdjsreleasepromise.js:636:18) at Request._callback (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesbluebirdjsreleasenodeback.js:42:21) at Request.self.callback (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesrequestrequest.js:187:22) at emitTwo (events.js:87:13) at Request.emit (events.js:172:7) at Request.<anonymous> (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesrequestrequest.js:1048:10) at emitOne (events.js:77:13) at Request.emit (events.js:169:7) at IncomingMessage.<anonymous> (E:慕課網7天搞定Node.js微信公眾號開發wechatnode_modulesrequestrequest.js:969:12) at emitNone (events.js:72:20)

問題解答

回答1:

一個 request 請求結果處理有問題

把g.js 的 第 55 行的request 改成

request({url: url, json: true}, function (error, response, body) { if (!error && response.statusCode === 200) {var data = JSON.parse(body);var now = (new Date().getTime());var expires_in = now + (data.expires_in - 20) * 1000;data.expires_in = expires_in;resolve(data);console.log(data); } else {reject() }});回答2:

request({url: url, json: true}).then(function (response) {console.log(’data-----’,response);var data = response[1];//看是不是這個問題var now = (new Date().getTime());var expires_in = now + (data.expires_in - 20) * 1000;data.expires_in = expires_in;resolve(data); })回答3:

你先看看 response返回是啥再說

標簽: 微信
主站蜘蛛池模板: 日韩欧美国产精品一区二区三区 | 久久精品成人一区二区三区蜜臀 | 久草综合在线 | 国产精品激情在线观看 | 天天爽夜夜爽夜夜爽精品视频 | 永久91嫩草亚洲精品人人 | 欧美日韩精品一区二区三区 | 精品国产一区二区三区久久久蜜 | 亚洲精品一区二区三区蜜桃久 | 国产日韩欧美 | 性高湖久久久久久久久 | 夜夜操天天干 | 日韩一区二区三区在线视频 | 久久中文字幕一区 | 日韩精品视频在线播放 | 日韩精品在线免费观看视频 | 人人干美女 | 免费国产一区二区 | 99爱在线观看 | 亚洲一区二区视频 | 一区二区在线 | 免费a视频 | 欧美亚洲 | 久久蜜桃精品一区二区三区综合网 | 九九热热九九 | 天天操天天插天天干 | 亚洲h视频 | 男人视频网站 | 狠狠色综合欧美激情 | 精品日韩av| 久久久影院 | 亚洲精品日韩综合观看成人91 | 久久精品这里只有精品 | 欧美精品1区2区3区 免费亚洲婷婷 | 国产午夜手机精彩视频 | www久久99| 国产亚洲一区二区三区在线观看 | 91久久夜色精品国产九色 | 国产区久久 | 91在线精品一区二区 | 国产第一页在线播放 | 国产不卡在线视频 | 成人免费xxxxx在线观看 | 国产成人综合一区 | 欧美专区在线观看 | 午夜激情福利视频 | 九九99热 | 蜜臀av在线播放一区二区三区 | 狠狠色狠狠色合久久伊人 | 午夜午夜精品一区二区三区文 | 亚洲视频一区二区三区四区 | 一级片免费在线视频 | 国产精品久久久久久久久久久久久 | 亚洲精品日本 | 97伦理在线 | 午夜欧美一区二区三区在线播放 | 一级特黄网站 | 一区二区日韩 | 国产精品美女久久久久久免费 | 综合伊人 | 日本久久精品视频 | 一本色道精品久久一区二区三区 | 精品日韩一区二区三区 | 日韩www| 亚洲三级在线观看 | 一区二区日韩 | 亚洲综合二区 | 久久精品欧美 | 国产成人精品免费 | 国产男女爽爽爽免费视频 | 日本高清h色视频在线观看 日日干日日操 | 日干夜操 | 可以免费在线观看av的网站 | 欧美一区二区大片 | 久久久国产精品视频 | 一区二区三区四区免费 | 精品少妇一区二区三区日产乱码 | 伊人网av | 亚洲一区中文字幕在线 | 在线看国产 | 成人看的羞羞视频免费观看 | 成人欧美一区二区 | 国产伦精品一区二区三区照片91 | 国产91黄色 | 亚洲日韩欧美一区二区在线 | 国产99在线 | 欧美 | 久久久久国产 | 国产精品久久久久久久久久三级 | 在线观看成人小视频 | 欧美视频一区 | 日韩一二三区 | 精品国产91久久 | www,四虎| 精品一区二区三区在线观看 | 国产精品女教师av久久 | 99精品国产在热久久 | 中文字幕网在线 | 日韩中文字幕一区二区高清99 | 欧美成视频| 米奇狠狠狠狠8877 | 色先锋资源 | 激情在线观看视频 | 一区日韩 | 可以免费观看的av片 | 日本久久精品视频 | 亚洲午夜视频在线观看 | 成人av免费在线观看 | 一区二区三区国产亚洲网站 | 亚洲国产精品99久久久久久久久 | 亚洲高清在线观看视频 | 国产伦精品一区二区三区在线 | 一区二区三区免费 | 美女午夜影院 | 免费a大片 | 久久精品免费看 | 五月婷婷中文 | 91精品久久久久久久久久 | 成人一级毛片 | 日韩av免费在线观看 | 婷色综合 | 国产偷国产偷精品高清尤物 | 久久丁香 | 欧美影 | 日韩国产在线观看 | 久久久久黄 | 五月在线视频 | 国产精品久久久久久久久费观看 | 久久精品一区二区 | 2021狠狠干| av影音| 中文字幕视频在线观看 | 视频一区二区三区中文字幕 | 亚洲中午字幕 | 在线国产一区二区 | 97影院在线午夜 | 操操操操操操操操操操操操操操 | 99视频在线| 午夜视频在线免费观看 | 亚洲网站免费 | 国产精品免费视频一区 | 亚洲国产日韩a在线播放性色 | xvideos.蜜桃一区二区 | 国产成人在线电影 | 不卡二区 | 午夜激情视频 | 羞羞视频在线免费观看 | 亚洲精品国产高清 | 成人网18免费网站 | 久久精品久久久久久 | 成人免费视频网 | 天天看天天爽 | 日韩视频在线视频 | 久久久精品国产 | 国产精品毛片 | 成人av播放 | 国产日韩一区二区三区 | 91免费版在线观看 | 在线播放国产一区二区三区 | 女人色网 | www.久久视频 | 操操网站| 中文字幕视频在线 | 亚洲va欧美va天堂v国产综合 | www.黄网 | 男女羞羞羞视频午夜视频 | 欧美精品一区二区三区在线四季 | 国产精品入口久久 | 亚洲综合色自拍一区 | 久久成人久久爱 | 国产偷国产偷精品高清尤物 | 中文字幕一区在线观看视频 | 欧美日韩亚洲二区 | 午夜精品久久久久久久男人的天堂 | 亚洲欧美日韩一区 | 中文精品久久久 | 麻豆精品久久 | 天天人人精品 | 在线99视频 | 中文字幕av亚洲精品一部二部 | 亚洲精品中文字幕中文字幕 | 搜索黄色毛片 | 成人三级在线 | 九九九在线| 婷婷色国产偷v国产偷v小说 | 一本岛在线视频 | 成人高清视频在线观看 | 91视频在线看 | www久久久| 99精品一区 | 成人在线免费电影 | 日韩av免费在线播放 | 欧美一区2区三区3区公司 | 亚洲视频在线看 | 中国大陆高清aⅴ毛片 | 婷色综合| 国产一区二区免费 | 精品成人av| 亚洲一区欧美一区 | 成人av小说| 国精产品一区二区三区有限公司 | 欧日韩不卡在线视频 | 麻豆av电影在线观看 | 日韩大尺度在线观看 | 久久精品视频亚洲 | 九色porny丨国产精品 | 在线观看视频一区二区 | 亚洲精品www久久久久久 | 国产三级网站 | 97操视频 | 91精品国产综合久久国产大片 | 亚洲aⅴ | 国产激情一区二区三区 | 2019天天干| 欧洲免费av | 日本激情视频一区二区三区 | 国产视频黄在线观看 | 91精品一区二区三区久久久久久 | 国产高清精品在线 | 欧美大成色www永久网站婷 | 午夜在线视频 | 免费成人在线网站 | 亚洲欧美日韩国产综合精品二区 | 一区久久 | 国产乱码一区二区三区在线观看 | 久久久艹 | 亚洲视频精品一区 | 一区免费看| 亚洲九九 | 欧美成人免费视频 | 四虎884a| 中文字幕亚洲一区 | 午夜在线 | 视频一区 日韩 | 午夜电影网址 | 国产精品久久久久久二区 | 成人h在线 | 久久国产视屏 | 日韩视频在线视频 | 久久久成人精品 | 色综合久久天天综合网 | 中文字幕在线观看av | 国产美女网站 | 精品久久网 | 天天色天天色 | 日韩中文字幕在线看 | 欧美激情国产日韩精品一区18 | 电影91久久久 | 久久久香蕉 | 亚洲第1页 | av一区二区三区四区 | 午夜影院在线观看免费 | 亚洲午夜精品在线观看 | 国产免费黄视频 | 国产综合精品 | 久久亚洲一区 | 波多野结衣三区 | 免费激情小视频 | 成人二区 | 一区二区三区精品 | 欧美成人午夜视频 | 国产精品极品美女在线观看免费 | 在线天堂av | 一区二区三区国产 | 密色视频 | 日韩一区二区三区在线视频 | 无码日韩精品一区二区免费 | 国产91在线播放精品91 | www.国产一区| 91视频黄色 | 91精品久久久久久久久久 | 日本成片视频 | 国产亚洲精品久久久久动 | 国产高清一区二区 | www国产亚洲精品久久网站 | 成人黄色短视频在线观看 | 亚洲国产精品免费 | 欧美国产日本一区 | 四虎视频 | 最新国产成人 | 日本在线一区二区 | 国产精品国色综合久久 | 亚洲一区中文字幕在线观看 | 337p亚洲欧洲 | 日韩一二三区在线观看 | 亚洲最大av网站 | 热久久影院 | 午夜色视频在线观看 | 伦理自拍 | 99久久99久久精品 | 日本一本视频 | 欧美视频网站 | 日韩一区免费观看 | 国产精品无码久久久久 | 欧美日韩一二三区 | 中文字幕欧美在线 | 中文字幕亚洲一区二区va在线 | 国产精品一任线免费观看 | 综合久久99 | 国产精品99久久久久久久久久久久 | 欧洲精品视频在线观看 | 午夜精品久久久久久久久 | 最新精品在线 | 国产三级| 欧美一区不卡 | 亚洲精品专区 | 亚洲精品一区二区网址 | aaa级片 | 福利视频一区二区 | 成人免费一区二区三区视频软件 | 精品视频二区三区 | www.av在线| 亚洲国产精品久久久 | 性一交一乱一透一a级 | 久久久精| 亚洲精品一区二区三区中文字幕 | 国产精品久久免费视频在线 | 亚洲精品久久久久avwww潮水 | 一区二区三区国产 | 人人看人人插 | 亚洲视频一区二区 | 日韩电影a| 91久久久久久久久久久久久 | 一区二区中文字幕 | 北条麻妃99精品青青久久主播 | 久久精品国产99久久久 | 在线播放亚洲 | 日日视频 | 国产精品久久久久久久午夜片 | 欧美日一区二区 | 91av在线播放 | 一区久久 | 性开放xxxhd视频 | 99精品欧美一区二区蜜桃免费 | 精品亚洲综合 | 白浆在线播放 | 亚洲精品影院 | 国产精品久久久久久久久久久免费看 | 国产一区二区在线视频 | 超碰人人99| 精品久久久久久久久福利 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 日本高清中文字幕 | 色播99| 婷婷激情五月 | 国产精品久久九九 | 欧美日韩国产精品久久久久 | 欧美精品一级二级 | www操com | 国产伦精品久久久一区二区三区 | 国产视频第一区 | 91国视频| 欧美日韩国产欧美 | 欧美成人一区二区三区片免费 | 成人一区二区在线 | 国产欧美日韩综合精品一区二区 | 国产成人99久久亚洲综合精品 | 国产精品不卡 | 久久久久一区 | 国产伦精品一区二区三区高清 | 日韩免费视频一区二区 | 美女视频一区二区三区 | 国产97人人超碰caoprom | 亚洲天堂男人 | 国产精品久久久久国产a级 日韩在线二区 | 国产伦精品一区二区三区四区视频 | 久久人人网 | 久久亚洲二区 | 亚洲精品电影在线一区 | 欧美精品久久一区 | 中文二区| 精品国产鲁一鲁一区二区在线观看 | 欧美日韩综合视频 | 国产成人精品a视频一区www | 日日摸夜夜添夜夜添亚洲女人 | www.久久久.com | 免费国产黄网站在线观看视频 | 久久久一二三 | 精品国产乱码久久久久久久软件 | 少妇看av一二三区 | 91极品国产 | 欧美日韩精品一区二区三区 | 亚洲精品一区久久久久久 | 免费国产一区二区 | 美女福利网站 | 欧美日韩中文字幕在线 | 色综合久久网 | 国产一区二区三区四区五区加勒比 | 欧美a级成人淫片免费看 | 久久精品一区二区三区四区 | 国产在线综合网 | 亚洲国产在 | 国产精品久久久久久久久久久久冷 | 成人高清在线 | 欧美在线a | 国产aaa大片 | 久久久久国产一级毛片 | 黄色毛片一级 | 天堂久久爱资源站www | 国产福利精品一区 | 成人久久精品 | 欧美精品一区二区在线观看 | 成人国产精品免费观看 | 欧美日韩一区二区三区在线观看 | 狠狠干av | 国产福利在线播放 | 国产亚洲精品美女久久久久久久久久 | 欧美一级全黄 | 国产日韩一区二区 | 99re6在线视频精品免费 | 成人欧美一区二区三区在线播放 | 亚洲激情一区 | 黄色片免费 | 成人亚洲精品777777大片 | 大胆裸体gogo毛片免费看 | 国产日韩欧美 | 日本大人吃奶视频xxxx | 一区二区免费视频 | 日日撸 | 99资源| 久久精品免费观看视频 | 精品香蕉视频 | 国产传媒一区 | 中文字幕国产一区 | 三级日韩 | 五月激情综合 | 日韩午夜一级片 | 中文字幕av第一页 | 羞羞的视频在线 | 亚洲欧美激情精品一区二区 | 日韩av免费在线观看 | 欧美亚洲一区二区三区 | av超碰| 日日爱夜夜爽 | 久久九九| 国产一级毛片电影 | 久草久草久草 | av一区在线 | 日韩欧美不卡 | 精品久久影院 | 综合伊人 | 欧美性猛交一区二区三区精品 | 国产成人精品久久二区二区 | www.久久精品视频 | 婷婷国产| 久久99精品国产.久久久久 | 久久国产欧美日韩精品 | 性视频一区二区 | 日韩一区二区在线电影 | 成人精品电影 | 久久国产精品免费一区二区三区 | 黄视频网站免费观看 | 午夜剧| 亚洲精品一区二区三区蜜桃久 | 亚洲成人免费网址 | 精品视频在线观看 | 亚洲国产精品久久久久久女王 | 日本美女一区二区三区 | 国产精品免费看 | 欧美黑人一区 | 欧美激情在线免费观看 | 亚洲视频中文字幕 | 欧美日韩午夜 | 国产成人一区 | 色综合久久久久久久久久久 | 天天看夜夜爽 | 国产精品久久九九 | 日韩在线一区二区 | 播放毛片| 91在线视频免费观看 | 国产欧美日韩综合精品一区二区 | 国产精品一区三区 | 欧美精品一区二区视频 | 性色视频在线 | 天天天天天天天操 | 欧美国产一区二区 | 精品国产乱码一区二区三区a | 国产麻豆乱码精品一区二区三区 | 天天综合欧美 | 久久91视频 | 成人h视频| 亚洲精品久久久久久久久久久久久 | www.中文字幕 | 欧美日本韩国一区二区 | 日本黄色短片 | 国产精品久久久久久久久免费桃花 | 韩日精品一区 | 国产999精品久久久久久 | 欧洲国产伦久久久久久久 | 97国产精品视频人人做人人爱 | 99精品国产高清在线观看 | 国产一区二区三区四区在线观看 | 国产在线精品视频 | 一级看片| 国产精品免费观看 | 黄色电影在线免费观看 | 中文字幕黄色 | 久久精品欧美一区二区三区不卡 | 精品日韩欧美一区二区三区在线播放 | 久久99国产精品 | 亚洲性生活免费视频 | av不卡在线播放 | 欧美日韩电影一区 | 亚洲一二 | 狠狠操操 | 精品亚洲视频在线观看 | 久久网页 | 欧美不卡视频一区发布 | 一区二区在线不卡 | 久久久av| 夫妻午夜影院 | 国产h片在线观看 | 国产欧美精品一区二区 | 国产精品美女久久久久久久久久久 | 亚洲视频精品在线 | 欧美日黄 | 免费观看一区二区三区 | 国产精品亚洲一区二区三区 | av在线影院 | 在线一区二区三区做爰视频网站 | 成人一区视频 | 九九热精品视频 | 久久久久久久av | 欧美专区在线观看 | 日本在线视频观看 | 一级片在线观看 | 亚洲第一国产精品 | 日韩第一区 | 四虎影音| 午夜视频在线观看网站 | 午夜精品久久久久久久99黑人 | 亚洲精品国精品久久99热 | 一区二区三区高清不卡 | 国产成人精品一区二区三区四区 | 国产欧美综合在线 | 国产最好的精华液网站 | 国产精品27页 | 亚洲最大av网站 | 久久精品亚洲一区 | 午夜精品一区二区三区在线 | 欧美日韩一区二区视频在线观看 | 国产精品视频入口 | 色一情一乱一伦一区二区三区 | 成人免费毛片aaaaaa片 | 欧美久久久久久久 | 亚洲国产精品久久久男人的天堂 | 99亚洲国产 | 亚洲精品影院 | 97在线观看| 国产一区 | 伊人狠狠干 | 欧美精品成人 | 中文字幕精品一区久久久久 | 色综合天天天天做夜夜夜夜做 | 国产精品免费一区二区三区四区 | 国产欧美综合一区二区三区 | 91精品国产乱码久久久久久 | 国产综合精品一区二区三区 | 国产视频精品在线观看 | 日韩经典一区 | 一本一本久久a久久精品综合妖精 | 国产精品精品视频一区二区三区 | 国产精品一区二区三区四区 | 中文字幕av一区二区 | 久久久国产一区二区 | 欧美精品一区二区三区视频 | 国产精品久久久久久吹潮 | 开操网| 国产精品1区2区3区 中文字幕一区二区三区四区 | 国产69精品久久久久观看黑料 | 91免费看| 国产精品成人国产乱一区 | 久久天堂| 一区二区日本 | 黑人巨大精品欧美黑白配亚洲 | 精品国产31久久久久久 | 久久精品亚洲精品 | 日本三级视频 | 一级大毛片 | 成人免费一区二区三区 | 狠狠操综合网 | 成人欧美一区二区三区在线观看 | 免费一区二区三区 | 国产精品伦一区二区三级视频 | 精品中文字幕一区二区 | 国产激情午夜 | 国产精品亚洲成在人线 | 国产精品久久久久一区二区三区共 | 免费三片在线观看网站 | 亚洲激情一区二区 | 欧美日韩在线观看中文字幕 | 狠狠ri| 欧美日韩系列 | 日韩午夜av| 国产精品久久久久久亚洲调教 | av日韩在线看 | 亚洲精品不卡 | 亚洲高清一区二区三区 | 日韩一区二区三区精品 | 午夜黄色影院 | 欧美精品一区二区蜜臀亚洲 | 亚洲 欧美 日韩 在线 | a在线观看免费视频 | 日韩一级电影在线 | 一道本一区二区三区 | 亚洲精品乱码久久久久久蜜桃图片 | 91久久精品| 四虎最新影视 | 二区在线观看 | 国产福利精品一区 | 久草久草久草 | 日韩精品一区二区三区视频播放 | 人人九九 | 午夜色视频在线观看 | 国产男人天堂 | 成人国产精品久久久 |