import { getStorage, removeStorage, setStorage } from "../storage"; export interface GameConfig { mini_program_id: string // 微信小游戏APPID version: string // 游戏版本号 game_id: number // 云帆平台游戏ID game_name: string // 游戏名称 } const STORAGE_KEY = "gameConfig"; const DEFAULT_CONFIG: GameConfig = { mini_program_id: "", version: "", game_id: 0, game_name: "" } class GameConfigModel { private static instance: GameConfigModel | null = null; private data: GameConfig; private constructor() { this.data = getStorage(STORAGE_KEY, DEFAULT_CONFIG) ?? DEFAULT_CONFIG; } static getInstance(): GameConfigModel { if (!GameConfigModel.instance) { GameConfigModel.instance = new GameConfigModel(); } return GameConfigModel.instance; } get(): GameConfig { return this.data; } save(config: GameConfig): boolean { this.data = config; return setStorage(STORAGE_KEY, config); } clear(): boolean { this.data = { ...DEFAULT_CONFIG }; return removeStorage(STORAGE_KEY); } } export default GameConfigModel;