Add: menu_app_list.php
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
class AppInfo {
|
||||
|
||||
constructor(name, nameKorean, howToPlay) {
|
||||
this.name = name;
|
||||
constructor(appID, appName, koreanName, howToPlay) {
|
||||
this.appID = appID;
|
||||
this.appName = appName;
|
||||
|
||||
this.nameKorean = nameKorean;
|
||||
this.koreanName = koreanName;
|
||||
this.isActivated = false;
|
||||
this.howToPlay = howToPlay;
|
||||
}
|
||||
@@ -51,26 +52,26 @@ class AppInfoManager {
|
||||
));
|
||||
}
|
||||
|
||||
setHowToPlay(name, text) {
|
||||
this.appInfoMap[name].howToPlay = text;
|
||||
setHowToPlay(appName, text) {
|
||||
this.appInfoMap[appName].howToPlay = text;
|
||||
}
|
||||
|
||||
registerAppInfo(appInfo) {
|
||||
return this.appInfoMap[appInfo.name] = appInfo;
|
||||
return this.appInfoMap[appInfo.appName] = appInfo;
|
||||
}
|
||||
|
||||
getAppNameKorean(name) {
|
||||
if(name === null)
|
||||
getAppkoreanName(appName) {
|
||||
if(appName === null)
|
||||
return "";
|
||||
|
||||
return this.appInfoMap[name].nameKorean;
|
||||
return this.appInfoMap[appName].koreanName;
|
||||
}
|
||||
|
||||
getHowToPlayText(name) {
|
||||
if(name === null)
|
||||
getHowToPlayText(appName) {
|
||||
if(appName === null)
|
||||
return "";
|
||||
|
||||
return this.appInfoMap[name].howToPlay;
|
||||
return this.appInfoMap[appName].howToPlay;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -64,6 +64,24 @@ class DBConnectManager {
|
||||
xhr.send("maestro_name=" + maestroName + "&name=" + userName + "&enter_code=" + enterCode);
|
||||
}
|
||||
|
||||
/*
|
||||
requestAppList(maestroID, onSucceededListener, onFailedListener) {
|
||||
let xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", this.phpPath + "server/app/app_data.php", true);
|
||||
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function() {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(replyJSON != null)
|
||||
onSucceededListener(replyJSON);
|
||||
else
|
||||
onFailedListener(replyJSON);
|
||||
}
|
||||
};
|
||||
xhr.send("maestro_id=" + maestroID);
|
||||
}
|
||||
|
||||
requestActiveAppList(maestroID, onSucceededListener, onFailedListener) {
|
||||
let xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", this.phpPath + "server/app/active_app.php", true);
|
||||
@@ -72,7 +90,25 @@ class DBConnectManager {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(replyJSON != null && replyJSON.length > 0)
|
||||
if(replyJSON != null)
|
||||
onSucceededListener(replyJSON);
|
||||
else
|
||||
onFailedListener(replyJSON);
|
||||
}
|
||||
};
|
||||
xhr.send("maestro_id=" + maestroID);
|
||||
}
|
||||
*/
|
||||
|
||||
requestMenuAppList(maestroID, onSucceededListener, onFailedListener) {
|
||||
let xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", this.phpPath + "server/app/menu_app_list.php", true);
|
||||
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function() {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(replyJSON != null)
|
||||
onSucceededListener(replyJSON);
|
||||
else
|
||||
onFailedListener(replyJSON);
|
||||
@@ -89,7 +125,7 @@ class DBConnectManager {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(replyJSON != null && replyJSON.length > 0)
|
||||
if(replyJSON != null)
|
||||
onSucceededListener(replyJSON);
|
||||
else
|
||||
onFailedListener(replyJSON);
|
||||
@@ -121,9 +157,8 @@ class DBConnectManager {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(replyJSON != null) {
|
||||
if(replyJSON != null)
|
||||
listener(self.parseJSONtoHistoryRecord(replyJSON));
|
||||
}
|
||||
else
|
||||
onFailedListener(replyJSON);
|
||||
}
|
||||
|
||||
+28
-11
@@ -24,28 +24,33 @@ class MenuApp {
|
||||
let screenBottom = new ScreenBottom();
|
||||
screenBottom.makeBottomLine();
|
||||
// screenBottom.printBottomLeftText("게임 진행 정보");
|
||||
let playingAppName = appInfoManager.getAppNameKorean(sessionStorageManager.playingAppName);
|
||||
screenBottom.printBottomCenterText(playingAppName);
|
||||
// let playingAppName = appInfoManager.getAppNameKorean(sessionStorageManager.playingAppName);
|
||||
// screenBottom.printBottomCenterText(playingAppName);
|
||||
screenBottom.printBottomCenterText("메뉴");
|
||||
screenBottom.printBottomRightText(sessionStorageManager.playerName);
|
||||
|
||||
|
||||
this.makeActiveAppButtons();
|
||||
this.loadAppData();
|
||||
}
|
||||
|
||||
|
||||
makeActiveAppButtons() {
|
||||
loadAppData() {
|
||||
let dbConnectManager = new DBConnectManager();
|
||||
dbConnectManager.requestActiveAppList(
|
||||
dbConnectManager.requestMenuAppList(
|
||||
sessionStorageManager.maestroID,
|
||||
self.loginSucceeded,
|
||||
self.loginFailed
|
||||
self.loadSucceeded,
|
||||
self.loadFailed
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
loginSucceeded(replyJSON) {
|
||||
loadSucceeded(replyJSON) {
|
||||
// console.log(replyJSON);
|
||||
|
||||
self.makeMouseAppButtons(replyJSON.MouseAppList);
|
||||
self.makeTypingButtons(replyJSON.TypingPracticeAppCount, replyJSON.TypingAppList);
|
||||
|
||||
/*
|
||||
|
||||
let mouseAppCount = self.getAppCount(replyJSON, AppButton.TYPE_MOUSE);
|
||||
let typingPracticeAppCount = self.getAppCount(replyJSON, AppButton.TYPE_TYPING);
|
||||
|
||||
@@ -74,6 +79,18 @@ class MenuApp {
|
||||
}
|
||||
);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
makeMouseAppButtons(mouseAppJSON) {
|
||||
console.log(mouseAppJSON);
|
||||
|
||||
}
|
||||
|
||||
makeTypingButtons(typingPracticeAppCount, typingAppJSON) {
|
||||
console.log(typingPracticeAppCount);
|
||||
console.log(typingAppJSON);
|
||||
|
||||
}
|
||||
|
||||
isMouseApp(app) {
|
||||
@@ -96,8 +113,8 @@ class MenuApp {
|
||||
return appCount;
|
||||
}
|
||||
|
||||
loginFailed(replyJSON) {
|
||||
console.log('login failed, jsonData : ' + JSON.stringify(replyJSON));
|
||||
loadFailed(replyJSON) {
|
||||
// console.log('login failed, jsonData : ' + JSON.stringify(replyJSON));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
header("Content-Type: application/json");
|
||||
|
||||
include "./../send_error_code.php";
|
||||
|
||||
$maestro_id = $_POST["maestro_id"];
|
||||
|
||||
include "./../setup/connect_db.php";
|
||||
|
||||
$replyJSON = array();
|
||||
$replyJSON["AppList"] = get_app_list();
|
||||
$replyJSON["ActiveAppList"] = get_active_app_list($maestro_id);
|
||||
$db_conn->close();
|
||||
|
||||
if($replyJSON.length === 0) {
|
||||
send_error_message($replyJSON, "앱 목록 가져오기 실패");
|
||||
$db_conn->close();
|
||||
exit;
|
||||
}
|
||||
|
||||
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
||||
$db_conn->close();
|
||||
|
||||
|
||||
|
||||
function get_app_list() {
|
||||
global $db_conn;
|
||||
|
||||
$query = "SELECT AppID, AppName, AppType FROM moty_app";
|
||||
$result = mysqli_query($db_conn, $query);
|
||||
|
||||
$return_array = array();
|
||||
if ($result) {
|
||||
// echo "조회된 행의 수 : ".mysqli_num_rows($result)."<br />";
|
||||
|
||||
$rows = array();
|
||||
while($row = mysqli_fetch_assoc($result)) {
|
||||
$row_array["AppID"] = $row["AppID"];
|
||||
$row_array["AppName"] = $row["AppName"];
|
||||
$row_array["AppType"] = $row["AppType"];
|
||||
array_push($return_array, $row_array);
|
||||
}
|
||||
}
|
||||
|
||||
return $return_array;
|
||||
}
|
||||
|
||||
function get_active_app_list($maestro_id) {
|
||||
global $db_conn;
|
||||
|
||||
$query = "
|
||||
SELECT A.AppID, A.AppName, A.AppType
|
||||
FROM moty_app AS A
|
||||
INNER JOIN moty_active_app AS AA ON A.AppID = AA.AppID AND AA.MaestroID=?";
|
||||
$stmt = $db_conn->prepare($query);
|
||||
$stmt->bind_param("i", $maestro_id);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($app_id, $app_name, $app_type);
|
||||
|
||||
$return_array = array();
|
||||
while($stmt->fetch()) {
|
||||
$row_array["AppID"] = $app_id;
|
||||
$row_array["AppName"] = $app_name;
|
||||
$row_array["AppType"] = $app_type;
|
||||
array_push($return_array, $row_array);
|
||||
}
|
||||
$stmt->close();
|
||||
|
||||
return $return_array;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
header("Content-Type: application/json");
|
||||
|
||||
include "./../send_error_code.php";
|
||||
|
||||
$maestro_id = $_POST["maestro_id"];
|
||||
|
||||
include "./../setup/connect_db.php";
|
||||
|
||||
$replyJSON = array();
|
||||
$replyJSON["MouseAppList"] = get_mouse_app_list($maestro_id);
|
||||
$replyJSON["TypingPracticeAppCount"] = get_typing_practice_app_count($maestro_id);
|
||||
$replyJSON["TypingAppList"] = get_typing_app_list($maestro_id);
|
||||
$db_conn->close();
|
||||
|
||||
if($replyJSON.length === 0) {
|
||||
send_error_message($replyJSON, "앱 목록 가져오기 실패");
|
||||
$db_conn->close();
|
||||
exit;
|
||||
}
|
||||
|
||||
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
||||
$db_conn->close();
|
||||
|
||||
|
||||
|
||||
function get_mouse_app_list($maestro_id) {
|
||||
global $db_conn;
|
||||
|
||||
$query = "
|
||||
SELECT A.AppID, A.AppName, A.KoreanName, A.AppType
|
||||
FROM moty_app AS A
|
||||
INNER JOIN moty_active_app AS AA ON A.AppID = AA.AppID AND A.AppType = 100 AND AA.MaestroID=?";
|
||||
$stmt = $db_conn->prepare($query);
|
||||
$stmt->bind_param("i", $maestro_id);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($app_id, $app_name, $korean_name, $app_type);
|
||||
|
||||
$return_array = array();
|
||||
while($stmt->fetch()) {
|
||||
$row_array["AppID"] = $app_id;
|
||||
$row_array["AppName"] = $app_name;
|
||||
$row_array["KoreanName"] = $korean_name;
|
||||
$row_array["AppType"] = $app_type;
|
||||
array_push($return_array, $row_array);
|
||||
}
|
||||
$stmt->close();
|
||||
|
||||
return $return_array;
|
||||
}
|
||||
|
||||
function get_typing_practice_app_count($maestro_id) {
|
||||
global $db_conn;
|
||||
|
||||
$query = "
|
||||
SELECT COUNT(*)
|
||||
FROM moty_app AS A
|
||||
INNER JOIN moty_active_app AS AA ON A.AppID = AA.AppID AND A.AppType < 50 AND AA.MaestroID=?";
|
||||
$stmt = $db_conn->prepare($query);
|
||||
$stmt->bind_param("i", $maestro_id);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($typing_practice_app_count);
|
||||
$stmt->fetch();
|
||||
$stmt->close();
|
||||
|
||||
return $typing_practice_app_count;
|
||||
}
|
||||
|
||||
function get_typing_app_list($maestro_id) {
|
||||
global $db_conn;
|
||||
|
||||
$query = "
|
||||
SELECT A.AppID, A.AppName, A.KoreanName, A.AppType
|
||||
FROM moty_app AS A
|
||||
INNER JOIN moty_active_app AS AA ON A.AppID = AA.AppID AND A.AppType = 50 AND AA.MaestroID=?";
|
||||
$stmt = $db_conn->prepare($query);
|
||||
$stmt->bind_param("i", $maestro_id);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($app_id, $app_name, $korean_name, $app_type);
|
||||
|
||||
$return_array = array();
|
||||
while($stmt->fetch()) {
|
||||
$row_array["AppID"] = $app_id;
|
||||
$row_array["AppName"] = $app_name;
|
||||
$row_array["KoreanName"] = $korean_name;
|
||||
$row_array["AppType"] = $app_type;
|
||||
array_push($return_array, $row_array);
|
||||
}
|
||||
$stmt->close();
|
||||
|
||||
return $return_array;
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user