From 4ad5cab37bef242bba0766b8c501be4d11abec88 Mon Sep 17 00:00:00 2001 From: Hide_D Date: Wed, 20 Apr 2022 21:04:56 +0900 Subject: [PATCH] =?UTF-8?q?feat,refac:=20vue3=EB=A1=9C=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1=ED=95=9C=20=EC=83=88=20=EC=97=B0=EA=B0=90=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20(#217)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 새 지도 렌더러 사용 - 새 연감 데이터 사용 - 500px 모드 지원 - Vue3 활용 Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/217 --- .phan/config.php | 2 - hwe/a_emperior.php | 4 +- hwe/a_history.php | 231 ------------------------- hwe/j_map_history.php | 46 ----- hwe/scss/history.scss | 42 +++++ hwe/templates/allButton.php | 2 +- hwe/ts/PageHistory.vue | 188 ++++++++++++++++++++ hwe/ts/build_exports.json | 1 + hwe/ts/components/BottomBar.vue | 4 +- hwe/ts/components/SimpleNationList.vue | 72 ++++++++ hwe/ts/components/TopBackBar.vue | 7 +- hwe/ts/defs/index.ts | 15 +- hwe/ts/utilGame/formatLog.ts | 60 +++++++ hwe/ts/utilGame/techLevel.ts | 22 +++ hwe/ts/v_history.ts | 16 ++ hwe/v_history.php | 62 +++++++ 16 files changed, 487 insertions(+), 287 deletions(-) delete mode 100644 hwe/a_history.php delete mode 100644 hwe/j_map_history.php create mode 100644 hwe/scss/history.scss create mode 100644 hwe/ts/PageHistory.vue create mode 100644 hwe/ts/components/SimpleNationList.vue create mode 100644 hwe/ts/utilGame/formatLog.ts create mode 100644 hwe/ts/utilGame/techLevel.ts create mode 100644 hwe/ts/v_history.ts create mode 100644 hwe/v_history.php diff --git a/.phan/config.php b/.phan/config.php index a01f9e30..4c2b5fee 100644 --- a/.phan/config.php +++ b/.phan/config.php @@ -39,7 +39,6 @@ return [ 'hwe/a_emperior.php', 'hwe/a_genList.php', 'hwe/a_hallOfFame.php', - 'hwe/a_history.php', 'hwe/a_kingdomList.php', 'hwe/a_npcList.php', 'hwe/api.php', @@ -108,7 +107,6 @@ return [ 'hwe/j_install_db.php', 'hwe/j_install.php', 'hwe/j_load_scenarios.php', - 'hwe/j_map_history.php', 'hwe/j_map.php', 'hwe/j_map_recent.php', 'hwe/j_msg_contact_list.php', diff --git a/hwe/a_emperior.php b/hwe/a_emperior.php index 8444f331..090f7b24 100644 --- a/hwe/a_emperior.php +++ b/hwe/a_emperior.php @@ -55,7 +55,7 @@ increaseRefresh("왕조일람", 1); 현재 (月) - + @@ -75,7 +75,7 @@ increaseRefresh("왕조일람", 1); - + diff --git a/hwe/a_history.php b/hwe/a_history.php deleted file mode 100644 index 450f7cac..00000000 --- a/hwe/a_history.php +++ /dev/null @@ -1,231 +0,0 @@ -setReadOnly(); -$userID = Session::getUserID(); - -$db = DB::db(); -$gameStor = KVStorage::getStorage($db, 'game_env'); - -if (!$serverID) { - $serverID = UniqueConst::$serverID; -} - -if ($serverID === UniqueConst::$serverID) { - increaseRefresh("연감", 1); -} - -$admin = $gameStor->getValues(['startyear', 'year', 'month']); - -$me = $db->queryFirstRow('SELECT con, turntime FROM general WHERE owner = %i', $userID); - -$con = checkLimit($me['con']); -if ($con >= 2) { - printLimitMsg($me['turntime']); - exit(); -} - - - -[$s_year, $s_month] = $db->queryFirstList('SELECT year, month FROM ng_history WHERE server_id = %s ORDER BY year ASC, month ASC LIMIT 1', $serverID); -$s = Util::joinYearMonth($s_year, $s_month); - -if ($s_year === null) { - echo '인자 에러'; - exit(); -} - -[$e_year, $e_month] = $db->queryFirstList('SELECT year, month FROM ng_history WHERE server_id = %s ORDER BY year DESC, month DESC LIMIT 1', $serverID); -$e = Util::joinYearMonth($e_year, $e_month); - -if ($serverID !== UniqueConst::$serverID) { - $mapName = $db->queryFirstField('SELECT map FROM ng_games WHERE server_id=%s', $serverID) ?: 'che'; -} else { - $mapName = GameConst::$mapName; -} - -//FIXME: $yearmonth가 올바르지 않을 경우에 처리가 필요. -if ($serverID !== UniqueConst::$serverID && !$yearMonth) { - $yearMonth = $s; -} else if (!$yearMonth) { - $yearMonth = Util::joinYearMonth($admin['year'], $admin['month']); -} else { - if ($btn == "◀◀ 이전달") { - $yearMonth -= 1; - } elseif ($btn == "다음달 ▶▶") { - $yearMonth += 1; - } -} - -$isCurrent = false; -if ($yearMonth < $s) { - $yearMonth = $s; -} -if ($yearMonth > $e) { - $isCurrent = true; - $yearMonth = $e + 1; -} - -[$year, $month] = Util::parseYearMonth($yearMonth); - -function getHistory($serverID, $year, $month):array{ - $db = DB::db(); - $history = $db->queryFirstRow('SELECT * FROM ng_history WHERE server_id = %s AND year = %i AND month = %i', $serverID, $year, $month); - $history['global_history'] = Json::decode($history['global_history']); - $history['global_action'] = Json::decode($history['global_action']); - $history['nations'] = Json::decode($history['nations']); - return $history; -} - - -if($isCurrent){ - $history = getCurrentHistory(); -} -else{ - $history = getHistory($serverID, $year, $month); -} - -$nations = $history['nations']; -?> - - - - - - - - <?= UniqueConst::$serverName ?>: 연감 - - - - - - - [ - 'startYear' => $s_year, - 'startMonth' => $s_month, - 'lastYear' => $e_year, - 'lastMonth' => $e_month, - 'selectYear' => $year, - 'selectMonth' => $month, - 'nations' => $nations ? $history['nations'] : [], - 'serverNick' => DB::prefix(), - 'serverID' => UniqueConst::$serverID, - ] - ])?> - - - - - - - - - - - - -
연 감
-
- 연월 선택 : - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
중 원 지 도
- - - - - - - - - - - - - - - - - - - - - - -
국명국력장수속령
;background-color:'>
-
중 원 정 세
- -
장 수 동 향
- -
- - - - - - - -
- - - - \ No newline at end of file diff --git a/hwe/j_map_history.php b/hwe/j_map_history.php deleted file mode 100644 index 11dd6064..00000000 --- a/hwe/j_map_history.php +++ /dev/null @@ -1,46 +0,0 @@ -false, - 'reason'=>'Invalid Referer' - ]); -} - -if($year === null || !$month) { - Json::die([ - 'result'=>false, - 'reason'=>'year, month가 지정되지 않았습니다' - ]); -} - - -if(!$serverID){ - $serverID = UniqueConst::$serverID; -} - -//로그인 검사 -$session = Session::requireGameLogin([])->setReadOnly(); - -$db = DB::db(); - -$map = $db->queryFirstField('SELECT map FROM ng_history WHERE server_id=%s AND year=%i AND month=%i', $serverID, $year, $month); - -if(!$map){ - Json::die([ - 'result'=>false, - 'reason'=>'해당하는 연월의 지도가 없습니다' - ]); -} - -Json::die($map, Json::PASS_THROUGH); \ No newline at end of file diff --git a/hwe/scss/history.scss b/hwe/scss/history.scss new file mode 100644 index 00000000..e78a16eb --- /dev/null +++ b/hwe/scss/history.scss @@ -0,0 +1,42 @@ +@import "./common/bootstrap5.scss"; +@import "./editor_component.scss"; +@import "./util.scss"; + +@include media-1000px { + #container { + width: 1000px; + margin: 0 auto; + padding: 0; + } + .year-selector{ + margin-left: 100%/24*5; + } + + .map_position{ + flex: 0 0 auto; + width: 700px; + } + + .nation_position{ + flex: 0 0 auto; + width: 300px; + } +} + +@include media-500px { + #container { + width: 500px; + margin: 0 auto; + padding: 0; + } + + .map_position{ + flex: 0 0 auto; + width: 100%; + } + + .nation_position{ + flex: 0 0 auto; + width: 100%; + } +} diff --git a/hwe/templates/allButton.php b/hwe/templates/allButton.php index 99c32bfd..8708f594 100644 --- a/hwe/templates/allButton.php +++ b/hwe/templates/allButton.php @@ -2,7 +2,7 @@ ">세력일람 ">장수일람 ">명장일람 -">연감 +">연감 ">명예의전당 ">왕조일람 ">접속량정보 diff --git a/hwe/ts/PageHistory.vue b/hwe/ts/PageHistory.vue new file mode 100644 index 00000000..5e44f5de --- /dev/null +++ b/hwe/ts/PageHistory.vue @@ -0,0 +1,188 @@ + + + + diff --git a/hwe/ts/build_exports.json b/hwe/ts/build_exports.json index 20a1c1ce..a2200c25 100644 --- a/hwe/ts/build_exports.json +++ b/hwe/ts/build_exports.json @@ -28,6 +28,7 @@ "v_NPCControl": "v_NPCControl.ts", "v_join": "v_join.ts", "v_main": "v_main.ts", + "v_history": "v_history.ts", "v_nationStratFinan": "v_nationStratFinan.ts", "v_processing": "v_processing.ts", "v_nationBetting": "v_nationBetting.ts", diff --git a/hwe/ts/components/BottomBar.vue b/hwe/ts/components/BottomBar.vue index b3286818..afbb3611 100644 --- a/hwe/ts/components/BottomBar.vue +++ b/hwe/ts/components/BottomBar.vue @@ -1,6 +1,8 @@ diff --git a/hwe/ts/components/SimpleNationList.vue b/hwe/ts/components/SimpleNationList.vue new file mode 100644 index 00000000..e5599653 --- /dev/null +++ b/hwe/ts/components/SimpleNationList.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/hwe/ts/components/TopBackBar.vue b/hwe/ts/components/TopBackBar.vue index af86e1d4..1826254d 100644 --- a/hwe/ts/components/TopBackBar.vue +++ b/hwe/ts/components/TopBackBar.vue @@ -1,6 +1,7 @@