Showing
2 changed files
with
253 additions
and
1 deletions
1 | var express = require('express'); | 1 | var express = require('express'); |
2 | var app = express(); | 2 | var app = express(); |
3 | -var router = require('./router/Test')(app); | 3 | +var router = require('./router/mytest')(app); |
4 | var bodyParser = require('body-parser'); | 4 | var bodyParser = require('body-parser'); |
5 | 5 | ||
6 | app.set('views', __dirname + '/views'); | 6 | app.set('views', __dirname + '/views'); | ... | ... |
lolinfo/router/mytest.js
0 → 100644
1 | +module.exports = function(app){ | ||
2 | + | ||
3 | + var request = require("request"); | ||
4 | + var urlenconde = require('urlencode'); | ||
5 | + var apikey = "RGAPI-b69c36b5-e5c6-4698-af93-4be17fc8a7e4"//api | ||
6 | + | ||
7 | + var profileIconId; //아이콘 번호 | ||
8 | + var revisionDate; //수정날짜 | ||
9 | + var id; //소환사ID | ||
10 | + var accountId; //계정Id | ||
11 | + var name; //소환사 이름 | ||
12 | + var summonerLevel; //소환사 | ||
13 | + var rotation_champ = new Array(); | ||
14 | + var rotation_champ_newbie = new Array(); | ||
15 | + | ||
16 | + app.get('/', function(req, res) { | ||
17 | + res.render('main', { title: 'R U TROLL?' }); | ||
18 | + }); | ||
19 | + | ||
20 | + app.get('/search/:username/', function(req, res, next){ | ||
21 | + //롤 api url | ||
22 | + name = req.params.username; | ||
23 | + var nameUrl = "https://kr.api.riotgames.com/lol/summoner/v4/summoners/by-name/" + urlenconde(name)+"?api_key="+ apikey; | ||
24 | + request(nameUrl,function(error,response,body){ | ||
25 | + | ||
26 | + // 요청에 대한 응답이 성공적으로 왔는지 검사. | ||
27 | + // status code가 200이 아니면 오류가 있었던 것으로 간주하고 함수 종료. | ||
28 | + console.log('response code ', response.statusCode); | ||
29 | + if (response.statusCode != 200) { | ||
30 | + console.log('Error with response code22 ', response.statusCode); | ||
31 | + res.end(); | ||
32 | + return; | ||
33 | + } | ||
34 | + | ||
35 | + var info_summoner_json = JSON.parse(body); | ||
36 | + | ||
37 | + accountId = info_summoner_json["accountId"]; | ||
38 | + id = info_summoner_json["id"]; | ||
39 | + summoner = info_summoner_json["name"]; | ||
40 | + profileIconId = info_summoner_json["profileIconId"]; | ||
41 | + summonerLevel = info_summoner_json["summonerLevel"]; | ||
42 | + revisionDate = info_summoner_json["revisionDate"]; | ||
43 | + console.log(info_summoner_json); | ||
44 | + | ||
45 | + var champUrl = "https://kr.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-summoner/" + urlenconde(id) + "?api_key=" + apikey; | ||
46 | + request(champUrl,function(error,response,body){ | ||
47 | + var info_champ_json = JSON.parse(body); | ||
48 | + var champ_point = new Array(); | ||
49 | + var champ_id = new Array(); | ||
50 | + var champ_name = new Array(); | ||
51 | + var rotation_name = new Array(); | ||
52 | + var rotation_name_newbie = new Array(); | ||
53 | + var champ_pic = new Array(); | ||
54 | + var rotation_pic =new Array(); | ||
55 | + var rotation_pic_newbie = new Array(); | ||
56 | + var champions_length = Object.keys(info_champ_json).length; | ||
57 | + | ||
58 | + // status code가 200이 아니면 종료. | ||
59 | + if (info_champ_json["status"] != undefined) { | ||
60 | + if (info_champ_json["status"]["status_code"] != 200) { | ||
61 | + console.log('Error with response code11 ', info_champ_json["status"]["status_code"]); | ||
62 | + res.end(); | ||
63 | + return; | ||
64 | + } | ||
65 | + } | ||
66 | + | ||
67 | + for(var i=0; i < champions_length; i++){ | ||
68 | + champ_point[i] = (info_champ_json[i]["championPoints"]); | ||
69 | + champ_id[i] = info_champ_json[i]["championId"]; | ||
70 | + | ||
71 | + } | ||
72 | + var rotationUrl = "https://kr.api.riotgames.com/lol/platform/v3/champion-rotations?api_key="+apikey; | ||
73 | + request(rotationUrl,function(error,response,body){ | ||
74 | + var info_rotation = JSON.parse(body); | ||
75 | + var keys = Object.keys(info_rotation); | ||
76 | + for(var k =0; k < info_rotation[keys[0]].length;k++) | ||
77 | + { | ||
78 | + rotation_champ[k] = info_rotation[keys[0]][k]; | ||
79 | + console.log("rotation_champ:"+rotation_champ[k]); | ||
80 | + console.log("로테길이:"+rotation_champ.length); | ||
81 | + } | ||
82 | + for(var k =0; k < info_rotation[keys[1]].length;k++) | ||
83 | + { | ||
84 | + rotation_champ_newbie[k] = info_rotation[keys[1]][k]; | ||
85 | + console.log("rotation_champ:"+rotation_champ_newbie[k]); | ||
86 | + console.log("로테길이:"+rotation_champ_newbie.length); | ||
87 | + } | ||
88 | + | ||
89 | + | ||
90 | + | ||
91 | + | ||
92 | + | ||
93 | + var staticUrl = "http://ddragon.leagueoflegends.com/cdn/10.11.1/data/en_US/champion.json"; | ||
94 | + request(staticUrl,function(error,response,body) { | ||
95 | + var info_static_champ_json = JSON.parse(body); | ||
96 | + console.log(info_static_champ_json); | ||
97 | + var champion = info_static_champ_json["data"]; | ||
98 | + for(var i=0; i < champ_id.length; i++){ | ||
99 | + for(js in champion){ | ||
100 | + for(j in champion[js]){ | ||
101 | + if(champion[js]["key"] == champ_id[i]){ | ||
102 | + champ_name[i] = champion[js]["id"]; | ||
103 | + champ_pic[i] = "http://ddragon.leagueoflegends.com/cdn/10.11.1/img/champion/"+champ_name[i]+".png"; | ||
104 | + | ||
105 | + } | ||
106 | + } | ||
107 | + } | ||
108 | + } | ||
109 | + for(var i=0; i < champ_id.length; i++){ | ||
110 | + for(js in champion){ | ||
111 | + for(j in champion[js]){ | ||
112 | + if(champion[js]["key"] == rotation_champ[i]){ | ||
113 | + rotation_name[i] = champion[js]["id"]; | ||
114 | + rotation_pic[i] = "http://ddragon.leagueoflegends.com/cdn/10.11.1/img/champion/"+rotation_name[i]+".png"; | ||
115 | + } | ||
116 | + if(champion[js]["key"] == rotation_champ_newbie[i]){ | ||
117 | + rotation_name_newbie[i] = champion[js]["id"] | ||
118 | + rotation_pic_newbie[i] = "http://ddragon.leagueoflegends.com/cdn/10.11.1/img/champion/"+rotation_name_newbie[i]+".png"; | ||
119 | + } | ||
120 | + } | ||
121 | + } | ||
122 | + } | ||
123 | + console.log(rotation_name); | ||
124 | + | ||
125 | + console.log("챔프길이:"+champ_pic.length); | ||
126 | + | ||
127 | + var userLeagueUrl = "https://kr.api.riotgames.com/lol/league/v4/entries/by-summoner/"+ urlenconde(id)+"?api_key=" + apikey; | ||
128 | + request(userLeagueUrl,function(error,response,body){ | ||
129 | + var info_user_league_json = JSON.parse(body); | ||
130 | + //console.log("userLeagueUrl:", userLeagueUrl); | ||
131 | + if(info_user_league_json[0] != null){ | ||
132 | + var leagueId = info_user_league_json[0]["leagueId"]; | ||
133 | + var wins = info_user_league_json[0]["wins"]; | ||
134 | + var losses = info_user_league_json[0]["losses"]; | ||
135 | + var leagueName = info_user_league_json[0]["leagueName"] | ||
136 | + var tier = info_user_league_json[0]["tier"]; | ||
137 | + var rank = info_user_league_json[0]["rank"]; | ||
138 | + var leaguePoints = info_user_league_json[0]["leaguePoints"]; | ||
139 | + var img_tier; | ||
140 | + if(tier == "MASTER"){ | ||
141 | + img_tier = "https://i.imgur.com/nvQjonh.png"; | ||
142 | + }else if(tier == "CHALLENGER"){ | ||
143 | + img_tier = "https://i.imgur.com/sbK1Edj.png"; | ||
144 | + }else if(tier == "DIAMOND"){ | ||
145 | + img_tier = "https://i.imgur.com/5VBu8PF.png" | ||
146 | + }else if(tier == "PLATINUM"){ | ||
147 | + img_tier = "https://i.imgur.com/Eqi6858.png" | ||
148 | + }else if(tier == "GRANDMASTER"){ | ||
149 | + img_tier = "https://i.imgur.com/mcEhz1o.png" | ||
150 | + }else if(tier == "GOLD"){ | ||
151 | + img_tier = "https://i.imgur.com/Ec4hPuO.png" | ||
152 | + }else if(tier == "SILVER"){ | ||
153 | + img_tier = "https://i.imgur.com/GKnPu7s.png" | ||
154 | + }else if(tier == "BRONZE"){ | ||
155 | + img_tier ="https://i.imgur.com/TPZVXIr.png" | ||
156 | + }else{ | ||
157 | + img_tier = "https://i.imgur.com/kcdoC4r.png" | ||
158 | + } | ||
159 | + } | ||
160 | + champ_name[champ_name.length] = "total"; | ||
161 | + var temp_id; | ||
162 | + var temp_name; | ||
163 | + var temp_point; | ||
164 | + var temp_pic; | ||
165 | + for(var i=0; i < champ_id.length-1; i++){ | ||
166 | + for(var j=i+1;j <champ_id.length-1; j++) | ||
167 | + if(champ_point[i] > champ_point[j]){ | ||
168 | + temp_id = champ_id[i]; | ||
169 | + temp_name = champ_name[i]; | ||
170 | + temp_point = champ_point[i]; | ||
171 | + temp_pic = champ_pic[i]; | ||
172 | + champ_id[i] = champ_id[j] | ||
173 | + champ_name[i] = champ_name[j]; | ||
174 | + champ_point[i] = champ_point[j]; | ||
175 | + champ_pic[i] = champ_pic[j]; | ||
176 | + champ_id[j] = temp_id | ||
177 | + champ_name[j] = temp_name; | ||
178 | + champ_point[j] = temp_point; | ||
179 | + champ_pic[j] = temp_pic; | ||
180 | + } | ||
181 | + } | ||
182 | + const defaultMMR = [ | ||
183 | + {"mmr" : 900, "tier" : "iron", "rank": 4}, | ||
184 | + {"mmr" : 950, "tier" : "iron", "rank": 3}, | ||
185 | + {"mmr" : 1000, "tier" : "iron", "rank": 2}, | ||
186 | + {"mmr" : 1050, "tier" : "iron", "rank": 1}, | ||
187 | + { "mmr" : 1100, "tier" : "bronze", "rank": 4 }, | ||
188 | + { "mmr" : 1150, "tier" : "bronze", "rank": 3 }, | ||
189 | + { "mmr" : 1200, "tier" : "bronze", "rank": 2 }, | ||
190 | + { "mmr" : 1250, "tier" : "bronze", "rank": 1 }, | ||
191 | + { "mmr" : 1300, "tier" : "silver", "rank": 4 }, | ||
192 | + { "mmr" : 1350, "tier" : "silver", "rank": 3 }, | ||
193 | + { "mmr" : 1400, "tier" : "silver", "rank": 2 }, | ||
194 | + { "mmr" : 1450, "tier" : "silver", "rank": 1 }, | ||
195 | + { "mmr" : 1500, "tier" : "gold", "rank": 4 }, | ||
196 | + { "mmr" : 1550, "tier" : "gold", "rank": 3 }, | ||
197 | + { "mmr" : 1600, "tier" : "gold", "rank": 2 }, | ||
198 | + { "mmr" : 1650, "tier" : "gold", "rank": 1 }, | ||
199 | + { "mmr" : 1700, "tier" : "platinum", "rank": 4 }, | ||
200 | + { "mmr" : 1750, "tier" : "platinum", "rank": 3 }, | ||
201 | + { "mmr" : 1800, "tier" : "platinum", "rank": 2 }, | ||
202 | + { "mmr" : 1850, "tier" : "platinum", "rank": 1 }, | ||
203 | + { "mmr" : 1900, "tier" : "diamond", "rank": 4 }, | ||
204 | + { "mmr" : 1950, "tier" : "diamond", "rank": 3 }, | ||
205 | + { "mmr" : 2000, "tier" : "diamond", "rank": 2 }, | ||
206 | + { "mmr" : 2050, "tier" : "diamond", "rank": 1 }, | ||
207 | + { "mmr" : 2100, "tier" : "master", "rank": 1 }, | ||
208 | + { "mmr" : 2700, "tier" : "challenger", "rank": 1 }, | ||
209 | + ] | ||
210 | + | ||
211 | + | ||
212 | + var spectatorUrl = "https://kr.api.riotgames.com/lol/spectator/v4/active-games/by-summoner/" + urlenconde(id) + "?api_key=" + apikey; | ||
213 | + request(spectatorUrl,function(error,response,body) { | ||
214 | + var spectator_json = JSON.parse(body); | ||
215 | + var flag = true; | ||
216 | + console.log(spectator_json); | ||
217 | + var spec_bannedChamp = spectator_json.bannedChampions; | ||
218 | + var spec_gameId = spectator_json.gameId; | ||
219 | + var spec_gameLength = spectator_json.gameLength; | ||
220 | + var spec_gameMode = spectator_json.gameMode; | ||
221 | + var spec_QueueId = spectator_json.gameQueueConfigId; | ||
222 | + var spec_mapId = spectator_json.mapId; | ||
223 | + var spec_participants = spectator_json.participants; | ||
224 | + | ||
225 | + | ||
226 | + | ||
227 | + | ||
228 | + | ||
229 | + res.render('index', { title: req.params.username , | ||
230 | + c_id: champ_id, | ||
231 | + c_name: champ_name, | ||
232 | + c_point: champ_point, | ||
233 | + c_pic: champ_pic, | ||
234 | + c_rotation : rotation_pic, | ||
235 | + c_rotation_newbie : rotation_pic_newbie, | ||
236 | + c_summoner: summoner, | ||
237 | + c_wins: wins, | ||
238 | + c_losses: losses, | ||
239 | + c_tier: tier, | ||
240 | + c_imgtier: img_tier, | ||
241 | + c_rank: rank, | ||
242 | + c_leaguePoint: leaguePoints | ||
243 | + }); | ||
244 | + }); | ||
245 | + }); | ||
246 | + }); | ||
247 | + }); | ||
248 | + }); | ||
249 | + }); | ||
250 | + }); | ||
251 | + }; | ||
252 | + | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment