Showing
25 changed files
with
24 additions
and
471 deletions
... | @@ -26,7 +26,6 @@ exports.AddCards=(deckId,cards)=>{ | ... | @@ -26,7 +26,6 @@ exports.AddCards=(deckId,cards)=>{ |
26 | let cardId = 0 | 26 | let cardId = 0 |
27 | for (let i = 0; i < cardEnUS.length; i++) { | 27 | for (let i = 0; i < cardEnUS.length; i++) { |
28 | if (cardEnUS[i].name === cardName) { | 28 | if (cardEnUS[i].name === cardName) { |
29 | - console.log(cardEnUS[i].dbfId) | ||
30 | cardId = cardEnUS[i].dbfId | 29 | cardId = cardEnUS[i].dbfId |
31 | cardName=cardName.replace('\'','\'\'') | 30 | cardName=cardName.replace('\'','\'\'') |
32 | break | 31 | break | ... | ... |
api/card/crawlerMulligan.js
deleted
100644 → 0
1 | -const puppeteer=require('puppeteer'); | ||
2 | -const cheerio=require('cheerio'); | ||
3 | - | ||
4 | -exports.getDecks=(cardIds)=>{ | ||
5 | - console.log('cardIds in crawlerMulligan ',cardIds) | ||
6 | - cardIds=JSON.stringify(cardIds) | ||
7 | - cardIds=JSON.parse(cardIds) | ||
8 | - console.log('stringified cardIds in crawlerMulligan ',cardIds) | ||
9 | - console.log(cardIds[0]) | ||
10 | - let idInQuery=cardIds[0].cardId | ||
11 | - for(let i=1;i<cardIds.length && i<10;i++){ | ||
12 | - idInQuery+= '%2C'+cardIds[i].cardId | ||
13 | - } | ||
14 | - console.log('idInQuery in crawlerMulligan ',idInQuery) | ||
15 | - const getContent=()=>{ | ||
16 | - return new Promise((resolve,reject)=>{ | ||
17 | - const asyncFunc=async ()=>{ | ||
18 | - const browser=await puppeteer.launch() | ||
19 | - try{ | ||
20 | - const page=await browser.newPage() | ||
21 | - await page.setViewport({width:1366,height:768}) | ||
22 | - await page.goto(`https://hsreplay.net/decks/#timeRange=LAST_30_DAYS&includedCards=${idInQuery}`,{waitUntil: 'networkidle2'}) | ||
23 | - const content=await page.content() | ||
24 | - browser.close() | ||
25 | - return content | ||
26 | - } | ||
27 | - catch(err) | ||
28 | - { | ||
29 | - console.log(err) | ||
30 | - browser.close() | ||
31 | - } | ||
32 | - } | ||
33 | - resolve(asyncFunc()) | ||
34 | - }) | ||
35 | - } | ||
36 | - | ||
37 | - const getDeckHref=(content)=>{ | ||
38 | - return new Promise((resolve,reject)=>{ | ||
39 | - const $=cheerio.load(content) | ||
40 | - let deck=$('#decks-container > div > main > div.deck-list > ul > li:nth-child(2)').find('a') | ||
41 | - const deckHref=$(deck).attr('href') | ||
42 | - console.log('deckHref in crawlerMulligan :',deckHref) | ||
43 | - resolve(deckHref) | ||
44 | - }) | ||
45 | - } | ||
46 | - const getDeckContent=(href)=>{ | ||
47 | - return new Promise((resolve,reject)=>{ | ||
48 | - const asyncFunc=async ()=>{ | ||
49 | - const browser=await puppeteer.launch() | ||
50 | - try{ | ||
51 | - const page=await browser.newPage() | ||
52 | - await page.setViewport({width:1366,height:768}) | ||
53 | - await page.goto(`https://hsreplay.net${href}?hl=ko`,{waitUntil: 'networkidle2'}) | ||
54 | - const content=await page.content() | ||
55 | - browser.close() | ||
56 | - return content | ||
57 | - } | ||
58 | - catch(err) | ||
59 | - { | ||
60 | - console.log(err) | ||
61 | - browser.close() | ||
62 | - } | ||
63 | - } | ||
64 | - resolve(asyncFunc()) | ||
65 | - }) | ||
66 | - } | ||
67 | - const getMulligan=(content)=>{ | ||
68 | - return new Promise((resolve,reject)=>{ | ||
69 | - const $=cheerio.load(content) | ||
70 | - let cardNames=$('.card-name') | ||
71 | - let cardWinRates=$('.table-cell') | ||
72 | - let cards=[] | ||
73 | - for(let i=0;i<cardNames.length;i++){ | ||
74 | - let cardName=$(cardNames[i]).text() | ||
75 | - let cardWinRate=$(cardWinRates[6*i]).text() | ||
76 | - cardWinRate=cardWinRate.replace('▼','') | ||
77 | - cardWinRate=cardWinRate.replace('▲','') | ||
78 | - cardWinRate=cardWinRate.replace('%','') | ||
79 | - cards.push({cardName:cardName,cardWinRate:cardWinRate}) | ||
80 | - } | ||
81 | - cards.sort((a,b)=>{ | ||
82 | - return a.cardWinRate<b.cardWinRate ? 1:-1 | ||
83 | - }) | ||
84 | - console.log(cards) | ||
85 | - resolve(cards) | ||
86 | - }) | ||
87 | - } | ||
88 | - getContent() | ||
89 | - .then(getDeckHref) | ||
90 | - .then(getDeckContent) | ||
91 | - .then(getMulligan) | ||
92 | -} |
api/card/crawlerOpponent.js
deleted
100644 → 0
1 | -const puppeteer=require('puppeteer'); | ||
2 | -const cheerio=require('cheerio'); | ||
3 | - | ||
4 | -exports.getDecks=(opponentClass)=>{ | ||
5 | - | ||
6 | - const getContent=()=>{ | ||
7 | - return new Promise((resolve,reject)=>{ | ||
8 | - const asyncFunc=async ()=>{ | ||
9 | - const browser=await puppeteer.launch() | ||
10 | - try{ | ||
11 | - const page=await browser.newPage() | ||
12 | - await page.setViewport({width:1366,height:768}) | ||
13 | - await page.goto(`https://hsreplay.net/decks/#timeRange=LAST_30_DAYS&playerClasses=${opponentClass}?hl=ko`,{waitUntil: 'networkidle2'}) | ||
14 | - const content=await page.content() | ||
15 | - browser.close() | ||
16 | - return content | ||
17 | - } | ||
18 | - catch(err) | ||
19 | - { | ||
20 | - console.log(err) | ||
21 | - browser.close() | ||
22 | - } | ||
23 | - } | ||
24 | - resolve(asyncFunc()) | ||
25 | - }) | ||
26 | - } | ||
27 | - | ||
28 | - const getDeckInfo=(content)=>{ | ||
29 | - return new Promise((resolve,reject)=>{ | ||
30 | - const $=cheerio.load(content) | ||
31 | - let deckNames=$('.deck-name') | ||
32 | - let deckGames=$('.game-count') | ||
33 | - let decks=[] | ||
34 | - for(let i=0;i<3;i++){ | ||
35 | - let deckName=$(deckNames[i]).text() | ||
36 | - let deckGame=$(deckGames[i]).text() | ||
37 | - decks.push({deckTitle:deckName,deckGame:deckGame}) | ||
38 | - } | ||
39 | - console.log(decks) | ||
40 | - resolve(decks) | ||
41 | - }) | ||
42 | - } | ||
43 | - getContent() | ||
44 | - .then(getDeckInfo) | ||
45 | -} |
api/card/getMulligan.js
deleted
100644 → 0
1 | -const crawler=require('./crawlerMulligan') | ||
2 | -const getCardId=require('./getCardId') | ||
3 | -const puppeteer=require('puppeteer') | ||
4 | -const cheerio=require('cheerio') | ||
5 | - | ||
6 | - | ||
7 | -exports.GetMulligan=(req,res)=>{ | ||
8 | - const deckId=req.session.deckId || 113 | ||
9 | - console.log('deckId in getMulligan',deckId) | ||
10 | - const opponentClass=req.session.opponentClass || 'PALADIN' | ||
11 | - console.log('opponentClass in getMulligan',opponentClass) | ||
12 | - const DataCheck=()=>{ | ||
13 | - return new Promise((resolve,reject)=>{ | ||
14 | - if (!deckId || !opponentClass){ | ||
15 | - return reject({ | ||
16 | - code:'query_error', | ||
17 | - message:'query error', | ||
18 | - }) | ||
19 | - } | ||
20 | - resolve() | ||
21 | - }) | ||
22 | - } | ||
23 | - const GetCardId=()=>{ | ||
24 | - return getCardId.GetCardId(deckId) | ||
25 | - } | ||
26 | - const CrawlerMulligan=(cardIds)=>{ | ||
27 | - return crawler.getDecks(cardIds) | ||
28 | - } | ||
29 | - | ||
30 | - const GetContent=(cardIds)=>{ | ||
31 | - cardIds=JSON.stringify(cardIds) | ||
32 | - cardIds=JSON.parse(cardIds) | ||
33 | - let idInQuery=cardIds[0].cardId | ||
34 | - for(let i=1;i<cardIds.length ;i++){ | ||
35 | - idInQuery+= '%2C'+cardIds[i].cardId | ||
36 | - } | ||
37 | - console.log('idInQuery in crawlerMulligan ',idInQuery) | ||
38 | - return new Promise((resolve,reject)=>{ | ||
39 | - const asyncFunc=async ()=>{ | ||
40 | - const browser=await puppeteer.launch() | ||
41 | - try{ | ||
42 | - const page=await browser.newPage() | ||
43 | - await page.setViewport({width:1366,height:768}) | ||
44 | - await page.goto(`https://hsreplay.net/decks/#timeRange=LAST_30_DAYS&includedCards=${idInQuery}`,{waitUntil: 'networkidle2'}) | ||
45 | - const content=await page.content() | ||
46 | - browser.close() | ||
47 | - return content | ||
48 | - } | ||
49 | - catch(err) | ||
50 | - { | ||
51 | - console.log(err) | ||
52 | - browser.close() | ||
53 | - } | ||
54 | - } | ||
55 | - resolve(asyncFunc()) | ||
56 | - }) | ||
57 | - } | ||
58 | - | ||
59 | - const GetDeckHref=(content)=>{ | ||
60 | - return new Promise((resolve,reject)=>{ | ||
61 | - const $=cheerio.load(content) | ||
62 | - let deck=$('#decks-container > div > main > div.deck-list > ul > li:nth-child(2)').find('a') | ||
63 | - const deckHref=$(deck).attr('href') | ||
64 | - console.log('deckHref in crawlerMulligan :',deckHref) | ||
65 | - resolve(deckHref) | ||
66 | - }) | ||
67 | - } | ||
68 | - const GetDeckContent=(href)=>{ | ||
69 | - return new Promise((resolve,reject)=>{ | ||
70 | - const asyncFunc=async ()=>{ | ||
71 | - const browser=await puppeteer.launch() | ||
72 | - try{ | ||
73 | - const page=await browser.newPage() | ||
74 | - await page.setViewport({width:1366,height:768}) | ||
75 | - await page.goto(`https://hsreplay.net${href}?hl=ko`,{waitUntil: 'networkidle2'}) | ||
76 | - const content=await page.content() | ||
77 | - browser.close() | ||
78 | - return content | ||
79 | - } | ||
80 | - catch(err) | ||
81 | - { | ||
82 | - console.log(err) | ||
83 | - browser.close() | ||
84 | - } | ||
85 | - } | ||
86 | - resolve(asyncFunc()) | ||
87 | - }) | ||
88 | - } | ||
89 | - const GetMulligan=(content)=>{ | ||
90 | - return new Promise((resolve,reject)=>{ | ||
91 | - const $=cheerio.load(content) | ||
92 | - let cardNames=$('.card-name') | ||
93 | - let cardWinRates=$('.table-cell') | ||
94 | - let cards=[] | ||
95 | - for(let i=0;i<cardNames.length;i++){ | ||
96 | - let cardName=$(cardNames[i]).text() | ||
97 | - let cardWinRate=$(cardWinRates[6*i]).text() | ||
98 | - cardWinRate=cardWinRate.replace('▼','') | ||
99 | - cardWinRate=cardWinRate.replace('▲','') | ||
100 | - cardWinRate=cardWinRate.replace('%','') | ||
101 | - cards.push({cardName:cardName,cardWinRate:cardWinRate}) | ||
102 | - } | ||
103 | - cards.sort((a,b)=>{ | ||
104 | - return a.cardWinRate<b.cardWinRate ? 1:-1 | ||
105 | - }) | ||
106 | - console.log(cards) | ||
107 | - resolve(cards) | ||
108 | - }) | ||
109 | - } | ||
110 | - DataCheck() | ||
111 | - .then(GetCardId) | ||
112 | - //.then(CrawlerMulligan) | ||
113 | - .then(GetContent) | ||
114 | - .then(GetDeckHref) | ||
115 | - .then(GetDeckContent) | ||
116 | - .then(GetMulligan) | ||
117 | - .then((cards)=>{ | ||
118 | - return new Promise((resolve,reject)=>{ | ||
119 | - console.log('cards in getMulligan : ',cards) | ||
120 | - resolve(cards) | ||
121 | - }) | ||
122 | - }) | ||
123 | - .catch((err)=>{ | ||
124 | - console.log(err) | ||
125 | - }) | ||
126 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
api/card/getOpponent.js
deleted
100644 → 0
1 | -const crawler=require('./crawlerOpponent') | ||
2 | -const puppeteer=require('puppeteer') | ||
3 | -const cheerio=require('cheerio') | ||
4 | - | ||
5 | -exports.GetOpponent=(req,res)=>{ | ||
6 | - const opponentClass=req.session.opponentClass | ||
7 | - const DataCheck=()=>{ | ||
8 | - return new Promise((resolve,reject)=>{ | ||
9 | - if(!opponentClass){ | ||
10 | - return reject({ | ||
11 | - code:'query_error', | ||
12 | - message:'query_error' | ||
13 | - }) | ||
14 | - } | ||
15 | - resolve() | ||
16 | - }) | ||
17 | - } | ||
18 | - const CrawlerOpponent=()=>{ | ||
19 | - return crawler.getDecks(opponentClass) | ||
20 | - } | ||
21 | - const GetContent=()=>{ | ||
22 | - return new Promise((resolve,reject)=>{ | ||
23 | - const asyncFunc=async ()=>{ | ||
24 | - const browser=await puppeteer.launch() | ||
25 | - try{ | ||
26 | - const page=await browser.newPage() | ||
27 | - await page.setViewport({width:1366,height:768}) | ||
28 | - await page.goto(`https://hsreplay.net/decks/#timeRange=LAST_30_DAYS&playerClasses=${opponentClass}?hl=ko`,{waitUntil: 'networkidle2'}) | ||
29 | - const content=await page.content() | ||
30 | - browser.close() | ||
31 | - return content | ||
32 | - } | ||
33 | - catch(err) | ||
34 | - { | ||
35 | - console.log(err) | ||
36 | - browser.close() | ||
37 | - } | ||
38 | - } | ||
39 | - resolve(asyncFunc()) | ||
40 | - }) | ||
41 | - } | ||
42 | - | ||
43 | - const GetDeckInfo=(content)=>{ | ||
44 | - return new Promise((resolve,reject)=>{ | ||
45 | - const $=cheerio.load(content) | ||
46 | - let deckNames=$('.deck-name') | ||
47 | - let deckGames=$('.game-count') | ||
48 | - let decks=[] | ||
49 | - for(let i=0;i<3;i++){ | ||
50 | - let deckName=$(deckNames[i]).text() | ||
51 | - let deckGame=$(deckGames[i]).text() | ||
52 | - decks.push({deckTitle:deckName,deckGame:deckGame}) | ||
53 | - } | ||
54 | - console.log(decks) | ||
55 | - resolve(decks) | ||
56 | - }) | ||
57 | - } | ||
58 | - DataCheck() | ||
59 | - //.then(CrawlerOpponent) | ||
60 | - .then(GetContent) | ||
61 | - .then(GetDeckInfo) | ||
62 | - .then((decks)=>{ | ||
63 | - return new Promise((resolve,reject)=>{ | ||
64 | - console.log('decks in getOpponent: ',decks) | ||
65 | - resolve(decks) | ||
66 | - }) | ||
67 | - }) | ||
68 | - .catch((err)=>{ | ||
69 | - console.log(err) | ||
70 | - }) | ||
71 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -const crawler=require('./crawlerMulligan') | ||
2 | const getCardId=require('./getCardId') | 1 | const getCardId=require('./getCardId') |
3 | const puppeteer=require('puppeteer') | 2 | const puppeteer=require('puppeteer') |
4 | const cheerio=require('cheerio') | 3 | const cheerio=require('cheerio') |
... | @@ -7,10 +6,8 @@ const ejs=require('ejs') | ... | @@ -7,10 +6,8 @@ const ejs=require('ejs') |
7 | let globalMulligan | 6 | let globalMulligan |
8 | let globalDecks | 7 | let globalDecks |
9 | exports.GetResult=(req,res)=>{ | 8 | exports.GetResult=(req,res)=>{ |
10 | - const deckId=req.session.deckId || 113 | 9 | + const deckId=req.session.deckId |
11 | - console.log('deckId in getMulligan',deckId) | 10 | + const opponentClass=req.session.opponentClass |
12 | - const opponentClass=req.session.opponentClass || 'PALADIN' | ||
13 | - console.log('opponentClass in getMulligan',opponentClass) | ||
14 | const DataCheck=()=>{ | 11 | const DataCheck=()=>{ |
15 | return new Promise((resolve,reject)=>{ | 12 | return new Promise((resolve,reject)=>{ |
16 | if (!deckId || !opponentClass){ | 13 | if (!deckId || !opponentClass){ |
... | @@ -33,7 +30,6 @@ exports.GetResult=(req,res)=>{ | ... | @@ -33,7 +30,6 @@ exports.GetResult=(req,res)=>{ |
33 | for(let i=1;i<cardIds.length ;i++){ | 30 | for(let i=1;i<cardIds.length ;i++){ |
34 | idInQuery+= '%2C'+cardIds[i].cardId | 31 | idInQuery+= '%2C'+cardIds[i].cardId |
35 | } | 32 | } |
36 | - console.log('idInQuery in crawlerMulligan ',idInQuery) | ||
37 | return new Promise((resolve,reject)=>{ | 33 | return new Promise((resolve,reject)=>{ |
38 | const asyncFunc=async ()=>{ | 34 | const asyncFunc=async ()=>{ |
39 | const browser=await puppeteer.launch() | 35 | const browser=await puppeteer.launch() |
... | @@ -60,7 +56,7 @@ exports.GetResult=(req,res)=>{ | ... | @@ -60,7 +56,7 @@ exports.GetResult=(req,res)=>{ |
60 | const $=cheerio.load(content) | 56 | const $=cheerio.load(content) |
61 | let deck=$('#decks-container > div > main > div.deck-list > ul > li:nth-child(2)').find('a') | 57 | let deck=$('#decks-container > div > main > div.deck-list > ul > li:nth-child(2)').find('a') |
62 | const deckHref=$(deck).attr('href') | 58 | const deckHref=$(deck).attr('href') |
63 | - console.log('deckHref in crawlerMulligan :',deckHref) | 59 | + console.log(deckHref) |
64 | resolve(deckHref) | 60 | resolve(deckHref) |
65 | }) | 61 | }) |
66 | } | 62 | } |
... | @@ -145,7 +141,6 @@ exports.GetResult=(req,res)=>{ | ... | @@ -145,7 +141,6 @@ exports.GetResult=(req,res)=>{ |
145 | decks.push({deckTitle:deckName,deckGame:deckGame}) | 141 | decks.push({deckTitle:deckName,deckGame:deckGame}) |
146 | } | 142 | } |
147 | } | 143 | } |
148 | - console.log(decks) | ||
149 | resolve(decks) | 144 | resolve(decks) |
150 | }) | 145 | }) |
151 | } | 146 | } |
... | @@ -179,7 +174,6 @@ exports.GetResult=(req,res)=>{ | ... | @@ -179,7 +174,6 @@ exports.GetResult=(req,res)=>{ |
179 | }) | 174 | }) |
180 | }) | 175 | }) |
181 | .then((result)=>{ | 176 | .then((result)=>{ |
182 | - console.log('result: ',result) | ||
183 | fs.readFile('./views/ejs/result.ejs','utf-8',(err,data)=>{ | 177 | fs.readFile('./views/ejs/result.ejs','utf-8',(err,data)=>{ |
184 | res.writeHead(200,{'Content-Type':'text/html'}) | 178 | res.writeHead(200,{'Content-Type':'text/html'}) |
185 | res.end(ejs.render(data,{ | 179 | res.end(ejs.render(data,{ | ... | ... |
1 | const express=require('express') | 1 | const express=require('express') |
2 | const router=express.Router() | 2 | const router=express.Router() |
3 | 3 | ||
4 | -const getMulligan=require('./getMulligan') | ||
5 | -const getOpponent=require('./getOpponent') | ||
6 | const setOpponentClass=require('./setOpponentClass') | 4 | const setOpponentClass=require('./setOpponentClass') |
7 | 5 | ||
8 | -router.get('/getmulligan',getMulligan.GetMulligan) | ||
9 | -router.get('/getopponent',getOpponent.GetOpponent) | ||
10 | router.post('/setopponentclass',setOpponentClass.SetOpponentClass) | 6 | router.post('/setopponentclass',setOpponentClass.SetOpponentClass) |
11 | 7 | ||
12 | module.exports=router | 8 | module.exports=router |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
api/deck/getDeck.js
deleted
100644 → 0
1 | -const mysql=require('../../database/mysql') | ||
2 | - | ||
3 | -exports.GetDeck=(res,req)=>{ | ||
4 | - const userId='test' | ||
5 | - | ||
6 | - const getDeck=()=>{ | ||
7 | - return new Promise((resolve,reject)=>{ | ||
8 | - mysql.getConnection((err,connection)=>{ | ||
9 | - if (err) throw err | ||
10 | - connection.query(`select id,deckTitle from deck where deckOwner=\'${userId}\'`,(err,results,fields)=>{ | ||
11 | - if (err) throw err | ||
12 | - console.log(JSON.stringify(results)) | ||
13 | - resolve(JSON.stringify(results)) | ||
14 | - }) | ||
15 | - connection.release() | ||
16 | - }) | ||
17 | - }) | ||
18 | - | ||
19 | - } | ||
20 | - getDeck() | ||
21 | - .then((results)=>{ | ||
22 | - return res.status(200).json(results) | ||
23 | - }) | ||
24 | - .catch((err)=>{ | ||
25 | - //return res.status(500).json(err||err.message) | ||
26 | - }) | ||
27 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -2,9 +2,7 @@ const express=require('express') | ... | @@ -2,9 +2,7 @@ const express=require('express') |
2 | const router=express.Router() | 2 | const router=express.Router() |
3 | 3 | ||
4 | const newDeck=require('./newDeck') | 4 | const newDeck=require('./newDeck') |
5 | -const getDeck=require('./getDeck') | ||
6 | 5 | ||
7 | router.post('/newdeck',newDeck.NewDeck) | 6 | router.post('/newdeck',newDeck.NewDeck) |
8 | -router.get('/getdeck',getDeck.GetDeck) | ||
9 | 7 | ||
10 | module.exports=router | 8 | module.exports=router |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | const crawler=require('./crawlerDeckCodes') | 1 | const crawler=require('./crawlerDeckCodes') |
2 | const cheerio=require('cheerio') | 2 | const cheerio=require('cheerio') |
3 | const addCards=require('../card/addCards') | 3 | const addCards=require('../card/addCards') |
4 | -const addDeck=require('../../database/deck/addDeck') | 4 | +const addDeck=require('./addDeck') |
5 | -const getDeckId=require('../../database/deck/getDeckId') | 5 | +const getDeckId=require('./getDeckId') |
6 | -let deckId=-1 | ||
7 | 6 | ||
8 | exports.NewDeck=(req,res)=>{ | 7 | exports.NewDeck=(req,res)=>{ |
9 | - const deckOwner=req.session.sid || 'test' | 8 | + const deckOwner=req.session.sid |
10 | const deckTitle=req.body.deckTitle || new Date() | 9 | const deckTitle=req.body.deckTitle || new Date() |
11 | let deckCode=req.body.deckCode | 10 | let deckCode=req.body.deckCode |
12 | let cards=[] | 11 | let cards=[] |
13 | 12 | ||
14 | - console.log(deckOwner,deckTitle,deckCode) | ||
15 | 13 | ||
16 | const DataCheck=()=>{ | 14 | const DataCheck=()=>{ |
17 | return new Promise((resolve,reject)=>{ | 15 | return new Promise((resolve,reject)=>{ |
... | @@ -62,7 +60,6 @@ exports.NewDeck=(req,res)=>{ | ... | @@ -62,7 +60,6 @@ exports.NewDeck=(req,res)=>{ |
62 | const asyncGetDeckId=async ()=>{ | 60 | const asyncGetDeckId=async ()=>{ |
63 | try{ | 61 | try{ |
64 | const results=await getDeckId.GetDeckId(deckOwner,deckTitle) | 62 | const results=await getDeckId.GetDeckId(deckOwner,deckTitle) |
65 | - console.log(results) | ||
66 | return results | 63 | return results |
67 | } | 64 | } |
68 | catch (err){ | 65 | catch (err){ |
... | @@ -72,7 +69,6 @@ exports.NewDeck=(req,res)=>{ | ... | @@ -72,7 +69,6 @@ exports.NewDeck=(req,res)=>{ |
72 | return asyncGetDeckId() | 69 | return asyncGetDeckId() |
73 | } | 70 | } |
74 | const AddCards=(deckId)=>{ | 71 | const AddCards=(deckId)=>{ |
75 | - console.log(`deckid in AddCards : ${deckId}`) | ||
76 | return addCards.AddCards(deckId,cards) | 72 | return addCards.AddCards(deckId,cards) |
77 | } | 73 | } |
78 | 74 | ... | ... |
1 | -const mysql=require('../mysql') | 1 | +const mysql=require('../../database/mysql') |
2 | 2 | ||
3 | exports.findById=(userId)=>{ | 3 | exports.findById=(userId)=>{ |
4 | return new Promise((resolve,reject)=>{ | 4 | return new Promise((resolve,reject)=>{ |
... | @@ -18,7 +18,6 @@ exports.findById=(userId)=>{ | ... | @@ -18,7 +18,6 @@ exports.findById=(userId)=>{ |
18 | } | 18 | } |
19 | else{ | 19 | else{ |
20 | connection.release() | 20 | connection.release() |
21 | - console.log('result in findById ',result) | ||
22 | resolve(result) | 21 | resolve(result) |
23 | } | 22 | } |
24 | }) | 23 | }) | ... | ... |
1 | -const findById=require('../../database/user/findById') | 1 | +const findById=require('./findById') |
2 | const bcrypt=require('bcrypt-nodejs') | 2 | const bcrypt=require('bcrypt-nodejs') |
3 | 3 | ||
4 | exports.Login=(req,res)=>{ | 4 | exports.Login=(req,res)=>{ |
... | @@ -39,7 +39,6 @@ exports.Login=(req,res)=>{ | ... | @@ -39,7 +39,6 @@ exports.Login=(req,res)=>{ |
39 | }) | 39 | }) |
40 | } | 40 | } |
41 | if(bcrypt.compareSync(password,user[0].password)){ | 41 | if(bcrypt.compareSync(password,user[0].password)){ |
42 | - console.log(`Login : ${userId}`) | ||
43 | req.session.sid=userId | 42 | req.session.sid=userId |
44 | req.session.save(()=>{ | 43 | req.session.save(()=>{ |
45 | res.status(200).json({userId:userId}) | 44 | res.status(200).json({userId:userId}) | ... | ... |
1 | -'use strict' | 1 | +const findById=require('./findById') |
2 | - | ||
3 | -const express=require('express') | ||
4 | -const session=require('express-session') | ||
5 | -const findById=require('../../database/user/findById') | ||
6 | const mysql=require('../../database/mysql') | 2 | const mysql=require('../../database/mysql') |
7 | const bcrypt=require('bcrypt-nodejs') | 3 | const bcrypt=require('bcrypt-nodejs') |
8 | 4 | ||
... | @@ -25,7 +21,6 @@ exports.SignUp=(req,res)=>{ | ... | @@ -25,7 +21,6 @@ exports.SignUp=(req,res)=>{ |
25 | const findUser=async ()=>{ | 21 | const findUser=async ()=>{ |
26 | try{ | 22 | try{ |
27 | user= await findById.findById(userId) | 23 | user= await findById.findById(userId) |
28 | - console.log(`user in UserCheck : ${JSON.stringify(user)}`) | ||
29 | return user | 24 | return user |
30 | } | 25 | } |
31 | catch(err){ | 26 | catch(err){ | ... | ... |
... | @@ -3,10 +3,7 @@ const bodyParser=require('body-parser') | ... | @@ -3,10 +3,7 @@ const bodyParser=require('body-parser') |
3 | const fs=require('fs') | 3 | const fs=require('fs') |
4 | const session=require('express-session') | 4 | const session=require('express-session') |
5 | const path=require('path') | 5 | const path=require('path') |
6 | -const bcrypt=require('bcrypt-nodejs') | ||
7 | -const rp=require('request-promise') | ||
8 | const morgan=require('morgan') | 6 | const morgan=require('morgan') |
9 | -const cheerio=require('cheerio') | ||
10 | const mysqlApostrophe=require('mysql-apostrophe') | 7 | const mysqlApostrophe=require('mysql-apostrophe') |
11 | const ejs=require('ejs') | 8 | const ejs=require('ejs') |
12 | const mysql=require('./database/mysql') | 9 | const mysql=require('./database/mysql') |
... | @@ -65,7 +62,6 @@ app.get('/login',(req,res)=>{ | ... | @@ -65,7 +62,6 @@ app.get('/login',(req,res)=>{ |
65 | }) | 62 | }) |
66 | 63 | ||
67 | app.post('/logout',(req,res)=>{ | 64 | app.post('/logout',(req,res)=>{ |
68 | - console.log('logout') | ||
69 | delete req.session.deckId | 65 | delete req.session.deckId |
70 | delete req.session.sid | 66 | delete req.session.sid |
71 | res.status(200).json({result:'Logout Successful'}) | 67 | res.status(200).json({result:'Logout Successful'}) |
... | @@ -80,8 +76,6 @@ app.get('/decklist',(req,res)=>{ | ... | @@ -80,8 +76,6 @@ app.get('/decklist',(req,res)=>{ |
80 | connection.query(`select id,deckTitle from deck where deckOwner=\'${req.session.sid}\'`,(err,results,fields)=>{ | 76 | connection.query(`select id,deckTitle from deck where deckOwner=\'${req.session.sid}\'`,(err,results,fields)=>{ |
81 | if (err) throw err | 77 | if (err) throw err |
82 | else{ | 78 | else{ |
83 | - console.log(results) | ||
84 | - console.log('length : '+results.length) | ||
85 | fs.readFile('./views/ejs/decklist.ejs','utf-8',(err,data)=>{ | 79 | fs.readFile('./views/ejs/decklist.ejs','utf-8',(err,data)=>{ |
86 | res.writeHead(200,{'Content-Type':'text/html'}) | 80 | res.writeHead(200,{'Content-Type':'text/html'}) |
87 | res.end(ejs.render(data,{ | 81 | res.end(ejs.render(data,{ |
... | @@ -120,53 +114,15 @@ app.get('/newdeck',(req,res)=>{ | ... | @@ -120,53 +114,15 @@ app.get('/newdeck',(req,res)=>{ |
120 | } | 114 | } |
121 | }) | 115 | }) |
122 | 116 | ||
123 | -const getMulligan=require('./api/card/getMulligan') | ||
124 | -const getOpponent=require('./api/card/getOpponent') | ||
125 | const getResult=require('./api/card/getResult') | 117 | const getResult=require('./api/card/getResult') |
126 | 118 | ||
127 | app.get('/result',(req,res)=>{ | 119 | app.get('/result',(req,res)=>{ |
128 | if(!req.session.sid) | 120 | if(!req.session.sid) |
129 | res.redirect('/login') | 121 | res.redirect('/login') |
130 | else{ | 122 | else{ |
131 | - let mulligan | ||
132 | - let opponentDecks; | ||
133 | (async ()=>{ | 123 | (async ()=>{ |
134 | - const result=await getResult.GetResult(req,res) | 124 | + await getResult.GetResult(req,res) |
135 | - console.log('hsreplay.net에서 받아오는 중') | ||
136 | - /*setTimeout(function(){ | ||
137 | - console.log('result: ',result) | ||
138 | - fs.readFile('./views/html/result.ejs',(err,data)=>{ | ||
139 | - res.writeHead(200,{'Content-Type':'text/html'}) | ||
140 | - res.end(ejs.render(data,{ | ||
141 | - cards:result.cards || [], | ||
142 | - decks:result.decks || [], | ||
143 | - })) | ||
144 | - }) | ||
145 | - },30000)*/ | ||
146 | })() | 125 | })() |
147 | - const GetInfo=async ()=>{ | ||
148 | - return getResult.GetResult(req,res) | ||
149 | - } | ||
150 | - const GetCards=()=>{ | ||
151 | - return getMulligan.GetMulligan(req,res) | ||
152 | - } | ||
153 | - const GetDecks=(cards)=>{ | ||
154 | - mulligan=cards | ||
155 | - return getOpponent.GetOpponent(req,res) | ||
156 | - } | ||
157 | - const Render=async (result)=>{ | ||
158 | - mulligan=result.cards | ||
159 | - opponentDecks=result.decks | ||
160 | - setTimeout(function(){ | ||
161 | - fs.readFile('./views/html/result.ejs',(err,data)=>{ | ||
162 | - res.writeHead(200,{'Content-Type':'text/html'}) | ||
163 | - res.end(ejs.render(data,{ | ||
164 | - cards:mulligan || [], | ||
165 | - decks:opponentDecks || [], | ||
166 | - })) | ||
167 | - }) | ||
168 | - },1000) | ||
169 | - } | ||
170 | } | 126 | } |
171 | }) | 127 | }) |
172 | 128 | ... | ... |
database/card/index.js
deleted
100644 → 0
database/deck/index.js
deleted
100644 → 0
database/index.js
deleted
100644 → 0
database/user/index.js
deleted
100644 → 0
... | @@ -24,7 +24,7 @@ | ... | @@ -24,7 +24,7 @@ |
24 | url:'/logout', | 24 | url:'/logout', |
25 | success:function(result){ | 25 | success:function(result){ |
26 | alert('로그아웃 성공!') | 26 | alert('로그아웃 성공!') |
27 | - window.location.href='/main' | 27 | + window.location.href='/' |
28 | }, | 28 | }, |
29 | error:function(result){ | 29 | error:function(result){ |
30 | alert('로그아웃 실패!') | 30 | alert('로그아웃 실패!') |
... | @@ -110,6 +110,7 @@ | ... | @@ -110,6 +110,7 @@ |
110 | <input class="btn btn-lg btn-primary btn-block" type="button" id="backToSelectOpponent" value="상대편 직업 선택으로 돌아가기"/> | 110 | <input class="btn btn-lg btn-primary btn-block" type="button" id="backToSelectOpponent" value="상대편 직업 선택으로 돌아가기"/> |
111 | </div> | 111 | </div> |
112 | </div> | 112 | </div> |
113 | + <div class="padding" style="width:100px"></div> | ||
113 | </div> | 114 | </div> |
114 | 115 | ||
115 | <!-- jQuery (부트스트랩의 자바스크립트 플러그인을 위해 필요합니다) --> | 116 | <!-- jQuery (부트스트랩의 자바스크립트 플러그인을 위해 필요합니다) --> | ... | ... |
... | @@ -151,6 +151,7 @@ | ... | @@ -151,6 +151,7 @@ |
151 | </div> | 151 | </div> |
152 | <div class="col-md-5"></div> | 152 | <div class="col-md-5"></div> |
153 | </div> | 153 | </div> |
154 | + <div class="padding" style="width:100px"></div> | ||
154 | </div> | 155 | </div> |
155 | 156 | ||
156 | <!-- jQuery (부트스트랩의 자바스크립트 플러그인을 위해 필요합니다) --> | 157 | <!-- jQuery (부트스트랩의 자바스크립트 플러그인을 위해 필요합니다) --> | ... | ... |
... | @@ -17,6 +17,12 @@ | ... | @@ -17,6 +17,12 @@ |
17 | 17 | ||
18 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> | 18 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> |
19 | <script> | 19 | <script> |
20 | + function onEnterLogin(event) { | ||
21 | + var keyCode = event.keyCode; | ||
22 | + if (keyCode == 13) { | ||
23 | + $('#loginButton').trigger('click') | ||
24 | + } | ||
25 | + } | ||
20 | $(document).ready(function(){ | 26 | $(document).ready(function(){ |
21 | $('#loginButton').click(function(){ | 27 | $('#loginButton').click(function(){ |
22 | var data=new Object() | 28 | var data=new Object() |
... | @@ -75,9 +81,9 @@ | ... | @@ -75,9 +81,9 @@ |
75 | <form class="form-signin" id="loginForm"> | 81 | <form class="form-signin" id="loginForm"> |
76 | <h3 class="form-signin-heading">로그인</h3> | 82 | <h3 class="form-signin-heading">로그인</h3> |
77 | <label class="sr-only" for="userId">아이디</label> | 83 | <label class="sr-only" for="userId">아이디</label> |
78 | - <input class="form-control" id="userId" autofocus="" required="" type="text" placeholder="아이디" name="userId"> | 84 | + <input class="form-control" id="userId" autofocus="" required="" type="text" placeholder="아이디" name="userId" > |
79 | <label class="sr-only" for="password">비밀번호</label> | 85 | <label class="sr-only" for="password">비밀번호</label> |
80 | - <input class="form-control" id="password" required="" type="password" placeholder="비밀번호" name="password"> | 86 | + <input class="form-control" id="password" required="" type="password" placeholder="비밀번호" name="password" onkeydown="javascript:onEnterLogin(event)"> |
81 | <br> | 87 | <br> |
82 | <div class="col-md-6"> | 88 | <div class="col-md-6"> |
83 | <input class="btn btn-lg btn-primary btn-block" type="button" id="loginButton" value="로그인" /> | 89 | <input class="btn btn-lg btn-primary btn-block" type="button" id="loginButton" value="로그인" /> | ... | ... |
... | @@ -37,7 +37,6 @@ | ... | @@ -37,7 +37,6 @@ |
37 | data.deckTitle=$('#deckTitle').val() | 37 | data.deckTitle=$('#deckTitle').val() |
38 | data.deckCode=$('#deckCode').val() | 38 | data.deckCode=$('#deckCode').val() |
39 | const stringData=JSON.stringify(data) | 39 | const stringData=JSON.stringify(data) |
40 | - console.log(stringData) | ||
41 | alert('잠시 기다리시겠습니까?') | 40 | alert('잠시 기다리시겠습니까?') |
42 | $.ajax({ | 41 | $.ajax({ |
43 | type:'POST', | 42 | type:'POST', |
... | @@ -90,7 +89,7 @@ | ... | @@ -90,7 +89,7 @@ |
90 | <label class="sr-only" for="deckTitle">덱 이름</label> | 89 | <label class="sr-only" for="deckTitle">덱 이름</label> |
91 | <input class="form-control" id="deckTitle" autofocus="" required="" type="text" placeholder="덱 이름" name="deckTitle"> | 90 | <input class="form-control" id="deckTitle" autofocus="" required="" type="text" placeholder="덱 이름" name="deckTitle"> |
92 | <label class="sr-only" for="deckCode">덱 코드</label> | 91 | <label class="sr-only" for="deckCode">덱 코드</label> |
93 | - <textarea class="form-control" id="deckCode" required="" placeholder="덱 코드" style="resize:none;height:150px;" name="deckCode"></textarea> | 92 | + <textarea class="form-control" id="deckCode" required="" placeholder="#으로 시작하는 문장은 제외한 덱 코드만 입력해 주세요." style="resize:none;height:150px;" name="deckCode"></textarea> |
94 | </form> | 93 | </form> |
95 | <input type="button" class="btn btn-primary btn-block" id="newDeckButton" value="확인" /> | 94 | <input type="button" class="btn btn-primary btn-block" id="newDeckButton" value="확인" /> |
96 | </div> | 95 | </div> | ... | ... |
... | @@ -28,7 +28,6 @@ | ... | @@ -28,7 +28,6 @@ |
28 | data.userId=$('#userId').val() | 28 | data.userId=$('#userId').val() |
29 | data.password=$('#password').val() | 29 | data.password=$('#password').val() |
30 | const stringData=JSON.stringify(data) | 30 | const stringData=JSON.stringify(data) |
31 | - console.log(stringData) | ||
32 | $.ajax({ | 31 | $.ajax({ |
33 | type:'POST', | 32 | type:'POST', |
34 | url:'api/user/signup', | 33 | url:'api/user/signup', | ... | ... |
-
Please register or login to post a comment