添加协议和配置表两个子模块后的整理

This commit is contained in:
chen wei bo
2025-08-23 15:46:13 +08:00
parent 882141b2b3
commit da18ae3155
6 changed files with 31 additions and 170 deletions
-37
View File
@@ -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; //数据类型,1json数据;2protobuff数据
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
}
-28
View File
@@ -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; //奖励未达成
}
-35
View File
@@ -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:googleplay4:寰城
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:微信;3googleplay
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; //上次登陆时间
}
-41
View File
@@ -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; //数据标识
}
+30 -28
View File
@@ -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
+1 -1
View File
@@ -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');