From da18ae3155b818dbdb460660581c76cb9524bc92 Mon Sep 17 00:00:00 2001 From: chen wei bo <1025839511@qq.com> Date: Sat, 23 Aug 2025 15:45:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8D=8F=E8=AE=AE=E5=92=8C?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=A1=A8=E4=B8=A4=E4=B8=AA=E5=AD=90=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=90=8E=E7=9A=84=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Proto/base.proto | 37 ------------------------ Proto/error.proto | 28 ------------------ Proto/login.proto | 35 ----------------------- Proto/playerdata.proto | 41 --------------------------- Tools/Luban/copy.bat | 58 ++++++++++++++++++++------------------ Tools/Proto/build-proto.js | 2 +- 6 files changed, 31 insertions(+), 170 deletions(-) delete mode 100644 Proto/base.proto delete mode 100644 Proto/error.proto delete mode 100644 Proto/login.proto delete mode 100644 Proto/playerdata.proto diff --git a/Proto/base.proto b/Proto/base.proto deleted file mode 100644 index 56f070c8..00000000 --- a/Proto/base.proto +++ /dev/null @@ -1,37 +0,0 @@ - -syntax = "proto3"; -option go_package = "./pt"; -package ProtoMsg; - -import "error.proto"; - -//公用消息回复 -message CommonRsp { - ErrorCode RetCode = 1; //错误码,成功的话是0 - string ErrMsg = 2; - int32 MsgId = 3; - int32 SubMsgId = 4; - int32 DataType = 5; //数据类型,1:json数据;2:protobuff数据 - string Data = 6; //回复数据内容 -} - - - -enum MsgId { - None = 0; //空,不使用 - Account = 1; //账号相关 - PlayerData = 2; //通用玩家数据 - - Admin = 99; //管理端相关 -} - -enum SubMsgId_Account { - Account_None = 0; //空,不使用 - Login = 1; //登录 /login -} - -enum SubMsgId_PlayerData { - PlayerData_None = 0; //空,不使用 - QueryPlayerData = 1; //请求好友列表 /playerdata/query_player_data, QueryPlayerDataReq - SavePlayerData = 2; //请求新手引导信息 /playerdata/save_player_data, SavePlayerDataReq -} \ No newline at end of file diff --git a/Proto/error.proto b/Proto/error.proto deleted file mode 100644 index 4abdef26..00000000 --- a/Proto/error.proto +++ /dev/null @@ -1,28 +0,0 @@ - -syntax = "proto3"; -option go_package = "./pt"; -package ProtoMsg; - -enum ErrorCode { - - Succeed = 0; //成功 - TokenWrong = 1; //Token验证失败 - TokenExpire = 2; //Token过期 - SystemFail = 3; //系统错误 - RequestParamWrong = 4; //请求参数有误 - HeaderParamWrong = 5; //Header参数有误 - ConfigError = 6; //配置错误 - MachineIdentifierNotMathch = 7; //机器识别码不匹配 - - ModuleNotOpen = 10; //模块未开启 - - SystemError = 100; //服务端内部错误,错误原因和描述不固定 - RewardClaimed = 101; //奖励已经领取了 - ItemNotEnough = 102; //需要的物品不足 - ItemConfigNotExist = 103; //物品配置不存在 - PlayerNotExist = 104; //玩家不存在 - PlayerLevelNotEnough = 105; //玩家等级不足 - PlayerNameAlreadyExist = 106; //玩家名字已经存在 - RewardNotAchieve = 107; //奖励未达成 - -} \ No newline at end of file diff --git a/Proto/login.proto b/Proto/login.proto deleted file mode 100644 index 1436e128..00000000 --- a/Proto/login.proto +++ /dev/null @@ -1,35 +0,0 @@ - -syntax = "proto3"; -option go_package = "./pt"; -package ProtoMsg; - - -//请求登录 -message LoginReq { - string GameName = 1; //游戏名字,作为不同游戏的标识 - string Identifier = 2; //身份识别码,游客的话是设备号,微信的话是openid,googleplay用户的话是gp平台uid - int32 IdentityType = 3; //身份类型,1:游客;2:微信;3:googleplay;4:寰城 - int32 OperateType = 4; //操作类型,1:登录界面;2:断线重连;3:其他 - string ShareDeposit = 5; //微信邀请分享的寄存内容,如果不是邀请玩家,就填空 - optional string MachineIdentifier = 6; //机器设备名 - optional string SdkUid = 7; //sdk体系的UID,比如寰城 -} - -//登录回复 -message LoginRsp { - - string GameName = 1; //游戏名字 - string Identifier = 2; //身份识别码,游客的话是设备号,googleplay用户的话是gp平台uid - int32 IdentityType = 3; //身份类型,1:游客;2:微信;3:googleplay - int32 OperateType = 4; //操作类型,1:登录界面;2:断线重连;3:其他 - int64 Uid = 5; //玩家Uid - string Token = 6; //临时有效的token认证 - int64 ServerTime = 7; //服务端时间戳 - int32 TimezoneOffset = 8; //服务器时区 - string Ip = 10; //公网IP - optional string MachineIdentifier = 11; //机器设备名 - optional string SdkUid = 12; //sdk体系的UID,比如寰城 - optional bool IsNewGuide = 13; //是否新手 - optional bool IsNewRegist = 14; //是否刚注册 - optional int64 LastLoginTime = 15; //上次登陆时间 -} diff --git a/Proto/playerdata.proto b/Proto/playerdata.proto deleted file mode 100644 index 5f4d5180..00000000 --- a/Proto/playerdata.proto +++ /dev/null @@ -1,41 +0,0 @@ - -syntax = "proto3"; -option go_package = "./pt"; -package ProtoMsg; - -import "google/protobuf/descriptor.proto"; - -//请求拉取玩家数据 -message QueryPlayerDataReq { - bool IsAll = 1; //是否要全部拉取 - string GameName = 2; //游戏名字 - repeated string DataFlagList = 3; //IsAll为false时,指定要拉取的数据标识 - -} - -//返回拉取玩家数据 -message QueryPlayerDataRsp { - bool IsAll = 1; //是否要全部拉取 - string GameName = 2; //游戏名字 - repeated PlayerDataPair PlayerDataList = 3; // 玩家数据列表 -} - -//玩家数据 -message PlayerDataPair { - string DataFlag = 1; //数据标识 - string Content = 2; //数据内容 -} - - -//请求保存玩家数据 -message SavePlayerDataReq { - string GameName = 1; //游戏名字 - string DataFlag = 2; //数据标识 - string Content = 3; //数据内容 -} - -//返回保存玩家数据的结果 -message SavePlayerDataRsp { - string GameName = 1; //游戏名字 - string DataFlag = 2; //数据标识 -} diff --git a/Tools/Luban/copy.bat b/Tools/Luban/copy.bat index 7cb6069a..62c1627b 100644 --- a/Tools/Luban/copy.bat +++ b/Tools/Luban/copy.bat @@ -1,35 +1,37 @@ @echo off -setlocal EnableExtensions -rem 固定到脚本所在目录,保证相对路径生效 -pushd "%~dp0" +setlocal EnableExtensions EnableDelayedExpansion -rem 交互模式(双击)默认在末尾 pause;若传入参数 ci 则用于流水线:不 pause,返回退出码 -set PAUSE_AT_END=1 -if /i "%~1"=="ci" set PAUSE_AT_END=0 +rem 获取当前脚本所在目录 +set SCRIPT_DIR=%~dp0 -echo [GEN] ===== Client (TypeScript Bin) ===== -call gen_client.bat nopause -set EC=%errorlevel% -if %EC% NEQ 0 ( - echo [GEN][ERROR] gen_client failed. code=%EC% - if %PAUSE_AT_END%==1 pause - popd - if %PAUSE_AT_END%==0 exit /b %EC% - goto :eof +rem 获取上两级目录 +set PARENT_DIR=%SCRIPT_DIR%..\.. +rem 结合目标路径 +set CLIENT_CODE_SRC=%PARENT_DIR%\xchat_cfg\Output\Client\Code +set CLIENT_CODE_DST=%PARENT_DIR%\assets\Scripts\schema + +set CLIENT_DATA_SRC=%PARENT_DIR%\xchat_cfg\Output\Client\Data +set CLIENT_DATA_DST=%PARENT_DIR%\assets\bundles\DataTable + +rem ---- 复制 Code 文件夹内容 ---- +echo Copying Code files from %CLIENT_CODE_SRC% to %CLIENT_CODE_DST% +xcopy "%CLIENT_CODE_SRC%\*" "%CLIENT_CODE_DST%\" /E /H /Y /I +if %ERRORLEVEL% NEQ 0 ( + echo [ERROR] Failed to copy Code files. ERRORLEVEL: %ERRORLEVEL% + exit /b %ERRORLEVEL% ) +echo Code files copied successfully. -echo [GEN] ===== Server (Go JSON) ===== -call gen_server.bat nopause -set EC=%errorlevel% -if %EC% NEQ 0 ( - echo [GEN][ERROR] gen_server failed. code=%EC% - if %PAUSE_AT_END%==1 pause - popd - if %PAUSE_AT_END%==0 exit /b %EC% - goto :eof +rem ---- 复制 Data 文件夹内容 ---- +echo Copying Data files from %CLIENT_DATA_SRC% to %CLIENT_DATA_DST% +xcopy "%CLIENT_DATA_SRC%\*" "%CLIENT_DATA_DST%\" /E /H /Y /I +if %ERRORLEVEL% NEQ 0 ( + echo [ERROR] Failed to copy Data files. ERRORLEVEL: %ERRORLEVEL% + exit /b %ERRORLEVEL% ) +echo Data files copied successfully. -echo [GEN] ===== ALL DONE ===== -if %PAUSE_AT_END%==1 pause -popd -if %PAUSE_AT_END%==0 exit /b 0 +rem 完成 +echo Copy process completed successfully. + +pause diff --git a/Tools/Proto/build-proto.js b/Tools/Proto/build-proto.js index 5fb55782..e40cdc01 100644 --- a/Tools/Proto/build-proto.js +++ b/Tools/Proto/build-proto.js @@ -3,7 +3,7 @@ const { execSync } = require('child_process'); const fs = require('fs-extra'); const path = require('path'); -const SRC = path.join(__dirname, '..', '..', 'Proto'); // 源 proto 文件目录 +const SRC = path.join(__dirname, '..', '..', 'proto_cs'); // 源 proto 文件目录 const OUT_DIR = path.join(__dirname, '..', '..', 'assets', 'Scripts', 'proto'); const OUT_JS = path.join(OUT_DIR, 'proto.pb.js'); const OUT_DTS = path.join(OUT_DIR, 'proto.pb.d.ts');