# -*- 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 失败'], ['errmsg', '', '错误描述'], ['contributionPoint', '', '贡献点'], ] 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 JwtHeader = [ 'Authorization Bearer {JwtToken}' ] PassportJwtHeader = [ 'Authorization Bearer {JwtToken} passport jwt' ] JcJwtHeader = [ 'Authorization Bearer {JwtToken} 洪亮 jwt(小狐狸)' ] MaybeJwtHeader = [ 'Authorization Bearer {JwtToken} 可选参数' ] LoginRequired = 'login required' 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', '', '1:Gen状态'], ['!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()], '荣誉信息'], ['account_lucky', 0, '用户幸运值'], ['chest_rate', 0, '宝箱概率'], ] class UserBattleInfo(object): def __init__(self): self.fields = [ ['user_info', UserInfo(), '用户信息'], ['hero_info', Hero(), '上阵英雄信息'], ] 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', '', '工会名称'], ] class UserChartInfo(object): def __init__(self): self.fields = [ ['total_kills', 0, '击杀总数(个人信息)'], ['game_times', 0, '游戏场次(个人信息)'], ['win_times', 0, '胜利场次(个人信息)'], ['kills_avg', 0, '场均击杀'], ['assist_avg', 0, '场均助攻'], ['damage_avg', 0, '场均伤害'], ['recover_avg', 0, '场均恢复'], ['alive_avg', 0, '场均生存(4v4模式下才有)'], ['level_avg', 0, '场均等级(moba模式下才有)'], ['star_kills', 0, '击败(5纬图-击败, 百分比数值整数部分)'], ['star_damage', 0, '伤害(5纬图-伤害, 百分比数值整数部分)'], ['star_assist', 0, '助攻(5纬图-生存, 百分比数值整数部分)'], ['star_recover', 0, '治疗(5纬图-治疗, 百分比数值整数部分)'], ['star_alive', 0, '生存(5纬图-胜利, 百分比数值整数部分,4v4模式下才有)'], ['star_level', 0, '等级(5纬图-胜利, 百分比数值整数部分,moba模式下才有)'], ] 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'], ['skin_uniid', 0, '英雄皮肤uniid'], ['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', '', '1:Gen状态'], ['!avatarInfo', [AvatarInfo()], '装饰信息'], ['ability', Ability(), '属性'], ['ability_addition', Ability(), '属性-加成'], ['lucky', 0, '幸运值'], ['wealth', 0, '财富值'], ['lucky_base', 0, '英雄自身幸运值'], ['wealth_base', 0, '英雄自身财富值'], ['lucky', 0, '英雄最大幸运值'], ['wealth', 0, '英雄最大财富值'], ['seal_type', 0, '0:未封存 1:已封存'], ['unseal_time', 0, '解封时间'], ['valid_time', 0, '最大有效时间'], ['valid_lefttime', 0, '剩余有效时间'], ['is_old', 0, '0:展示红点 1:不用展示'], ] 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 = [ ['idx', 0, 'uniid'], ['account_id', 0, 'account_id'], ['skin_id', 0, '英雄皮肤id'], ['hero_uniid', 0, '所穿戴的英雄 0=未穿戴'], ['skin_state', 0, ' 0=封装,1=解封'], ['used', 0, ' 0=未使用,1=使用中'], ['is_old', 0, ' 0:展示红点 1:不用展示'], ['!rand_attr', [Attr()], ' 战斗属性'], ['lucky', 0, '幸运值'], ['wealth', 0, '财富值'], ] class Item(object): def __init__(self): self.fields = [ ['item_uniid', 0, '道具唯一id'], ['item_id', 0, '道具id'], ['item_num', 0, '道具数量'], ['is_old', 0, '0:展示红点 1:不用展示'], ['!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()], '英雄信息'], ['!chips', [Chip()], '芯片信息'], ] 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 Ability(object): def __init__(self): self.fields = [ ['hp', 0, '血量'], ['attack', 0, '攻击'], ['defence', 0, '防御'], ['block', 0, '格挡'], ['critical', 0, '暴击'], ] 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'], ['function', 0, '购买方式'], ] 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标签)'], ['inlay_state', 0, '镶嵌状态:0 未镶嵌;1 镶嵌了 '], ['!rand_attr', [ChipAttr()], '属性'], ['tags', '', '1:Gen状态'], ['quality', '', '品阶'], ['is_old', '', '0:展示红点 1:不用展示'], ] 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:未使用'], ['left_time', 0, '剩余时间'], ] class ChipPage(object): def __init__(self): self.fields = [ ['idx', 0, 'idx'], ['hero_uniid', 0, '英雄唯一id'], ['!data', [ChipPageSlot()], '卡槽信息'], ['!attr', [Attr()], '属性信息'], ] class ChipPageSlot(object): def __init__(self): self.fields = [ ['slot_id', 0, '卡槽id'], ['slot_type', 0, '卡槽类型(和芯片类型对应)1 攻击;2 防御;3 辅助'], ['state', 0, '0:未解锁 1:已解锁'], ['chip_id', '', '芯片唯一id'], ['item_id', '', '芯片itemId'], ['quality', '', '芯片品阶'], ] 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, '是否已死亡'], ['dead_times', 0, '死亡次数'], ['is_mvp', 0, '是否mvp'], ['hero_id', 0, '英雄id'], ['hero_uniid', 0, '英雄uniid'], ['hero_quality', 0, '英雄quality'], ['game_time', 0, '游戏截止时间(utc时间)'], ['game_duration', 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|'], ['is_run_away', 0, '是否逃跑(在没结算前主动退出也算逃跑还)'], ['skin_id', 0, '皮肤id'], ['move_distance', 0, '行走距离'], ['full_level_idx', 0, '第几个满级索引(0:未满级 1:第一个 2:第二个等等)'], ['hero_lv', 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, '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, '是否已死亡'], ['dead_times', 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是否被击杀'], ['battle_score', 0, '表现分'], ['!reward', [BattleItemReward()], 'reward'], ] 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 InGameMallGoods(object): def __init__(self): self.fields = [ ['seller', '', '出售方账号'], ['seller_address', '', '出售方钱包地址'], ['goods_uniid', '', '商品唯一id'], ['item_id', '', '商品道具id'], ['item_num', '', '道具数量'], ['price', '', '出售价格'], ['status', '', '0:出售中 1:已购买 2:已取消'], ['createtime', 0, '上架时间'], ['last_modify_price_time', 0, '修改时间(更新价格等)'], ] 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奖励'], ['cec_pool', '', '总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, '用户总科技值'], ['owned_total_crystal', 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(), '成员数据'], ] class MatchMember(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 MatchTeam(object): def __init__(self): self.fields = [ ['team_uuid','','队伍唯一id'], ['!members', BattleData(), '成员数据'], ] class MatchInfo(object): def __init__(self): self.fields = [ ['state',0,'状态 0:匹配中 1:匹配成功'], ['!team_list', MatchTeam(), '队伍列表(客户端自行判断所属哪个队伍)'], ['join_msg', SpecJoin(), '匹配成功后改字段才有意义,传给CMJoin里的参数(team_uuid、payload)'], ] class SpecJoin(object): def __init__(self): self.fields = [ ['team_uuid', '', '自定义房间、moba房间会修改玩家原始team_uuid,所以用这个新的team_uuid替换之前CMJoin里的team_uuid'], ['payload', '', '透传数据'], ] class MFRoomReportTeam(object): def __init__(self): self.fields = [ ['battle_uuid', '', 'battle_uuid'], ['team_id', 0, '队伍id'], ['victory', 0, '是否胜利(pvp:吃鸡 pve:通关 moba:胜利)'], ['pvp_settelement_type', 0, 'pvp结算类型 0:个人 1:组队'], ['pvp_settelement_color', 0, ''], ['pvp_team_rank', 0, 'pvp队伍排名'], ['pvp_total_human_num', 0, 'pvp房间总人数'], ['pvp_alive_human_num', 0, 'pvp房间剩余存活数'], ['pvp_total_team_num', 0, 'pvp战斗队伍总数'], ['pvp_match_mode', 0, '0: pvp 1:排位赛'], ['pvp_team_kills', 0, 'pvp队伍击杀数'], ['pve_settelement_type', 0, 'pve结算类型 0:个人 1:组队'], ['pve_instance_id', 0, 'pve副本id'], ['pve_wave', 0, 'pve波次'], ['pve_max_wave', 0, 'pve最大波次'], ['!members', [TeamReportMember()], '成员数据'], ] class MFAttachment(object): def __init__(self): self.fields = [ ['itemid', 0, '道具id'], ['itemnum', 0, '道具数量'], ] class MFGameMail(object): def __init__(self): self.fields = [ ['mailid', '', '邮件id'], ['subject', '', '邮件主题'], ['content', '', '邮件正文'], ['flags', 0, '邮件标志 1<<0:已读'], ['sendtime', 0, '发送时间'], ['expiretime', 0, '过期时间'], ['!attachments', [MFAttachment()], ''], ] class MFTransactionRequest(object): def __init__(self): self.fields = [ ['to', '', '调用的目标合约地址'], ['data', '', '包含报文相关的字节字符串'], ] class NftHomeMeta(object): def __init__(self): self.fields = [ ['name', '', 'nft名字'], ['symbol', '', 'symbol'], ['description', '', 'nft描述'], ['image', '', 'nft图片地址'], ['external_link', '', 'nft链接'], ] class NftAttribute(object): def __init__(self): self.fields = [ ['trait_type', '', '属性名'], ['value', '', '属性值'], ] class NftHeroMeta(object): def __init__(self): self.fields = [ ['name', '', 'nft名字'], ['description', '', 'nft描述'], ['image', '', 'nft图片地址'], ['!attrigutes', [NftAttribute()], 'nft属性'], ] class NftGoldBullionMeta(object): def __init__(self): self.fields = [ ['name', '', 'nft名字'], ['description', '', 'nft描述'], ['image', '', 'nft图片地址'], ['!attrigutes', [NftAttribute()], 'nft属性'], ] class StreamPage(object): def __init__(self): self.fields = [ ['next_cursor', '', '下一页游标'], ['previous_cursor', '', '前一页游标'], ['remaining', 0, '是否有更多数据'], ] class NftHeroDetailNew(object): def __init__(self): self.fields = [ ['quality', 0, '星级'], ['max_mining_days', 0, '打金天数(最大)'], ['wealth', 0, '财富值'], ['lucky', 0, '幸运值'], ['hp', 0, '血量'], ['atk', 0, '攻击'], ['def', 0, '攻击'], ['block', 0, '格挡'], ['crit', 0, '暴击'], ['chip_slots', 0, '芯片槽数'], ['combat_ability_1', '', '战斗能力1'], ['combat_ability_2', '', '战斗能力2'], ] class NftGoldBullionDetail(object): def __init__(self): self.fields = [ ['gold_coins', 0, '金币数'], ] class NftInfo(object): def __init__(self): self.fields = [ ['net_id', 0, '链id'], ['contract_address', 0, '合约地址'], ['token_id', '', 'token id'], ['owner_address', '', '所有者地址'], ['meta_url', '', '元数据url'], ['name', '', 'nft名字'], ['item_id', 0, '道具id'], ['type', '', 'nft类型 1:英雄 11:金砖'], ['image', '', 'nft图片地址'], ['on_sale', 0, '是否出售中'], ['detail', Union([ [NftHeroDetailNew(), '英雄'], [NftGoldBullionDetail(), '英雄'], ]), 'nft详细信息'], ] class MarketGoods(object): def __init__(self): self.fields = [ ['event', '', 'json格式订单webhooks事件信息imtbl_zkevm_order_updated https://docs.immutable.com/docs/zkEVM/products/blockchain-data/webhooks/webhooks-orders'], ['nft', NftInfo(), 'nft信息'], ['in_shopcart', 0, '商品是否已在购物车里'], ] class SaleGoods(object): def __init__(self): self.fields = [ ['event', '', 'json格式订单webhooks事件信息imtbl_zkevm_activity_sale https://docs.immutable.com/docs/zkEVM/products/blockchain-data/webhooks/webhooks-orders'], ['nft', NftInfo(), 'nft信息'] ] class AssetNftInfo(object): def __init__(self): self.fields = [ ['net_id', 0, '链id'], ['contract_address', 0, '合约地址'], ['token_id', '', 'token id'], ['owner_address', '', '所有者地址'], ['meta_url', '', '元数据url'], ['name', '', 'nft名字'], ['item_id', 0, '道具id'], ['on_sale', 0, '是否出售中'], ['type', '', 'nft类型 1:英雄 11:金砖'], ['image', '', 'nft图片地址'], ['detail', Union([ [NftHeroDetailNew(), '英雄'], [NftGoldBullionDetail(), '英雄'], ]), 'nft详细信息'], ] class ChainActivity(object): def __init__(self): self.fields = [ ['nft', NftInfo(), 'nft信息'], ['type', '', '1:mint 2:lock 3:unlock'], ['from', '', 'from'], ['to', '', 'to'], ['date', '', '事件发生时间'], ] class RechargeCurrency(object): def __init__(self): self.fields = [ ['name', '', '货币名'], ['address', '', '货币地址'], ] class RechargeGoods(object): def __init__(self): self.fields = [ ['goods_id', '', '商品id(购买时用)'], ['diamond', 0, '充值所得钻石'], ['price', '', '价格'], ['present_diamond', 0, '赠送钻石'], ['max_buy_times', 0, '充值次数上限'], ['can_email_buy', 0, '是否支持邮件购买'], ['!currency_list', [RechargeCurrency()], '货币列表'], ] class RechargeHistory(object): def __init__(self): self.fields = [ ['order_id', '', '订单id'], ['txhash', '', 'txhash'], ['net_id', 0, '链id'], ['currency', '', '货币地址'], ['amount', '', '货币数'], ['createtime', 0, '成交时间'], ] class BigwheelGrid(object): def __init__(self): self.fields = [ ['grid_id', 0, '格子id(Bigwheel表里的id字段)'], ['grid_state', 0, '0:未抽 1:已抽到且商品属于你 2:已抽到且商品还未属于你(需要购买)'], ['item_id', 0, '道具id(state>0时有效)'], ['item_num', 0, '道具数量(state>0时有效)'], ['buy_price', 0, '购买价格(state=2时有效)'], ] class BigwheelInfo(object): def __init__(self): self.fields = [ ['drawed_times', 0, '已抽次数'], ['total_times', 0, '总次数'], ['single_src_cost', 0, '单次抽奖消耗(钻石)-原价'], ['double_src_cost', 0, '双次抽奖消耗(钻石)-原价'], ['single_cost', 0, '单次抽奖消耗(钻石)'], ['double_cost', 0, '双次抽奖消耗(钻石)'], ['!items1', [BigwheelGrid()], '档位1'], ['!items2', [BigwheelGrid()], '档位2'], ] class CecContributionActivity(object): def __init__(self): self.fields = [ ['my_contribution', 0, '我的贡献点数'], ['global_contribution', 0, '全服贡献点数'], ['total_cec_pool', 0, 'cec总奖池'], ['my_expected_cec', 0, '我预计可得cec'], ] class VipInfo(object): def __init__(self): self.fields = [ ['bind_passport_address', 0, '绑定的passport地址'], ['bind_email', 0, '绑定的email地址'], ] class VipLevelInfo(object): def __init__(self): self.fields = [ ['level', 0, '当前等级'], ['curpoint', 0, '当前点数'], ['target', 0, '升级所需点数,如为-1则已是最高等级'], ] class HashRateGoods(object): def __init__(self): self.fields = [ ['goods_id', 0, '商品id'], ['item_id', 0, '道具id'], ['item_num', 0, '道具数量'], ['purchased_num', 0, '已购买数量'], ['stock_num', 0, '库存数量(-1不限购)'], ['count_down', 0, '倒计时(单位秒,只有已售罄才有效)'], ]