game2006api/doc/_common.py
aozhiwei bc48adc7ac 1
2023-09-25 16:04:07 +08:00

1529 lines
53 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
class ReqHead(object):
def __init__(self):
self.fields = [
['account_id', '', '账号id'],
['session_id', '', '会话id'],
]
class RspHead(object):
def __init__(self, **kwargs):
self.fields = [
['errcode', 0, '错误码/0 成功1 失败2余额不足'],
['errmsg', '', '错误描述'],
]
for (key, value) in kwargs.items():
for i in range(0, len(self.fields)):
if self.fields[i][0] == key:
self.fields[i][0] = key
self.fields[i][1] = value
break
class Union(object):
def __init__(self, fields):
self.doc = 'Union 联合体的访问方式:.联合体内含结构的字段名'
self.fields = [['', f[0], f[1]] for f in fields]
class Attr(object):
def __init__(self):
self.fields = [
['attr_id', 0, '属性id'],
['type', 0, '1: 绝对值 2百分比 ---弃用字段'],
['val', 0, '属性值'],
]
class AttrDesc(object):
def __init__(self):
self.fields = [
['name', '', '属性名'],
['attr_id', 0, '属性id'],
['type', 0, '1: 绝对值 2百分比 ---弃用字段' ],
['val', 0, '属性值'],
]
class SystemCurrency(object):
def __init__(self):
self.fields = [
['name', '', '货币名称'],
['original_price', 0, '原价'],
['discount_price', 0, '折后价'],
['discount_rate', 0, '折扣百分比0-100'],
['decimals', 0, '小数位数'],
['contract_address', 0, '合约地址'],
]
class Page(object):
def __init__(self):
self.fields = [
['last_idx', '', '回传信息'],
['total', 0, '总记录数'],
['count', 0, '当前记录数'],
['per_page', 0, '每页多少条记录'],
['current_page', 0, '当前页'],
['total_pages', 0, '总页数'],
]
class Pagination(object):
def __init__(self):
self.fields = [
['total', 0, '总记录数'],
['count', 0, '当前页查到的记录数'],
['current_page', 0, '当前第几页'],
['total_page', 0, '总页数'],
]
class Gun(object):
def __init__(self):
self.fields = [
['token_id', '', 'token id'],
['gun_uniid', 0, '枪唯一id'],
['gun_id', 0, '枪id'],
['state', 0, '0已购买 1免费GIFT标签'],
['gun_lv', 0, '枪等级'],
['quality', 0, '品阶'],
['durability', 0, '耐久'],
['ceg_uplimit', 0, 'ceg今天获取上限'],
['!rand_attr', [Attr()], '枪械属性'],
['try_count', 0, '剩余体验次数 当state=1时才有意义'],
['lock_type', 0, '0:无锁 1:升级 2:升阶 3:派遣中'],
['unlock_time', 0, '使用解锁utc时间(升级或者升阶触发),锁定期间不可战斗和做其他操作,配合lock_type使用'],
['unlock_lefttime', 0, '解锁剩余时间(单位秒)'],
['trade_locktime', 0, '出售锁定时间(升级或者升阶完成后触发),单位秒,只锁交易,其他的操作仍可进行'],
['current_pvp_get_ceg', 0, '当前pvp获取的ceg数量'],
['current_pve_get_ceg', 0, '当前pve获取的ceg数量'],
['last_pvp_get_ceg_time', 0, '最后一次获取pvp获取ceg时间'],
['last_pve_get_ceg_time', 0, '最后一次获取pve获取ceg时间'],
['offer_reward_state', 0, '是否悬赏中'],
['tags', '', '1Gen状态'],
['!hero_ids', [], '被使用英雄的item_id'],
]
class GunSkin(object):
def __init__(self):
self.fields = [
['gun_id', 0, '枪支id'],
['skin_id', 0, '皮肤id'],
['try_expire_at', 0, '试用到期时间(utc时间)'],
]
class GunTalent(object):
def __init__(self):
self.fields = [
['talent_id', 0, '天赋'],
['talent_lv', 0, '天赋等级'],
]
class UserInfo(object):
def __init__(self):
self.fields = [
['activated', 0, '是否已激活'],
['rename_count', 0, '改名次数'],
['account_id', '', '账号id'],
['address', '', '钱包地址(空或者null表示没钱包)'],
['name', '', '用户名字'],
['head_id', 0, '头像id'],
['head_frame', 0, '头像框id'],
['level', 0, '等级'],
['exp', 0, '经验'],
['max_exp', 0, '经验(上限)'],
['rank', 0, '当前段位'],
['history_best_rank', 0, '历史最高段位'],
['gold', 0, '金币'],
['diamond', 0, '钻石'],
['hero_uniid', 0, '当前使用的英雄唯一ID'],
['hero_id', 0, '当前使用的英雄ID'],
['first_fight', 0, '是否是第一次战斗'],
['already_guide', 0, '是否已经引导'],
['pve_instance_id', 0, '已过pve副本id 0:一关未过'],
['!head_list', [0], '拥有的头像列表'],
['!hero_list', [0], '拥有的立绘背景列表'],
['!head_frame_list', [0], '拥有的头像框列表'],
['is_gain_item', 0, '0 为获取1 以获取'],
['guild_id', '', '工会id'],
['guild_job', 0, '工会职位'],
['guild_name', '', '工会名称'],
['parachute', '', '当前使用的降落伞id'],
['!parachute_list', [0], '拥有的降落伞列表'],
['ring_id', 0, '勋章戒指ID'],
['!ring_list', [0], '勋章(戒指)列表'],
['!honor_info', [HonorInfo()], '荣誉信息'],
]
class HonorInfo(object):
def __init__(self):
self.fields = [
['token_type',0,'NFT 类型'],
['state',0,'1使用 0未使用'],
]
class UserSimple(object):
def __init__(self):
self.fields = [
['account_id', '', '账号id'],
['address', '', '钱包地址'],
['name', '', '用户名字'],
['head_id', 0, '头像id'],
['head_frame', 0, '头像框id'],
['level', 0, '等级'],
['exp', 0, '经验'],
['gold', 0, '金币'],
['diamond', 0, '钻石'],
['hero_id', 0, '当前使用的英雄ID'],
['rank', 0, '段位'],
['score', 0, '积分'],
['pve_instance_id', 0, '已过pve副本id 0:一关未过'],
['hero_skin', 0, '出战英雄皮肤'],
]
class BcUserInfo(object):
def __init__(self):
self.fields = [
['account', '', '账号'],
['gold', 0, '金币'],
['diamond', 0, '钻石'],
]
class UserDetailInfo(object):
def __init__(self):
self.fields = [
['activated', 0, '是否已激活'],
['account_id', '', '账号id'],
['name', '', '用户名字'],
['head_id', 0, '头像id'],
['head_frame', 0, '头像框id'],
['level', 0, '等级'],
['exp', 0, '经验'],
['max_exp', 0, '经验(上限)'],
['gold', 0, '金币'],
['diamond', 0, '钻石'],
['hero_uniid', 0, '当前使用的英雄唯一ID'],
['hero_id', 0, '当前使用的英雄ID'],
['current_rank', 0, '当前段位'],
['history_best_rank', 0, '历史最高段位'],
['current_rank_score', 0, '当前赛季排位分'],
['history_best_rank_score', 0, '历史最高赛季排位分'],
['like_count', 0, '点赞次数'],
['guild_id', '', '工会id'],
['guild_job', 0, '工会职位'],
['guild_name', '', '工会名称'],
['!history_seasons', [UserHisSeason()], '历史打过的赛季列表'],
]
class UserHisSeason(object):
def __init__(self):
self.fields = [
['season_id', 0, '赛季'],
['total_kills', 0, '击杀总数(个人信息)'],
['game_times', 0, '游戏场次(个人信息)'],
['win_times', 0, '胜利场次(个人信息)'],
['win_rate', 0, '胜率(个人信息,百分比数值整数部分)'],
['max_kills', 0, '最高击杀(游戏信息)'],
['avg_kills', 0, '平均击杀(游戏信息)'],
['max_damage_out', 0, '最高伤害输出(游戏信息)'],
['avg_damage_out', 0, '平均伤害输出(游戏信息)'],
['star_kills', 0, '击败(5纬图-击败, 百分比数值整数部分)'],
['star_damage', 0, '伤害(5纬图-伤害, 百分比数值整数部分)'],
['star_alive', 0, '生存(5纬图-生存, 百分比数值整数部分)'],
['star_recover', 0, '治疗(5纬图-治疗, 百分比数值整数部分)'],
['star_win', 0, '胜利(5纬图-胜利, 百分比数值整数部分)'],
]
class Hero(object):
def __init__(self):
self.fields = [
['token_id', '', 'token id'],
['hero_uniid', 0, '英雄唯一id'],
['hero_id', 0, '英雄id'],
['hero_lv', 0, '英雄等级'],
['hero_tili', 0, '英雄体力'],
['state', 0, '0已购买 1免费GIFT标签'],
['skin_id', 0, '英雄皮肤id'],
['quality', 0, '品阶'],
['skill_lv1', 0, '主动技能等级'],
['skill_lv2', 0, '被动技能等级'],
['!rand_attr', [Attr()], '英雄属性'],
['try_count', 0, '剩余体验次数 当state=1时才有意义'],
['lock_type', 0, '0:无锁 1:升级 2:升阶 3:派遣中'],
['unlock_lefttime', 0, '解锁剩余时间(单位秒)'],
['unlock_time', 0, '使用解锁utc时间(升级或者升阶触发),锁定期间不可战斗和做其他操作,配合lock_type使用'],
['current_get_gold', 0, '当前获取的gold数量'],
['last_get_gold_time', 0, '最后一次获取gold时间'],
['gold_uplimit', 0, '每天gold上限'],
['unlock_trade_time', 0, '出售解锁utc时间(升级或者升阶完成后触发),只锁交易其他的操作仍可进行和lock_type无关是独立的锁!!!'],
['advanced_count', 0, '进阶次数'],
['offer_reward_state', 0, '是否悬赏中'],
['tags', '', '1Gen状态'],
['!avatarInfo', [AvatarInfo()], '装饰信息'],
]
class LevelingHero(object):
def __init__(self):
self.fields = [
['info', Hero(), '英雄信息'],
['countdown', 0, '倒计时'],
]
class QualityingHero(object):
def __init__(self):
self.fields = [
['trans_id', 0, 'transId'],
['state', 0, '0升阶中1可领取'],
['heroInfo', Hero(), '升阶英雄信息'],
['costHeroInfo', Hero(), '材料英雄信息'],
]
class QualityingGun(object):
def __init__(self):
self.fields = [
['trans_id', 0, 'transId'],
['state', 0, '0升阶中1可领取'],
['gunInfo', Gun(), '升阶枪械信息'],
['costGunInfo', Gun(), '材料枪械信息'],
]
class HeroSkin(object):
def __init__(self):
self.fields = [
['skin_id', 0, '英雄皮肤id'],
['is_have', 0, '是否拥有 1拥有 0未拥有'],
['use_state', 0, '选中状态 1选中 0未选中'],
]
class Item(object):
def __init__(self):
self.fields = [
['item_uniid', 0, '道具唯一id'],
['item_id', 0, '道具id'],
['item_num', 0, '道具数量'],
['!attr', [Attr()], '属性'],
]
class AwardItem(object):
def __init__(self):
self.fields = [
['item_id', 0, '道具id'],
['item_num', 0, '道具数量'],
]
class Award(object):
def __init__(self):
self.fields = [
['!items', [AwardItem()], '奖励物品列表'],
['!heros', [Hero()], '英雄信息']
]
class PropertyChg(object):
def __init__(self):
self.fields = [
['user_info', UserInfo(), '用户信息变更(用来更新本地客户端字段(有则更新无则不变))'],
['!container_chg', [''], '容器类数据变更(bag、hero、heroSkin、gunSkin, gun,chip,fragment)']
]
class CostInfoItem(object):
def __init__(self):
self.fields = [
['item_id', 0, '购买需要消耗的道具id'],
['item_num', 0, '购买需要消耗的道具数量'],
['discount', 0, '折扣百分比0-100'],
]
class CostInfo(object):
def __init__(self):
self.fields = [
['!cost_group', [CostInfoItem()], '一组扣费项目,(金币、钻石视为道具,可能有多种价格)'],
]
class PriceInfo(object):
def __init__(self):
self.fields = [
['!cost_list', [CostInfo()], '扣费方式列表'],
['discount_begin_time', 0, '折扣开始时间(utc时间)'],
['discount_end_time', 0, '折扣结束时间(utc时间)'],
]
class DiscountInfo(object):
def __init__(self):
self.fields = [
['item_id', 0, '道具id'],
['gold_discount', 0, '金币折扣百分比0-100'],
['diamond_discount', 0, '钻石折扣百分比0-100'],
]
class ItemPriceInfo(object):
def __init__(self):
self.fields = [
['item_id', 0, '道具id'],
['price_info', PriceInfo(), '价格信息'],
]
class GoodsInfo(object):
def __init__(self):
self.fields = [
['item_id', 0, '商品id'],
['item_num', 0, '堆叠个数,例如:砖石数量'],
['max_amount', 0, '最高购买数量,单次购买'],
['shop_id', 0, '所属商店id'],
['shopstage', 0, '商店层级'],
['tag', 0, '标签'],
['recommend', 0, '推荐页位置'],
['token_type', '', '代币类型 参见shopGoods表格'],
['price', '', '价格 多种价格设置使用 | 隔开'],
['discount', '', '折扣 参见shopGoods表格'],
['limit_type', 0, '限购类型'],
['limit_num', 0, '限购数量'],
['buy_cond', '', '购买条件'],
['buy_gift', '', '购买次数赠品'],
['normal_gift', '', '普通狗赠品'],
['free_type', 0, '免费类型 0:不免费 1:日刷新'],
['shop_icon', 0, '商品图标'],
['gg_product_id', 0, '谷歌商品id'],
['gg_product_id', 0, 'ios商品id'],
['bonus', 0, 'bonus'],
['bonus_num', 0, 'bonus_num'],
]
class Goods(object):
def __init__(self):
self.fields = [
['goods_id', 0, '商品唯一id'],
['goods_meta', GoodsInfo(), '商品元信息(配置表数据)'],
['bought_times', 0, '已购买次数'],
['free_num', 0, '免费次数'],
]
class NewGoods(object):
def __init__(self):
self.fields = [
['id', 0, '商品唯一id'],
['goods_id', 0, '商品id'],
['goods_num', 0, '堆叠个数,例如:砖石数量'],
['max_amount', 0, '最高购买数量,单次购买'],
['shop_id', 0, '所属商店id'],
['shopstage', 0, '商店层级'],
['tag', 0, '标签'],
['recommend', 0, '推荐页位置'],
['token_type', '', '代币类型 参见shopGoods表格'],
['price', '', '价格 多种价格设置使用 | 隔开'],
['discount', '', '折扣 参见shopGoods表格'],
['limit_type', 0, '限购类型'],
['limit_num', 0, '限购数量'],
['buy_cond', '', '购买条件'],
['buy_gift', '', '购买次数赠品'],
['normal_gift', '', '普通狗赠品'],
['bought_times', 0, '已购买次数'],
['free_type', 0, '免费类型 0:不免费 1:日刷新'],
['free_num', 0, '免费次数'],
['pending', 0, '购买中...'],
]
class Shop(object):
def __init__(self):
self.fields = [
['shop_id', 0, '商店id'],
['!goods_list1', [Goods()], '商品列表1'],
['!goods_list2', [Goods()], '商品列表2'],
]
class PayMethod(object):
def __init__(self):
self.fields = [
['id', 0, '支付方式id'],
['name', '', '支付方式名称'],
['icon', '', '支付方式图标'],
['shop_token_type', 0, '代币类型'],
['pay_way_code', 0, '支付方式code'],
]
class DailySelectionGoods(object):
def __init__(self):
self.fields = [
['id', 0, '商品表唯一id'],
['slot', "", '商品槽位'],
['goods_id', 0, '商品id'],
['goods_num', 0, '商品堆叠数量'],
['shop_icon', "", '商品图标'],
['weight', 0, '权重'],
['token_type', '', '代币类型(4|0)'],
['discount', '', '折扣(95|80)'],
['price', '', '价格(100|100000)'],
]
class Mission(object):
def __init__(self):
self.fields = [
['mission_id', 0, '任务id'],
['last_game', 0, '上局游戏完成的进度 -1不用在战斗结束展示'],
['current', 0, '任务进度-当前'],
['target', 0, '任务进度-目标'],
['state', 0, '任务状态 0:任务已完成-可领取奖励 1:可接任务(send) 2:任务进行中-未完成(不可领取)'],
['show_progress', 0, '是否显示任务进度'],
['objects!',
[
['type', '', '类型 0武器 1英雄'],
['id', '', 'id'],
],
'悬赏任务对象列表'],
['lefttime', 0, '剩余时间(悬赏任务)'],
['ceg_num', 0, '奖励ceg数量(悬赏任务)'],
]
class SeasonCardGiftPackage(object):
def __init__(self):
self.fields = [
['package_id', 0, '礼包id'],
['item_id', 0, '礼包道具表id(目前客户端没用到先不用管)'],
['state', 0, '0:未购买 1:已购买'],
['price_info', PriceInfo(), '价格信息'],
]
class SeasonCard(object):
def __init__(self):
self.fields = [
['season_id', 0, '赛季id(客户端显示为Sxxx)'],
['season_begin_time', 0, '赛季开始时间(utc时间)'],
['season_end_time', 0, '赛季结束时间(utc时间)'],
['card_lv', 0, '手册等级'],
['card_exp', 0, '手册经验'],
['card_max_exp', 0, '手册经验上限'],
['buy_level_price', 0, '等级价格(钻石)'],
['!gift_packages', [SeasonCardGiftPackage()], '礼包列表'],
['!received_level_rewards1', [0], '等级解锁的奖励已领取等级列表(普通手册)'],
['!received_level_rewards2', [0], '等级解锁的奖励已领取等级列表(精英)'],
]
class SeasonMission(object):
def __init__(self):
self.fields = [
['state', 0, '任务状态 0:可领取 1:已领取 2:未完成(不可领取)'],
['current', 0, '当前匹配场次'],
['target', 0, '目标匹配场次'],
['target_rank', 0, '目标段位'],
]
class Season(object):
def __init__(self):
self.fields = [
['season', 0, '赛季'],
['season_name', 0, '赛季name'],
['rank', 0, '段位id'],
['rank_name', 0, '段位名称'],
['score', 0, '排位分'],
['next_score', 0, '下阶段排位分'],
['season_end_time', 0, '赛季结束时间'],
['season_reward',SeasonReward(), '赛季该获得的奖励'],
['current_point', 0, '当前赛季积分'],
['total_point', 0, '所有赛季总积分'],
]
class SeasonReward(object):
def __init__(self):
self.fields = [
['item_id', 0, '奖励的item id'],
['item_num', 0, '奖励的数量'],
]
class SeasonRank(object):
def __init__(self):
self.fields = [
['ranking', 0, '排名'],
['name', 0, '用户名称'],
['head_id', 0, '头像'],
['head_frame', 0, '头像框'],
['rank', 0, '段位'],
['score', 0, '积分'],
['point', 0, 'SV积分'],
]
class SeasonData(object):
def __init__(self):
self.fields = [
['season_id', 0, '赛季id'],
['game_times', 0, '排位总场次'],
['win_times', 0, '吃鸡场次'],
['top_ten_times', 0, '挤进前十场次'],
['kill_killed', 0, '淘汰/被淘汰'],
]
class SeasonHero(object):
def __init__(self):
self.fields = [
['season_id', 0, '赛季id'],
['hero', 0, '英雄 id'],
['weapon', 0, '枪械id 例id 或 id1|id2 '],
['use_times', 0, '使用总场次'],
['win_times', 0, '吃鸡常常'],
['top_ten_times', 0, '前十场次'],
['win_rate', 0, '获胜率'],
['top_ten_rate', 0, '前十率'],
]
class RankingItem(object):
def __init__(self):
self.fields = [
['ranked', 0, '排名'],
['user', UserSimple(), '用户信息'],
['value', 0, '击杀数/吃鸡数/战斗场数/mvp数/前三名数'],
]
class RankingList(object):
def __init__(self):
self.fields = [
['type', 0, '排行榜类型 1积分榜'],
['!ranking_list', [RankingItem()], '排行榜'],
['my_ranked', RankingItem(), '我的排名(如果ranked<1则表示自己未上榜)'],
]
class GuildEx(object):
def __init__(self):
self.fields = [
['guild_id', 0, '工会id'],
['guild_name', '', '工会名称'],
['guild_badge', '', '工会头像'],
['owner_id', '', '会长id'],
['owner_name', '', '会长名称'],
]
class RankingItemEx(object):
def __init__(self):
self.fields = [
['ranked', 0, '排名'],
['user', UserSimple(), '用户信息(type为4是空数组)'],
['guild', GuildEx(), '工会信息(无工会为空数组)'],
['value', 0, '击杀数/吃鸡数/战斗场数/工会总Test_CEG收益'],
['rewardNum', 0, '奖励'],
['extraRewardNum', 0, '额外奖励'],
]
class RankingListEx(object):
def __init__(self):
self.fields = [
['type', 0, '排行榜类型 1:击杀榜 2:吃鸡榜 3:场次榜 4:工会榜'],
['pages', 0, '总页数 0表示无需分页'],
['!rows', [RankingItemEx()], '排行榜'],
['my_ranked', RankingItemEx(), '我的排名(如果ranked<1则表示自己未上榜)'],
]
class RedDot(object):
def __init__(self):
self.fields = [
['type', 0, '红点类型'],
['state', 0, '红点状态 0:无 1:有'],
]
class TeamMember(object):
def __init__(self):
self.fields = [
['account_id', '', '账号id'],
['address', '', 'openid'],
['name', '', '用户名字'],
['hero_uniId', 0, 'hero uniid'],
['hero_id', 0, 'hero itemId'],
['hero_skin', 0, '英雄皮肤 itemId'],
['head_id', 0, '头像id'],
['level', 0, '等级'],
['exp', 0, '经验'],
['rank', 0, '段位'],
['pve_instance_id', 0, 'pve难度id'],
['parachute', 0, '降落伞id'],
['presetInfo', HeroPreset(), '备战信息'],
['game_times', 0, '游戏次数'],
['win_times', 0, '胜利次数'],
['kills', 0, '击杀数'],
['is_leader', 0, '是否队长'],
['is_ready', 0, '是否准备'],
['permission', 0, '邀请许可'],
['createtime', 0, '账号创建时间'],
]
class TeamInfo(object):
def __init__(self):
self.fields = [
['map_id', '', '地图id'],
['node_id', '', 'node_id'],
['zid', '', 'zid'],
['team_uuid', '', '队伍唯一id'],
['payload', '', '透传给CMJoin'],
['match_mode', 0, '0: 匹配赛模式 1: 排位赛 3: pve'],
['pve_instance_id', 0, 'pve副本id'],
['slot_num', 0, '槽位数 >=1 && <= 4'],
['state', 0, '0:未开始 1:准备就绪(这时客户端进入长链接走组队逻辑)'],
['custom_room', CustomRoom(), '自定义房间'],
['!member_list', [TeamMember()], '队伍成员列表(包含自己)'],
]
class CustomRoom(object):
def __init__(self):
self.fields = [
['custom_room_id', '', '自定义房间的ID'],
['custom_room_state', '', '自定义房间的状态'],
['custom_room_pwd', '', '自定义房间的密码'],
]
class BuyableBox(object):
def __init__(self):
self.fields = [
['box_id', '', '箱子id'],
]
class PreSaleInfo(object):
def __init__(self):
self.fields = [
['batch_id', 0, '批次id(目前客户端没用到先不用管)'],
['countdown', 0, '预售倒计时'],
['sold_num', 0, '已售数'],
['total_num', 0, '总数'],
['state', 0, '0:预售未开始(tilte文字) 1:预售准备开始(有倒计时) 2:预售开始(title文字) 3:预售结束(title)'],
['title', '', '预售文字标题描述 '],
['hint', '', '预售文字描述'],
['buyable_list!', [BuyableBox()], '可购买商品列表'],
]
class PreSaleBox(object):
def __init__(self):
self.fields = [
['box_id', '', '箱子id'],
['item_id', 0, '道具id(根据这个读取箱子的图片)'],
['name', '', '名字'],
['job', '', '职业'],
['avatar_url', '', '头像完整url'],
['!currency_list', [SystemCurrency()], '货币列表,(目前有且只有一个)'],
]
class NftHeroDetail(object):
def __init__(self):
self.fields = [
['name', '', '英雄名'],
['job', '', '职业'],
['level', 0, '等级'],
['quality', 0, '星级'],
['hp', 0, '血量'],
['speed', 0, '速度'],
['atk', 0, '攻击'],
['def', 0, '防御'],
['advanced_count', 0, '升级次数'],
['lukcy', 0, '幸运'],
['success_rate', 0, '成功率'],
['!attr', [AttrDesc()], '属性'],
]
class NftGunDetail(object):
def __init__(self):
self.fields = [
['name', '', '枪支名'],
['level', 0, '等级'],
['quality', 0, '星级'],
['lukcy', 0, '幸运'],
['clip_volume', 0, '弹夹数'],
['reload_time', 0, '装弹时间'],
['fire_rate', 0, '射击速度'],
['atk', 0, '攻击'],
['bullet_speed', 0, '子弹速度'],
['range', 0, '射程'],
['!attr', [AttrDesc()], '属性'],
]
class NftChipDetail(object):
def __init__(self):
self.fields = [
['name', '', '芯片名'],
['!attr', [AttrDesc()], '属性'],
]
class TransactionRecrod(object):
def __init__(self):
self.fields = [
['from', '', '来源钱包'],
['date', 0, '交易日期(utc时间)'],
]
class NftDetail(object):
def __init__(self):
self.fields = [
['token_id', '', 'token id'],
['owner_address', '', '所有者地址'],
['owner_name', '', '所有名字'],
['item_id', 0, '道具id'],
['type', '', 'nft类型 1:英雄 2:枪支 3:芯片 4:盲盒'],
['image', '', 'nft图片地址'],
['state', 0, '0:正常状态 1:出售中 2:出租中'],
['lock_time', 0, '锁定时间(单位秒)'],
['hide_attr', 0, '是否隐藏属性'],
['is_genesis', 0, '是否创世nft'],
['info', Union([
[NftHeroDetail(), '英雄'],
[NftGunDetail(), '枪支'],
[NftChipDetail(), '芯片'],
]), 'nft详细信息'],
['!transaction_recrod', [TransactionRecrod()], '交易记录'],
['!currency_list', [SystemCurrency()], '货币列表,(目前有且只有一个)'],
['mint_time', 0, '铸造时间'],
]
class NftView(object):
def __init__(self):
self.fields = [
['name', '', 'nft名字'],
['description', '', 'nft描述'],
['image', '', 'nft图片'],
]
class Phase3Box(object):
def __init__(self):
self.fields = [
['box_id', '', '箱子id'],
]
class ChipAttr(object):
def __init__(self):
self.fields = [
['attr_id', 0, '属性id'],
['val', 0, '综合属性值'],
]
class Chip(object):
def __init__(self):
self.fields = [
['idx', 0, '主键id'],
['token_id', '', 'token id'],
['account_id', '', '账号id'],
['item_id', 0, '道具id'],
['item_num', 0, '道具数量'],
['chip_grade', 0, '芯片等级'],
['chip_type', 0, '芯片类型1 攻击2 防御3 辅助'],
['state', 0, '0已购买 1免费GIFT标签'],
['supper_state', 0, '是否锁定0 正常;1 锁住 ---弃用字段'],
['inlay_state', 0, '镶嵌状态0 未镶嵌;1 镶嵌了 ---弃用字段'],
['!rand_attr', [ChipAttr()], '属性'],
['tags', '', '1Gen状态'],
]
class ChipPro(object):
def __init__(self):
self.fields = [
['idx', 0, '主键id'],
['token_id', '', 'token id'],
['account_id', '', '账号id'],
['item_id', 0, '道具id'],
['item_num', 0, '道具数量'],
['chip_grade', 0, '芯片等级'],
['chip_type', 0, '芯片类型1 攻击2 防御3 辅助'],
['state', 0, '状态:0 免费;1 常规'],
['supper_state', 0, '是否锁定0 正常;1 锁住 ---弃用字段'],
['inlay_state', 0, '镶嵌状态0 未镶嵌;1 镶嵌了 ---弃用字段'],
['!rand_attr', [ChipAttr()], '属性'],
['!rand_attr_after', [ChipAttr()], '芯片升级后的属性'],
['cost',[],'升级所需gold消耗']
]
class BattleMember(object):
def __init__(self):
self.fields = [
['account_id', '', '账号id'],
['session_id', '', '会话id'],
['hero_uniid', '', '英雄唯一id'],
['weapon_uniid1', '', '武器1唯一id'],
['weapon_uniid2', '', '武器2唯一id'],
]
class Cost(object):
def __init__(self):
self.fields = [
['CEG', '', '金币'],
['CEC', '', '钻石'],
['success_rate', '', '成功率(进阶有,升级没有)'],
]
class Fragment(object):
def __init__(self):
self.fields = [
['idx', 0, '主键id'],
['token_id', '', 'token id'],
['item_id', '', '道具id'],
['balance', '', '数量'],
['createtime', 0, '创建时间'],
['modifytime', 0, '修改时间'],
]
class HisBattle(object):
def __init__(self):
self.fields = [
['battle_uuid', '', '本次比赛唯一id'],
['victory', 0, '是否胜利'],
['room_mode', 0, '0:吃鸡模式 1:歼灭模式 2:生存模式'],
['match_mode', 0, '比赛模式 1:匹配赛 2:排位赛 3: pve'],
['team_mode', 0, '组队模式 1:单人 2::多人'],
['result', '', '比赛结果 当pve模式时: 1:通关 2:通关失败 其他模式:排名'],
['kills', '', '击杀数'],
['hero_id', '', '英雄id'],
['weapon1_id', '', '武器1 id'],
['weapon2_id', '', '武器2 id'],
['level_class', 0, '段位'],
['score', 0, '段位-积分'],
['score_change', 0, '段位-积分变更'],
['pve_score', 0, 'pve积分 pve模式'],
['map_id', 0, '地图id'],
['pve_instance_id', 0, '副本id'],
['end_time', 0, '战斗时间 utc时间 客户端自己处理时区问题'],
]
class BattleReport(object):
def __init__(self):
self.fields = [
['battle_uuid', '', '本次比赛唯一id'],
['match_mode', 0, '比赛模式 1:匹配赛 2:排位赛 3: pve'],
['team_mode', 0, '组队模式 1:单人 2::多人'],
]
class BattleCegReward(object):
def __init__(self):
self.fields = [
['hero_uniid', '', '唯一id'],
['id', '', 'id'],
['gold_uplimit', 0, '当前ceg数量'],
['obtain_gold', 0, '实际获得ceg数量'],
['curr_gold', 0, 'ceg数量上限'],
]
class BattleItemReward(object):
def __init__(self):
self.fields = [
['item_id', 0, '道具id'],
['item_num', 0, '道具数量'],
]
class BattleRankScore(object):
def __init__(self):
self.fields = [
['old_rank', 0, '战斗前段位'],
['old_score', 0, '战斗前排位分'],
['new_rank', 0, '战斗后段位'],
['new_score', 0, '战斗后排位分'],
]
class BattleHistory(object):
def __init__(self):
self.fields = [
['idx', 0, '唯一id'],
['battle_uniid', 0, '战斗记录唯一id'],
['account_id', '', '用户 account_id'],
['room_mode', 0, '0: pvp 1: pve'],
['pvp_mode', 0, '0: 匹配 1: 排位'],
['team_mode',0, '0:单人 1组队'],
['battle_rank', 0, '战斗排名'],
['team_rank',0, '团队排名'],
['is_win', 0, 'pve冒险是否胜利'],
['kills',0, '击杀数'],
['hero_id',0, '英雄 id'],
['weapon1', 0, '枪械1 id'],
['weapon2', 0, '枪械2 id'],
['damage', 0, '伤害'],
['battle_end_time', 0, '战斗结束时间'],
['current_level_class', '', '当前用户段位'],
['current_level_class_score', 0, '当前用户排位分'],
['level_class_score_chg', 0, '排位分改变'],
['pve_rank_score', 0, 'pve冒险积分'],
['pve_kill_boss', 0, 'pve冒险是否击杀BOSS'],
['battle_foreign_key', 0, '结算外键'],
['pve_instance_id', 0, 'pve副本难度id'],
['pve_instance_mode', 0, 'pve副本mode'],
]
class NftTransaction(object):
def __init__(self):
self.fields = [
['trans_id', 0, 'trans_id'],
['item_id', 0, '道具id'],
['action', 0, '动作'],
['time', 0, '时间'],
['status', 0, '1:已完成 2:等待中'],
]
class EventRankingList(object):
def __init__(self):
self.fields = [
['id', 0, 'id'],
['wave', 0, '活动轮数'],
['themeType', 0, '1 击杀榜,2 吃鸡榜,3 场次榜,4 工会榜'],
['themeName', '', '活动名称'],
['startTime', '', '开始时间'],
['endTime', '', '结束时间'],
['status', 0, '0:已结束 1:进行中 2:等待中'],
]
class Currency(object):
def __init__(self):
self.fields = [
['account_id', '', 'account_id'],
['net_id', 0, '链id'],
['address', '', '货币地址'],
['symbol', '', '符号'],
['precision', 0, '精度'],
['type', 0, '1:ERC721 2:ERC1155 3:ERC20'],
]
class Emoji(object):
def __init__(self):
self.fields = [
['item_id', 0, 'item_id'],
['state', 0, '1:使用 0未使用'],
]
class ChipPageList(object):
def __init__(self):
self.fields = [
['idx', 0, 'idx'],
['account_id', 0, 'account_id'],
['page_id', 0, '页id'],
['page_name', '', '页名'],
['createtime', 0, '创建时间'],
]
class ChipPage(object):
def __init__(self):
self.fields = [
['idx', 0, 'idx'],
['page_id', 0, '页id'],
['page_name', '', '页名'],
['!data', [ChipPageSlot()], '卡槽信息'],
['!attr', [Attr()], '属性信息'],
]
class ChipPageSlot(object):
def __init__(self):
self.fields = [
['slot_id', 0, '卡槽id'],
['state', 0, '0未解锁 1已解锁'],
['chip_id', '', '芯片idx'],
]
class HeroPreset(object):
def __init__(self):
self.fields = [
['skill_id', 0, '技能item id'],
['weapon_uid1', 0, '武器1唯一id'],
['weapon_uid2', 0, '武器2唯一id'],
['gun_id1', 0, '武器1 item id'],
['gun_id2', 0, '武器2 item id'],
['chip_page', 0, '芯片页id'],
]
class TeamReportMember(object):
def __init__(self):
self.fields = [
['account_id', '', '账号id'],
['name', '', '名字'],
['head', 0, '头像id'],
['head_frame', 0, '头像框'],
['sex', 0, '性别'],
['dead', 0, '是否已死亡'],
['is_mvp', 0, '是否mvp'],
['hero_id', 0, '英雄id'],
['hero_uniid', 0, '英雄uniid'],
['hero_quality', 0, '英雄quality'],
['game_time', 0, '游戏时间'],
['alive_time', 0, '存活时间'],
['ranked', 0, '排名'],
['kills', 0, '击杀数'],
['damage_out', 0, '伤害输出'],
['weapon_uuid1', '', 'weapon_uuid1'],
['weapon_uuid2', '', 'weapon_uuid2'],
['rescue_teammate_times', 0, '救起队友次数'],
['diving_times', 0, '潜水次数'],
['damage_in', 0, '伤害输入'],
['recover_hp', 0, '治疗量'],
['open_airdrop_times', 0, '开启空投补给次数'],
['use_medicine_times', 0, '使用药物次数'],
['destory_car_times', 0, '破坏载具次数'],
['use_camouflage_times', 0, '使用伪装物'],
['use_skill_times', 0, '使用技能次数'],
['ride_car_move_distance', 0, '驾驶或乘坐载具累计移动X米'],
['ride_car_kills', 0, '驾驶或乘坐载具累计击杀X个敌人'],
['max_hero_skill_lv', 0, '单局内英雄技能升级到X级'],
['weapons_type', '', '武器信息 weapon_id:kills:damage_out:obtain_count|'],
['weapons_slot', '', '武器信息 weapon_id:use_times|'],
['heros', '', '武器信息 hero_id:skill_lv:weapon_lv|'],
['pvp_kill', 0, 'pvp击杀敌人数'],
['pvp_damage', 0, 'pvp上海总量'],
['pvp_assist', 0, 'pvp助攻'],
['pvp_survia_time', 0, 'pvp存活时间(毫秒)'],
['pvp_recover', 0, 'pvp治疗总量'],
['pvp_rescue', 0, 'pvp救援'],
['pvp_personal_rank', 0, 'pvp个人排名'],
['pve_order', 0, 'pve波次'],
['pve_score', 0, 'pve分数'],
['pve_star', 0, 'pve星'],
['pve_damage', 0, 'pve伤害总量'],
['pve_revive', 0, 'pve复活次数'],
['pve_survia_time', 0, 'pve存活时间(毫秒)'],
['pve_wave', 0, 'pve波次'],
['pve_max_wave', 0, 'pve最大波次'],
['pve_boss_killed', 0, 'pve副本boss是否被击杀'],
['pve_rank_score', 0, 'pve积分'],
]
class TeamReportTeam(object):
def __init__(self):
self.fields = [
['team_id', 0, '队伍id'],
['!members', [['account_id', '', '账号id']], '枪械属性'],
]
class BattleSettlement(object):
def __init__(self):
self.fields = [
['version', 0, '版本'],
['battle_uuid', 0, '本次战斗唯一id'],
['team_id', 0, '队伍id'],
['room_uuid', 0, '房间唯一id'],
['room_mode', 0, '0:pvp 1: pve'],
['team_mode', 0, '0:个人 1:组队(保留)'],
['game_over', 0, '游戏是否结束'],
['victory', 0, '是否胜利(pvp吃鸡 pve是否通关)'],
['watchable', 0, '是否可观战,小胡那的接口写死0(看历史不可观战)'],
['map_id', 0, '地图id'],
['settlement_status', 0, '0: 结算中(读取个人结算数据) 1已结算(请求小胡接口)'],
['pvp_settlement_type', 0, '結算類型0:個人 1:組隊(保留)'],
['pvp_settlement_color', 0, '0灰 1'],
['pvp_team_rank', 0, '队伍排名'],
['pvp_total_human_num', 0, '房间总人数'],
['pvp_alive_human_num', 0, '房间剩余存活人数'],
['pvp_total_team_num', 0, '本次战斗队伍总数'],
['pvp_match_mode', 0, '比赛模式 0: pvp 1:排位赛'],
['pve_settlement_color', 0, '0灰 1'],
['pve_wave', 0, 'pve波次'],
['pve_max_wave', 0, 'pve总波次'],
['pve_instance_id', 0, 'pve副本id'],
['!members', [BattleSettlementMembersInfo()], '队伍成员信息'],
]
class BattleSettlementMembersInfo(object):
def __init__(self):
self.fields = [
['account_id', 0, '账号id(真人才有account_id)'],
['name', '', '玩家名字'],
['head', 0, '头像id'],
['head_frame', 0, '头像框'],
['sex', 0, '性别'],
['hero_uniid', 0, '英雄uniid'],
['hero_id', 0, '英雄itemId'],
['dead', 0, '是否已死亡'],
['is_mvp', 0, '是否mvp'],
['old_rank', 0, '老段位'],
['new_rank', 0, '新段位'],
['old_score', 0, '老段位积分'],
['new_score', 0, '新段位积分'],
['pvp_kill', 0, 'pvp击杀敌人数'],
['pvp_damage', 0, 'pvp伤害总量'],
['pvp_assist', 0, 'pvp助攻'],
['pvp_survia_time', 0, 'pvp存活时间(毫秒)'],
['pvp_recover', 0, 'pvp治疗总量'],
['pvp_rescue', 0, 'pvp救援'],
['pvp_personal_rank', 0, '个人排名'],
['pve_order', 0, 'pve波次'],
['pve_score', 0, 'pve分数'],
['pve_star', 0, 'pve星'],
['pve_damage', 0, 'pve伤害总量'],
['pve_revive', 0, 'pve复活次数'],
['pve_survia_time', 0, 'pvp存活时间(毫秒)'],
['pve_wave', 0, 'pve波次'],
['pve_max_wave', 0, 'pve总波次'],
['pve_boss_killed', 0, 'pve副本boos是否被击杀'],
['reward', BattleReward(), 'reward'],
]
class BattleReward(object):
def __init__(self):
self.fields = [
['hero', BattleCegReward(), '英雄奖励'],
['!items', [BattleItemReward()], '碎片奖励'],
]
class Reward(object):
def __init__(self):
self.fields = [
['id', 0, 'id'],
['group', '', 'group'],
['goods_id', 0, 'goods_id'],
['goods_num', 0, '堆叠数量'],
['shop_icon', 0, '商店图标'],
]
class Sign(object):
def __init__(self):
self.fields = [
['sign_id', 0, '签到id'],
['days', 0, '累计天数'],
['condition', 0, '签到条件(天数)'],
['is_receive', 0, '领取状态 0可领取 1已领取 -1未达到'],
['!award', [AwardItem()], '奖励信息'],
]
class ShopTrans(object):
def __init__(self):
self.fields = [
['trans_id', '', 'trans_id'],
['!params', [''], 'params'],
['item_id', 0, 'item_id'],
['item_num', 0, 'item_num'],
]
class BlindBoxResult(object):
def __init__(self):
self.fields = [
['item_id', 0, 'item_id'],
['item_num', 0, 'item_num'],
]
class InappPurchaseRecord(object):
def __init__(self):
self.fields = [
['productId', '', '商品id'],
['gameOrderId', '', '游戏订单id'],
['orderId', '', 'google订单id'],
['status', 0, '订单状态'],
]
class TransactionRecordNew(object):
def __init__(self):
self.fields = [
['idx', '', 'idx'],
['createtime', 0, '交易成功时间'],
['order_id', 0, 'market订单id'],
['o_link', '', '合约订单id'],
['seller', '', '卖家'],
['buyer', '', '买家'],
['tokenid', '', 'tokenid'],
['amount', 0, '商品数量'],
['name', '', '商品名称'],
['type', 0, '商品类型'],
]
class CurrencyType(object):
def __init__(self):
self.fields = [
['name', '', '货币名称'],
['address', '', '货币地址'],
]
class MarketGoods(object):
def __init__(self):
self.fields = [
['order_id', '', '订单id'],
['token_id', '', 'token_id'],
['nft_token', '', 'nft_token'],
['amount', '', 'amount'],
['seller', '', '售卖方'],
['currency', '', '货币'],
['price', '', '出售价格'],
['selltime', 0, '上架时间'],
['updatetime', 0, '修改时间(更新价格等)'],
['details', NftDetail(), 'nft列表'],
]
class MallGoods(object):
def __init__(self):
self.fields = [
['goods_uuid', '', '商品唯一id'],
['seller', '', '出售方账号'],
['seller_address', '', '出售方钱包地址'],
['item_id', '', '商品道具id'],
['item_num', '', '道具数量'],
['currency', '', "选用币种 目前只支持CEG USDC USDT"],
['price', '', '出售价格'],
['selltime', 0, '上架时间'],
['updatetime', 0, '修改时间(更新价格等)'],
['cancel_countdown', 0, '可下架时间倒计时:-1不可下架'],
['modify_countdown', 0, '可修改价格倒计时:-1不可修改价格'],
]
class ComputingPowerCurr(object):
def __init__(self):
self.fields = [
# ['current_state', '', '周期状态 -1:算力周期未开始 0:正常周期 1:等待周期 2:维护周期'],
['period_begin', '', '本期开始时间(0 不显示)'],
['period_end', '', '本期结束时间(0 不显示)'],
['await_time', '', '结算等待时间'],
['assignable_cec', '', '可分配的总cec奖励'],
# ['total_target', '', '全服算力总目标'],
# ['refresh_remain_time', '', '刷新剩余时间'],
['total_hash_rate', '', '全服总兑换算力'],
['total_exchange_hash_rate', '', "玩家已兑换算力"],
]
class ComputingPowerReward(object):
def __init__(self):
self.fields = [
['cec', 0, 'cec奖励'],
['point', 0, '科技值'],
]
class ComputingPower(object):
def __init__(self):
self.fields = [
['period_state', 0, '周期状态 -1:算力周期未开始 0:正常周期 1:等待周期 2:维护周期'],
['curr_period', ComputingPowerCurr(), '本期相关信息'],
['curr_reward', ComputingPowerReward(), '本期奖励信息'],
['listing_state', 0, 'listing状态 0:之前 1:之后'],
['owned_cec', 0, '拥有的cec数量'],
['owned_total_hash_rate', 0, '用户总科技值'],
]
class CrystalUI(object):
def __init__(self):
self.fields = [
['item_id', 0, 'item_id'],
['pending', 0, 'pending'],
['total', CrystalUIParam(), '统计信息'],
['claimed', 0, '已领取的数量'],
['state', 0, '是否能领取 1可领取 0反之'],
]
class CrystalUIParam(object):
def __init__(self):
self.fields = [
['param1', 0, '击杀数/其它晶体的价值数'],
['param2', 0, '星星数'],
['param3', 0, '升段数'],
]
class ExchangeCrystalRecord(object):
def __init__(self):
self.fields = [
['item_id', 0, '晶体item'],
['item_num', 0, '晶体数'],
['createtime', 0, '领取时间'],
]
class ExchangeCrystalNum(object):
def __init__(self):
self.fields = [
['num1', 0, '本期晶体260001兑换数'],
['num2', 0, '本期晶体260002兑换数'],
['num3', 0, '本期晶体260003兑换数'],
['num4', 0, '本期晶体260004兑换数'],
]
class CECRewardHistory(object):
def __init__(self):
self.fields = [
['hash_rate', 0, '算力数量'],
['cec_num', 0, 'cec数量'],
['state', 0, '领取状态 1全部领取 0反之'],
['week1', 0, '1已领取 反之则是发放的时间戳'],
['week2', 0, '1已领取 反之则是发放的时间戳'],
['week3', 0, '1已领取 反之则是发放的时间戳'],
['week4', 0, '1已领取 反之则是发放的时间戳'],
['txHash1', 0, '第一周地址'],
['txHash2', 0, '第二周地址'],
['txHash3', 0, '第三周地址'],
['txHash4', 0, '第四周地址'],
['create_time', 0, '结算时间'],
['pending_num', 0, '剩余未领取的cec数量'],
]
class Staking(object):
def __init__(self):
self.fields = [
['type', 0, '1: planet 2: badge 3:cec'],
['is_open', 0, '功能是否开启'],
['staked_quant', 0, '质押数量'],
['claim_rewards', 0, '当前类型自从已产出利息累计'],
['daily_rewards', 0, '每天产出的利息总和'],
['staking_value', 0, '在质押状态的价值总和'],
['maturity_quant', 0, '已到期资产的数量'],
]
class StakingDetail(object):
def __init__(self):
self.fields = [
['trans_id', '', '本次质押交易唯一id'],
['token_id', '', 'token id'],
['token_type', '', 'token type'],
['contract_address', '', 'contract address'],
['net_id', '', 'net_id'],
['order_id', '', 'order_id'],
['start_time', '', '质押开始时间'],
['stake_time', '', '质押时间'],
['redeem_time', '', '赎回时间'],
['txhash', '', 'txhash'],
['item_id', 0, '道具id'],
['stacked_num', 0, '质押数量'],
['total_rewards', 0, '该nft已产生的利息'],
['daily_rewards', 0, '该nft每天可以产生多少利息'],
['cec_value', 0, '该nft的价值'],
['cec_rewards', 0, '该nft结算得到的ceg数量'],
['stacked_days', 0, '该nft质押的总天数'],
['remain_days', 0, '该nft剩余质押天数'],
]
class StakingPreview(object):
def __init__(self):
self.fields = [
['time', 0, '天数'],
['interest', 0, '利息'],
]
class AvatarInfo(object):
def __init__(self):
self.fields = [
['avatar_uniid', '', '装饰唯一id'],
['account_id', '', 'account_id'],
['token_id', '', 'token_id'],
['item_id', 0, 'item_id'],
['item_type', 0, '1:翅膀'],
['status', 0, '0:为穿戴 1:已穿戴'],
['hero_uniid', 0, '穿戴的英雄唯一id'],
]
class BattleData(object):
def __init__(self):
self.fields = [
['account_id','','account_id'],
['session_id','','session_id'],
['battle_uuid','','battle_uuid'],
['match_mode',0,'0:匹配 1:排位 2:pve'],
['rank', 0, '当前段位'],
['name','','用户名字'],
['level',0,'用户等级'],
['revive_coin',0,'复活币'],
['hero_uniid',0,'英雄 uniid'],
['hero_id',0,'英雄 item id'],
['weapon_uuid1',0,'武器1 uniid'],
['weapon_uuid2',0,'武器2 uniid'],
['parachute',0,'降落伞 item id'],
['hero_skin',0,'英雄皮肤 item id'],
['skill_id',0,'备战技能 item id'],
['battle_times',0,'战斗次数'],
['chip_page', Attr(),'铭文页属性'],
['hero_dto','','英雄详情'],
['weapon_dto1','','武器1详情'],
['weapon_dto2','','武器2详情'],
]
class BattleTeam(object):
def __init__(self):
self.fields = [
['team_uuid','','队伍唯一id'],
['!members', BattleData(), '成员数据'],
]