Selaa lähdekoodia

【优化】优化服务器选择,根据打包的类型选择是否正式服务器,需要在config中把本地改为false生效

mojunshou 7 kuukautta sitten
vanhempi
commit
17a44f94b8

+ 1 - 1
assets/resources/config.json

@@ -18,7 +18,7 @@
         "gameCompanyName": "阜阳亿顺传媒科技有限公司",
         "gamePrivacyUrl": "https://doc.v8dashen.com/doc/fc3ae42ddf3b5734",
         "gameProtocolUrl": "https://doc.v8dashen.com/doc/f692eedce36f7fb1",
-        "isRelease": false
+        "isLocalTest": false
     },
     "gui": [
         {

+ 11 - 8
assets/script/game/common/manager/LoginHandler.ts

@@ -2,7 +2,7 @@
  * @Author: mojunshou 1637302775@qq.com
  * @Date: 2025-04-11 10:15:45
  * @LastEditors: mojunshou 1637302775@qq.com
- * @LastEditTime: 2025-05-06 10:32:01
+ * @LastEditTime: 2025-05-08 16:24:14
  * @Description: 登录管理
  */
 // LoginHandler.ts
@@ -26,14 +26,19 @@ export class LoginHandler {
     //获取当前版本状态
     async getVersionStatus() {
         const data = { method: 'system.debug.get' };
-        const result = await CocosHandler.inst.sendMessageToAndroid(data, '获取版本状态');
-        return JSON.parse(result);
+        const msg = await CocosHandler.inst.sendMessageToAndroid(data);
+        const result = JSON.parse(msg);
+        if (result.data.result) {
+            smc.game.GameModel.isRelease = false;
+        } else {
+            smc.game.GameModel.isRelease = true;
+        }
     }
 
     //关闭安卓启动页
     closeAndroidSplash() {
         const data = { method: 'start.scene.hide' };
-        CocosHandler.inst.sendMessageToAndroid(data, '关闭安卓启动页');
+        CocosHandler.inst.sendMessageToAndroid(data);
     }
 
 
@@ -41,7 +46,7 @@ export class LoginHandler {
         //这直接调关闭安卓
         this.closeAndroidSplash();
         const data = { method: 'privacy.grant.get' };
-        const result = await CocosHandler.inst.sendMessageToAndroid(data, '获取隐私授权状态');
+        const result = await CocosHandler.inst.sendMessageToAndroid(data);
         return JSON.parse(result);
     }
 
@@ -50,7 +55,7 @@ export class LoginHandler {
             method: 'privacy.grant.set',
             param: JSON.stringify({ granted: status })
         };
-        const result = await CocosHandler.inst.sendMessageToAndroid(data, '保存隐私授权状态');
+        const result = await CocosHandler.inst.sendMessageToAndroid(data);
         return JSON.parse(result);
     }
 
@@ -79,8 +84,6 @@ export class LoginHandler {
     }
 
     wechatLoginSuccess(str: string) {
-        //console.log('[微信] 登录成功', str);
-        // this.wxLogin(str);
         //向服务器申请登录
         ServerHandler.inst.wxLogin(str);
         DCHandler.inst.reportData(3000004, 1001);

+ 36 - 29
assets/script/game/common/manager/ProtocolEvent.ts

@@ -2,7 +2,7 @@
  * @Author: mojunshou 1637302775@qq.com
  * @Date: 2025-04-07 10:17:16
  * @LastEditors: mojunshou 1637302775@qq.com
- * @LastEditTime: 2025-04-30 18:37:41
+ * @LastEditTime: 2025-05-08 15:32:30
  * @Description: 消息定义
  */
 //本地
@@ -14,62 +14,69 @@ const server_url = "https://project-api.atmob.com";
 
 
 export enum ProtocolEvent {
+    /**本地测试*/
+    LocalTest = "http://192.168.10.103:8880",
+    /**测试服*/
+    TestServer = "https://central-test.atmob.com",
+    /**正式服*/
+    ReleaseServer = "https://project-api.atmob.com",
+
     /**微信登录*/
-    WechatLogin = server_url + "/project/playlet/v1/user/login",
+    WechatLogin = "/project/playlet/v1/user/login",
     /**账号信息*/
-    AccountInfo = server_url + "/project/playlet/v1/user/detail",
+    AccountInfo = "/project/playlet/v1/user/detail",
     /**领取每日奖励*/
-    GetDailyReward = server_url + "/project/playlet/v1/daily/eliminationTsk/gain",
+    GetDailyReward = "/project/playlet/v1/daily/eliminationTsk/gain",
     /**用户道具信息*/
-    UserItemInfo = server_url + "/project/playlet/v1/props/all",
+    UserItemInfo = "/project/playlet/v1/props/all",
     /**直接领取通关奖励*/
-    GetPassReward = server_url + "/project/playlet/v1/reward/littlePass",
+    GetPassReward = "/project/playlet/v1/reward/littlePass",
     /**少量领取翻倍奖励*/
-    GetLittlePassReward = server_url + "/project/playlet/v1/reward/double",
+    GetLittlePassReward = "/project/playlet/v1/reward/double",
     /**消除奖励*/
-    GetEliminationReward = server_url + "/project/playlet/v1/elimination/reward",
+    GetEliminationReward = "/project/playlet/v1/elimination/reward",
     /**获取通关奖励数*/
-    GetGameAward = server_url + "/project/playlet/v1/reward/passView",
+    GetGameAward = "/project/playlet/v1/reward/passView",
     /**惊喜翻倍奖励信息*/
-    GetDoubleAwardInfo = server_url + "/project/playlet/v1/reward/doubleView",
+    GetDoubleAwardInfo = "/project/playlet/v1/reward/doubleView",
     /**获取二倍速奖励信息*/
-    GetDoubleSpeedAward = server_url + "/project/playlet/v1/reward/speedView",
+    GetDoubleSpeedAward = "/project/playlet/v1/reward/speedView",
     /**获取复活奖励信息*/
-    GetReviveInfo = server_url + "/project/playlet/v1/reward/reviveView",
+    GetReviveInfo = "/project/playlet/v1/reward/reviveView",
     /**广告视频开始*/
-    AdVideoStart = server_url + "/project/playlet/v1/video/start",
+    AdVideoStart = "/project/playlet/v1/video/start",
     /**视频奖励*/
-    GetVideorReward = server_url + "/project/playlet/v1/reward/videoReward",
+    GetVideorReward = "/project/playlet/v1/reward/videoReward",
     //获取微信提现页信息
-    GetWechatTxInfo = server_url + "/project/playlet/v3/withdraw/view/wechat/fake",
+    GetWechatTxInfo = "/project/playlet/v3/withdraw/view/wechat/fake",
     /**红包币提现*/
-    GetRedPacketCash = server_url + "/project/playlet/v1/withdraw/convert",
+    GetRedPacketCash = "/project/playlet/v1/withdraw/convert",
     /**提现记录*/
-    GetWithdrawRecord = server_url + "/project/playlet/v1/withdraw/log/page",
+    GetWithdrawRecord = "/project/playlet/v1/withdraw/log/page",
     /**提现返利信息*/
-    GetWithdrawReward = server_url + "/project/playlet/v1/withdraw/rebate",
+    GetWithdrawReward = "/project/playlet/v1/withdraw/rebate",
     /**红包提现页信息*/
-    GetHbWithdrawInfo = server_url + "/project/playlet/v3/withdraw/view/detail",
+    GetHbWithdrawInfo = "/project/playlet/v3/withdraw/view/detail",
     /**福利点提现*/
-    GetWelfarePointCash = server_url + "/project/playlet/v1/reward/weal",
+    GetWelfarePointCash = "/project/playlet/v1/reward/weal",
     /**获取当前关卡配置信息*/
-    GetCurrentLevelConfig = server_url + "/project/playlet/v1/checkPoint/conf",
+    GetCurrentLevelConfig = "/project/playlet/v1/checkPoint/conf",
     /**获取所有关卡配置信息*/
-    GetAllLevelConfig = server_url + "/project/playlet/v1/checkPoint/confAll",
+    GetAllLevelConfig = "/project/playlet/v1/checkPoint/confAll",
     /**获取当前关卡信息*/
-    GetCurrentLevelInfo = server_url + "/project/playlet/v1/checkPoint/current",
+    GetCurrentLevelInfo = "/project/playlet/v1/checkPoint/current",
     /**保存当前关卡信息*/
-    SaveCurrentLevelInfo = server_url + "/project/playlet/v1/checkPoint/saveLevelInfo",
+    SaveCurrentLevelInfo = "/project/playlet/v1/checkPoint/saveLevelInfo",
     /**下一关*/
-    NextLevel = server_url + "/project/playlet/v1/checkPoint/next",
+    NextLevel = "/project/playlet/v1/checkPoint/next",
     //重新开始游戏
-    RestartGame = server_url + "/project/playlet/v1/checkPoint/restart",
+    RestartGame = "/project/playlet/v1/checkPoint/restart",
     /**获取引导界面信息*/
-    GetGuideInfo = server_url + "/project/playlet/v1/checkPoint/guideView",
+    GetGuideInfo = "/project/playlet/v1/checkPoint/guideView",
     //更新弹窗界面状态
-    UpdatePopUpState = server_url + "/project/playlet/v1/popup/event",
+    UpdatePopUpState = "/project/playlet/v1/popup/event",
     //领取手续费
-    GetFee = server_url + "/project/playlet/v1/reward/handlingCharge",
+    GetFee = "/project/playlet/v1/reward/handlingCharge",
 
 }
 

+ 25 - 2
assets/script/game/common/manager/ServerHandler.ts

@@ -2,7 +2,7 @@
  * @Author: mojunshou 1637302775@qq.com
  * @Date: 2025-04-11 10:16:41
  * @LastEditors: mojunshou 1637302775@qq.com
- * @LastEditTime: 2025-04-30 18:33:10
+ * @LastEditTime: 2025-05-08 16:24:45
  * @Description: 
  */
 // ServerHandler.ts
@@ -15,6 +15,7 @@ import { DCHandler } from './DCHandler';
 
 export class ServerHandler {
     private static _inst: ServerHandler;
+    private serverUrl: string = ""; // 存储服务器地址
 
     public static get inst(): ServerHandler {
         if (!this._inst) {
@@ -23,6 +24,24 @@ export class ServerHandler {
         return this._inst;
     }
 
+    private constructor() {
+        // 在构造函数中初始化服务器地址
+        this.initServerUrl();
+    }
+
+    private initServerUrl() {
+        let isRelease = smc.game.GameModel.isRelease;
+        // 设置服务器地址
+        this.serverUrl = isRelease ?
+            ProtocolEvent.ReleaseServer : // 正式服
+            ProtocolEvent.TestServer;    // 测试服
+
+        //如果是本地测试,则使用本地测试地址
+        if (oops.config.game.isLocalTest) {
+            this.serverUrl = ProtocolEvent.LocalTest;
+        }
+        console.log("[ServerHandler] 当前服务器地址:", this.serverUrl);
+    }
 
     private buildCallback(success: string, fail?: string) {
         const callback: any = { onSuccess: success };
@@ -31,6 +50,11 @@ export class ServerHandler {
     }
 
     async sendMsgToServer(param: any) {
+        // 使用存储的服务器地址
+        if (param.url) {
+            param.url = this.serverUrl + param.url;
+        }
+
         const data: CocosHandlerType = {
             method: 'request.post',
             param: JSON.stringify(param)
@@ -52,7 +76,6 @@ export class ServerHandler {
 
     onWxLoginInfo(str: string) {
         //console.log('[服务器] 微信登录返回', str);
-        // let 
         this.getAccountInfo();
     }
 

+ 1 - 0
assets/script/game/initialize/view/LoadingViewComp.ts

@@ -55,6 +55,7 @@ export class LoadingViewComp extends CCVMParentComp {
 
     async enter() {
         if (DeviceUtil.isNative && DeviceUtil.isAndroid) {
+            LoginHandler.inst.getVersionStatus()
             const state = await LoginHandler.inst.getPrivacyStatus();
             if (state.data.result) {
                 //同意之后都加载一次启屏广告

+ 9 - 0
assets/script/game/model/GameModelComp.ts

@@ -192,6 +192,8 @@ export class GameModelComp extends ecs.Comp {
     /**二倍速视频广告统计*/
     _doubleSpeedAdCount: number = 0;
 
+    /***是否正式版本*/
+    _isRelease: boolean = false;
 
     /** 数据层组件移除时,重置所有数据为默认值 */
     reset() {
@@ -224,6 +226,13 @@ export class GameModelComp extends ecs.Comp {
         this.skipAdConfig = -1;
     }
 
+    set isRelease(v: boolean) {
+        this._isRelease = v;
+    }
+
+    get isRelease() {
+        return this._isRelease
+    }
 
     set doubleSpeedAdCount(v: number) {
         this._doubleSpeedAdCount = v;

+ 2 - 5
assets/script/game/view/EliminateViewComp.ts

@@ -2,7 +2,7 @@
  * @Author: mojunshou 1637302775@qq.com
  * @Date: 2025-03-20 15:01:09
  * @LastEditors: mojunshou 1637302775@qq.com
- * @LastEditTime: 2025-04-30 18:32:05
+ * @LastEditTime: 2025-05-08 14:11:01
  * @Description: 消除游戏主场景
  */
 import { _decorator, Button, Color, EventTouch, instantiate, JsonAsset, Animation, v3, Label, Node, Prefab, randomRangeInt, Sprite, tween, UITransform, Vec2, Vec3, Widget } from "cc";
@@ -183,9 +183,6 @@ export class EliminateViewComp extends CCComp {
 
     //tween时间控制变量
     private autoMoveTime: number = 0.4;  //自动移动时间
-    //再次自动放置间隔时间
-    private autoPlaceInterval: number = 0.4;
-
     //没使用颜色
     notUseColor = new Color(255, 255, 255, 255)
     //可用的颜色
@@ -272,7 +269,7 @@ export class EliminateViewComp extends CCComp {
         }
         this.updateWelfarePoint();
         DCHandler.inst.reportData(3000005);
-        oops.audio.playMusicLoop("common/audios/bgm");
+        this.playMusicLoop("common/audios/bgm");
         DCHandler.inst.reportData(3000504, smc.account.AccountModel.curLevel);
 
     }