index.js 4.36 KB
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()); //챔피언 아이템
                    
                });
            
            });

        });

    });
}