game2006api/doc/_common.py
2024-07-31 17:55:44 +08:00

1834 lines
63 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
JwtHeader = [
'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', '', '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()], '荣誉信息'],
['account_lucky', 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'],
['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()], '装饰信息'],
['ability', Ability(), '属性'],
['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()], '英雄信息']
]
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'],
]
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', '', '1Gen状态'],
['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, '暴击'],
]
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 RechargeGoods(object):
def __init__(self):
self.fields = [
['goods_id', '', '商品id(购买时用)'],
['goods_meta', '', '配置表信息(和excel完全一样)'],
]