Showing
4 changed files
with
130 additions
and
9 deletions
... | @@ -2,7 +2,7 @@ const express = require('express'); | ... | @@ -2,7 +2,7 @@ const express = require('express'); |
2 | const router = express.Router(); | 2 | const router = express.Router(); |
3 | const request = require("request"); | 3 | const request = require("request"); |
4 | const urlenconde = require('urlencode'); | 4 | const urlenconde = require('urlencode'); |
5 | -const apikey = "RGAPI-816bb9a0-615c-41e0-a01e-f5e0bb68c3a6"//api | 5 | +const apikey = "RGAPI-3f849a35-01f8-4915-a606-87cfc4800ef2"//api |
6 | router.get('/search/summoner/:username/', function (req, res) { | 6 | router.get('/search/summoner/:username/', function (req, res) { |
7 | //롤 api url | 7 | //롤 api url |
8 | const name = req.params.username; | 8 | const name = req.params.username; | ... | ... |
... | @@ -2,13 +2,14 @@ module.exports = function (app) { | ... | @@ -2,13 +2,14 @@ module.exports = function (app) { |
2 | 2 | ||
3 | var request = require("request"); | 3 | var request = require("request"); |
4 | var urlenconde = require('urlencode'); | 4 | var urlenconde = require('urlencode'); |
5 | - var apikey = "RGAPI-899abd44-2f7c-4e2d-981e-7cad9e50d1cb"//api | 5 | + var apikey = "RGAPI-3f849a35-01f8-4915-a606-87cfc4800ef2"//api |
6 | 6 | ||
7 | app.get('/', function (req, res) { | 7 | app.get('/', function (req, res) { |
8 | res.render('main', { title: 'R U TROLL?' }); | 8 | res.render('main', { title: 'R U TROLL?' }); |
9 | }); | 9 | }); |
10 | 10 | ||
11 | - app.get('/search/:username/', function (req, res) { | 11 | + |
12 | + app.get('tft/search/:username/', function (req, res) { | ||
12 | // tft api url | 13 | // tft api url |
13 | const summonerName = req.params.username; | 14 | const summonerName = req.params.username; |
14 | var nameUrl = `https://kr.api.riotgames.com/tft/summoner/v1/summoners/by-name/${summonerName}?api_key=${apikey}` | 15 | var nameUrl = `https://kr.api.riotgames.com/tft/summoner/v1/summoners/by-name/${summonerName}?api_key=${apikey}` |
... | @@ -66,4 +67,80 @@ module.exports = function (app) { | ... | @@ -66,4 +67,80 @@ module.exports = function (app) { |
66 | }); | 67 | }); |
67 | }); | 68 | }); |
68 | }); | 69 | }); |
70 | + | ||
71 | + app.get('/search/:username/', function(req, res){ | ||
72 | + //롤 api url | ||
73 | + name = req.params.username; | ||
74 | + var nameUrl = "https://kr.api.riotgames.com/lol/summoner/v3/summoners/by-name/" + urlenconde(name)+"?api_key="+ apikey; | ||
75 | + request(nameUrl,function(error,response,body){ | ||
76 | + var info_summoner_json = JSON.parse(body); | ||
77 | + accountId = info_summoner_json["accountId"]; | ||
78 | + id = info_summoner_json["id"]; | ||
79 | + summoner = info_summoner_json["name"]; | ||
80 | + profileIconId = info_summoner_json["profileIconId"]; | ||
81 | + summonerLevel = info_summoner_json["summonerLevel"]; | ||
82 | + revisionDate = info_summoner_json["revisionDate"]; | ||
83 | + var rankedUrl = "https://kr.api.pvp.net/api/lol/kr/v2.5/league/by-summoner/"+ urlenconde(id)+ "?api_key=" + apikey; | ||
84 | + var champUrl = "https://kr.api.pvp.net/api/lol/kr/v1.3/stats/by-summoner/" + urlenconde(id) + "/ranked?api_key=" + apikey; | ||
85 | + request(champUrl,function(error,response,body){ | ||
86 | + var info_champ_json = JSON.parse(body); | ||
87 | + var champions = info_champ_json["champions"]; | ||
88 | + var champ_point = new Array(); | ||
89 | + var champ_id = new Array(); | ||
90 | + var champ_name = new Array(); | ||
91 | + var champ_pic = new Array(); | ||
92 | + var champions_length = Object.keys(champions).length; | ||
93 | + for(var i=0; i < champions_length; i++){ | ||
94 | + champ_point[i] = (champions[i]["stats"]["totalSessionsWon"]/champions[i]["stats"]["totalSessionsPlayed"]*200) | ||
95 | + + ((champions[i]["stats"]["totalAssists"]+champions[i]["stats"]["totalChampionKills"])/champions[i]["stats"]["totalDeathsPerSession"]*100) | ||
96 | + + (champions[i]["stats"]["totalSessionsPlayed"]*3); | ||
97 | + champ_id[i] = champions[i]["id"]; | ||
98 | + } | ||
99 | + var staticUrl = "https://global.api.pvp.net/api/lol/static-data/kr/v1.2/champion/?api_key=" + apikey; | ||
100 | + request(staticUrl,function(error,response,body){ | ||
101 | + var info_static_champ_json = JSON.parse(body); | ||
102 | + var champion = info_static_champ_json["data"]; | ||
103 | + for(var i=0; i < champ_id.length; i++){ | ||
104 | + for(js in champion){ | ||
105 | + for(j in champion[js]){ | ||
106 | + if(champion[js]["id"] == champ_id[i]){ | ||
107 | + champ_name[i] = champion[js]["key"]; | ||
108 | + champ_pic[i] = "https://opgg-static.akamaized.net/images/lol/champion/"+champ_name[i]+".png?image=c_scale,w_46"; | ||
109 | + } | ||
110 | + } | ||
111 | + } | ||
112 | + } | ||
113 | + champ_name[champ_name.length] = "total"; | ||
114 | + var temp_id; | ||
115 | + var temp_name; | ||
116 | + var temp_point; | ||
117 | + var temp_pic; | ||
118 | + for(var i=0; i < champ_id.length-1; i++){ | ||
119 | + for(var j=i+1;j <champ_id.length-1; j++) | ||
120 | + if(champ_point[i] > champ_point[j]){ | ||
121 | + temp_id = champ_id[i]; | ||
122 | + temp_name = champ_name[i]; | ||
123 | + temp_point = champ_point[i]; | ||
124 | + temp_pic = champ_pic[i]; | ||
125 | + champ_id[i] = champ_id[j] | ||
126 | + champ_name[i] = champ_name[j]; | ||
127 | + champ_point[i] = champ_point[j]; | ||
128 | + champ_pic[i] = champ_pic[j]; | ||
129 | + champ_id[j] = temp_id | ||
130 | + champ_name[j] = temp_name; | ||
131 | + champ_point[j] = temp_point; | ||
132 | + champ_pic[j] = temp_pic; | ||
133 | + } | ||
134 | + } | ||
135 | + res.render('index', { title: req.params.username , | ||
136 | + c_id: champ_id, | ||
137 | + c_name: champ_name, | ||
138 | + c_point: champ_point, | ||
139 | + c_pic: champ_pic, | ||
140 | + c_summoner: summoner | ||
141 | + }); | ||
142 | + }); | ||
143 | + }); | ||
144 | + }); | ||
145 | + }); | ||
69 | }; | 146 | }; | ... | ... |
... | @@ -10,19 +10,44 @@ | ... | @@ -10,19 +10,44 @@ |
10 | <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script> | 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> | 11 | <style> @import url("http://fonts.googleapis.com/earlyaccess/nanumgothic.css");</style> |
12 | <script> | 12 | <script> |
13 | - $(document).ready(function(){ | 13 | + function search() { |
14 | + | ||
15 | + console.log("---------------------") | ||
16 | + var tft_check = $("tft_check").val(); | ||
17 | + console.log(tft_check) | ||
18 | + | ||
19 | + var name = $("input").val(); | ||
20 | + if (tft_check == 1) { | ||
21 | + location.href = "http://localhost:3000/tft/search/" + name; | ||
22 | + | ||
23 | + } else { | ||
24 | + location.href = "http://localhost:3000/search/" + name; | ||
25 | + | ||
26 | + } | ||
27 | + } | ||
14 | 28 | ||
29 | + $(document).ready(function(){ | ||
30 | + | ||
15 | 31 | ||
16 | $("button#searchButton").click(function(){ | 32 | $("button#searchButton").click(function(){ |
33 | + console.log("---------------------") | ||
34 | + var tft_check = $("tft_check").val(); | ||
35 | + console.log(tft_check) | ||
36 | + | ||
17 | var name = $("input").val(); | 37 | var name = $("input").val(); |
18 | - location.href = "http://localhost:3000/search/" + name; | 38 | + if (tft_check == 1) { |
39 | + location.href = "http://localhost:3000/tft/search/" + name; | ||
40 | + | ||
41 | + } else { | ||
42 | + location.href = "http://localhost:3000/search/" + name; | ||
43 | + | ||
44 | + } | ||
45 | + | ||
19 | }) | 46 | }) |
20 | }); | 47 | }); |
21 | </script> | 48 | </script> |
22 | </head> | 49 | </head> |
23 | <body> | 50 | <body> |
24 | - | ||
25 | - | ||
26 | <div class="imgOpacity"> | 51 | <div class="imgOpacity"> |
27 | <div class="center"> | 52 | <div class="center"> |
28 | <img src= "/FindMelogo.png" width = 150, height = 150/> | 53 | <img src= "/FindMelogo.png" width = 150, height = 150/> | ... | ... |
... | @@ -15,7 +15,21 @@ | ... | @@ -15,7 +15,21 @@ |
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 | + const checkbox = document.getElementById('tft_check'); |
19 | + | ||
20 | + // 2. checked 속성을 체크합니다. | ||
21 | + const is_checked = checkbox.checked; | ||
22 | + console.log("-------------------------------") | ||
23 | + console.log(is_checked) | ||
24 | + if(is_checked==1){ | ||
25 | + location.href = "http://localhost:3000/tft/search/" + name; | ||
26 | + | ||
27 | + } else { | ||
28 | + location.href = "http://localhost:3000/search/" + name; | ||
29 | + | ||
30 | + } | ||
31 | + | ||
32 | + | ||
19 | }) | 33 | }) |
20 | }); | 34 | }); |
21 | </script> | 35 | </script> |
... | @@ -26,7 +40,12 @@ | ... | @@ -26,7 +40,12 @@ |
26 | <img src= "FindMelogo.png" width = 300, height = 300/> | 40 | <img src= "FindMelogo.png" width = 300, height = 300/> |
27 | </div> | 41 | </div> |
28 | <div class="center2"> | 42 | <div class="center2"> |
29 | - <input type="text" class="input_text" placeholder="소환사 이름"> | 43 | + <div> |
44 | + <input type="text" class="input_text" placeholder="소환사 이름"> | ||
45 | + <input type="checkbox" id="tft_check" name="tft_check" checked> | ||
46 | + <label for="tft_check">TFT</label> | ||
47 | + </div> | ||
48 | + | ||
30 | <span class="input-group-btn"> | 49 | <span class="input-group-btn"> |
31 | <button id="searchButton" class="btn btn-primary" type="button" onclick="search(name)">click!</button> | 50 | <button id="searchButton" class="btn btn-primary" type="button" onclick="search(name)">click!</button> |
32 | </span> | 51 | </span> | ... | ... |
-
Please register or login to post a comment