import { sys } from "cc"; import H5Api from "./h5Api"; import HuaWeiApi from "./huaWeiApi"; import { MiniGameApiBase } from "./MiniGameApiBase"; import OppoApi from "./oppoApi"; import TtApi from "./ttApi"; import VivoApi from "./vivoApi"; import WxApi from "./wxApi"; export default class PlatformService { protected _serviceName: string = "平台服务"; private static m_PlatformApiClass: typeof MiniGameApiBase | any = null; static platformName: string = "ok"; private m_PlatformApi: MiniGameApiBase = undefined; get platformApi() { return this.m_PlatformApi; } private static _instance: PlatformService; static getInstance(): PlatformService { if (!this._instance) { this._instance = new PlatformService(); } return this._instance; } constructor() { if (PlatformService._instance) { return PlatformService._instance; } this._Initialize(); } _Initialize(): void { console.error("正在初始化api-------------------------------") this.platformCheck(); this.m_PlatformApi = new PlatformService.m_PlatformApiClass(); console.group("加载平台api"); //验证授权 this.m_PlatformApi.validAppId(); //预先加载 this.m_PlatformApi.ready(); console.groupEnd(); } platformCheck() { //平台 switch (sys.platform) { case sys.Platform.WECHAT_MINI_PROGRAM: case sys.Platform.WECHAT_GAME: PlatformService.m_PlatformApiClass = WxApi; break; case sys.Platform.BYTEDANCE_MINI_GAME: PlatformService.m_PlatformApiClass = TtApi; break; case sys.Platform.VIVO_MINI_GAME: PlatformService.m_PlatformApiClass = VivoApi; break; case sys.Platform.OPPO_MINI_GAME: PlatformService.m_PlatformApiClass = OppoApi; break; case sys.Platform.HUAWEI_QUICK_GAME: PlatformService.m_PlatformApiClass = HuaWeiApi; break; default: { PlatformService.m_PlatformApiClass = H5Api; break; } } } static getPlatformApiClass(): typeof MiniGameApiBase { return PlatformService.m_PlatformApiClass; } }