LIANG XIAOTONG

Only interface

1 +const express = require('express');
2 +const router = express.Router();
3 +const request = require("request");
4 +const urlenconde = require('urlencode');
5 +const apikey = "RGAPI-816bb9a0-615c-41e0-a01e-f5e0bb68c3a6"//api
6 +router.get('/search/summoner/:username/', function (req, res) {
7 + //롤 api url
8 + const name = req.params.username;
9 + var nameUrl = "https://kr.api.riotgames.com/tft/summoner/v1/summoners/by-name/" + urlenconde(name) + "?api_key=" + apikey;
10 + request(nameUrl, function (error, response, body) {
11 + var info_summoner_json = JSON.parse(body);
12 + const summonerId = info_summoner_json.id;
13 + const rankUrl = `https://kr.api.riotgames.com/tft/league/v1/entries/by-summoner/${urlenconde(summonerId)}?api_key=${apikey}`;
14 + request(rankUrl, function (error, response, body) {
15 + const rank_info = JSON.parse(body);
16 + res.json({
17 + status: 200,
18 + data: {
19 + summoner: info_summoner_json,
20 + leagueList: rank_info
21 + }
22 + });
23 + });
24 + });
25 +});
26 +
27 +router.get('/search/match/:puuid', function (req, res) {
28 + //api url
29 + const puuid = req.params.puuid;
30 + const matchIdUrl = `https://asia.api.riotgames.com/tft/match/v1/matches/by-puuid/${puuid}/ids?api_key=${apikey}`;
31 + request(matchIdUrl, function (error, response, body) {
32 + const matchIdList = JSON.parse(body);
33 + const promiseList = [];
34 + matchIdList.forEach(matchId => {
35 + promiseList.push(new Promise((resolve, reject) => {
36 + const matchURL = `https://asia.api.riotgames.com/tft/match/v1/matches/${matchId}?api_key=${apikey}`;
37 + request(matchURL, function (error, response, body) {
38 + const match = JSON.parse(body);
39 + resolve(match);
40 + });
41 + }));
42 + Promise.all(promiseList).then(matches => {
43 + res.json({
44 + status: 200,
45 + data: {
46 + matchList: matches
47 + }
48 + });
49 + })
50 + });
51 + });
52 +
53 + module.exports = router;
...\ No newline at end of file ...\ No newline at end of file