Showing
4 changed files
with
197 additions
and
18 deletions
... | @@ -5,6 +5,7 @@ var urlenconde = require('urlencode'); | ... | @@ -5,6 +5,7 @@ var urlenconde = require('urlencode'); |
5 | var apikey = "RGAPI-0c7096fc-2511-4654-a889-40879eae0370"//api | 5 | var apikey = "RGAPI-0c7096fc-2511-4654-a889-40879eae0370"//api |
6 | 6 | ||
7 | 7 | ||
8 | + | ||
8 | var profileIconId; //아이콘 번호 | 9 | var profileIconId; //아이콘 번호 |
9 | var revisionDate; //수정날짜 | 10 | var revisionDate; //수정날짜 |
10 | var id; //소환사ID | 11 | var id; //소환사ID |
... | @@ -16,7 +17,66 @@ var rotation_champ = new Array(); | ... | @@ -16,7 +17,66 @@ var rotation_champ = new Array(); |
16 | app.get('/', function(req, res) { | 17 | app.get('/', function(req, res) { |
17 | res.render('main', { title: 'R U TROLL?' }); | 18 | res.render('main', { title: 'R U TROLL?' }); |
18 | }); | 19 | }); |
20 | + app.get('/data/:championname',function(req,res,net){ | ||
21 | + var champ_name=req.params.championname; | ||
22 | + var champUrl = "https://kr.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-summoner/" + urlenconde(id) + "?api_key=" + apikey; | ||
23 | + request(champUrl,function(error,response,body){ | ||
24 | + var info_champ_json = JSON.parse(body); | ||
25 | + | ||
26 | + var champ_id = new Array(); | ||
27 | + | ||
28 | + var champions_length = Object.keys(info_champ_json).length; | ||
29 | + var staticUrl = "http://ddragon.leagueoflegends.com/cdn/10.23.1/data/ko_KR/champion.json"; | ||
30 | + var title; | ||
31 | + var blub; | ||
32 | + var champ_stats=new Array(); | ||
33 | + var champ_pic; | ||
34 | + var champ_kor; | ||
35 | + request(staticUrl,function(error,response,body){ | ||
36 | + var info_static_champ_json = JSON.parse(body); | ||
37 | + var champion = info_static_champ_json["data"]; | ||
38 | + for(js in champion){ | ||
39 | + for(j in champion[js]){ | ||
40 | + if(champion[js]["id"]==champ_name){ | ||
41 | + title=champion[js]["title"]; | ||
42 | + blub=champion[js]["blurb"]; | ||
43 | + champ_kor=champion[js]["name"]; | ||
44 | + champ_pic = "http://ddragon.leagueoflegends.com/cdn/10.23.1/img/champion/"+champ_name+".png"; | ||
45 | + champ_stats[0]=champion[js]["stats"]["hp"]; | ||
46 | + champ_stats[1]=champion[js]["stats"]["hpperlevel"]; | ||
47 | + champ_stats[2]=champion[js]["stats"]["mp"]; | ||
48 | + champ_stats[3]=champion[js]["stats"]["mpperlevel"]; | ||
49 | + champ_stats[4]=champion[js]["stats"]["movespeed"]; | ||
50 | + champ_stats[5]=champion[js]["stats"]["armor"]; | ||
51 | + champ_stats[6]=champion[js]["stats"]["armorperlevel"]; | ||
52 | + champ_stats[7]=champion[js]["stats"]["spellblock"]; | ||
53 | + champ_stats[8]=champion[js]["stats"]["spellblockperlevel"]; | ||
54 | + champ_stats[9]=champion[js]["stats"]["attackrange"]; | ||
55 | + champ_stats[10]=champion[js]["stats"]["hpregen"]; | ||
56 | + champ_stats[11]=champion[js]["stats"]["hpregenperlevel"]; | ||
57 | + champ_stats[12]=champion[js]["stats"]["mpregen"]; | ||
58 | + champ_stats[13]=champion[js]["stats"]["mpregenperlevel"]; | ||
59 | + champ_stats[14]=champion[js]["stats"]["crit"]; | ||
60 | + champ_stats[15]=champion[js]["stats"]["critperlevel"]; | ||
61 | + champ_stats[16]=champion[js]["stats"]["attackdamage"]; | ||
62 | + champ_stats[17]=champion[js]["stats"]["attackdamageperlevel"]; | ||
63 | + champ_stats[18]=champion[js]["stats"]["attackspeedperlevel"]; | ||
64 | + champ_stats[19]=champion[js]["stats"]["attackspeed"]; | ||
65 | + | ||
66 | + } | ||
67 | + } | ||
68 | + } | ||
19 | 69 | ||
70 | + res.render('data',{ | ||
71 | + c_blb:blub, | ||
72 | + c_title:title, | ||
73 | + c_stats:champ_stats, | ||
74 | + c_pic:champ_pic, | ||
75 | + c_name:champ_kor | ||
76 | + }) | ||
77 | + }) | ||
78 | + }) | ||
79 | + }) | ||
20 | app.get('/search/:username/', function(req, res, next){ | 80 | app.get('/search/:username/', function(req, res, next){ |
21 | //롤 api url | 81 | //롤 api url |
22 | name = req.params.username; | 82 | name = req.params.username; |
... | @@ -34,22 +94,28 @@ var rotation_champ = new Array(); | ... | @@ -34,22 +94,28 @@ var rotation_champ = new Array(); |
34 | 94 | ||
35 | var info_summoner_json = JSON.parse(body); | 95 | var info_summoner_json = JSON.parse(body); |
36 | 96 | ||
37 | - accountId = info_summoner_json["accountId"]; // GZC51rstNY47-cmgcap94mfLe7JNjF1fz3dGAdwS6pEo | 97 | + accountId = info_summoner_json["accountId"]; |
38 | - id = info_summoner_json["id"]; // T6cI_Zn5LEqyPuhCZz1do0Y-IJztJX1I1mvcQZRt9YKygA | 98 | + id = info_summoner_json["id"]; |
39 | - summoner = info_summoner_json["name"]; // 환하다 추야 | 99 | + summoner = info_summoner_json["name"]; |
40 | - profileIconId = info_summoner_json["profileIconId"]; // 980 | 100 | + profileIconId = info_summoner_json["profileIconId"]; |
41 | - summonerLevel = info_summoner_json["summonerLevel"]; // 250 | 101 | + summonerLevel = info_summoner_json["summonerLevel"]; |
42 | - revisionDate = info_summoner_json["revisionDate"]; // 1605519790000 | 102 | + revisionDate = info_summoner_json["revisionDate"]; |
43 | - | 103 | + var profileUrl="http://ddragon.leagueoflegends.com/cdn/10.23.1/img/profileicon/"; |
104 | + request(profileUrl,function(error,response,body){ | ||
105 | + var profileIcon; | ||
106 | + profileIcon="http://ddragon.leagueoflegends.com/cdn/10.23.1/img/profileicon/"+profileIconId+".png"; | ||
107 | + | ||
44 | var champUrl = "https://kr.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-summoner/" + urlenconde(id) + "?api_key=" + apikey; | 108 | var champUrl = "https://kr.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-summoner/" + urlenconde(id) + "?api_key=" + apikey; |
45 | request(champUrl,function(error,response,body){ | 109 | request(champUrl,function(error,response,body){ |
46 | var info_champ_json = JSON.parse(body); | 110 | var info_champ_json = JSON.parse(body); |
47 | var champ_point = new Array(); | 111 | var champ_point = new Array(); |
48 | var champ_id = new Array(); | 112 | var champ_id = new Array(); |
49 | var champ_name = new Array(); | 113 | var champ_name = new Array(); |
114 | + var champ_korname=new Array(); | ||
50 | var rotation_name = new Array(); | 115 | var rotation_name = new Array(); |
51 | var champ_pic = new Array(); | 116 | var champ_pic = new Array(); |
52 | var rotation_pic =new Array(); | 117 | var rotation_pic =new Array(); |
118 | + var champ_level=new Array();//숙련도 레벨 | ||
53 | var champions_length = Object.keys(info_champ_json).length; | 119 | var champions_length = Object.keys(info_champ_json).length; |
54 | 120 | ||
55 | //console.log("\n\ninfo_champ_json\n\n", info_champ_json); | 121 | //console.log("\n\ninfo_champ_json\n\n", info_champ_json); |
... | @@ -66,7 +132,7 @@ var rotation_champ = new Array(); | ... | @@ -66,7 +132,7 @@ var rotation_champ = new Array(); |
66 | for(var i=0; i < champions_length; i++){ | 132 | for(var i=0; i < champions_length; i++){ |
67 | champ_point[i] = (info_champ_json[i]["championPoints"]); | 133 | champ_point[i] = (info_champ_json[i]["championPoints"]); |
68 | champ_id[i] = info_champ_json[i]["championId"]; | 134 | champ_id[i] = info_champ_json[i]["championId"]; |
69 | - | 135 | + champ_level[i]=info_champ_json[i]["championLevel"] |
70 | } | 136 | } |
71 | var rotationUrl = "https://kr.api.riotgames.com/lol/platform/v3/champion-rotations?api_key="+apikey; | 137 | var rotationUrl = "https://kr.api.riotgames.com/lol/platform/v3/champion-rotations?api_key="+apikey; |
72 | request(rotationUrl,function(error,response,body){ | 138 | request(rotationUrl,function(error,response,body){ |
... | @@ -81,9 +147,9 @@ var rotation_champ = new Array(); | ... | @@ -81,9 +147,9 @@ var rotation_champ = new Array(); |
81 | 147 | ||
82 | 148 | ||
83 | 149 | ||
84 | - | 150 | + |
85 | - | 151 | + |
86 | - var staticUrl = "http://ddragon.leagueoflegends.com/cdn/10.23.1/data/en_US/champion.json"; | 152 | + var staticUrl = "http://ddragon.leagueoflegends.com/cdn/10.23.1/data/ko_KR/champion.json"; |
87 | request(staticUrl,function(error,response,body){ | 153 | request(staticUrl,function(error,response,body){ |
88 | var info_static_champ_json = JSON.parse(body); | 154 | var info_static_champ_json = JSON.parse(body); |
89 | var champion = info_static_champ_json["data"]; | 155 | var champion = info_static_champ_json["data"]; |
... | @@ -92,6 +158,7 @@ var rotation_champ = new Array(); | ... | @@ -92,6 +158,7 @@ var rotation_champ = new Array(); |
92 | for(j in champion[js]){ | 158 | for(j in champion[js]){ |
93 | if(champion[js]["key"] == champ_id[i]){ | 159 | if(champion[js]["key"] == champ_id[i]){ |
94 | champ_name[i] = champion[js]["id"]; | 160 | champ_name[i] = champion[js]["id"]; |
161 | + champ_korname[i]=champion[js]["name"]; | ||
95 | champ_pic[i] = "http://ddragon.leagueoflegends.com/cdn/10.23.1/img/champion/"+champ_name[i]+".png"; | 162 | champ_pic[i] = "http://ddragon.leagueoflegends.com/cdn/10.23.1/img/champion/"+champ_name[i]+".png"; |
96 | 163 | ||
97 | } | 164 | } |
... | @@ -180,17 +247,21 @@ var rotation_champ = new Array(); | ... | @@ -180,17 +247,21 @@ var rotation_champ = new Array(); |
180 | var temp_name; | 247 | var temp_name; |
181 | var temp_point; | 248 | var temp_point; |
182 | var temp_pic; | 249 | var temp_pic; |
250 | + var temp_chamlev; | ||
183 | for(var i=0; i < champ_id.length-1; i++){//챔피언 포인트 순으로 sorting | 251 | for(var i=0; i < champ_id.length-1; i++){//챔피언 포인트 순으로 sorting |
184 | for(var j=i+1;j <champ_id.length-1; j++) | 252 | for(var j=i+1;j <champ_id.length-1; j++) |
185 | if(champ_point[i] < champ_point[j]){ | 253 | if(champ_point[i] < champ_point[j]){ |
254 | + temp_chamlev=champ_level[i]; | ||
186 | temp_id = champ_id[i]; | 255 | temp_id = champ_id[i]; |
187 | temp_name = champ_name[i]; | 256 | temp_name = champ_name[i]; |
188 | temp_point = champ_point[i]; | 257 | temp_point = champ_point[i]; |
189 | temp_pic = champ_pic[i]; | 258 | temp_pic = champ_pic[i]; |
259 | + champ_level[i]=champ_level[j]; | ||
190 | champ_id[i] = champ_id[j] | 260 | champ_id[i] = champ_id[j] |
191 | champ_name[i] = champ_name[j]; | 261 | champ_name[i] = champ_name[j]; |
192 | champ_point[i] = champ_point[j]; | 262 | champ_point[i] = champ_point[j]; |
193 | champ_pic[i] = champ_pic[j]; | 263 | champ_pic[i] = champ_pic[j]; |
264 | + champ_level[j]=champ_level[i]; | ||
194 | champ_id[j] = temp_id | 265 | champ_id[j] = temp_id |
195 | champ_name[j] = temp_name; | 266 | champ_name[j] = temp_name; |
196 | champ_point[j] = temp_point; | 267 | champ_point[j] = temp_point; |
... | @@ -229,8 +300,12 @@ var rotation_champ = new Array(); | ... | @@ -229,8 +300,12 @@ var rotation_champ = new Array(); |
229 | 300 | ||
230 | 301 | ||
231 | res.render('index', { title: req.params.username ,//데이터를 ejs로 넘길 때 사용 | 302 | res.render('index', { title: req.params.username ,//데이터를 ejs로 넘길 때 사용 |
303 | + c_lev: champ_level, | ||
304 | + c_summonerlev: summonerLevel, | ||
305 | + c_profile: profileIcon, | ||
232 | c_id: champ_id, | 306 | c_id: champ_id, |
233 | c_name: champ_name, | 307 | c_name: champ_name, |
308 | + c_korname: champ_korname, | ||
234 | c_point: champ_point, | 309 | c_point: champ_point, |
235 | c_pic: champ_pic, | 310 | c_pic: champ_pic, |
236 | c_rotation : rotation_pic, | 311 | c_rotation : rotation_pic, |
... | @@ -252,6 +327,7 @@ var rotation_champ = new Array(); | ... | @@ -252,6 +327,7 @@ var rotation_champ = new Array(); |
252 | }); | 327 | }); |
253 | }); | 328 | }); |
254 | }); | 329 | }); |
330 | +}); | ||
255 | }); | 331 | }); |
256 | }); | 332 | }); |
257 | }; | 333 | }; | ... | ... |
RUTROLL/views/data.ejs
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html> | ||
3 | + <head> | ||
4 | + <meta charset="utf-8"> | ||
5 | + | ||
6 | + <link rel="icon" href = "FindMelogo.png"> | ||
7 | + <link rel="stylesheet" href="css/style.css"> | ||
8 | + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> | ||
9 | + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css"> | ||
10 | + <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script> | ||
11 | + <style> @import url("http://fonts.googleapis.com/earlyaccess/nanumgothic.css");</style> | ||
12 | + <script> | ||
13 | + | ||
14 | + </script> | ||
15 | + </head> | ||
16 | + <body> | ||
17 | + | ||
18 | + | ||
19 | + | ||
20 | + | ||
21 | + <img src= <%=c_pic%> width=300, height=300> | ||
22 | + <font size=10em> | ||
23 | + <strong> | ||
24 | + <%= c_title +"\n"%> | ||
25 | + <%= c_name + "\n"%> | ||
26 | + | ||
27 | + </strong> | ||
28 | + </font> | ||
29 | + | ||
30 | + | ||
31 | + <font size=5em> | ||
32 | + <table border="5" bordercolor="blue"> | ||
33 | + <tbody> | ||
34 | + | ||
35 | + | ||
36 | + | ||
37 | + | ||
38 | + | ||
39 | + <tr> | ||
40 | + <td> <%= "체력 : "+c_stats[0]+"+ lev*" + c_stats[1]%></td> | ||
41 | + <td> <%= "마력 : "+c_stats[2]+"+ lev*" + c_stats[3]%></td> | ||
42 | + </tr> | ||
43 | + | ||
44 | + | ||
45 | + <tr> | ||
46 | + <td> <%= "체력자연회복량 : "+c_stats[10]+"+ lev*" + c_stats[11]%></td> | ||
47 | + <td> <%= "마력자연회복량 : "+c_stats[12]+"+ lev*" + c_stats[13]%></td> | ||
48 | + </tr> | ||
49 | + | ||
50 | + <tr> | ||
51 | + <td> <%= "방어력 : "+c_stats[5]+"+ lev*" + c_stats[6]%></td> | ||
52 | + <td> <%= "마법방어력 : "+c_stats[7]+"+ lev*" + c_stats[8]%></td> | ||
53 | + </tr> | ||
54 | + | ||
55 | + <tr> | ||
56 | + <td> <%= "공격력 : "+c_stats[16]+"+ lev*" + c_stats[17]%></td> | ||
57 | + <td> <%= "공격속도 : "+c_stats[19]+"+ lev*" + c_stats[18]+"%"%></td> | ||
58 | + </tr> | ||
59 | + | ||
60 | + <tr> | ||
61 | + <td> <%= "이동속도 : "+c_stats[4]%></td> | ||
62 | + | ||
63 | + <td> <%= "사정거리 : "+c_stats[9]%></td> | ||
64 | + </tr> | ||
65 | + | ||
66 | + | ||
67 | + <tr><td> <%= "치명타 : "+c_stats[14]+"+ lev*" + c_stats[15]%></td> | ||
68 | + <td> </td> | ||
69 | + </tr> | ||
70 | + | ||
71 | + | ||
72 | + <br></br> | ||
73 | + | ||
74 | + | ||
75 | + | ||
76 | + | ||
77 | + </tbody> | ||
78 | + </table> | ||
79 | + <br></br> | ||
80 | + <p> | ||
81 | + <%= c_blb %> | ||
82 | + </p> | ||
83 | + </font> | ||
84 | + | ||
85 | + | ||
86 | + | ||
87 | + | ||
88 | + | ||
89 | +</body> | ||
90 | +</html> |
... | @@ -12,18 +12,19 @@ | ... | @@ -12,18 +12,19 @@ |
12 | 12 | ||
13 | <script> | 13 | <script> |
14 | $(document).ready(function(){ | 14 | $(document).ready(function(){ |
15 | - | 15 | + |
16 | 16 | ||
17 | $("button#searchButton").click(function(){ | 17 | $("button#searchButton").click(function(){ |
18 | var name = $("input").val(); | 18 | var name = $("input").val(); |
19 | location.href = "http://localhost:3000/search/" + name; | 19 | location.href = "http://localhost:3000/search/" + name; |
20 | }) | 20 | }) |
21 | + | ||
21 | }); | 22 | }); |
22 | </script> | 23 | </script> |
23 | </head> | 24 | </head> |
24 | <body> | 25 | <body> |
25 | 26 | ||
26 | - | 27 | + |
27 | <div class="imgOpacity"> | 28 | <div class="imgOpacity"> |
28 | <div class="center"> | 29 | <div class="center"> |
29 | <img src= "/FindMelogo.png" width = 150, height = 150/> | 30 | <img src= "/FindMelogo.png" width = 150, height = 150/> |
... | @@ -127,11 +128,21 @@ | ... | @@ -127,11 +128,21 @@ |
127 | <% for (var i=0; i<6; i++){ %> | 128 | <% for (var i=0; i<6; i++){ %> |
128 | <div class="champImage"> | 129 | <div class="champImage"> |
129 | <div class="center"> | 130 | <div class="center"> |
130 | - <img src= <%=c_pic[i]%> width=50, height=50> | 131 | + |
131 | - <%= c_name[i] %> | 132 | + <input type="image" src=<%=c_pic[i]%> onClick="location.href='http://localhost:3000/data/'+ '<%=c_name[i]%>'"> |
132 | - <%= "point: " + c_point[i] %> | 133 | + |
134 | + | ||
135 | + <B> | ||
136 | + <%= c_korname[i] %> | ||
137 | + </B> | ||
138 | + <%= "point: " + c_point[i]+ " \tchampion level: " + c_lev[i] %> | ||
139 | + | ||
133 | <% } %> | 140 | <% } %> |
134 | </div> | 141 | </div> |
135 | </div> | 142 | </div> |
143 | + | ||
144 | + | ||
145 | +</div> | ||
146 | +</font> | ||
136 | </body> | 147 | </body> |
137 | </html> | 148 | </html> | ... | ... |
... | @@ -11,16 +11,18 @@ | ... | @@ -11,16 +11,18 @@ |
11 | <style> @import url("http://fonts.googleapis.com/earlyaccess/nanumgothic.css");</style> | 11 | <style> @import url("http://fonts.googleapis.com/earlyaccess/nanumgothic.css");</style> |
12 | <script> | 12 | <script> |
13 | $(document).ready(function(){ | 13 | $(document).ready(function(){ |
14 | - | 14 | + |
15 | - | 15 | + |
16 | $("button#searchButton").click(function(){ | 16 | $("button#searchButton").click(function(){ |
17 | var name = $("input").val(); | 17 | var name = $("input").val(); |
18 | location.href = "http://localhost:3000/search/" + name; | 18 | location.href = "http://localhost:3000/search/" + name; |
19 | }) | 19 | }) |
20 | + | ||
20 | }); | 21 | }); |
21 | </script> | 22 | </script> |
22 | </head> | 23 | </head> |
23 | <body> | 24 | <body> |
25 | + | ||
24 | <div class="imgOpacity"> | 26 | <div class="imgOpacity"> |
25 | <div class="center"> | 27 | <div class="center"> |
26 | <img src= "FindMelogo.png" width = 300, height = 300/> | 28 | <img src= "FindMelogo.png" width = 300, height = 300/> | ... | ... |
-
Please register or login to post a comment