future 1 anno fa
parent
commit
a154fe8536

+ 4 - 4
assets/scene/main.scene

@@ -192,7 +192,7 @@
     "_contentSize": {
       "__type__": "cc.Size",
       "width": 1080,
-      "height": 1920
+      "height": 1919.9999999999998
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
@@ -290,7 +290,7 @@
     "_priority": 0,
     "_fov": 45,
     "_fovAxis": 0,
-    "_orthoHeight": 960,
+    "_orthoHeight": 959.9999999999999,
     "_near": 0,
     "_far": 1000,
     "_color": {
@@ -561,7 +561,7 @@
     "_contentSize": {
       "__type__": "cc.Size",
       "width": 1080,
-      "height": 1920
+      "height": 1919.9999999999998
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
@@ -867,7 +867,7 @@
     "_contentSize": {
       "__type__": "cc.Size",
       "width": 1080,
-      "height": 1920
+      "height": 1919.9999999999998
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",

+ 6 - 0
assets/script/config.ts

@@ -7,6 +7,12 @@ export class config  {
     static is_zb = false
     static gameName = "开局自行车";
     static websocket_domain = config.debug?'wss://snakews.xwrun.com':"wss://snakews.hainanmlwl.com" 
+    public static Platform = {
+        BROWSER:"BROWSER",
+		WX :"WEIXIN",
+		TT: "TOUTIAO",
+		KS:"KS",
+	}
     public static Platform_id = {
         browser: "browser",
         tt: "douyin",

+ 23 - 19
assets/script/http.ts

@@ -104,20 +104,20 @@ export class http {
         })
         let upload_url = http.domain + url
         let name = 'file'
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            let task = tt.uploadFile({
-                url: upload_url,
-                filePath: filePath,
-                name: name,
-                formData: formData,
-                success(res) { success_cb(res) },
-                fail(err) { fail_cb(err) },
-            });
-            task.onProgressUpdate((res) => { progress_cb(res) }); 
-        }
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                let task = ks.uploadFile({
+        switch (tools.platform) {
+            case config.Platform.TT:
+                let task_tt = tt.uploadFile({
+                    url: upload_url,
+                    filePath: filePath,
+                    name: name,
+                    formData: formData,
+                    success(res) { success_cb(res) },
+                    fail(err) { fail_cb(err) },
+                })
+                task_tt.onProgressUpdate((res) => { progress_cb(res) }); 
+                break;
+            case config.Platform.WX:
+                let task_wx = wx.uploadFile({
                     url: upload_url,
                     filePath: filePath,
                     name: name,
@@ -125,9 +125,10 @@ export class http {
                     success(res) { success_cb(res) },
                     fail(err) { fail_cb(err) },
                 });
-                task.onProgressUpdate((res) => { progress_cb(res) });
-            } else {
-                let task = wx.uploadFile({
+                task_wx.onProgressUpdate((res) => { progress_cb(res) }); 
+                break;
+            case config.Platform.KS:
+                let task_ks = ks.uploadFile({
                     url: upload_url,
                     filePath: filePath,
                     name: name,
@@ -135,8 +136,11 @@ export class http {
                     success(res) { success_cb(res) },
                     fail(err) { fail_cb(err) },
                 });
-                task.onProgressUpdate((res) => { progress_cb(res) }); 
-            }
+                task_ks.onProgressUpdate((res) => { progress_cb(res) });
+                break;
+        
+            default:
+                break;
         }
 
         // var xml = new XMLHttpRequest()

+ 10 - 7
assets/script/manager/dataManager.ts

@@ -13,15 +13,18 @@ export class dataManager  {
      // 获取平台标识
     public static getPlatformId() {
       let platform_id = config.Platform_id.browser
-      if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
+      switch (tools.platform) {
+        case config.Platform.TT:
           platform_id =  config.Platform_id.tt
-      }
-      else if (sys.platform == sys.Platform.WECHAT_GAME) {
-        if(SdkUtil.KS_GAME) {
-          platform_id =  config.Platform_id.ks
-        } else {
+          break;
+        case config.Platform.WX:
           platform_id =  config.Platform_id.wx
-        }
+          break;
+        case config.Platform.KS:
+          platform_id =  config.Platform_id.ks
+          break;
+        default:
+          break;
       }
       return platform_id
     }

+ 352 - 223
assets/script/sdkUtil.ts

@@ -2,6 +2,7 @@ import { _decorator, error, SpriteFrame, sys } from "cc";
 import { config } from "./config";
 import { uiManager } from "./manager/uiManager";
 import { userInfo } from "./data";
+import { tools } from "./tools";
 //管理广告、分享、SDK相关内容的组件
 export class SdkUtil {
     public static platform: string = 'cocos'; //平台
@@ -18,10 +19,12 @@ export class SdkUtil {
     public static vibrateInterval: number = 100;//两次震动之间的间隔,AppActivity里面的震动间隔也是100
     public static vibratePreTime: number = 0;//上次震动时间
 
-    public static KS_GAME:boolean = false; //是否ks游戏
     public static videoAd:any =null;
     public static isLookAd:boolean = false; //是否在看广告
 
+    public static wx_systemInfo:any = null;   //微信_系统信息
+    public static ks_systemInfo:any = null;   //ks_系统信息
+
     public static tt_systemInfo: any = null;                //抖音_系统信息
     private static tt_isSupportSidebar:boolean = false;     //抖音_是否支持侧边栏
     private static tt_isToEnterFromSidebar:boolean = false; //抖音_是否从侧边栏进入
@@ -34,16 +37,65 @@ export class SdkUtil {
     //------------------------------  公共  ------------------------------//
 
     public static init() {
-        if(sys.platform==sys.Platform.WECHAT_GAME) {
+        if(sys.platform==sys.Platform.BYTEDANCE_MINI_GAME) {
+            tools.platform = config.Platform.TT
+        } else if(sys.platform==sys.Platform.WECHAT_GAME) {
             let isKSGame = typeof KSGameGlobal != 'undefined'
             // console.log('isKSGame=',isKSGame)                            
-            SdkUtil.KS_GAME = isKSGame
+            if(isKSGame) {
+                tools.platform = config.Platform.KS
+            } else {
+                tools.platform = config.Platform.WX
+                //微信初始化设置显示分享弹窗,右上角'···'才可以转发给朋友,复制链接
+                wx.showShareMenu({
+                    withShareTicket: true,
+                    menus: ['shareAppMessage', 'shareTimeline']
+                })
+            }
         }
-        this.ttGetSystemInfo(()=> {
+        
+        this.getSystemInfo(()=> {
             this.ttRegisterInfo()
         })
     }
 
+    // 获取系统信息
+    public static getSystemInfo(callback) {
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.getSystemInfo({
+                    success:(res) => {
+                        console.log('tt.getSystemInfo=',res)
+                        // appName: "Douyin" appName: "douyin_lite"
+                        SdkUtil.tt_systemInfo = res
+                        callback()
+                    }
+                })
+                break;
+            case config.Platform.WX:
+                wx.getSystemInfo({
+                    success:(res) => {
+                        console.log('wx.getSystemInfo=',res)
+                        SdkUtil.wx_systemInfo = res
+                        callback && callback()
+                    }
+                })
+                break;
+            case config.Platform.KS:
+                ks.getSystemInfo({
+                    success:(res) => {
+                        console.log('ks.getSystemInfo=',res)
+                        SdkUtil.ks_systemInfo = res
+                        callback && callback()
+                    }
+                })
+                break;
+        
+            default:
+                break;
+        }
+    }
+
     // 自定义事件统计
     public static customEventStatistics(eventType: string, objParams?: any) {
         eventType = eventType.toString();
@@ -66,7 +118,7 @@ export class SdkUtil {
 
     // 检测授权用户信息
     public static checkAuthUserInfo(cb) {
-        if(sys.platform == sys.Platform.WECHAT_GAME && !SdkUtil.KS_GAME) {
+        if(tools.platform==config.Platform.WX) {
             SdkUtil.wxCheckAuthUserInfo(cb)
         } else {
             cb(true)
@@ -75,77 +127,69 @@ export class SdkUtil {
     
     // 登录
     public static login(call){
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.login({
-                force: true,
-                success(res) {
-                    console.log(`tt_login 调用成功:${res.code} ${res.anonymousCode}`);
-                    call({"code":res.code,"anonymousCode":res.anonymousCode})
-                },
-                fail(err) {
-                    console.log(`tt_login 调用失败:${err}`);
-                    // call(null)
-                },
-            });
-        } 
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                ks.login({
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.login({
+                    force: true,
                     success(res) {
-                        console.log(`ks_login 调用成功:${res.code}`);
+                        console.log(`tt_login 调用成功:${res.code} ${res.anonymousCode}`);
+                        call({"code":res.code,"anonymousCode":res.anonymousCode})
+                    },
+                    fail(err) {
+                        console.log(`tt_login 调用失败:${err}`);
+                        // call(null)
+                    },
+                });
+                break;
+            case config.Platform.WX:
+                wx.login({
+                    success(res) {
+                        console.log(`wx_login 调用成功:${res.code}`);
                         call({"code":res.code})
                     },
                     fali(err) { 
-                        console.log(`ks_login 调用失败:${err}`);
+                        console.log(`wx_login 调用失败:${err}`);
                         // call(null)
                     }
                 })
-            } else {
-                wx.login({
+                break;
+            case config.Platform.KS:
+                ks.login({
                     success(res) {
-                        console.log(`wx_login 调用成功:${res.code}`);
+                        console.log(`ks_login 调用成功:${res.code}`);
                         call({"code":res.code})
                     },
                     fali(err) { 
-                        console.log(`wx_login 调用失败:${err}`);
+                        console.log(`ks_login 调用失败:${err}`);
                         // call(null)
                     }
                 })
-            }
-        }
-        else{
-            call(null)
+                break;
+
+            default:
+                call(null)
+                break;
         }
     }
 
     // 获取用户信息
     public static getUserInfo(call){
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.getUserInfo({
-                // withCredentials: true,
-                // withRealNameAuthenticationInfo: true,
-                success(res) {
-                    console.log(`tt_getUserInfo 调用成功`, res);
-                    call(res.userInfo)
-                },
-                fail(err) {
-                    console.log(`tt_getUserInfo 调用失败`, err);
-                    call(new userInfo())
-                },
-            });
-        }
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                ks.getUserInfo({
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.getUserInfo({
+                    // withCredentials: true,
+                    // withRealNameAuthenticationInfo: true,
                     success(res) {
-                        console.log(`ks_getUserInfo 调用成功`, res);
+                        console.log(`tt_getUserInfo 调用成功`, res);
                         call(res.userInfo)
                     },
                     fail(err) {
-                        console.log(`ks_getUserInfo 调用失败`, err);
+                        console.log(`tt_getUserInfo 调用失败`, err);
+                        call(new userInfo())
                     },
-                })
-            } else {
+                });
+                break;
+            case config.Platform.WX:
                 SdkUtil.wxCheckAuthUserInfo((is_true)=>{
                     if(is_true) {
                         wx.getUserInfo({
@@ -155,105 +199,132 @@ export class SdkUtil {
                             },
                             fail(err) {
                                 console.log(`wx_getUserInfo 调用失败`, err);
+                                call(new userInfo())
                             },
                         })
+                    } else {
+                        console.log(`wx_getUserInfo 调用失败  没有授权用户信息`);
+                        call(new userInfo())
                     }
                 })
-            }
-        }
-        else{
-            call(null)
+                break;
+            case config.Platform.KS:
+                SdkUtil.ksAuthUserInfo((is_true)=>{
+                    if(is_true) {
+                        ks.getUserInfo({
+                            success(res) {
+                                console.log(`ks_getUserInfo 调用成功`, JSON.stringify(res));
+                                call(res.userInfo)
+                            },
+                            fail(err) {
+                                console.log(`ks_getUserInfo 调用失败`, JSON.stringify(err));
+                                call(new userInfo())
+                            }
+                        })
+                    } else {
+                        call(new userInfo())
+                    }
+                })
+                break;
+
+            default:
+                call(null)
+                break;
         }
     }
 
     // 震动
     public static vibrateShort(){
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.vibrateShort({ success(res) {}, fail(err) {} });
-        }
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                ks.vibrateShort({ success(res) {}, fail(err) {} });
-            } else {
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.vibrateShort({ success(res) {}, fail(err) {} });
+                break;
+            case config.Platform.WX:
                 wx.vibrateShort({ success(res) {}, fail(err) {} });
-            }
-        }
-          
+                break;
+            case config.Platform.KS:
+                ks.vibrateShort({ success(res) {}, fail(err) {} });
+                break;
+
+            default:
+                break;
+        }          
     }
 
     // 关于loading
     public static showLoading(title:string) {
         if(title.length<=0) { return }
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.showLoading({ title: title, success(res) {},fail(err) {} })
-        }
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                ks.showLoading({ title: title, success(res) {},fail(err) {} })
-            } else {
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.showLoading({ title: title, success(res) {},fail(err) {} })
+                break;
+            case config.Platform.WX:
                 wx.showLoading({ title: title, success(res) {},fail(err) {} })
-            }
+                break;
+            case config.Platform.KS:
+                ks.showLoading({ title: title, success(res) {},fail(err) {} })
+                break;
+        
+            default:
+                break;
         }
     }
 
     public static hideLoading() {
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.hideLoading({ success(res) { }, fail(err) { } });
-        }
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                ks.hideLoading({ success(res) { }, fail(err) { } });
-            } else {
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.hideLoading({ success(res) { }, fail(err) { } });
+                break;
+            case config.Platform.WX:
                 wx.hideLoading({ success(res) { }, fail(err) { } });
-            }
+                break;
+            case config.Platform.KS:
+                ks.hideLoading({ success(res) { }, fail(err) { } });
+                break;
+        
+            default:
+                break;
         }
     }
 
     // 展示toast
     public static showToast(title:string,duration=2000,success_cb=null, fail_cb=null) {
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.showToast({
-                title: title,
-                duration: duration,
-                success(res) { if(success_cb){ success_cb() } },
-                fail(err) { if(fail_cb) { fail_cb() } },
-            });
-        }
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                ks.showToast({
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.showToast({
                     title: title,
                     duration: duration,
                     success(res) { if(success_cb){ success_cb() } },
                     fail(err) { if(fail_cb) { fail_cb() } },
                 });
-            } else {
+                break;
+            case config.Platform.WX:
                 wx.showToast({
                     title: title,
                     duration: duration,
                     success(res) { if(success_cb){ success_cb() } },
                     fail(err) { if(fail_cb) { fail_cb() } },
                 });
-            }
+                break;
+            case config.Platform.KS:
+                ks.showToast({
+                    title: title,
+                    duration: duration,
+                    success(res) { if(success_cb){ success_cb() } },
+                    fail(err) { if(fail_cb) { fail_cb() } },
+                });
+                break;
+        
+            default:
+                break;
         }
     }
 
     // 展示modal (确定:res.confirm  取消:res.cancel)
     public static showModal(title:string, content:string, suc_cb=null, fail_cb=null, confirmText:string='确定', showCancel:boolean=true, cancelText:string='取消') {
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.showModal({
-                title: title,
-                content: content,
-                confirmText: confirmText,
-                showCancel: showCancel,
-                cancelText: cancelText,
-                success(res) { if(suc_cb) { suc_cb(res) } },
-                fail(err) { if(fail_cb){ fail_cb(err) } },
-            });
-        }
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                ks.showModal({
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.showModal({
                     title: title,
                     content: content,
                     confirmText: confirmText,
@@ -262,7 +333,8 @@ export class SdkUtil {
                     success(res) { if(suc_cb) { suc_cb(res) } },
                     fail(err) { if(fail_cb){ fail_cb(err) } },
                 });
-            } else {
+                break;
+            case config.Platform.WX:
                 wx.showModal({
                     title: title,
                     content: content,
@@ -272,56 +344,71 @@ export class SdkUtil {
                     success(res) { if(suc_cb) { suc_cb(res) } },
                     fail(err) { if(fail_cb){ fail_cb(err) } },
                 });
-            }
-        } else {
-            if(suc_cb) { 
-                suc_cb({'confirm':true}) 
-            }
+                break;
+            case config.Platform.KS:
+                ks.showModal({
+                    title: title,
+                    content: content,
+                    confirmText: confirmText,
+                    showCancel: showCancel,
+                    cancelText: cancelText,
+                    success(res) { if(suc_cb) { suc_cb(res) } },
+                    fail(err) { if(fail_cb){ fail_cb(err) } },
+                });
+                break;
+        
+            default:
+                suc_cb && suc_cb({'confirm':true}) 
+                break;
         }
     }
     
     // 展示actionSheet (点击的索引:`res.tapIndex`)
     public static showActionSheet(item_list:string[], suc_cb=null, fail_cb=null) {
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.showActionSheet({
-                item_list,
-                success(res) { if(suc_cb) { suc_cb(res) } },
-                fail(err) { if(fail_cb) { fail_cb(err) } },
-            });
-        }
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                ks.showActionSheet({
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.showActionSheet({
                     item_list,
                     success(res) { if(suc_cb) { suc_cb(res) } },
                     fail(err) { if(fail_cb) { fail_cb(err) } },
                 });
-            } else {
+                break;
+            case config.Platform.WX:
                 wx.showActionSheet({
                     item_list,
                     success(res) { if(suc_cb) { suc_cb(res) } },
                     fail(err) { if(fail_cb) { fail_cb(err) } },
                 });
-            }
+                break;
+            case config.Platform.KS:
+                ks.showActionSheet({
+                    item_list,
+                    success(res) { if(suc_cb) { suc_cb(res) } },
+                    fail(err) { if(fail_cb) { fail_cb(err) } },
+                });
+                break;
+        
+            default:
+                break;
         }
     }
 
     // 选择系统相册
     public static choosSystemImage(call_back) {
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.chooseImage({
-                sourceType: ["album"],
-                count:1,
-                success:(res)=>{
-                    // console.log('chooseImage调用成功=${res}')
-                    if(res.tempFilePaths.length>0) { call_back(res.tempFilePaths[0])}
-                },
-                fail(err) { console.log(`tt_chooseImage调用失败=${err}`); },
-            })
-        } 
-        else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                ks.chooseMedia({
+        switch (tools.platform) {
+            case config.Platform.TT:
+                tt.chooseImage({
+                    sourceType: ["album"],
+                    count:1,
+                    success:(res)=>{
+                        // console.log('chooseImage调用成功=${res}')
+                        if(res.tempFilePaths.length>0) { call_back(res.tempFilePaths[0])}
+                    },
+                    fail(err) { console.log(`tt_chooseImage调用失败=${err}`); },
+                })
+                break;
+            case config.Platform.WX:
+                wx.chooseMedia({
                     mediaType: ["image"],
                     sourceType: ["album"],
                     count:1,
@@ -331,8 +418,9 @@ export class SdkUtil {
                     },
                     fail(err) { console.log(`wx_chooseImage调用失败=${err}`); },
                 })
-            } else {
-                wx.chooseMedia({
+                break;
+            case config.Platform.KS:
+                ks.chooseMedia({
                     mediaType: ["image"],
                     sourceType: ["album"],
                     count:1,
@@ -342,13 +430,16 @@ export class SdkUtil {
                     },
                     fail(err) { console.log(`wx_chooseImage调用失败=${err}`); },
                 })
-            }
+                break;
+        
+            default:
+                break;
         }
     }
 
     // 检测显示添加桌面
     public static checkIsShowAddDesktop():boolean {
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
+        if(tools.platform == config.Platform.TT) {
             if(SdkUtil.tt_systemInfo.appName=='Douyin' || SdkUtil.tt_systemInfo.appName=='douyin_lite') {
                 return true
             }
@@ -359,32 +450,36 @@ export class SdkUtil {
     // 分享游戏
     public static shareGame(title: string, desc:string, call_back=null) {
         if(desc==undefined||desc==null) { desc = config.gameName}
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            SdkUtil.ttShare(title,desc, ()=>{
-                call_back(true)
-            }, ()=>{
-                this.showToast('分享失败')
-            })
-        } else if(sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
-                SdkUtil.ksShare(desc, '', ()=>{
+        switch (tools.platform) {
+            case config.Platform.TT:
+                SdkUtil.ttShare(title,desc, ()=>{
                     call_back(true)
                 }, ()=>{
                     this.showToast('分享失败')
                 })
-            } else {
+                break;
+            case config.Platform.WX:
                 SdkUtil.wxShare(desc, '', ()=>{
                     call_back(true)
                 },()=>{
                     this.showToast('分享失败')
                 })
-            }
-        }else{
-            call_back && call_back(true)
+                break;
+            case config.Platform.KS:
+                SdkUtil.ksShare(desc, '', ()=>{
+                    call_back(true)
+                }, ()=>{
+                    this.showToast('分享失败')
+                })
+                break;
+        
+            default:
+                call_back && call_back(true)
+                break;
         }
     }
     public static shareGameVideo() {
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
+        if(tools.platform == config.Platform.TT) {
             let videoPath = SdkUtil.ttGetScreenRecordingVideoPath()
             uiManager.Instance().showLoading()
             this.ttShareScreenRecordVideo(config.gameName,videoPath,()=>{
@@ -398,36 +493,23 @@ export class SdkUtil {
     // 获取广告id
     public static getAdId(ad_type = config.ADS_TYPE.UNKNOWN):string {
         let ad_id = ""
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            if(ad_type==config.ADS_TYPE.GAME_INFINITE_DEGREE_VIDEO) {
-                ad_id = config.TT_CONFIG.ADS_ID_INFINITE_DEGREE_VIDEO
-            } else if(ad_type==config.ADS_TYPE.GAME_RELIFE_VIDEO) {
-                ad_id = config.TT_CONFIG.ADS_ID_RELIFE_VIDEO
-            } else if(ad_type==config.ADS_TYPE.GAME_RESTART) {
-                ad_id = config.TT_CONFIG.ADS_ID_RESTART
-            } else if(ad_type==config.ADS_TYPE.GAME_SIGN_DOUBLE) {
-                ad_id = config.TT_CONFIG.ADS_ID_SIGN_DOUBLE
-            } else if(ad_type==config.ADS_TYPE.GAME_SIGN_BUQIAN) {
-                ad_id = config.TT_CONFIG.ADS_ID_SIGN_BUQIAN
-            } else if(ad_type==config.ADS_TYPE.GAME_GET_SUIPIAN) {
-                ad_id = config.TT_CONFIG.ADS_ID_GET_SUIPIAN
-            }
-        } else if (sys.platform == sys.Platform.WECHAT_GAME) {
-            if(SdkUtil.KS_GAME) {
+        switch (tools.platform) {
+            case config.Platform.TT:
                 if(ad_type==config.ADS_TYPE.GAME_INFINITE_DEGREE_VIDEO) {
-                    ad_id = config.KS_CONFIG.ADS_ID_INFINITE_DEGREE_VIDEO
+                    ad_id = config.TT_CONFIG.ADS_ID_INFINITE_DEGREE_VIDEO
                 } else if(ad_type==config.ADS_TYPE.GAME_RELIFE_VIDEO) {
-                    ad_id = config.KS_CONFIG.ADS_ID_RELIFE_VIDEO
+                    ad_id = config.TT_CONFIG.ADS_ID_RELIFE_VIDEO
                 } else if(ad_type==config.ADS_TYPE.GAME_RESTART) {
-                    ad_id = config.KS_CONFIG.ADS_ID_RESTART
+                    ad_id = config.TT_CONFIG.ADS_ID_RESTART
                 } else if(ad_type==config.ADS_TYPE.GAME_SIGN_DOUBLE) {
-                    ad_id = config.KS_CONFIG.ADS_ID_SIGN_DOUBLE
+                    ad_id = config.TT_CONFIG.ADS_ID_SIGN_DOUBLE
                 } else if(ad_type==config.ADS_TYPE.GAME_SIGN_BUQIAN) {
-                    ad_id = config.KS_CONFIG.ADS_ID_SIGN_BUQIAN
+                    ad_id = config.TT_CONFIG.ADS_ID_SIGN_BUQIAN
                 } else if(ad_type==config.ADS_TYPE.GAME_GET_SUIPIAN) {
-                    ad_id = config.KS_CONFIG.ADS_ID_GET_SUIPIAN
+                    ad_id = config.TT_CONFIG.ADS_ID_GET_SUIPIAN
                 }
-            } else {
+                break;
+            case config.Platform.WX:
                 if(ad_type==config.ADS_TYPE.GAME_INFINITE_DEGREE_VIDEO) {
                     ad_id = config.WX_CONFIG.ADS_ID_INFINITE_DEGREE_VIDEO
                 } else if(ad_type==config.ADS_TYPE.GAME_RELIFE_VIDEO) {
@@ -441,35 +523,52 @@ export class SdkUtil {
                 } else if(ad_type==config.ADS_TYPE.GAME_GET_SUIPIAN) {
                     ad_id = config.WX_CONFIG.ADS_ID_GET_SUIPIAN
                 }
-            }
+                break;
+            case config.Platform.KS:
+                if(ad_type==config.ADS_TYPE.GAME_INFINITE_DEGREE_VIDEO) {
+                    ad_id = config.KS_CONFIG.ADS_ID_INFINITE_DEGREE_VIDEO
+                } else if(ad_type==config.ADS_TYPE.GAME_RELIFE_VIDEO) {
+                    ad_id = config.KS_CONFIG.ADS_ID_RELIFE_VIDEO
+                } else if(ad_type==config.ADS_TYPE.GAME_RESTART) {
+                    ad_id = config.KS_CONFIG.ADS_ID_RESTART
+                } else if(ad_type==config.ADS_TYPE.GAME_SIGN_DOUBLE) {
+                    ad_id = config.KS_CONFIG.ADS_ID_SIGN_DOUBLE
+                } else if(ad_type==config.ADS_TYPE.GAME_SIGN_BUQIAN) {
+                    ad_id = config.KS_CONFIG.ADS_ID_SIGN_BUQIAN
+                } else if(ad_type==config.ADS_TYPE.GAME_GET_SUIPIAN) {
+                    ad_id = config.KS_CONFIG.ADS_ID_GET_SUIPIAN
+                }
+                break;
+        
+            default:
+                break;
         }
         return ad_id
     }
     
     // 显示激励视频广告
     public static showVideoAd(_adUnitId: string, call_back) {
-        if(sys.platform==sys.Platform.BYTEDANCE_MINI_GAME) {
-            uiManager.Instance().showLoading()
-            SdkUtil.videoAd = tt.createRewardedVideoAd({adUnitId: _adUnitId});
-        } 
-        else if(sys.platform==sys.Platform.WECHAT_GAME) {
-            call_back && ({"isEnded":true})
-            return
-            // if(SdkUtil.KS_GAME) { 
-            //     uiManager.Instance().showLoading()
-            //     SdkUtil.videoAd = ks.createRewardedVideoAd({adUnitId: _adUnitId});
-            // } 
-            // else { 
-            //     console.log('wx ad') 
-            //     call_back({"isEnded":true})
-            //     // gameManager.Singleton.showLoadingLevel()
-            //     // SdkUtil.videoAd = wx.createRewardedVideoAd({adUnitId: _adUnitId});
-            //     return
-            // }
-        }
-        else {
-            call_back && call_back({"isEnded":true})
-            return
+        switch (tools.platform) {
+            case config.Platform.TT:
+                uiManager.Instance().showLoading()
+                SdkUtil.videoAd = tt.createRewardedVideoAd({adUnitId: _adUnitId});
+                break;
+            case config.Platform.WX:
+                // uiManager.Instance().showLoading()
+                // SdkUtil.videoAd = wx.createRewardedVideoAd({adUnitId: _adUnitId});
+                call_back && ({"isEnded":true})
+                return
+                break;
+            case config.Platform.KS:
+                // uiManager.Instance().showLoading()
+                // SdkUtil.videoAd = ks.createRewardedVideoAd({adUnitId: _adUnitId});
+                call_back && ({"isEnded":true})
+                return
+                break;
+        
+            default:
+                call_back && call_back({"isEnded":true})
+                break;
         }
 
         if(SdkUtil.videoAd==null){ 
@@ -477,7 +576,7 @@ export class SdkUtil {
             return
         }
 
-        if(SdkUtil.KS_GAME) {
+        if(tools.platform==config.Platform.KS) {
             SdkUtil.videoAd.show().then(()=>{
                 console.log("ks 广告加载完成");
                 SdkUtil.isLookAd = true
@@ -504,7 +603,7 @@ export class SdkUtil {
             SdkUtil.isLookAd = false
             SdkUtil.videoAd.destroy()
         });
-        if(sys.platform==sys.Platform.BYTEDANCE_MINI_GAME) {
+        if(tools.platform==config.Platform.TT) {
             SdkUtil.videoAd.load()
         }
     }
@@ -551,6 +650,51 @@ export class SdkUtil {
     }
 
     //------------------------------  快手相关  ------------------------------//
+    
+    // 快手检查授权用户信息
+    public static ksCheckAuthUserInfo(cb) {
+        ks.getSetting({
+            success(res) {
+                if(res.authSetting['scope.userInfo'] === true) { // 已经授权
+                    cb(true)
+                } else {
+                    cb(false)
+                }
+            },
+            fail(err) {
+                cb(false)
+            }
+        })
+    }
+
+   // 快手授权用户信息
+    public static ksAuthUserInfo(cb) {
+        ks.authorize({
+            scope: "scope.userInfo",
+            success: () => {
+                console.log("ks授权获取用户信息成功");
+                cb && cb(true)
+            },
+            fail: (error) => {
+                console.log("ks授权获取用户信息失败: " + JSON.stringify(error));
+                cb && cb(false)
+            }
+        });
+    }
+
+    // 快手加载分包
+    public static ksLoadSubpackage(name:string,cb) {
+        ks.loadSubpackage({
+            name: name,
+            success: function(res) {
+                // console.log(`success->${name}=${res}`)
+                cb && cb()
+            },
+            fail: function(err) {
+                // console.log(`err->${name}=${err}`)
+            }
+        });
+    }
 
     // 快手分享
     public static ksShare(title: string, imageUrl:string='', success_cb = null, fail_cb = null) {
@@ -562,21 +706,6 @@ export class SdkUtil {
     }
 
     //------------------------------  抖音相关  ------------------------------//
-
-    // 抖音获取系统信息
-    public static ttGetSystemInfo(callback) {
-        if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
-            tt.getSystemInfo({
-                success:(res) => {
-                    // console.log('tt.getSystemInfo=',res)
-                    // appName: "Douyin" appName: "douyin_lite"
-                    SdkUtil.tt_systemInfo = res
-                    callback()
-                }
-            })
-        }
-    }
-
     // 分享
     public static ttShare(title:string, desc:string, sucess_cb=null, fail_cb=null) {
         if(sys.platform == sys.Platform.BYTEDANCE_MINI_GAME) {
@@ -763,7 +892,7 @@ export class SdkUtil {
 
     // 抖音分享屏幕录制视频
     private static ttShareScreenRecordVideo(title: string, videoPath: string, onSuccess: Function = null, onFail: Function = null) {
-        console.log('tt_录制视频路径=',videoPath)
+        // console.log('tt_录制视频路径=',videoPath)
         if(videoPath.length<=0) {
             return
         }

+ 1 - 0
assets/script/tools.ts

@@ -7,6 +7,7 @@ const { ccclass, property } = _decorator;
 
 @ccclass('tools')
 export class tools  {
+    public static platform = config.Platform.BROWSER
     public static levels:string[] = []
     public static tpl_list:model_item_data[] = []
     public static game_config:edit_game_config_data = null

+ 13 - 6
assets/script/ui/loading_view.ts

@@ -191,13 +191,20 @@ export class loading_view extends Component {
     private userLogin(cb){
         SdkUtil.login((res)=>{
             if(res!=null){
-                let url = config.API.get_dyopen_id //默认抖音
-                if(sys.platform == sys.Platform.WECHAT_GAME) {
-                    if(SdkUtil.KS_GAME) { 
-                        url = config.API.get_ksopen_id
-                    } else { 
+                let url = ''
+                switch (tools.platform) {
+                    case config.Platform.TT:
+                        url = config.API.get_dyopen_id
+                        break;
+                    case config.Platform.WX:
                         url = config.API.get_wxopen_id 
-                    }
+                        break;
+                    case config.Platform.KS:
+                        url = config.API.get_ksopen_id
+                        break;
+    
+                    default:
+                        break;
                 }
                 http.post(url,res,(err,data)=>{
                     if(!err){