-- 用户相关协议 2000~2099 local proto_struct = [[ # 明细 .DataItemDetail { id 0: integer # 记录ID createTime 1: integer # 记录时间 reason 2: string # 来源 - 配置对应 itemId 3: integer # 物品ID delta 4: integer # 变化值(有符号) remainCount 5: integer # 变化后剩余物品数量 } ]] local proto_c2s = [[ # 获取自己的信息 user_self_info 2000 { request { } response { code 0: integer playerInfo 1: DataPlayerInfo # 个人信息 } } # 连接保活 user_keepalive 2001 { request { } response { systemTime 0: integer # 玩家系统时间 } } # 获取玩家信息 user_get_info 2002 { request { uid 0: integer # 玩家id } response { code 0: integer baseInfo 1: DataUserBaseInfo # 基础信息 } } # 获取验证码 user_get_verify_code 2003 { request { } response { code 0: integer vcode 1: string # 验证码 - 测试环境返回 - 随机6位数字 } } # 更新主播邀请码 user_update_band_share_code 2004 { request { shareCode 0: string # 邀请码 } response { code 0: integer } } # 更新自己邀请码 user_update_share_code 2005 { request { shareCode 0: string # 邀请码 空:随机 } response { code 0: integer } } # 更新steam交易链接 user_update_steam_link 2006 { request { link 0: string # 链接 vcode 1: string # 验证码 } response { code 0: integer } } # 更新头像 user_update_icon 2007 { request { icon 0: string } response { code 0: integer } } # 更新昵称 user_update_nickname 2008 { request { nickname 0: string } response { code 0: integer } } # 更新密码 user_update_password 2009 { request { oldPassword 0: string newPassword 1: string } response { code 0: integer } } # 注销 user_cancel_account 2010 { request { } response { code 0: integer } } # 实名认证 - 更新信息 user_identity_update_info 2011 { request { name 0: string # 真实姓名 idcard 1: string # 身份证号 } response { code 0: integer } } # 明细技术路线 # 1. 分页拉去数据 # 2. 发起流水请求 user_item_detail_gold # 3. 服务器异步通知 on_user_item_detail_gold 每次最多20条 # 当 count = 0 时,已没有更早记录 # 请前端标记,不再拉取更早记录 # 4. 每次进入页面 user_item_detail_gold 的 lastTime可为0或空 # 请求最新记录 # 当前返回记录id跟本地数据的id有重叠时,说明已刷完最先记录 # # 5. 同理饰品明细 # 6. 请做好刷新间隔冷却处理 # 明细 - 流水 # 由 on_user_item_detail_gold 异步推送,避免卡死 user_item_detail_gold 2012 { request { lastTime 0: integer # 上次拉记录 createTime 最小值 } response { code 0: integer } } # 明细 - 饰品 # 由 on_user_item_detail_wapon 异步推送,避免卡死 user_item_detail_wapon 2013 { request { lastTime 0: integer # 上次拉记录 createTime 最小值 } response { code 0: integer } } ]] local proto_s2c = [[ # 玩家系统信息 on_user_system_info 2000 { request { payInfo 0: DataPay # 支付统计信息 } } # 玩家状态 on_server_code 2001 { request { code 0: integer # 值为497时是被顶号了,不要自动连接 } } # 明细 - 流水 on_user_item_detail_gold 2002 { request { count 0: integer # 记录数量 当返回0时,已没有更早记录 list 1: *DataItemDetail # 明细列表 } } # 明细 - 饰品 on_user_item_detail_wapon 2003 { request { count 0: integer # 记录数量 当返回0时,已没有更早记录 list 1: *DataItemDetail # 明细列表 } } ]] local proto = { c2s = proto_struct .. proto_c2s, s2c = proto_struct .. proto_s2c } return proto