黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

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

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

瀏覽:178日期: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一区在线| 国产一区二区在线免费 | 欧美黑人性猛交大片 | av片在线观看免费 | 日本a级黄绝片a一级啪啪 | 日韩欧美亚洲天堂 | 国产孕妇孕交高潮 | 五月激情六月婷婷 | 成人一区二区三区在线观看 | 国产九一视频 | 成年人小视频网站 | 香港三级网站 | 亚洲地区天堂网 | 日本爽快片100色毛片 | 国四虎影2020 | 国产精品久久久久久久免费观看 | 国产一二 | 国产精品视频资源 | 拔擦8x成人一区二区三区 | 黄色激情小说视频 | av免费不卡国产观看 | 97久久爽久久爽爽久久片 | 日韩精品一区二区三区国语自制 | 九色视频91 | 一级特毛片 | 91欧美激情一区二区三区成人 | 97免费观看视频 | 又大又长粗又爽又黄少妇毛片 | 人人玩人人添人人澡 | 九九久久精品无码专区 | 国产农村妇女毛片精品久久 | 国产女同疯狂作爱系列2 | 亚洲精品午夜一区人人爽 | 日韩人妻一区二区三区蜜桃视频 | 欧美精品久久久久久久久 | 中文字幕天堂网 | 日韩精品一区二区在线观看 | 精品女同一区二区三区在线播放 | 一区二区中文字幕在线 | 精品aⅴ一区二区三区 | www.久久精品 | 国产成人手机在线 | 国产精品极品白嫩在线 | 国产欧美激情在线观看 | 国产又黄又爽又刺激的软件 | 裸身美女无遮挡永久免费视频 | 军人全身脱精光自慰 | 国精品午夜福利视频不卡 | 精产国品一二三产品99麻豆 | 欧美午夜精品久久久 | 亚洲成a人片在线观看www | 色综合社区| 午夜男人的天堂 | 国产精品毛片在线 | 国产亚洲婷婷香蕉久久精品 | 男人亚洲天堂 | 色哟哟一区二区三区精华液 | 看黄色一级| 青青草.com| 91精品国产91久久久久福利 | 欧美精品偷自拍另类在线观看 | 亚洲视频在线观看一区二区 | 国产原创精品 | 国产精品久久无码一区二区三区网 | 性日本xxx | 国产精品亚洲色图 | 九九热精品视频在线观看 | 无码人妻人妻经典 | 一区二区在线观看免费视频 | 国产区在线 | 成年人的黄色片 | av 高清 尿 小便 嘘嘘 | 日韩一卡2卡3卡4卡新区亚洲 | 久久精品国产99国产精品导航 | 日本免费黄色小视频 | 在线观看视频免费入口 | 激情五月av| 国产视频一区二区不卡 | 日本毛片在线观看 | 色综合久久久久综合体桃花网 | 潘金莲三级野外 | 国产精品视频久久久久久 | 黄色91| 红桃视频一区 | 黄色国产 | 免费欧美一区 | 欧美一级片在线观看 | 91热在线| 亚洲精品9| 看日本毛片 | 免费特级黄色片 | 小sao货水好多真紧h国产 | 全程偷拍露脸中年夫妇 | 国产97色在线 | 国产 | 古装三级做爰在线观看 | 国产在线精品观看 | 91精产品一区一区三区40p | √天堂8资源中文在线 | 长河落日电视连续剧免费观看 | 国产精品999. | 亚洲自拍偷拍区 | 久久久中文网 | 青青草久久伊人 | 亚洲大色 | 精品国产一区二区三区久久久狼 | 久久精品三级 | 欧美性猛交xxxx乱大交极品 | 国产超高清麻豆精品传媒麻豆精品 | 午夜福利影院私人爽爽 | 天堂在线视频网站 | 91丨porny丨九色| 欧美拍拍视频 | av免费在线网站 | 曰本无码人妻丰满熟妇啪啪 | 黑人狂躁日本妞videos在哪里 | 日韩欧美一区二区三区免费观看 | 91康先生在线国内精品 | 中文字幕精品亚洲无线码二区 | 国产日产精品一区二区三区四区的观看方式 | 生活片毛片 | 天海翼av | 欧美黑人粗大 | 天天摸天天看 | 日本美女上床 | 学生妹亚洲一区二区 | 国产视频一区二 | 日本美女上床 | 国产露脸国语对白在线 | 亚洲做受高潮无遮挡 | 日韩性网站 | 欧美日韩六区 | 亚洲精品视频在线播放 | 91麻豆精品国产91久久久无需广告 | 国产午夜成人免费看片 | 7777奇米四色眼影国产馆 | 亚洲精品乱码久久久久久国产主播 | 日韩在线视频免费 | 欧美亚洲激情 | 91宅男噜噜噜66在线观看 | 精品欧美色视频网站在线观看 | 性一交一乱一色一情丿按摩 | 日韩一级理论片 | 色综合久久综合 | 狠狠色噜噜狠狠狠7777奇米 | av一区二区三区在线观看 | 东京热无码av男人的天堂 | 色播久久人人爽人人爽人人片av | 国产精品久久久久久久久久久天堂 | 亚洲精品国偷自产在线99人热 | 伊人久久无码中文字幕 | 久久精彩免费视频 | 蜜臀av性久久久久蜜臀aⅴ | 一区二区三区视频免费在线观看 | 欧美一级黄色片在线观看 | av免费不卡国产观看 | 性一交一乱一乱视频 | 99久久婷婷 | 国产精品成人免费一区二区视频 | av黄在线观看 | 狠狠撸在线 | 饥渴少妇勾引水电工av | 天天色影综合网 | 裸体丰满白嫩大尺度尤物 | 97精品久久久午夜一区二区三区 | 亚洲精品一级片 | 亚洲爱爱av | 欧洲一二三区 | 欧洲精品视频在线观看 | caoporn国产免费人人 | 56pao国产成人免费视频 | 中文字幕激情小说 | 一本大道卡一卡二卡三乱码全集资源 | 亚州激情视频 | 国产精品乱码一区二区三区视频 | 色女人综合 | 亚洲女人天堂色在线7777 | 色婷婷精品久久二区二区蜜臂av | 久久亚洲国产成人精品性色 | 亚洲视频六区 | 免费xxxxx在线观看网站软件 | 国产中老年妇女精品 | av天天操| 成人黄色免费视频 | 亚洲欧洲精品一区二区 | 96精品高清视频在线观看软件 | 成人午夜视频免费在线观看 | 操小妹影院 | 美女狠狠干 | 唯美欧美亚洲 | 美女裸体十八禁免费网站 | 国产欧美日韩在线播放 | 中文字幕aⅴ人妻一区二区 性色av免费网站 | 亚洲国产精品97久久无色 | 男人和女人在床的app | 久久亚洲精品中文字幕冲田杏梨 | 色婷婷美国农夫综合激情亚洲 | 涩涩的视频在线观看 | 日韩一区二区精品视频 | 国产做a爱片久久毛片 | 草草影院发布页 | 成人免费777777被爆出 | 红色假期黑色婚礼2 | 亚洲欧美一区二区精品久久久 | av番号库每日更新 | 少妇高潮一区二区三区99女老板 | 欧美国产综合欧美视频 | 日韩欧美国产片 | 国内精品久久久久影视老司机 | 欧美一区二区三区视频 | 亚洲国产第一 | 国产成人精品日本亚洲专区61 | 女的被弄到高潮娇喘喷水视频 | 国产999精品| 依依综合网 | 欧美高清一级 | 中文字幕在线观看日韩 | 久久99婷婷国产精品免费 | 9lporm自拍视频区九色 | 99热最新精品 | 男人天堂av在线播放 | 亚洲国产福利 | 欧美cccc极品丰满hd | 国产精品久久国产愉拍 | 国产高清不卡无码视频 | 妖精视频一区 | 乳女教师の诱惑juliamagnet | 国产欧美中文字幕 | 美利坚合众国av | 青草精品国产福利在线视频 | 欧美精品与人动性物交免费看 | 成人性生生活性生交视频 | 国产情侣一区 | 午夜性刺激免费看视频 | 激情五月色综合国产精品 | 日本va欧美va欧美va精品 | 国产精欧美一区二区三区 | 催眠调教艳妇成肉便小说 | 日本男人天堂 | 8x8ⅹ国产精品8x红人影库 | 娇小xxxx性开放国产精 | 国产三级a三级三级 | 免费男性肉肉影院 | 美女黄色毛片视频 | 欧美高清另类 | 国产精品毛片久久久久久久明星 | 精品国产_亚洲人成在线 | 人人综合亚洲无线码另类 | 依依成人综合网 | 国产三级视频在线播放 | 国产伦精品一区二区三区视频免费 | 国产乱xxxxx79国语对白 | 91久久国产综合久久91精品网站 | 青草av久久免费一区 | 奇米影视第四色首页 | 久久视频坊 | 亚洲处破女av日韩精品 | 精品一区av| 日本无码欧美一区精品久久 | 国产精品久久久久四虎 | 精品视频网站 | 色狠狠一区二区三区香蕉 | 国产区一区二区三区 | 九七影院在线观看免费观看电视 | 美玉足脚交一区二区三区图片 | 正在播放欧美 | 奇米影视777四色 | 国产色爱| 蜜桃av噜噜一区二区三区麻豆 | 一区二区三区四区视频 | 国产成人无码18禁午夜福利p | 日韩激情视频在线 | 免费无码国产v片在线观看 任我撸在线视频 | 国产在线国偷精品免费看 | 岛国片人妻三上悠亚 | 国产福利萌白酱在线观看视频 | 蜜臀av夜夜澡人人爽人人 | 国产成人免费在线 | 国产精品桃色 | wwwcom捏胸挤出奶 | 一区二区三区视频在线播放 | 青草视频在线观看视频 | 日韩精品日韩激情日韩综合 | 国产激情片 | 色av色| 国产九九九九九九九a片 | 亚洲欧洲日本一区二区三区 | 久久影院精品 | 久久国产成人午夜av浪潮 | 又黄又爽又色的免费软件 | 欧美一级免费看 | 国产亚洲精品久久久久久牛牛 | 国产一国产二国产三 | 欧美人与性动交zoz0z | 亚洲情侣偷拍激情在线播放 | 日产欧产va高清 | 成人国产一区二区 | 成人黄色免费在线观看 | 国产又粗又猛又爽又黄的网站 | 色拍自拍亚洲综合图区 | 麻豆性视频 | 免费精品在线观看 | 亚洲色大成网站www久久九 | 亚洲精品午夜视频 | 亚洲欧美日韩国产精品一区二区 | 久久不卡免费视频 | 欧美日韩人成综合在线播放 | 在线观看特色大片免费视频 | 国产一级片av大片 | 欧美激情精品久久久久久蜜臀 | 粉嫩一区二区三区四区公司1 | а√最新版在线天堂 | 大肉大捧一进一出好爽动态图 | 草比视频在线观看 | 国产乱淫av一区二区三区 | 蒂法3d一区二区三区 | 亚洲精品99999| 激情视频在线观看免费 | 国产成人久久久精品二区三区 | 99国内精品久久久久久久 | 久久国产视频一区二区 | 成人性生交大片免费卡看 | 久久久亚洲天堂 | 成人av社区| 先锋影音中文字幕 | 天天爽影院 | 久久久www成人免费精品 | 少妇高潮av久久久久久 | 国产三级一区 | 欧美日韩亚洲视频 | 九九九精品视频 | 亚洲国产精品女人久久久 | 欧美激情自拍偷拍 | 天堂av免费观看 | 小sao货水好多真紧cao视频 | 日韩一区在线播放 | 日韩亚洲国产中文字幕欧美 | 久久免费看少妇高潮v片特黄 | 日韩av综合 | 视频在线观看一区二区三区 | 日本亚洲精品色婷婷在线影院 | 欧美最猛性xxxxx(亚洲精品) | www.-级毛片线天内射视视 | 国产精品久久久久久人妻 | 曰韩一级片 | 在线观看中文 | 巨大黑人极品videos精品 | 一个人看的www视频免费观看 | 一级黄色片网站 | 欧美一乱一交一性ed2k | 99久久亚洲精品无码毛片 | 成人一区二区三区在线 | 性猛交xxxxx富婆免费视频 | 乱淫a裸体xxxⅹ | 色婷婷免费| 一级黄色片网址 | 午夜婷婷国产麻豆精品 | 国产精品国产三级国产专区53 | 日日躁夜夜躁狠狠躁超爽2001 | 老司机在线精品视频网站的优点 | 欧美久久精品一级黑人c片 欧美久久久 | 偷看少妇做爰过程裸体 | 久久9精品区-无套内射无码 | 亚洲天堂中文 | 亚洲欧美视频一区二区 | 免费不卡av在线 | aaaa视频| 久久99国产精品久久99果冻传媒 | 最新日韩中文字幕 | 亚洲欧洲日本无在线码 | 岛国av免费在线观看 | 四虎影院在线 | 成人av影视在线观看 | 国产97超碰 | 亚洲男男网站 | 精品视频免费播放 | 激情欧美一区二区三区 | 精东影业一区二区三区 | 欧美成人午夜 | 国产午夜无码精品免费看 | 成年无码av片在线 | 欧美精品黑人粗大 | 国产中文字幕第一页 | 欧美精品久久96人妻无码 | 在线丨暗呦小u女国产精品 在线爽 | 欲妇荡岳丰满少妇岳 | 国产真实精品久久二三区 | 孕妇爱爱视频 | 日本熟妇浓毛 | 久久久精品视频免费看 | 国产调教夫妻奴av | 两性色午夜视频免费播放 | 久久 国产 尿 小便 嘘嘘 | 18pao国产成视频永久免费 | 国产性猛交xx乱视频 | 国产三级自拍视频 | 国产精品亚洲综合一区二区三区 | 91毛片网 | 黄色第一网站 | 日本中文在线播放 | 国产视频手机在线观看 | 欧美精品一区二区三区四区五区 | av福利网址 | 最新国产在线拍揄自揄视频 | 精品国产一区二区三区av片 | 狠狠色丁香婷婷综合 | 亚洲久草 | 超碰97免费 | 精品久久久一二三区播放播放播放视频 | 中文字幕+乱码+中文乱码www | 久久爱另类一区二区小说 | 青青艹视频在线 | 呻吟对白激情videos | 精品久久久久久久久久国产潘金莲 | 娇小性色伦xxxxx中国av | 精品免费国产一区二区三区四区 | 免费无码又爽又刺激软件下载直播 | 国产精品久久国产三级国 | 天天鲁在视频在线观看 | 91探花福利精品国产自产在线 | 久久精品国产sm调教网站演员 | 欧美性猛片xxxxx免费中国 | 日欧137片内射在线视频播放 | 日本三级韩国三级欧美三级 | 18禁无遮挡啪啪无码网站 | 少妇高跟鞋做爰20p 少妇和黑人老外做爰av | 亚洲精品一区二区三区蜜臀 | 免费网站看v片在线观看 | 国模精品一区二区三区 | 伊久久| 18禁亚洲深夜福利入口 | 日本另类视频 | 国产三级中文字幕 | 日本成人免费视频 | 欧美一级大黄大黄大色毛片小说 | 少妇25p | 国产中文字幕在线免费观看 | 熟妇高潮精品一区二区三区 | 亚洲精品欧美综合四区 | 日韩av综合| 久久天天躁夜夜躁狠狠 | www色综合 | 狠狠88综合久久久久综合网 | 国产又粗又猛又爽视频 | 国产又粗又硬又爽的视频 | 成人激情视频在线观看 | 精品女同一区二区三区 | 香港台湾日本三级大全 | 综合自拍亚洲综合图区高清 | 性高湖久久久久久久久 | 欧美少妇一区二区三区 | 夜夜躁很很躁日日躁麻豆 | 国产精品三 | 久久99久久98精品免观看软件 | 337p日本欧洲亚洲大胆 | 色www永久免费视频 亚洲成av人在线观看天堂无码 | 国产吃瓜黑料一区二区 | 少妇口述疯狂刺激的交换经历 | av72在线观看 | 韩国一级黄色毛片 | 杨幂毛片 | 极品淫少妇 | 国产偷窥熟女精品视频大全 | 日韩欧美激情兽交 | 亚洲字幕av一区二区三区四区 | 国产91精品高潮白浆喷水 | 国产精品福利一区 | 国产精品人 | 久久综合伊人中文字幕 | 亚洲最大激情网 | 可以在线看的av | 亚洲午夜天堂吃瓜在线 | 国内自产少妇自拍区免费 | 少妇9999九九九九在线观看 | av性色av久久无码ai换脸 | 2012中文字幕在线视频 | 中文字幕国产剧情 | 欧美人动与zoxxxx乱 | 微拍 福利 视频 国产 | 一个人在线免费观看www | 午夜久久久久久禁播电影 | 国产精品日韩一区二区 | 无码人妻精品一二三区免费 | 秋霞在线播放视频 | 在线观看中文 | 一区二区三区综合 | 色婷婷av一区二区三区大白胸 | 香蕉综合网 | 国产精品久久久久久久久晋中 | 91ts人妖另类精品系列 | 日韩午夜视频在线观看 | 天天拍夜夜操 | 91精品国产91久久久久久吃药 | 国产色婷婷精品综合在线 | 亚洲手机在线 | 日本草草视频 | 亚洲人成网站在线播放942 | 好吊色在线观看 | 国产精品无遮挡 | 麻豆传媒一区二区三区 | 大陆性猛交xxxx乱大交 | 天天干,天天干 | 偷看美女洗澡一二三四区 | 久热国产精品视频一区二区三区 | 99久久国产热无码精品免费 | 中文字幕精品久久久 | 蜜桃精品视频在线观看 | 日韩av在线高清 | 久草精品视频 | 一区精品二区国产 | 日韩精品久久久久久久电影蜜臀 | 色av综合网| 欧美又粗又大xxxxbbbb疯狂 | 夜夜嗨国产| 国产美女裸身网站免费观看视频 | 最新的中文字幕 | 波多野结衣av一区二区全免费观看 | 日本最新偷拍小便视频 | 亚洲va久久久噜噜噜久久男同 | 欧美丰满少妇xxxxx | 亚洲欧美日韩国产成人精品 | 狠狠干狠狠爱 | 亚洲人成中文字幕在线观看 | 欧美性淫爽www视频免费播放 | 天天夜夜操| 大桥未久av片 | 99久久99久久精品国产片 | 一本大道卡一卡二卡三乱码全集资源 | 亚洲中字在线 | 国产精选av| 99精品视频网站 | 最新中文字幕在线观看视频 | www.九色| 粗喘呻吟撞击猛烈疯狂 | 我想看一级黄色毛片 | 制服丝袜在线看 | 日本系列 1页 亚洲系列 | 国产一级一片射内视频 | 青青草97国产精品麻豆 | 久久久久国产精品一区 | 亚洲女优在线观看 | 少妇久久久久久 | 啄木乌法国一区二区三区 | 窝窝影院午夜看片 | 亚洲一区二区三区无码中文字幕 | 成人高清视频在线观看 | 成人a视频片观看免费 | 18pao国产成视频永久免费 | 另类在线视频 | 伊人一二三 | proumb性欧美在线观看 | 国产日韩一区 | 亚洲美女黄色片 | 亚洲日本中文字幕在线 | 91极品美女 | 九色视频导航 | 啦啦啦www播放日本观看 | 久久久精品免费视频 | 伊人成年网站综合网 | 欧美乱人伦人妻中文字幕 | 国产精品无码素人福利 | 18中国xxxxxⅹxxx96 | 福利社午夜 | 中文字幕不卡在线播放 | 手机看片日韩国产 | 99精品一级欧美片免费播放 | 国产成人精品综合在线观看 | av免费在线观看不卡 | 国产精品尤物yw在线观看 | 麻豆视频在线观看免费网站黄 | 亚洲精品入口a级 | 亚洲精品免费看 | 麻豆国产一区二区三区四区 | 国产chinesehd精品 | 精产国品一二三产区m553麻豆 | 中文字幕亚洲综合久久 | 国产高潮视频在线观看 | 亚洲中文字幕精品一区二区三区 | 国产精品桃色 | 88av视频在线观看 | 亚洲毛片在线观看 | 婷婷午夜天 | 中文国产一区 | 噜噜噜久久亚洲精品国产品91 | 国产69精品久久久久999小说 | 少妇又紧又色又爽又刺激视频 | 亚洲天码中字一区 | 色 成人 亚洲 | 九色视频导航 | 欧美啪视频| 黄色av网站免费在线观看 | 国产亚洲一区二区在线观看 | 五月婷婷开心中文字幕 | 91视频在线国产 | 伊人精品视频在线观看 | 亚洲视频一区在线 | 成人国产精品秘片多多 | 欧美激情一区二区三区视频 | 成人性生交大全免费中文版 | 狠狠操综合网 | 在线播放成人 | 国产精品视频看看 | 久久久欧美国产精品人妻噜噜 | 真实国产乱子伦视频 | 无码中文av有码中文a | 日韩av福利 |