GoldConfigData.ts 1.51 KB
import { AppSdk } from "../AppSdk";
import Util from "../../uitl/Util";

export class GoldConfigData {
    ad: Object;
    adnet: string;
    app_name: string;
    coin_config: string = '';
    gameUrl: string;
    kuai_app_name: string;
    pangolin: string;
    tTurboAgent: string;
    teaAgent: number;
    tracking: string;
    ttAppLog: string;
    umid: string;
    gameConfig: any;

    code: number = -3;
    private static instance: GoldConfigData = null;

    public static get I(): GoldConfigData {
        if (!this.instance)
            this.instance = new GoldConfigData();
        return this.instance;
    }
    initData(data) {
        this.code = data.code;
        if (!data.code) {
            data = data.data;
            for (const key in data) {
                if (data.hasOwnProperty(key)) {
                    const ele = data[key];
                    this[key] = ele;
                }
            }
        }
    }

    async getGoldConfig() {
        return new Promise<any>(async (resolve, reject) => {
            let result = await AppSdk.I.getGameConfig();
            let data = result.data;
            if (data['gameConfig']) {
                let gameData = data['gameConfig'];
                let configJson = await this.loadGoldCfg(gameData['coin_config'][0])
                resolve(configJson);
            }
        });
    }

    async loadGoldCfg(res: string) {
        let configJson = await  Util.I.load(res);
        return configJson;
    }
}