feat: MapViewer와 API의 버전이 같을 때에만 지도 출력

This commit is contained in:
2022-04-21 23:51:03 +09:00
parent 01d5f2cda9
commit 85f801df4d
3 changed files with 21 additions and 9 deletions
+1
View File
@@ -164,6 +164,7 @@ function getWorldMap($req){
'shownByGeneralList' => $shownByGeneralList, 'shownByGeneralList' => $shownByGeneralList,
'myCity' => $myCity, 'myCity' => $myCity,
'myNation' => $myNation, 'myNation' => $myNation,
'version' => 0,
'result' => true 'result' => true
]; ];
} }
+9 -1
View File
@@ -1,5 +1,6 @@
<template> <template>
<div <div
v-if="(modelValue.version ?? 0) == CURRENT_MAP_VERSION"
:id="uuid" :id="uuid"
:class="[ :class="[
'world_map', 'world_map',
@@ -99,6 +100,13 @@
<div class="nation_name">{{ activatedCity?.nation }}</div> <div class="nation_name">{{ activatedCity?.nation }}</div>
</div> </div>
</div> </div>
<div v-else class="world_map">
<span class="map_title_text">
버전이 맞지 않습니다.<br />
렌더러 버전: {{ CURRENT_MAP_VERSION }}<br />
API 버전: {{ modelValue.version ?? 0 }}
</span>
</div>
</template> </template>
<script lang="ts"> <script lang="ts">
@@ -156,7 +164,7 @@ export type CityPositionMap = {
import "@/../scss/map.scss"; import "@/../scss/map.scss";
import { type PropType, toRef, inject, type Ref, ref, watch, type ComponentPublicInstance } from "vue"; import { type PropType, toRef, inject, type Ref, ref, watch, type ComponentPublicInstance } from "vue";
import { v4 as uuidv4 } from "uuid"; import { v4 as uuidv4 } from "uuid";
import type { MapResult } from "@/defs"; import { CURRENT_MAP_VERSION, type MapResult } from "@/defs";
import { joinYearMonth } from "@/util/joinYearMonth"; import { joinYearMonth } from "@/util/joinYearMonth";
import { parseYearMonth } from "@/util/parseYearMonth"; import { parseYearMonth } from "@/util/parseYearMonth";
import vMyTooltip from "@/directives/vMyTooltip"; import vMyTooltip from "@/directives/vMyTooltip";
+3
View File
@@ -230,11 +230,14 @@ export const diplomacyStateInfo: Record<diplomacyState, diplomacyInfo> = {
7: { name: '불가침', color: 'green' }, 7: { name: '불가침', color: 'green' },
} }
export const CURRENT_MAP_VERSION = 0 as const;
//Map //Map
type MapCityCompact = [number, number, number, number, number, number]; type MapCityCompact = [number, number, number, number, number, number];
type MapNationCompact = [number, string, string, number]; type MapNationCompact = [number, string, string, number];
export type MapResult = { export type MapResult = {
result: true, result: true,
version?: typeof CURRENT_MAP_VERSION,
startYear: number, startYear: number,
year: number, year: number,
month: number, month: number,