isMobile(); } } if (!function_exists('json_success')) { /** * 成功 * * @param mixed $message * @param mixed $data * @return void */ function json_success(mixed $message = '', mixed $data = []): void { if (is_string($message)) { $result = [ 'msg' => $message, 'data' => $data, ]; } else { $result = [ 'msg' => '', 'data' => $message, ]; } $result['code'] = 0; response()->json($result)->throwResponse(); } } if (!function_exists('json_page')) { /** * 分页 * * @param $data * @param mixed $pageData * @param mixed $message * @return void */ function json_page($data, mixed $pageData = [], mixed $message = ''): void { $pageData['total'] = method_exists($data, 'total') ? $data->total() : null; $pageData['count'] = $data->count(); $pageData['page'] = $data->currentPage(); $pageData['per_page'] = $data->perPage(); $pageData['last'] = method_exists($data, 'lastPage') ? $data->lastPage() : null; json_success($message, [ 'page_info' => $pageData, 'page_data' => $data->toArray()['data'], ]); } } if (!function_exists('json_error')) { /** * 失败 * * @param mixed $message * @param mixed $data * @param int $code * @return void */ function json_error(mixed $message = '', mixed $data = [], int $code = 1): void { $result = [ 'code' => $code, 'msg' => $message, 'data' => $data, ]; response()->json($result)->throwResponse(); } } if (!function_exists('json_guest')) { /** * 失败 - 未登录 * * @param mixed $message * @param int $code * @return void */ function json_guest(mixed $message = '未登录,请先登录', int $code = 99): void { json_error($message, [], $code); } } if (!function_exists('json_result')) { /** * 结果 * * @param mixed $message * @param mixed $data * @param int $code * @return array */ function json_result(mixed $message = '', mixed $data = [], int $code = 0): array { return [ 'code' => $code, 'msg' => $message, 'data' => $data, ]; } } if (!function_exists('url_to_uri')) { /** * 网址去除域名段 获取 url * * @param $url * @return string|null */ function url_to_uri($url): ?string { if (!$url) { return null; } $arr = parse_url($url); if (isset($arr['scheme']) && isset($arr['host'])) { $domains = [config('filesystems.disks.' . config('filesystems.default') . '.domain')]; $domain = $arr['scheme'] . '://' . $arr['host']; if (in_array($domain, $domains)) { $url = str_replace($arr['scheme'] . '://' . $arr['host'], '', $url); $url = preg_replace('/!.*/', '', $url); } } elseif (!str_starts_with($url, '/')) { $url = '/' . $url; } return $url; } } if (!function_exists('uri_to_image_url')) { /** * 还原图片网址 * * @param $uri * @return string|null */ function uri_to_image_url($uri): ?string { if (!$uri) { return null; } return config('filesystems.disks.' . config('filesystems.default') . '.domain') . url_to_uri($uri); } } if (!function_exists('string_to_array')) { /** * 字符串转数组(针对非0传值场景) * * @param mixed $string 原始字符串 * @param bool $sort 是否重新排序 * @param string $separator 切割字符 * @return array */ function string_to_array(mixed $string, bool $sort = false, string $separator = ','): array { $arr = explode($separator, $string); foreach ($arr as &$value) { $value = trim($value); } $arr = array_filter($arr); if ($sort) { sort($arr); } return $arr; } }