Showing
1 changed file
with
102 additions
and
0 deletions
... | @@ -14,6 +14,7 @@ app.use(bodyParser.urlencoded({ | ... | @@ -14,6 +14,7 @@ app.use(bodyParser.urlencoded({ |
14 | app.use('/api', apiRouter); | 14 | app.use('/api', apiRouter); |
15 | 15 | ||
16 | let userDB = new Array(); | 16 | let userDB = new Array(); |
17 | +let mbtiper = new Array(); | ||
17 | 18 | ||
18 | apiRouter.post('/test', (req, res) => { | 19 | apiRouter.post('/test', (req, res) => { |
19 | const responseBody = { | 20 | const responseBody = { |
... | @@ -324,6 +325,107 @@ apiRouter.post('/question14', (req, res) => { | ... | @@ -324,6 +325,107 @@ apiRouter.post('/question14', (req, res) => { |
324 | res.status(200).send(responseBody); | 325 | res.status(200).send(responseBody); |
325 | }); | 326 | }); |
326 | 327 | ||
328 | +apiRouter.post('/result', (req, res) => { | ||
329 | + var mesg = req.body.userRequest.utterance; | ||
330 | + var userId = req.body.userRequest.user.id; | ||
331 | + var mbti = ''; | ||
332 | + if (mesg == "네"){ | ||
333 | + mbti = 'N'; | ||
334 | + } | ||
335 | + else if (mesg == "아니오") { | ||
336 | + mbti = 'S'; | ||
337 | + } | ||
338 | + userDB[userId][1] += mbti; | ||
339 | + console.log(userDB[userId]); | ||
340 | + console.log(mbtiper); | ||
341 | + var e = calc(userDB[userId], 'E'); | ||
342 | + var i = 2-e; | ||
343 | + var n = calc(userDB[userId], 'N'); | ||
344 | + var s = 2-n; | ||
345 | + var f = calc(userDB[userId], 'F'); | ||
346 | + var t = 1-f; | ||
347 | + var j = calc(userDB[userId], 'J'); | ||
348 | + var p = 2-j; | ||
349 | + mbtiper.push(20 * e); | ||
350 | + mbtiper.push(20 * i); | ||
351 | + mbtiper.push(20 * n); | ||
352 | + mbtiper.push(20 * s); | ||
353 | + mbtiper.push(20 * f); | ||
354 | + mbtiper.push(20 * t); | ||
355 | + mbtiper.push(20 * j); | ||
356 | + mbtiper.push(20 * p); | ||
357 | + if(mbtiper[0]>mbtiper[1]){ | ||
358 | + userDB[userId][4] += 'E'; | ||
359 | + } else { | ||
360 | + userDB[userId][4] += 'I'; | ||
361 | + } | ||
362 | + if(mbtiper[2]>mbtiper[3]){ | ||
363 | + userDB[userId][4] += 'N'; | ||
364 | + } else { | ||
365 | + userDB[userId][4] += 'S'; | ||
366 | + } | ||
367 | + if(mbtiper[4]>mbtiper[5]){ | ||
368 | + userDB[userId][4] += 'T'; | ||
369 | + } else { | ||
370 | + userDB[userId][4] += 'F'; | ||
371 | + } | ||
372 | + if(mbtiper[6]>mbtiper[7]){ | ||
373 | + userDB[userId][4] += 'J'; | ||
374 | + } else { | ||
375 | + userDB[userId][4] += 'P'; | ||
376 | + } | ||
377 | + const responseBody = { | ||
378 | + version: "2.0", | ||
379 | + template: { | ||
380 | + outputs: [ | ||
381 | + { | ||
382 | + simpleText: { | ||
383 | + text: "당신의 MBTI는 : "+userDB[userId][4] | ||
384 | + } | ||
385 | + } | ||
386 | + ], | ||
387 | + quickReplies: [{ | ||
388 | + action: "block", | ||
389 | + label: "MBTI 테스트 다시하기", | ||
390 | + message: "MBTI 테스트 다시하기", | ||
391 | + blockId : "62977ff05ceed96c385449b9" | ||
392 | + }, | ||
393 | + { | ||
394 | + action: "block", | ||
395 | + label: "결과 상세보기", | ||
396 | + message: "결과 상세보기", | ||
397 | + blockId: "62987b78e7a0253c7662dcd9" | ||
398 | + }] | ||
399 | + } | ||
400 | + } | ||
401 | + res.status(200).send(responseBody); | ||
402 | + }); | ||
403 | + | ||
404 | + function calc(array, mbti_cap) { | ||
405 | + var result = 0; | ||
406 | + for (var k = 0; k < 5; k++) { | ||
407 | + if(array[k] == 'mbti_cap') { | ||
408 | + result += 1; | ||
409 | + } | ||
410 | + } | ||
411 | + return result; | ||
412 | +} | ||
413 | + | ||
414 | +apiRouter.post('/percent', (req, res) => { | ||
415 | + const responseBody = { | ||
416 | + version: "2.0", | ||
417 | + template: { | ||
418 | + outputs: [ | ||
419 | + { | ||
420 | + simpleText: { | ||
421 | + text: 'E: '+mbtiper[0]+'%\nI: '+mbtiper[1]+'%\nN: '+mbtiper[2]+'%\nS: '+mbtiper[3]+'%\nT: '+mbtiper[4]+'%\nF: '+mbtiper[5]+'%\nJ: '+mbtiper[6]+'%\nP: '+mbtiper[7]+'%' | ||
422 | + } | ||
423 | + } | ||
424 | + ] | ||
425 | + } | ||
426 | + } | ||
427 | + res.status(200).send(responseBody); | ||
428 | + }); | ||
327 | app.listen((process.env.PORT || 3000), function() { | 429 | app.listen((process.env.PORT || 3000), function() { |
328 | console.log('Example skill server listening on port 3000!'); | 430 | console.log('Example skill server listening on port 3000!'); |
329 | }); | 431 | }); |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment