SDKManager.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { sys } from "cc";
  2. import { WeChatSDKManager } from "./WeChatSDKManager";
  3. import { DouYinSDKManager } from "./DouYinSDKManager";
  4. import { KuaiShouSDKManager } from "./KuaiShouSDKManager";
  5. export class SDKManager {
  6. private static _instance: SDKManager;
  7. public static getInstance(): SDKManager {
  8. if (!SDKManager._instance) {
  9. if ((sys.platform == sys.Platform.WECHAT_GAME) && window.ks) {
  10. SDKManager._instance = new SDKManager('kuaihsou');
  11. } else if (sys.platform == sys.Platform.WECHAT_GAME) {
  12. SDKManager._instance = new SDKManager('wechat');
  13. }
  14. else if (sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
  15. SDKManager._instance = new SDKManager('douyin');
  16. }
  17. else {
  18. SDKManager._instance = new SDKManager('wechat');
  19. }
  20. }
  21. return SDKManager._instance;
  22. }
  23. private currentSDKManager: WeChatSDKManager | DouYinSDKManager | KuaiShouSDKManager;
  24. constructor(platform: string) {
  25. switch (platform) {
  26. case 'wechat':
  27. this.currentSDKManager = new WeChatSDKManager();
  28. break;
  29. case 'douyin':
  30. this.currentSDKManager = new DouYinSDKManager();
  31. break;
  32. case 'kuaihsou':
  33. this.currentSDKManager = new KuaiShouSDKManager();
  34. break;
  35. default:
  36. console.log('Unsupported platform');
  37. }
  38. }
  39. public login(callBack: Function) {
  40. if (this.currentSDKManager) {
  41. this.currentSDKManager.login(callBack);
  42. }
  43. }
  44. public showShareMenu() {
  45. if (this.currentSDKManager) {
  46. this.currentSDKManager.showShareMenu();
  47. }
  48. }
  49. public show_video(cb) {
  50. if (this.currentSDKManager) {
  51. this.currentSDKManager.show_video(cb);
  52. }
  53. }
  54. }