Commit 9cd4db4fedf501fe56490a69340d1db9709c9dca
1 parent
877e4be9
Exists in
master
and in
1 other branch
update mockup
Showing
6 changed files
with
116 additions
and
4 deletions
Show diff stats
app.js
@@ -294,6 +294,7 @@ app.post('/api/shop-cdns/upload', (req, res) => { | @@ -294,6 +294,7 @@ app.post('/api/shop-cdns/upload', (req, res) => { | ||
294 | }); | 294 | }); |
295 | 295 | ||
296 | var multipart = require('connect-multiparty'); | 296 | var multipart = require('connect-multiparty'); |
297 | +const { sortedUniq, result, reject } = require('lodash'); | ||
297 | var multipartMiddleware = multipart({ uploadDir: './img' }); | 298 | var multipartMiddleware = multipart({ uploadDir: './img' }); |
298 | 299 | ||
299 | app.post('/api/shop-cdns/upload2', multipartMiddleware, async (req, res) => { | 300 | app.post('/api/shop-cdns/upload2', multipartMiddleware, async (req, res) => { |
@@ -391,6 +392,8 @@ app.post('/privilege/v1/history/delete', require('./privilege').deleteCustomer); | @@ -391,6 +392,8 @@ app.post('/privilege/v1/history/delete', require('./privilege').deleteCustomer); | ||
391 | 392 | ||
392 | app.post('/v1/MVP/enq/getMobileOfferInventory/', require('./true').getMobileOfferInventory); | 393 | app.post('/v1/MVP/enq/getMobileOfferInventory/', require('./true').getMobileOfferInventory); |
393 | 394 | ||
395 | +app.get('/api/callback', require('./line').callback); | ||
396 | + | ||
394 | app.get('/api/random/leader', function (req, res) { | 397 | app.get('/api/random/leader', function (req, res) { |
395 | const months = ["เกมส์", "โน๊ต setup", "โน๊ต วัศรุต", "แบงค์", "มอส", "ปิ๊ค", "เต้นพอไม่ต้องตื่น", "เปา", "นัท", "kik", "new", "ann","na", "boky", "eve", "miki", "pla", "sugar"]; | 398 | const months = ["เกมส์", "โน๊ต setup", "โน๊ต วัศรุต", "แบงค์", "มอส", "ปิ๊ค", "เต้นพอไม่ต้องตื่น", "เปา", "นัท", "kik", "new", "ann","na", "boky", "eve", "miki", "pla", "sugar"]; |
396 | // const months = [ "ann"]; | 399 | // const months = [ "ann"]; |
@@ -413,6 +416,76 @@ console.log(object); | @@ -413,6 +416,76 @@ console.log(object); | ||
413 | res.send(object); | 416 | res.send(object); |
414 | }) | 417 | }) |
415 | 418 | ||
419 | +app.get('/api/parallel/request', async function (req, res) { | ||
420 | + let dataList = ['001','002','003','004','005','006','007','008','009','010','011','012','013','014','015','016','017','018','019','020'] | ||
421 | + | ||
422 | + let response = await completelyReq(dataList) | ||
423 | + console.log('response to client', response) | ||
424 | + | ||
425 | + res.send(response) | ||
426 | +}) | ||
427 | + | ||
428 | +var parallelLimit = require('run-parallel-limit') | ||
429 | + | ||
430 | +async function completelyReq(dataList) { | ||
431 | + let limit = 10 | ||
432 | + let length = dataList.length > limit ? limit : dataList.length; | ||
433 | + let tempList = [] | ||
434 | + for(let i=0; i<dataList.length; i++) { | ||
435 | + // console.log(i) | ||
436 | + // console.log(dataList[i]) | ||
437 | + tempList.push((cb) => { | ||
438 | + reqFunc(dataList[i], ) | ||
439 | + }); | ||
440 | + // dataList.shift(); | ||
441 | + } | ||
442 | + | ||
443 | + return new Promise( resolve => { | ||
444 | + parallelLimit(tempList, 10, function (err, results) { | ||
445 | + if(err) {console.log(err); reject(err)}; | ||
446 | + console.log(results) | ||
447 | + resolve(results) | ||
448 | + }) | ||
449 | + }) | ||
450 | + | ||
451 | + // return await Promise.all(tempList); | ||
452 | +} | ||
453 | + | ||
454 | +function reqFunc(arg, cb) { | ||
455 | + // console.log(tempList) | ||
456 | + console.log('send req ', arg, new Date()) | ||
457 | + unirest | ||
458 | + .post('http://mockbin.com/request') | ||
459 | + .headers({'Accept': 'application/json', 'Content-Type': 'application/json'}) | ||
460 | + .send({ "parameter": 23, "foo": "bar", "seq": arg }) | ||
461 | + .then((response) => { | ||
462 | + // console.log(response.body.postData.text) | ||
463 | + // let delay = Math.floor(Math.random()*10000) | ||
464 | + console.log('recieve response ' , response.body.postData.text, new Date()) | ||
465 | + cb(null, response.body.postData.text) | ||
466 | + | ||
467 | + // setTimeout(function () { | ||
468 | + // cb(null, response.body.postData.text) | ||
469 | + // }, 100) | ||
470 | + }) | ||
471 | +} | ||
472 | + | ||
473 | +// function check(data, dataList, tempList) { | ||
474 | +// return new Promise(async (resolve, reject) => { | ||
475 | +// // console.log('tempList.length', tempList.length) | ||
476 | +// if(tempList.length == 20) { | ||
477 | +// // let allResponse = await Promise.all(tempList); | ||
478 | +// // console.log(allResponse) | ||
479 | +// resolve(tempList) | ||
480 | +// } else { | ||
481 | +// console.log(tempList) | ||
482 | +// tempList.push(reqFunc(dataList[0], dataList, tempList)) | ||
483 | +// dataList.shift(); | ||
484 | +// } | ||
485 | +// }) | ||
486 | + | ||
487 | +// } | ||
488 | + | ||
416 | app.get('/linenoti', require('./line').lineNoti) | 489 | app.get('/linenoti', require('./line').lineNoti) |
417 | 490 | ||
418 | app.listen(port, () => console.log('app listening on port ' + port + '!')) | 491 | app.listen(port, () => console.log('app listening on port ' + port + '!')) |
419 | \ No newline at end of file | 492 | \ No newline at end of file |
apple.js
@@ -111,7 +111,7 @@ module.exports.verifyReceipt = async (req, res) => { | @@ -111,7 +111,7 @@ module.exports.verifyReceipt = async (req, res) => { | ||
111 | } | 111 | } |
112 | ], | 112 | ], |
113 | "environment":"Sandbox", | 113 | "environment":"Sandbox", |
114 | - "latest_receipt":"CshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fbCshX8fb==", | 114 | + "latest_receipt":"CshX8fbCshX8fbCshX8fbCsh==", |
115 | "pending_renewal_info":[], | 115 | "pending_renewal_info":[], |
116 | "receipt":{ | 116 | "receipt":{ |
117 | "in_app":[], | 117 | "in_app":[], |
@@ -149,7 +149,7 @@ module.exports.verifyReceipt = async (req, res) => { | @@ -149,7 +149,7 @@ module.exports.verifyReceipt = async (req, res) => { | ||
149 | "latest_receipt_info": [], | 149 | "latest_receipt_info": [], |
150 | "pending_renewal_info": [], | 150 | "pending_renewal_info": [], |
151 | "receipt": {}, | 151 | "receipt": {}, |
152 | - "status": "1", | 152 | + "status": "21007", |
153 | "environment": "Sandbox" | 153 | "environment": "Sandbox" |
154 | } | 154 | } |
155 | 155 | ||
@@ -157,6 +157,10 @@ module.exports.verifyReceipt = async (req, res) => { | @@ -157,6 +157,10 @@ module.exports.verifyReceipt = async (req, res) => { | ||
157 | retrySuccess -= 1 | 157 | retrySuccess -= 1 |
158 | res.send(responseError) | 158 | res.send(responseError) |
159 | } else { | 159 | } else { |
160 | - res.send(responseError) | 160 | + if(req.headers['x-redirect-url'] == 'https://sandbox.itunes.apple.com/verifyReceipt') { |
161 | + res.send(response) | ||
162 | + } else { | ||
163 | + res.send(responseError) | ||
164 | + } | ||
161 | } | 165 | } |
162 | } | 166 | } |
d01.js
@@ -256,7 +256,7 @@ module.exports.getAddress = async (req, res) => { | @@ -256,7 +256,7 @@ module.exports.getAddress = async (req, res) => { | ||
256 | "resultDescription": "Data not found" | 256 | "resultDescription": "Data not found" |
257 | } | 257 | } |
258 | 258 | ||
259 | - res.send(response) | 259 | + // res.send(response) |
260 | } | 260 | } |
261 | 261 | ||
262 | module.exports.postAddress = async (req, res) => { | 262 | module.exports.postAddress = async (req, res) => { |
line.js
@@ -30,4 +30,33 @@ module.exports.lineNoti = async (req, res) => { | @@ -30,4 +30,33 @@ module.exports.lineNoti = async (req, res) => { | ||
30 | }); | 30 | }); |
31 | }); | 31 | }); |
32 | 32 | ||
33 | +} | ||
34 | + | ||
35 | +module.exports.callback = async (req, res) => { | ||
36 | + console.log('===== GET lineCallback =====') | ||
37 | + console.log('url', req.originalUrl); | ||
38 | + console.log('headers', req.headers); | ||
39 | + console.log('query', req.query); | ||
40 | + console.log('params', req.params); | ||
41 | + console.log('body', req.body); | ||
42 | + | ||
43 | + unirest.post('https://api.line.me/oauth2/v2.1/token') | ||
44 | + .form({ | ||
45 | + grant_type:"authorization_code", | ||
46 | + code:req.query.code, | ||
47 | + redirect_uri:"http://127.0.0.1:3002/api/callback", | ||
48 | + client_id:"1655116583", | ||
49 | + client_secret:"90ada7fc7b535e514dfa3d84c20c33ff" | ||
50 | + }).end(function (response) { | ||
51 | + unirest.get('https://api.line.me/v2/profile') | ||
52 | + .headers({ | ||
53 | + Authorization: `Bearer ${response.body.access_token}` | ||
54 | + }).end(function (response) { | ||
55 | + res.send({ | ||
56 | + userId : response.body.userId, | ||
57 | + date: req.query.state | ||
58 | + }) | ||
59 | + }); | ||
60 | + }); | ||
61 | + | ||
33 | } | 62 | } |
34 | \ No newline at end of file | 63 | \ No newline at end of file |
package-lock.json
@@ -2121,6 +2121,11 @@ | @@ -2121,6 +2121,11 @@ | ||
2121 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", | 2121 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", |
2122 | "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" | 2122 | "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" |
2123 | }, | 2123 | }, |
2124 | + "run-parallel-limit": { | ||
2125 | + "version": "1.0.6", | ||
2126 | + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.0.6.tgz", | ||
2127 | + "integrity": "sha512-yFFs4Q2kECi5mWXyyZj3UlAZ5OFq5E07opABC+EmhZdjEkrxXaUwFqOaaNF4tbayMnBxrsbujpeCYTVjGufZGQ==" | ||
2128 | + }, | ||
2124 | "safe-buffer": { | 2129 | "safe-buffer": { |
2125 | "version": "5.1.2", | 2130 | "version": "5.1.2", |
2126 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | 2131 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |
package.json