feat: 연감을 가져오는 API

- Global/GetHistory - 과거 기록. 캐싱 가능
- GetCurrentHistory - 현재 기록. 캐싱 불가
This commit is contained in:
2022-04-18 03:05:08 +09:00
parent eadbc774e3
commit c379ecf317
7 changed files with 289 additions and 23 deletions
+34
View File
@@ -1,4 +1,5 @@
import type { CityID, CrewTypeID, GameCityDefault, GameConstType, GameUnitType, GameIActionKey, GameIActionCategory, GameIActionInfo } from "@/defs/GameObj";
import type { MapResult } from "@/defs";
export interface GetConstResponse {
result: true;
@@ -33,4 +34,37 @@ export interface GetConstResponse {
allItems: "item";
};
};
}
export type HistoryObj = {
server_id: string,
year: number;
month: number;
map: MapResult,
global_history: string[],
global_action: string[],
nations: {
capital: number,
cities: string[],
color: string,
gennum: number,
level: number,
name: string,
nation: number,
power: number,
type: GameIActionKey
}[],
}
export type GetHistoryResponse = {
result: true;
data: HistoryObj & {
hash: string;
//no: number,
};
}
export type GetCurrentHistoryResponse = {
result: true;
data: HistoryObj;
}
+19
View File
@@ -228,4 +228,23 @@ export const diplomacyStateInfo: Record<diplomacyState, diplomacyInfo> = {
1: { name: '선포중', color: 'magenta' },
2: { name: '통상' },
7: { name: '불가침', color: 'green' },
}
//Map
type MapCityCompact = [number, number, number, number, number, number];
type MapNationCompact = [number, string, string, number];
export type MapResult = {
result: true,
startYear: number,
year: number,
month: number,
cityList: MapCityCompact[],
nationList: MapNationCompact[],
spyList: Record<number, number>,
shownByGeneralList: number[],
myCity?: number,
myNation?: number,
theme?: string,
history?: string[],
}