* @version : HUOSDK 8.5 */ namespace huoIdentify\controller; use huo\controller\common\Base; use huolib\constant\CacheConst; use huolib\constant\CommonConst; use think\Cache; class HeartTimeCache extends Base { protected $cache_key_prefix = CacheConst::CACHE_LAST_HEART_TIME_PREFIX; //缓存前缀 public static function ins() { return new static(); } /*** * 获取缓存前缀 * * @param int $app_id 游戏id * @param int $mem_id 玩家id * @param string $device_id 设备ID android 为imei ios 为idfa h5 为 永久cookie标识 huoh5开头标识 * * @return string */ public function getCacheKeyByAppMemDevice($app_id, $mem_id, $device_id) { return $this->cache_key_prefix.'app_'.$app_id.'_mem_'.$mem_id.'_device_'.$device_id; } /** * 获取最后一次心跳时间 * * @param int $app_id 游戏id * @param int $mem_id 玩家id * @param string $device_id 设备ID android 为imei ios 为idfa h5 为 永久cookie标识 huoh5开头标识 * * @return int|mixed */ public function getLastHeartTime($app_id, $mem_id, $device_id) { $_cache_key = $this->getCacheKeyByAppMemDevice($app_id, $mem_id, $device_id); $_time = Cache::get($_cache_key); if (empty($_time)) { return CommonConst::CONST_ZERO; } return $_time; } /** * 设置最后一次心跳时间 * * @param int $time * @param int $app_id 游戏id * @param int $mem_id 玩家id * @param string $device_id 设备ID android 为imei ios 为idfa h5 为 永久cookie标识 huoh5开头标识 */ public function setLastHeartTime($time, $app_id, $mem_id, $device_id) { $_cache_key = $this->getCacheKeyByAppMemDevice($app_id, $mem_id, $device_id); Cache::set($_cache_key, $time); } }