forked from tapd8/apig
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtapdata.js
More file actions
41 lines (38 loc) · 912 Bytes
/
tapdata.js
File metadata and controls
41 lines (38 loc) · 912 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
* @author lg<lirufei0808@gmail.com>
* @date 3/31/19
* @description
*/
const request = require('request');
const appConfig = require('./config');
let token = null;
exports.getToken = getToken = function(cb){
cb = cb || function(){};
if( token ){
cb(token);
} else {
request.post({
url: appConfig.tapDataServer.tokenUrl,
form: {
accesscode: appConfig.tapDataServer.accessCode
}
}, (err, response, body) => {
if( err ){
console.error('Get access token error', err);
cb(false);
} else if( response.statusCode === 200 ){
let result = JSON.parse(body);
token = result.id;
cb(token);
console.log('Get access token success,', body);
if( result.ttl)
setTimeout(()=>{
token = null;
}, (result.ttl - 3600) * 1000) // 提前一小时获取token
} else {
console.error('Get access token error,', body);
cb( false )
}
})
}
};