123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345 |
- <?php
- /**
- * HuoSession.php UTF-8
- * 火树Session
- *
- * @date : 2018/5/24 12:01
- *
- * @license 这不是一个自由软件,未经授权不许任何使用和传播。
- * @author : wuyonghong <wyh@huosdk.com>
- * @version : HUOSDK 8.0
- */
- namespace huo\controller\common;
- use huo\model\member\MemoauthModel;
- use huolib\constant\CacheConst;
- use think\Cache;
- class HuoSession {
- private $mem_id = 0;
- private $app_id = 0;
- private $type = '';
- private $cache_key = CacheConst::CACHE_MEM_SESSION_PREFIX;
- private static $token_cache_key = CacheConst::CACHE_MEM_APP_TOKEN_PREFIX;
- private static $cp_role_report_cnt_cache_key = CacheConst::CACHE_CP_ROLE_REPORT_CNT_PREFIX;
- public function __construct($mem_id = 0, $app_id = 0) {
- $this->mem_id = $mem_id;
- $this->app_id = $app_id;
- $this->setCacheKey($mem_id, $app_id);
- }
- /**
- * @return string
- */
- public function getCacheKey() {
- return $this->cache_key;
- }
- /**
- * @param int $mem_id
- * @param int $app_id
- */
- public function setCacheKey($mem_id, $app_id) {
- $this->cache_key = $this->cache_key.$mem_id.$app_id;
- }
- private function getCacheData() {
- return Cache::get($this->cache_key);
- }
- private function setCacheData($data) {
- return Cache::set($this->cache_key, $data);
- }
- /**
- * 设置第三方Session
- * openid
- * unionid
- * channel
- * nickname
- * gender
- * avatar
- * token
- * [
- * access_token
- * expires_in
- *
- * ]
- * @param $oauth_data
- */
- public function setOauthSession($oauth_data) {
- $_data = $this->getCacheData();
- $_data['oauth'] = $oauth_data;
- $this->setCacheData($_data);
- }
- /**
- * 获取OpenId
- *
- * @return string
- */
- public function getOpenId() {
- if (empty($this->mem_id)) {
- return '';
- }
- if (!empty($this->app_id)) {
- $_mo_data = (new MemoauthModel())->getInfoByAppMemId($this->app_id, $this->mem_id);
- if (!empty($_mo_data) && isset($_mo_data['openid'])) {
- return $_mo_data['openid'];
- }
- } else {
- $_data = $this->getCacheData();
- if (isset($_data['oauth']) && isset($_data['oauth']['openid'])) {
- return $_data['oauth']['openid'];
- } else {
- return (new MemoauthModel())->getOpenidByMemId($this->type, $this->mem_id);
- }
- }
- return '';
- }
- /**
- * 设置OpenId
- *
- * @param string $open_id
- */
- public function setOpenId($open_id) {
- $_data = $this->getCacheData();
- $_data['oauth']['openid'] = $open_id;
- $this->setCacheData($_data);
- }
- /**
- * 设置第三方access_token
- *
- * @param string $access_token
- */
- public function setAccessToken($access_token) {
- $_data = $this->getCacheData();
- $_data['oauth']['access_token'] = $access_token;
- $this->setCacheData($_data);
- }
- /**
- * 获取第三方token
- *
- * @return string
- */
- public function getAccessToken() {
- if (empty($this->mem_id)) {
- return '';
- }
- if (!empty($this->app_id)) {
- $_mo_data = (new MemoauthModel())->getInfoByAppMemId($this->app_id, $this->mem_id);
- if (!empty($_mo_data) && isset($_mo_data['access_token'])) {
- return $_mo_data['access_token'];
- }
- } else {
- $_data = $this->getCacheData();
- if (isset($_data['oauth']) && isset($_data['oauth']['access_token'])) {
- return $_data['oauth']['access_token'];
- }
- }
- return '';
- }
- /**
- * 设置游戏登陆的mg_mem_id
- *
- * @param int $mg_mem_id 玩家游戏ID
- */
- public function setMgMemId($mg_mem_id) {
- $_key = $this->app_id.'mg_mem_id';
- $_data = $this->getCacheData();
- $_data['mem'][$_key] = $mg_mem_id;
- $this->setCacheData($_data);
- }
- /**
- * 获取游戏玩家Id mg_mem_id
- *
- * @return mixed
- */
- public function getMgMemId() {
- if (empty($this->mem_id)) {
- return 0;
- }
- $_key = $this->app_id.'mg_mem_id';
- $_data = $this->getCacheData();
- if (isset($_data['mem']) && isset($_data['mem'][$_key])) {
- return $_data['mem'][$_key];
- }
- return '';
- }
- /**
- * @param $agent_id
- */
- public function setAgentId($agent_id) {
- $_data = $this->getCacheData();
- $_data['agent']['agent_id'] = $agent_id;
- $this->setCacheData($_data);
- }
- /**
- * 获取Session中的agent_id
- *
- * @return int
- */
- public function getAgentId() {
- if (empty($this->mem_id)) {
- return 0;
- }
- $_data = $this->getCacheData();
- if (isset($_data['agent']) && isset($_data['agent']['agent_id'])) {
- return $_data['agent']['agent_id'];
- }
- return 0;
- }
- /**
- * @param int $open_cnt
- */
- public function setOpenCnt($open_cnt) {
- $_data = $this->getCacheData();
- $_data['device']['open_cnt'] = $open_cnt;
- $this->setCacheData($_data);
- }
- /**
- * 获取Session中的open_cnt
- *
- * @return mixed
- */
- public function getOpenCnt() {
- if (empty($this->mem_id)) {
- return 0;
- }
- $_data = $this->getCacheData();
- if (isset($_data['device']) && isset($_data['device']['open_cnt'])) {
- return $_data['device']['open_cnt'];
- }
- return '';
- }
- /**
- * 设置小号交易token
- *
- * @param string $pay_token
- */
- public function setAgToken($pay_token) {
- $_data = $this->getCacheData();
- $_data['account_deal']['pay_token'] = $pay_token;
- $this->setCacheData($_data);
- }
- /**
- * 获取小号交易token
- *
- * @return mixed
- */
- public function getAgToken() {
- if (empty($this->mem_id)) {
- return '';
- }
- $_data = $this->getCacheData();
- if (isset($_data['account_deal']) && isset($_data['account_deal']['pay_token'])) {
- return $_data['account_deal']['pay_token'];
- }
- return '';
- }
- /**
- * 获取小号交易token
- *
- * @return mixed
- */
- public function clearAgToken() {
- if (empty($this->mem_id)) {
- return false;
- }
- $_data = $this->getCacheData();
- if (isset($_data['account_deal']) && isset($_data['account_deal']['pay_token'])) {
- unset($_data['account_deal']['pay_token']);
- }
- return $this->setCacheData($_data);
- }
- public static function getOpenIdByMemId($mem_id) {
- $_cache_key = '';
- }
- public static function setCpCheckCnt($token, $cnt) {
- $_key = self::$token_cache_key.$token;
- $_data = Cache::get($_key);
- $_data['cnt'] = $cnt;
- Cache::set($_key, $_data);
- }
- public static function getCpCheckCnt($token) {
- $_key = self::$token_cache_key.$token;
- $_data = Cache::get($_key);
- if (empty($_data) || empty($_data['cnt'])) {
- return 0;
- }
- return $_data['cnt'];
- }
- public static function setCpReleReportCnt($mg_mem_id, $cnt) {
- $_key = self::$cp_role_report_cnt_cache_key.$mg_mem_id;
- $_data = Cache::get($_key);
- $_data['cnt'] = $cnt;
- Cache::set($_key, $_data);
- }
- public static function getCpReleReportCnt($mg_mem_id) {
- $_key = self::$cp_role_report_cnt_cache_key.$mg_mem_id;
- $_data = Cache::get($_key);
- if (empty($_data) || empty($_data['cnt'])) {
- return 0;
- }
- return $_data['cnt'];
- }
- public static function setAppId($token, $app_id) {
- $_key = self::$token_cache_key.$token;
- $_data = Cache::get($_key);
- $_data['app_id'] = $app_id;
- Cache::set($_key, $_data);
- }
- public static function getAppId($token) {
- $_key = self::$token_cache_key.$token;
- $_data = Cache::get($_key);
- if (empty($_data) || empty($_data['app_id'])) {
- return 0;
- }
- return $_data['app_id'];
- }
- /**
- * @return string
- */
- public function getType() {
- return $this->type;
- }
- /**
- * @param string $type
- */
- public function setType($type) {
- $this->type = $type;
- }
- }
|