You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
4.0 KiB
Protocol Buffer

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

syntax = "proto3";
package pb.common;
option go_package = "dcg/game/pb/common;pbCommon";
// PbUser 用户
message PbUser {
int64 uId = 1; // 用户id
string uname = 2; // 用户名
string avatar = 3; // 头像
int32 nobilityLevel = 4; // 贵族等级
int64 integral = 5; // 用户当前积分
}
// GameStatusReq 游戏状态控制 game.status
message GameStatusReq {
int32 status = 1; // 1开始新战局 2结束战局
int64 timestamp = 2; // 时间戳
}
// GameStatusResp 游戏状态控制返回值
message GameStatusResp {
bool success = 1;
int64 battleId = 2; // 战局ID | 上一场战局ID(结束时)
int64 timestamp = 3; // 时间戳
}
///////////////// 用户积分
// UserIntegralChanged 用户积分变更 push -> user.integral.change
message UserIntegralChanged {
pb.common.PbUser user = 1;
int64 change = 2; // 变更量
int64 integral = 3; // 现有量
}
// ChangeUserIntegral 更新用户积分 request -> user.integral.change
message ChangeUserIntegralReq {
int64 userId = 1; // 用户ID
int64 change = 2; // 更新积分量,负数为消耗,正数为增加
}
// ChangeUserIntegralResp 用户积分更新返回
message ChangeUserIntegralResp {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 消息
int64 userId = 3; // 用户ID
int64 change = 4; // 本次更新积分量
int64 integral = 5; // 当前剩余积分
}
//////////////////// 用户金币
// UserIntegralChanged 用户金币变更通知 push -> user.coin.change
message UserCoinChangedMsg {
pb.common.PbUser user = 1;
int64 change = 2; // 变更量
int64 current = 3; // 现有量
}
// ChangeUserIntegral 更新用户金币 request -> user.coin.change
message ChangeUserCoinReq {
int64 userId = 1; // 用户ID
int64 change = 2; // 更新量,负数为消耗,正数为增加
}
// ChangeUserIntegralResp 用户金币更新返回
message ChangeUserCoinResp {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 消息
int64 userId = 3; // 用户ID
int64 change = 4; // 变更量
int64 current = 5; // 现有量
}
// CheckInMsg 每日打卡 push -> user.checkIn
message CheckInMsg {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 消息 [打卡成功,快乐玩耍吧! | 今天已打过卡了!]
pb.common.PbUser user = 3; // 最新积分放置在user中
int64 integralChange = 4; // 积分变动
bool isCritical = 5; // 是否欧皇附体
}
// GiftPackMsg 领取礼包消息 push -> user.giftPack 命令(新手礼包|福利|低保|其它礼包)
message GiftPackMsg {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 领取消息: [成功无msg | 已经领过礼包了xxx ]
pb.common.PbUser user = 3;
int64 integralChange = 4; // 积分变动
}
// QueryIntegralMsg 用户查询信息通知 push -> user.query
message UserQueryMsg {
// RankItem 排行数据结构
message RankItem {
int32 rankType = 1; // 排行榜类型 (与pbGameZhg.RankType一致)
int64 score = 2; // 具体分数
int32 rank = 3; // 具体排名,不上榜为0
}
pb.common.PbUser user = 1; // 用户信息
repeated RankItem rank = 2; // 排行数据(多个榜)
repeated int64 titleIds = 3; // 称号ID列表具体称号配置 给接口取
}
// DanmakuMsg 普通弹幕消息 push -> live.danmaku
message DanmakuMsg {
pb.common.PbUser user = 1;
string content = 2;
}
// 赠送礼物 push -> live.gift.common | live.gift.nobility
message GiftMsg{
pb.common.PbUser user = 1;
int64 giftId = 2;
int64 num = 3;
string giftName = 4;
int64 price = 5; // 单价
bool isPaid = 6; // 是否收费礼物
}
// 奖池变动消息 push -> game.rewardPool
message RewardPoolMsg {
int64 welfarePool = 1; // 福利池,与战局无关
int64 battleId = 2; // 战局ID
int64 initReward = 3; // 初始奖池
int64 giftReward = 4; // 礼物奖池
int64 battleReward = 5; // 战斗奖池
int64 otherReward = 6; // 其它奖池
int64 allRewards = 10; // 所有奖池
}