request = Request::instance(); $this->urlType = $urlType; $this->urlChannelId = $urlChannelId; if ($urlType == 3) { //推广页 if (!Ua::isWeiXin() && !Cookie::has('visitor')) { Cookie::forever('visitor', $this->visitor()); } } } /** * 初始化 * * @access public * @return User */ public static function instance($urlType = 0, $urlChannelId = null) { if (is_null(self::$instance)) { self::$instance = new static($urlType, $urlChannelId); } return self::$instance; } /** * 魔术方法获取(只支持单级属性获取,多级属性请使用getUserInfo) * * @param $name * @return mixed|null */ public function __get($name) { if (is_null($this->userInfo)) { $this->getUserInfo(); } return $this->userInfo[$name] ?? null; } /** * 获取visitor,先获取cookie,若无,自动生成一个 * * @param bool $force 是否强制生成一个新的 */ public function visitor($force = false) { if (!$force && Cookie::has('visitor')) { return Cookie::get('visitor'); } else { return date('YmdHis') . Random::uuid(); } } }