// +---------------------------------------------------------------------- use Webman\Route; use support\Response; use Tinywan\Jwt\JwtToken; use plugin\saiadmin\exception\ApiException; use plugin\saiadmin\app\cache\ConfigCache; use plugin\saiadmin\app\cache\DictCache; if (!function_exists('getCurrentInfo')) { /** * 获取当前登录用户 */ function getCurrentInfo(): bool|array { if (!request()) { return false; } try { $token = JwtToken::getExtend(); } catch (\Throwable $e) { return false; } return $token; } } if (!function_exists('fastRoute')) { /** * 快速注册路由[index|save|update|read|destroy|import|export] * @param string $name * @param string $controller * @return void */ function fastRoute(string $name, string $controller): void { $name = trim($name, '/'); if (method_exists($controller, 'index')) Route::get("/$name/index", [$controller, 'index']); if (method_exists($controller, 'save')) Route::post("/$name/save", [$controller, 'save']); if (method_exists($controller, 'update')) Route::put("/$name/update", [$controller, 'update']); if (method_exists($controller, 'read')) Route::get("/$name/read", [$controller, 'read']); if (method_exists($controller, 'destroy')) Route::delete("/$name/destroy", [$controller, 'destroy']); if (method_exists($controller, 'import')) Route::post("/$name/import", [$controller, 'import']); if (method_exists($controller, 'export')) Route::post("/$name/export", [$controller, 'export']); } } if (!function_exists('downloadFile')) { /** * 下载模板 * @param $file_name * @return Response */ function downloadFile($file_name): Response { $base_dir = config('plugin.saiadmin.saithink.template', base_path() . '/public/template'); if (file_exists($base_dir . DIRECTORY_SEPARATOR . $file_name)) { return response()->download($base_dir . DIRECTORY_SEPARATOR . $file_name, urlencode($file_name)); } else { throw new ApiException('模板不存在'); } } } if (!function_exists('formatBytes')) { /** * 根据字节计算大小 * @param $bytes * @return string */ function formatBytes($bytes): string { $units = ['B', 'KB', 'MB', 'GB', 'TB']; for ($i = 0; $bytes > 1024; $i++) { $bytes /= 1024; } return round($bytes, 2) . ' ' . $units[$i]; } } if (!function_exists('getConfigGroup')) { /** * 读取配置组 * @param $group * @return array */ function getConfigGroup($group): array { return ConfigCache::getConfig($group); } } if (!function_exists('dictDataList')) { /** * 根据字典编码获取字典列表 * @param string $code 字典编码 * @return array */ function dictDataList(string $code): array { return DictCache::getDict($code); } }