paramFilter($this->param($key, $default, $filter_rule ?? ''), $item_filter); //过滤后产生空字符串,按照默认值 if($input[$name] === '') { $input[$name] = $default; } } return $input; } /** * 参数过滤 * @param $param * @param bool $filter * @return array|string|string[]|null */ public function paramFilter($param, bool $filter = true) { if (!$param || !$filter || !is_string($param)) return $param; // 把数据过滤 $filter_rule = [ "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU", "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", "/select|join|where|drop|like|modify|rename|insert|update|table|database|alter|truncate|\'|\/\*|\.\.\/|\.\/|union|into|load_file|outfile/is" ]; return preg_replace($filter_rule, '', $param); } /** * 获取登录用户的uid * @param int $uid * @return int|mixed|void */ public function uid(int $uid = 0) { if ($uid > 0) { static::$auth_info['uid'] = $uid; } else { return static::$auth_info['uid'] ?? 0; } } /** * 获取登录会员的id */ public function memberId(int $member_id = 0) { if ($member_id > 0) { static::$auth_info['member_id'] = $member_id; } else { return static::$auth_info['member_id'] ?? 0; } } /** * 站点id * @param int|string|null $site_id * @return int */ public function siteId(int|string|null $site_id = 0) { if ($site_id > 0) { static::$site_id = (int)$site_id; return $site_id; } else { return static::$site_id ?? $this->defaultSiteId(); } } /** * 用户账号 * @param string $username * @return int|mixed */ public function username(string $username = '') { if (!empty($username)) { static::$auth_info['username'] = $username; return $username; } else { return static::$auth_info['username'] ?? ''; } } /** * 定义站点类型 * @param string $app_type * @return mixed|string */ public function appType(string $app_type = ''){ if (!empty($app_type)) { static::$auth_info['app_type'] = $app_type; return $app_type; } else { return static::$auth_info['app_type'] ?? ''; } } /** * 获取管理端token * @return array|string|null */ public function adminToken(){ return $this->header(system_name('admin_token_name')); } /** * 获取会员token * @return array|string|null */ public function apiToken(){ return $this->header(system_name('api_token_name')); } /** * 平台site_id * @return array|string|null */ public function adminSiteId(){ return $this->header(system_name('admin_site_id_name')); } /** * 客户端site_id * @return array|string|null */ public function apiSiteId(){ return $this->header(system_name('api_site_id_name')); } /** * 获取场景 * @return array|string */ public function getChannel(){ return $this->header(system_name('channel_name'), ChannelDict::H5); } /** * 获取默认站点 * @return int */ public function defaultSiteId(){ return 0; } /** * get传参追加值 * @param $data * @return void */ public function pushGet($data){ $param = $this->get(); $this->withGet(array_merge($param, $data)); } /** * header传参追加值 * @param $data * @return void */ public function pushHeader($data){ $param = $this->header(); $this->withHeader(array_merge($param, $data)); } /** * 授权信息 * @param $key * @param $value * @return mixed|string|void */ public function auth($key, $value = ''){ if (!empty($value)) { static::$auth_info[$key] = $value; } else { return static::$auth_info[$key] ?? ''; } } }