12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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 = <MiniGameApiBase>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;
- }
- }
|