123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <?php
- namespace loyalsoft;
- /**
- * Description of Req
- * 客户端数据请求实体
- * @author jgao
- */
- class Req extends Object_ext {
- /**
- * 谁(openId)
- * @var String
- */
- public $uid;
- /**
- * 对哪个功能
- * @var int
- */
- public $ope;
- /**
- * 执行什么操作
- * @var int
- */
- public $cmd;
- /**
- * 数据体[数组]
- * @var array
- */
- public $paras;
- /**
- * 时间戳
- * @var int
- */
- public $ts;
- /**
- * 分区id
- * @var string
- */
- public $zoneid;
- /**
- * 客户端版本号
- * @var str
- */
- public $clientVer;
- // -----------------------------------------------------------
- // 服务端为了便于操作使用到的变量直接挂载到req上
- /**
- * 挂载cmemUtil,因为每次操作必用到Cmem且不止一次,所以直接挂载,
- * 减少代码量
- * @var CRedisUtil
- */
- public $mem;
- /**
- * 挂载玩家数据实体
- * @var UserInfoMo
- */
- public $userInfo;
- /**
- *
- * @var bool userInfo是否需要回写
- */
- public $userInfoChanged = false;
- // -------------------------------------------------------------
- /**
- * 标签[扩展用,保留]
- * @var type
- */
- public $tag;
- /**
- *
- * @param Req $req
- * @return Req
- */
- public function __construct($req) {
- if (is_string($req)) { // desc=" fix黑窗调试直接调用"
- $req = JsonUtil::decode($req);
- }
- parent::__construct($req);
- $this->mem = gMem();
- # 初始化UserInfo
- switch ($this->cmd) {
- case CmdCode::cmd_user_loginuserinfo : # 登录
- case CmdCode::cmd_user_gameconstinfo : # 下载常量
- case CmdCode::cmd_user_testUserLogin : # 测试登录
- case CmdCode::cmd_user_registerNewUID : # 测试注册账号
- case CmdCode::cmd_user_registerNewRole : # 测试注册角色
- case CmdCode::cmd_user_getzonelist: # 下载分区列表
- # 这些消息不需要初始化UserInfo
- break;
- default : # 其余消息,初始化UserInfo
- if ($this->uid) {
- $this->userInfo = UserProc::getUserInfo($this->mem, $this->zoneid, $this->uid);
- if (null == $this->userInfo) {
- CLog::err(">>>>>>>>>>用户数据读取为空!!<<<<<<<<<<<[$this->uid]", "PreProc");
- }
- }
- break;
- }
- self::$_req = $this; // ---赋值---
- }
- // <editor-fold defaultstate="collapsed" desc="单例:想着以后不在通过函数透传此对象了">
- /**
- * 全局实例
- * @return Req
- */
- public static function Ins() {
- return self::$_req;
- }
- private static $_req;
- // </editor-fold>
- }
|