양신희

app.js와 router 구현중

var express = require('express');
var app = express();
var router = require('./router/main')(app);
var urlenconde = require('urlencode');
var router = require('./router/index')(app);
var bodyParser = require('body-parser');
app.set('views', __dirname + '/views');
......
{
"requires": true,
"name": "Chess",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"accepts": {
"version": "1.3.7",
......@@ -503,6 +505,11 @@
"verror": "1.10.0"
}
},
"math": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/math/-/math-0.0.3.tgz",
"integrity": "sha1-hbAg/VTOELJqvqv81+H0vbxGRw8="
},
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
......@@ -806,6 +813,14 @@
"punycode": "^2.1.0"
}
},
"urlencode": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/urlencode/-/urlencode-1.1.0.tgz",
"integrity": "sha1-HyuibwE8hfATP3o61v8nMK33y7c=",
"requires": {
"iconv-lite": "~0.4.11"
}
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
......
......@@ -6,8 +6,10 @@
"dependencies": {
"ejs": "^3.1.3",
"express": "^4.17.1",
"math": "0.0.3",
"request": "^2.88.2",
"router": "^1.3.5"
"router": "^1.3.5",
"urlencode": "^1.1.0"
},
"devDependencies": {},
"scripts": {
......
module.exports = function(app)
{
var request = require("request");
var urlenconde = require('urlencode');
var apikey = "RGAPI-6c3f9604-21ff-4f23-a1c1-ab0138773f16";
var id; //소환사ID
var accountId; //계정ID
var puuid; //특정ID
var name; //소환사이름
var profileIconId; //소환사아이콘ID
var summonerLevel; //소환사 레벨
var revisionDate; //수정날짜
var winning_rate; //승률
var leagueId; //리그ID
var tier = ""; //티어
var rank = "Unranked"; //랭크
var wins = 0; //이긴 수
var losses = 0; //진 수
var leaguePoints = league_json['leaguePoints'];
app.get('/', function(req,res) {
res.render('main', {title: 'Chess'});
});
app.get('search/:username/', function(req,res,next){
name = req.params.username;
var summonerUrl = "https://kr.api.riotgames.comGET /tft/summoner/v1/summoners/by-name/" + urlenconde(name) + '?api_key=' + apikey;
request(summonerUrl,function(err,res,body){
console.log(res.statusCode);
if(res.statusCode != 200) {
console.log("Error ", res.statusCode);
res.setEncoding();
return;
}
var summoner_json = JSON.parse(body);
id = summoner_json['id'];
accountId = summoner_json['accountId'];
puuid = summoner_json['puuid'];
name = summoner_json['name'];
profileIconId = summoner_json['profileIconId'];
summonerLevel = summoner_json['summonerLevel'];
revisionDate = summoner_json['revisionDate'];
var leagueUrl = "https://kr.api.riotgames.com/tft/league/v1/entries/by-summoner/" + urlenconde(id) + '?api_key=' + apikey;
request(leagueUrl, function(err,res,body){
league_json = JSON.parse(body);
leagueId = league_json[0]['leagueId'];
tier = league_json[0]['tier'];
rank = league_json[0]['rank'];
wins = league_json[0]['wins'];
losses = league_json[0]['losses'];
leaguePoints = league_json[0]['leaguePoints'];
winning_rate = Math.round((wins/(wins + losses)) *100);
var img_tier;
if(tier == "Challenger") {
img_tier = './images/Emblem/Challenger_Emblem.png';
}else if(tier == "Grandmaster") {
img_tier = './images/Emblem/Grandmaster_Emblem.png';
}else if(tier == "Master") {
img_tier = './images/Emblem/Master_Emblem.png';
}else if(tier == "Diamond") {
img_tier = './images/Emblem/Diamond_Emblem.png';
}else if(tier == "Platinum") {
img_tier = './images/Emblem/Platinum_Emblem.png';
}else if(tier == "Glod") {
img_tier = './images/Emblem/Glod_Emblem.png';
}else if(tier == "Silver") {
img_tier = './images/Emblem/Silver_Emblem.png';
}else if(tier == "Bronze") {
img_tier = './images/Emblem/Bronze_Emblem.png';
}else if(tier == "Iron") {
img_tier = './images/Emblem/Iron_Emblem.png';
}else {
img_tier = './images/Emblem/Unranked.png';
}
var matchUrl = "https://asia.api.riotgames.com/tft/match/v1/matches/by-puuid/" + urlenconde(puuid) + "/ids?count="+(wins+losses)+"&api_key="+apikey;
request(matchUrl, function(err,res,body){
var match_json = JSON.parse(body);
var matchId = new Array();
var participants = new Array(); //참가자
var placement = new Array(); //참가자 순위
var time_eliminated = new Array(); //참가자 참여시간
var traits = new Array(new Array()); //시너지
var traits_num = new Array(new Array()); //시너지갯수
var units = new Array(new Array()); //챔피언
var units_tier = new Array(new Array()); //챔피언 레벨
var units_item = new Array(new Array()); //챔피언 아이템
});
});
});
});
}
\ No newline at end of file