diff --git a/app/command/TransCommand.php b/app/command/TransCommand.php new file mode 100644 index 0000000..73f3c69 --- /dev/null +++ b/app/command/TransCommand.php @@ -0,0 +1,78 @@ +toArray(); + + // $fields = ['classify', 'brand', 'model', 'status', 'purchase_location', 'procedure_location', 'fbo_destination']; + + // foreach ($list as $key => &$item) { + // foreach ($item as $k => &$v) { + // if (in_array($k, $fields)) { + // $xunfei = new Xunfei(); + // $rst_dst = $xunfei->fanyi($v, 'cn', 'ar'); + // if ($rst_dst) { + // $list[$key][$k] = $rst_dst["trans_result"]["dst"]; + // } + // } + // } + // unset($v); + + // $id = $item['id']; + // unset($item['id']); + // unset($item['created_at']); + // unset($item['updated_at']); + // Db::table('vehicles_ar')->where('id', $id)->update($item); + + // $output->write("{$id}: 翻译 - 已处理 \n"); + // } + // unset($item); + + + + + $list = Location::all()->toArray(); + + $fields = ['name', 'address', 'area']; + + foreach ($list as $key => &$item) { + foreach ($item as $k => &$v) { + if (in_array($k, $fields)) { + $xunfei = new Xunfei(); + $rst_dst = $xunfei->fanyi($v, 'cn', 'ru'); + if ($rst_dst) { + $list[$key][$k] = $rst_dst["trans_result"]["dst"]; + } + } + } + unset($v); + + $id = $item['id']; + unset($item['id']); + unset($item['created_at']); + unset($item['updated_at']); + Db::table('locations_ru')->where('id', $id)->update($item); + + $output->write("{$id}: 翻译 - 已处理 \n"); + } + unset($item); + + + return self::SUCCESS; + } +} \ No newline at end of file diff --git a/app/controller/IndexController.php b/app/controller/IndexController.php index 4d251b0..608b002 100644 --- a/app/controller/IndexController.php +++ b/app/controller/IndexController.php @@ -8,9 +8,7 @@ class IndexController { public function index(Request $request) { - return view('index/location'); - header('Location: https://dashboard-server.hesuu.com/app/admin'); - return; + return redirect('http://219.157.255.213:25505/app/admin'); static $readme; if (!$readme) { $readme = file_get_contents(base_path('README.md')); diff --git a/app/controller/VehicleController.php b/app/controller/VehicleController.php index 2d61bdc..2a227d7 100644 --- a/app/controller/VehicleController.php +++ b/app/controller/VehicleController.php @@ -3,10 +3,20 @@ namespace app\controller; use app\model\Vehicle; +use app\model\VehicleEn; +use app\model\VehicleRu; +use app\model\VehicleAr; + +use app\model\Location; +use app\model\LocationEn; +use app\model\LocationRu; +use app\model\LocationAr; + use app\service\OssService; -use plugin\admin\app\model\Location; +// use plugin\admin\app\model\Location; use util\Util; use support\Request; +use support\Cache; class VehicleController { @@ -28,26 +38,85 @@ class VehicleController */ public function index(Request $request) { - $vehicles = Vehicle::with('location')->with('finalLocation')->get(); - $vehicles->each(function ($vehicle) { + + $lang = $request->post('lang', 'zh'); + + switch ($lang) { + case 'zh': + $vehicles = Vehicle::with('location')->with('finalLocation')->get(); + $hz = new Location(); + break; + + case 'en': + $vehicles = VehicleEn::with('location')->with('finalLocation')->get(); + $hz = new LocationEn(); + break; + + case 'ru': + $vehicles = VehicleRu::with('location')->with('finalLocation')->get(); + $hz = new LocationRu(); + break; + + case 'ar': + $vehicles = VehicleAr::with('location')->with('finalLocation')->get(); + $hz = new LocationAr(); + break; + } + +// // $vehicles = Vehicle::with('location')->with('finalLocation')->get(); +// $vehicles->each(function ($vehicle) use ($hz) { +// if (isset($vehicle->vin)) { +// $vehicle->vin = $this->maskVin($vehicle->vin); +// } + +// // $vehicle->status = $this->status[$vehicle->status]??$this->status[0]; +// // $location = Location::find($vehicle->locations_id); +// // $vehicle->location_name = $location ? $location->name : ''; +// // $final_location = Location::find($vehicle->final_locations_id); +// // $vehicle->final_location_name = $final_location ? $final_location->name : ''; +// $fbo_location = $hz->find($vehicle->fbo_locations_id); +// $vehicle->fbo_destination = $fbo_location ? $fbo_location->name : ''; + +// if(!str_starts_with($vehicle['img_url'], 'http')){ +// $ossservice = new OssService(); +// $img_url = $ossservice->generatePrivateUrl($vehicle['img_url'],86400); +// $vehicle['img_url'] = $img_url; +// } +// }); + + + // =================================== new ===================================== start + // 单独处理 locations + $fboIds = $vehicles->pluck('fbo_locations_id')->toArray(); + $fbo = $hz->whereIn('id', array_unique($fboIds))->get()->toArray(); + $arr = []; + foreach ($fbo as $value) { + $arr[$value['id']] = $value; + } + + // 组装数据 + foreach ($vehicles as &$vehicle) { if (isset($vehicle->vin)) { $vehicle->vin = $this->maskVin($vehicle->vin); } - -// $vehicle->status = $this->status[$vehicle->status]??$this->status[0]; -// $location = Location::find($vehicle->locations_id); -// $vehicle->location_name = $location ? $location->name : ''; -// $final_location = Location::find($vehicle->final_locations_id); -// $vehicle->final_location_name = $final_location ? $final_location->name : ''; - $fbo_location = Location::find($vehicle->fbo_locations_id); - $vehicle->fbo_destination = $fbo_location ? $fbo_location->name : ''; + + $vehicle->fbo_destination = isset($arr[$vehicle->fbo_locations_id]) ? $arr[$vehicle->fbo_locations_id]['name'] : ''; if(!str_starts_with($vehicle['img_url'], 'http')){ - $ossservice = new OssService(); - $img_url = $ossservice->generatePrivateUrl($vehicle['img_url'],86400); - $vehicle['img_url'] = $img_url; + $img_url = Cache::get('img_'.$vehicle->id); + if ($img_url) { + $vehicle['img_url'] = $img_url; + } else { + $ossservice = new OssService(); + $img_url = $ossservice->generatePrivateUrl($vehicle['img_url'],86400); + $vehicle['img_url'] = $img_url; + Cache::set('img_'.$vehicle->id, $img_url, 86390); + } } - }); + } + unset($vehicle); + // =================================== new ===================================== end + $result = ['list' => $vehicles,'count'=>count($vehicles)]; return Util::success($result); } @@ -57,7 +126,27 @@ class VehicleController */ public function show(Request $request, $id) { - $vehicle = Vehicle::with('location')->find($id); + $lang = $request->post('lang', 'zh'); + + switch ($lang) { + case 'zh': + $vehicle = Vehicle::with('location')->find($id); + break; + + case 'en': + $vehicle = VehicleEn::with('location')->find($id); + break; + + case 'ru': + $vehicle = VehicleRu::with('location')->find($id); + break; + + case 'ar': + $vehicle = VehicleAr::with('location')->find($id); + break; + } + + // $vehicle = Vehicle::with('location')->find($id); if (!$vehicle) { return Util::fail($vehicle,'Vehicle not found'); } diff --git a/app/model/LocationAr.php b/app/model/LocationAr.php new file mode 100644 index 0000000..d760766 --- /dev/null +++ b/app/model/LocationAr.php @@ -0,0 +1,61 @@ +hasMany(VehicleAr::class, 'locations_id', 'id'); + } + /** + * 目的地关联 + * Get the vehicles for the location. + */ + public function finalVehicles() + { + return $this->hasMany(VehicleAr::class, 'final_locations_id', 'id'); + } + + /** + * Get the FBO vehicles for the location. + */ + public function fboVehicles() + { + return $this->hasMany(VehicleAr::class, 'fbo_locations_id', 'id'); + } + + /** + * Scope a query to only include locations that have vehicles. + */ + public function scopeHasVehicles($query) + { + return $query->whereHas('vehicles_ar'); + } +} \ No newline at end of file diff --git a/app/model/LocationEn.php b/app/model/LocationEn.php new file mode 100644 index 0000000..92d9fe7 --- /dev/null +++ b/app/model/LocationEn.php @@ -0,0 +1,61 @@ +hasMany(VehicleEn::class, 'locations_id', 'id'); + } + /** + * 目的地关联 + * Get the vehicles for the location. + */ + public function finalVehicles() + { + return $this->hasMany(VehicleEn::class, 'final_locations_id', 'id'); + } + + /** + * Get the FBO vehicles for the location. + */ + public function fboVehicles() + { + return $this->hasMany(VehicleEn::class, 'fbo_locations_id', 'id'); + } + + /** + * Scope a query to only include locations that have vehicles. + */ + public function scopeHasVehicles($query) + { + return $query->whereHas('vehicles_en'); + } +} \ No newline at end of file diff --git a/app/model/LocationRu.php b/app/model/LocationRu.php new file mode 100644 index 0000000..37dc73c --- /dev/null +++ b/app/model/LocationRu.php @@ -0,0 +1,61 @@ +hasMany(VehicleRu::class, 'locations_id', 'id'); + } + /** + * 目的地关联 + * Get the vehicles for the location. + */ + public function finalVehicles() + { + return $this->hasMany(VehicleRu::class, 'final_locations_id', 'id'); + } + + /** + * Get the FBO vehicles for the location. + */ + public function fboVehicles() + { + return $this->hasMany(VehicleRu::class, 'fbo_locations_id', 'id'); + } + + /** + * Scope a query to only include locations that have vehicles. + */ + public function scopeHasVehicles($query) + { + return $query->whereHas('vehicles_ru'); + } +} \ No newline at end of file diff --git a/app/model/VehicleAr.php b/app/model/VehicleAr.php new file mode 100644 index 0000000..54a0b8a --- /dev/null +++ b/app/model/VehicleAr.php @@ -0,0 +1,46 @@ +belongsTo(LocationAr::class, 'locations_id', 'id'); + } + + + /** + * Get the location that owns the vehicle. + */ + public function finalLocation() + { + return $this->belongsTo(LocationAr::class, 'final_locations_id', 'id'); + } +} \ No newline at end of file diff --git a/app/model/VehicleEn.php b/app/model/VehicleEn.php new file mode 100644 index 0000000..be56ed8 --- /dev/null +++ b/app/model/VehicleEn.php @@ -0,0 +1,46 @@ +belongsTo(LocationEn::class, 'locations_id', 'id'); + } + + + /** + * Get the location that owns the vehicle. + */ + public function finalLocation() + { + return $this->belongsTo(LocationEn::class, 'final_locations_id', 'id'); + } +} \ No newline at end of file diff --git a/app/model/VehicleRu.php b/app/model/VehicleRu.php new file mode 100644 index 0000000..b041f7d --- /dev/null +++ b/app/model/VehicleRu.php @@ -0,0 +1,46 @@ +belongsTo(LocationRu::class, 'locations_id', 'id'); + } + + + /** + * Get the location that owns the vehicle. + */ + public function finalLocation() + { + return $this->belongsTo(LocationRu::class, 'final_locations_id', 'id'); + } +} \ No newline at end of file diff --git a/app/util/Xunfei.php b/app/util/Xunfei.php new file mode 100644 index 0000000..5d28bf5 --- /dev/null +++ b/app/util/Xunfei.php @@ -0,0 +1,134 @@ + $header,'body' => $response); + return $data; + } + + + public function xfyun($text = "中华人民共和国于1949年成立", $from = "cn", $to = "en") + { + //在控制台-我的应用-机器翻译获取 + $app_id = "3d46198c"; + //在控制台-我的应用-机器翻译获取 + $api_sec = "ZWY2MmUyNjJjYmFkOTFlYTVmYWVhMGYy"; + //在控制台-我的应用-机器翻译获取 + $api_key = "b6d805f240176ecaea85130cb5f2bca1"; + // 机器翻译接口地址 + $url = "https://ntrans.xfyun.cn/v2/ots"; + //body组装 + // $text = "中华人民共和国于1949年成立";//待翻译文本 + $body = json_encode($this->getBody($app_id, $from, $to, $text)); + + // 组装http请求头 + $date =gmdate('D, d M Y H:i:s') . ' GMT'; + + $digestBase64 = "SHA-256=".base64_encode(hash("sha256", $body, true)); + $builder = sprintf("host: %s +date: %s +POST /v2/ots HTTP/1.1 +digest: %s", "ntrans.xfyun.cn", $date, $digestBase64); + // echo($builder); + $sha = base64_encode(hash_hmac("sha256", $builder, $api_sec, true)); + + $authorization = sprintf("api_key=\"%s\", algorithm=\"%s\", headers=\"%s\", signature=\"%s\"", $api_key,"hmac-sha256", + "host date request-line digest", $sha); + + $header = [ + "Authorization: ".$authorization, + 'Content-Type: application/json', + 'Accept: application/json,version=1.0', + 'Host: ntrans.xfyun.cn', + 'Date: ' .$date, + 'Digest: '.$digestBase64 + ]; + $response = $this->tocurl($url, $header, $body); + + // var_dump($response['body']); + return $response; + } + + + public function getBody($app_id, $from, $to, $text) + { + $common_param = [ + 'app_id' => $app_id + ]; + + $business = [ + 'from' => $from, + 'to' => $to, + ]; + + $data = [ + "text" => base64_encode($text) + ]; + + return $body = [ + 'common' => $common_param, + 'business' => $business, + 'data' => $data + ]; + } + + // 翻译 + public function fanyi($text = "", $from = "", $to = "") + { + try { + $res = $this->xfyun($text, $from, $to); + $data = json_decode($res["body"], true); + if ($data["code"] === 0) { + return $data["data"]["result"]; + } else { + $this->error = $data["message"]; + return false; + } + } catch (\Throwable $th) { + $this->error = $th->getMessage(); + return false; + } + } + + // 异常 + public function error() + { + return $this->error; + } + +} \ No newline at end of file diff --git a/composer.json b/composer.json index bd737c2..014185f 100644 --- a/composer.json +++ b/composer.json @@ -30,8 +30,11 @@ "webman/admin": "^2.1", "vlucas/phpdotenv": "^5.6", "illuminate/pagination": "^12.10", - "shopwwi/webman-filesystem": "2.0", - "iidestiny/flysystem-oss": "4" + "symfony/filesystem": "^7.2", + "shopwwi/webman-filesystem": "^1.1", + "shopwwi/filesystem-oss": "^1.0", + "webman/console": "^2.1", + "webman/cache": "^2.1" }, "suggest": { "ext-event": "For better performance. " diff --git a/composer.lock b/composer.lock index 4d28ac3..04d5149 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5b382292e5c01f15531e29342545a589", + "content-hash": "f6e35a2675e1ce0c8495ad470f4e9ecd", "packages": [ { "name": "aliyuncs/oss-sdk-php", @@ -18,13 +18,7 @@ "type": "zip", "url": "https://api.github.com/repos/aliyun/aliyun-oss-php-sdk/zipball/483dd0b8bff5d47f0e4ffc99f6077a295c5ccbb5", "reference": "483dd0b8bff5d47f0e4ffc99f6077a295c5ccbb5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=5.3" @@ -69,13 +63,7 @@ "type": "zip", "url": "https://api.github.com/repos/brick/math/zipball/866551da34e9a618e64a819ee1e01c20d8a588ba", "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^8.1" @@ -135,13 +123,7 @@ "type": "zip", "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/18ba5ddfec8976260ead6e866180bd5d2f71aa1d", "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^8.1" @@ -210,13 +192,7 @@ "type": "zip", "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2 || ^8.0" @@ -297,38 +273,31 @@ }, { "name": "fruitcake/php-cors", - "version": "dev-master", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/fruitcake/php-cors.git", - "reference": "0eaf5f588eb34f15a6eca4fd8e62a35cbee43f64" + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/0eaf5f588eb34f15a6eca4fd8e62a35cbee43f64", - "reference": "0eaf5f588eb34f15a6eca4fd8e62a35cbee43f64", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "shasum": "" }, "require": { "php": "^7.4|^8.0", "symfony/http-foundation": "^4.4|^5.4|^6|^7" }, "require-dev": { - "phpstan/phpstan": "^2", + "phpstan/phpstan": "^1.4", "phpunit/phpunit": "^9", "squizlabs/php_codesniffer": "^3.5" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.2-dev" } }, "autoload": { @@ -359,7 +328,7 @@ ], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/master" + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" }, "funding": [ { @@ -371,36 +340,29 @@ "type": "github" } ], - "time": "2025-03-13T13:43:06+00:00" + "time": "2023-10-12T05:21:21+00:00" }, { "name": "graham-campbell/result-type", - "version": "1.1.x-dev", + "version": "v1.1.3", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "9d6c1d7ce69a3329936e603617e59ba205ab0a66" + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/9d6c1d7ce69a3329936e603617e59ba205ab0a66", - "reference": "9d6c1d7ce69a3329936e603617e59ba205ab0a66", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", + "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", "phpoption/phpoption": "^1.9.3" }, "require-dev": { - "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7" + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" }, - "default-branch": true, "type": "library", "autoload": { "psr-4": { @@ -428,7 +390,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/1.1" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" }, "funding": [ { @@ -440,27 +402,21 @@ "type": "tidelift" } ], - "time": "2025-02-09T22:43:44+00:00" + "time": "2024-07-20T21:45:45+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.9.2", + "version": "7.9.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b" + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", + "shasum": "" }, "require": { "ext-json": "*", @@ -556,7 +512,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.9.2" + "source": "https://github.com/guzzle/guzzle/tree/7.9.3" }, "funding": [ { @@ -572,7 +528,7 @@ "type": "tidelift" } ], - "time": "2024-07-24T11:22:20+00:00" + "time": "2025-03-27T13:37:11+00:00" }, { "name": "guzzlehttp/promises", @@ -586,13 +542,7 @@ "type": "zip", "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c", "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0" @@ -675,13 +625,7 @@ "type": "zip", "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16", "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", @@ -797,13 +741,7 @@ "type": "zip", "url": "https://api.github.com/repos/guzzle/uri-template/zipball/30e286560c137526eccd4ce21b2de477ab0676d2", "reference": "30e286560c137526eccd4ce21b2de477ab0676d2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", @@ -877,87 +815,19 @@ ], "time": "2025-02-03T10:55:03+00:00" }, - { - "name": "iidestiny/flysystem-oss", - "version": "4.0", - "source": { - "type": "git", - "url": "https://github.com/iiDestiny/flysystem-oss.git", - "reference": "6b6cf6850be377c484c086505d942e61afa2875c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/iiDestiny/flysystem-oss/zipball/6b6cf6850be377c484c086505d942e61afa2875c", - "reference": "6b6cf6850be377c484c086505d942e61afa2875c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "aliyuncs/oss-sdk-php": "^2.4", - "ext-curl": "*", - "ext-json": "*", - "ext-openssl": "*", - "league/flysystem": "^3.0", - "php": "^8.0.2" - }, - "require-dev": { - "mockery/mockery": "^1.2", - "phpunit/phpunit": "^6.5", - "symfony/var-dumper": "^3.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Iidestiny\\Flysystem\\Oss\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "iidestiny", - "email": "iidestiny@vip.qq.com" - } - ], - "description": "Flysystem adapter for the Oss storage.", - "keywords": [ - "alioss", - "laravel", - "oss", - "阿里oss" - ], - "support": { - "issues": "https://github.com/iiDestiny/flysystem-oss/issues", - "source": "https://github.com/iiDestiny/flysystem-oss/tree/4.0" - }, - "time": "2022-04-19T06:23:50+00:00" - }, { "name": "illuminate/bus", - "version": "v12.10.1", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/bus.git", - "reference": "5bbb523f1317395ce9e9ded59d69d04a714b081d" + "reference": "2814b6d6ec18737a852055d44302bcac3221a95b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/bus/zipball/5bbb523f1317395ce9e9ded59d69d04a714b081d", - "reference": "5bbb523f1317395ce9e9ded59d69d04a714b081d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/illuminate/bus/zipball/2814b6d6ec18737a852055d44302bcac3221a95b", + "reference": "2814b6d6ec18737a852055d44302bcac3221a95b", + "shasum": "" }, "require": { "illuminate/collections": "^12.0", @@ -996,27 +866,21 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-03-19T20:10:05+00:00" + "time": "2025-04-24T19:45:06+00:00" }, { "name": "illuminate/collections", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/collections.git", - "reference": "811d8676fd7030a7f69b8f298a278c7fd5c67af3" + "reference": "abccbba3aef0fb9460105496e18c36b28dfe10b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/811d8676fd7030a7f69b8f298a278c7fd5c67af3", - "reference": "811d8676fd7030a7f69b8f298a278c7fd5c67af3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/illuminate/collections/zipball/abccbba3aef0fb9460105496e18c36b28dfe10b2", + "reference": "abccbba3aef0fb9460105496e18c36b28dfe10b2", + "shasum": "" }, "require": { "illuminate/conditionable": "^12.0", @@ -1059,27 +923,21 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-04-14T15:21:48+00:00" + "time": "2025-04-29T20:14:54+00:00" }, { "name": "illuminate/conditionable", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/conditionable.git", - "reference": "251ef166c6ee46cc8a141403253f83fe7ee50507" + "reference": "455a28c08f849db93078c9a60d765b88011affd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/conditionable/zipball/251ef166c6ee46cc8a141403253f83fe7ee50507", - "reference": "251ef166c6ee46cc8a141403253f83fe7ee50507", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/illuminate/conditionable/zipball/455a28c08f849db93078c9a60d765b88011affd2", + "reference": "455a28c08f849db93078c9a60d765b88011affd2", + "shasum": "" }, "require": { "php": "^8.2" @@ -1111,11 +969,11 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-03-19T20:10:05+00:00" + "time": "2025-04-23T12:59:28+00:00" }, { "name": "illuminate/container", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", @@ -1125,13 +983,7 @@ "type": "zip", "url": "https://api.github.com/repos/illuminate/container/zipball/cdd99204b29acf795a02f778542df5a5244361fd", "reference": "cdd99204b29acf795a02f778542df5a5244361fd", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "illuminate/contracts": "^12.0", @@ -1172,7 +1024,7 @@ }, { "name": "illuminate/contracts", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", @@ -1182,13 +1034,7 @@ "type": "zip", "url": "https://api.github.com/repos/illuminate/contracts/zipball/bbaec083da240396f2186f4c3a9952da207f28a0", "reference": "bbaec083da240396f2186f4c3a9952da207f28a0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^8.2", @@ -1226,23 +1072,17 @@ }, { "name": "illuminate/database", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/database.git", - "reference": "baa39ce37d66f3b36c1d342d9283c385273a8067" + "reference": "f8343fadae7b583ecb73774e0e63fbd7e7bb1074" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/database/zipball/baa39ce37d66f3b36c1d342d9283c385273a8067", - "reference": "baa39ce37d66f3b36c1d342d9283c385273a8067", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/illuminate/database/zipball/f8343fadae7b583ecb73774e0e63fbd7e7bb1074", + "reference": "f8343fadae7b583ecb73774e0e63fbd7e7bb1074", + "shasum": "" }, "require": { "brick/math": "^0.11|^0.12", @@ -1298,11 +1138,11 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-04-16T14:44:02+00:00" + "time": "2025-04-30T14:33:18+00:00" }, { "name": "illuminate/events", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/events.git", @@ -1312,13 +1152,7 @@ "type": "zip", "url": "https://api.github.com/repos/illuminate/events/zipball/80fc4cdfef9c33a59c998d2eb361eb6ae7c124bf", "reference": "80fc4cdfef9c33a59c998d2eb361eb6ae7c124bf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "illuminate/bus": "^12.0", @@ -1363,7 +1197,7 @@ }, { "name": "illuminate/filesystem", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", @@ -1373,13 +1207,7 @@ "type": "zip", "url": "https://api.github.com/repos/illuminate/filesystem/zipball/4fa2995bad173c1a0067b285bb7fef47a4b441c6", "reference": "4fa2995bad173c1a0067b285bb7fef47a4b441c6", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "illuminate/collections": "^12.0", @@ -1436,23 +1264,17 @@ }, { "name": "illuminate/http", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/http.git", - "reference": "baf0d722b978bd89a6454332aa5313c3fcb5fd25" + "reference": "1e5052ce7cc536785ed574a5a338e887ece6d9ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/http/zipball/baf0d722b978bd89a6454332aa5313c3fcb5fd25", - "reference": "baf0d722b978bd89a6454332aa5313c3fcb5fd25", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/illuminate/http/zipball/1e5052ce7cc536785ed574a5a338e887ece6d9ac", + "reference": "1e5052ce7cc536785ed574a5a338e887ece6d9ac", + "shasum": "" }, "require": { "ext-filter": "*", @@ -1499,11 +1321,11 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-04-09T21:27:11+00:00" + "time": "2025-05-01T14:54:03+00:00" }, { "name": "illuminate/macroable", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/macroable.git", @@ -1513,13 +1335,7 @@ "type": "zip", "url": "https://api.github.com/repos/illuminate/macroable/zipball/e862e5648ee34004fa56046b746f490dfa86c613", "reference": "e862e5648ee34004fa56046b746f490dfa86c613", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^8.2" @@ -1555,7 +1371,7 @@ }, { "name": "illuminate/pagination", - "version": "v12.10.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/pagination.git", @@ -1565,13 +1381,7 @@ "type": "zip", "url": "https://api.github.com/repos/illuminate/pagination/zipball/82e4eff793c022bde06766ed7f0bf8ae5349ead9", "reference": "82e4eff793c022bde06766ed7f0bf8ae5349ead9", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-filter": "*", @@ -1611,7 +1421,7 @@ }, { "name": "illuminate/pipeline", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/pipeline.git", @@ -1621,13 +1431,7 @@ "type": "zip", "url": "https://api.github.com/repos/illuminate/pipeline/zipball/3c6df979e7e8ef09183a610cc0383179c1aba309", "reference": "3c6df979e7e8ef09183a610cc0383179c1aba309", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "illuminate/contracts": "^12.0", @@ -1665,7 +1469,7 @@ }, { "name": "illuminate/session", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/session.git", @@ -1675,13 +1479,7 @@ "type": "zip", "url": "https://api.github.com/repos/illuminate/session/zipball/54f55139d2a535681305f4d6027730b1b96cc7f1", "reference": "54f55139d2a535681305f4d6027730b1b96cc7f1", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-ctype": "*", @@ -1728,23 +1526,17 @@ }, { "name": "illuminate/support", - "version": "v12.9.2", + "version": "v12.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "a1c8bc9c7bb664e36bdb2280cfae7e3de9517c1d" + "reference": "586b1ccf141724d7cd87ee759e6e8baae9c6d507" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/a1c8bc9c7bb664e36bdb2280cfae7e3de9517c1d", - "reference": "a1c8bc9c7bb664e36bdb2280cfae7e3de9517c1d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/illuminate/support/zipball/586b1ccf141724d7cd87ee759e6e8baae9c6d507", + "reference": "586b1ccf141724d7cd87ee759e6e8baae9c6d507", + "shasum": "" }, "require": { "doctrine/inflector": "^2.0", @@ -1807,7 +1599,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-04-16T11:58:41+00:00" + "time": "2025-04-30T14:33:58+00:00" }, { "name": "intervention/image", @@ -1821,13 +1613,7 @@ "type": "zip", "url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad", "reference": "04be355f8d6734c826045d02a1079ad658322dad", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-fileinfo": "*", @@ -1911,13 +1697,7 @@ "type": "zip", "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.3|^8.0" @@ -1968,23 +1748,17 @@ }, { "name": "league/flysystem", - "version": "3.29.0", + "version": "3.29.1", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "0adc0d9a51852e170e0028a60bd271726626d3f0" + "reference": "edc1bb7c86fab0776c3287dbd19b5fa278347319" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0adc0d9a51852e170e0028a60bd271726626d3f0", - "reference": "0adc0d9a51852e170e0028a60bd271726626d3f0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/edc1bb7c86fab0776c3287dbd19b5fa278347319", + "reference": "edc1bb7c86fab0776c3287dbd19b5fa278347319", + "shasum": "" }, "require": { "league/flysystem-local": "^3.0.0", @@ -2051,9 +1825,9 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.29.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.29.1" }, - "time": "2024-09-29T11:59:11+00:00" + "time": "2024-10-08T08:58:34+00:00" }, { "name": "league/flysystem-local", @@ -2067,13 +1841,7 @@ "type": "zip", "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e0e8d52ce4b2ed154148453d321e97c8e931bd27", "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-fileinfo": "*", @@ -2112,23 +1880,17 @@ }, { "name": "league/mime-type-detection", - "version": "1.15.0", + "version": "1.16.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", + "shasum": "" }, "require": { "ext-fileinfo": "*", @@ -2158,7 +1920,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" }, "funding": [ { @@ -2170,7 +1932,7 @@ "type": "tidelift" } ], - "time": "2024-01-28T23:22:08+00:00" + "time": "2024-09-21T08:32:55+00:00" }, { "name": "monolog/monolog", @@ -2184,13 +1946,7 @@ "type": "zip", "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5cf826f2991858b54d5c3809bee745560a1042a7", "reference": "5cf826f2991858b54d5c3809bee745560a1042a7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.2", @@ -2282,23 +2038,17 @@ }, { "name": "nesbot/carbon", - "version": "3.8.5", + "version": "3.9.1", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "b1a53a27898639579a67de42e8ced5d5386aa9a4" + "reference": "ced71f79398ece168e24f7f7710462f462310d4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/b1a53a27898639579a67de42e8ced5d5386aa9a4", - "reference": "b1a53a27898639579a67de42e8ced5d5386aa9a4", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/ced71f79398ece168e24f7f7710462f462310d4d", + "reference": "ced71f79398ece168e24f7f7710462f462310d4d", + "shasum": "" }, "require": { "carbonphp/carbon-doctrine-types": "<100.0", @@ -2390,7 +2140,7 @@ "type": "tidelift" } ], - "time": "2025-02-11T16:28:45+00:00" + "time": "2025-05-01T19:51:51+00:00" }, { "name": "nikic/fast-route", @@ -2404,13 +2154,7 @@ "type": "zip", "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", "reference": "181d480e08d9476e61381e04a71b34dc0432e812", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=5.4.0" @@ -2460,13 +2204,7 @@ "type": "zip", "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0" @@ -2529,6 +2267,55 @@ ], "time": "2024-07-20T21:41:07+00:00" }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, { "name": "psr/clock", "version": "1.0.0", @@ -2541,13 +2328,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.0 || ^8.0" @@ -2595,13 +2376,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.4.0" @@ -2654,13 +2429,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.2.0" @@ -2710,13 +2479,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.0 || ^8.0", @@ -2758,26 +2521,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -2801,7 +2558,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -2813,9 +2570,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -2829,13 +2586,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2 || ^8.0" @@ -2878,23 +2629,17 @@ }, { "name": "psr/log", - "version": "3.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "79dff0b268932c640297f5208d6298f71855c03e" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e", - "reference": "79dff0b268932c640297f5208d6298f71855c03e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" }, "require": { "php": ">=8.0.0" @@ -2928,9 +2673,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.1" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2024-08-21T13:31:24+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "psr/simple-cache", @@ -2944,13 +2689,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.0.0" @@ -3001,13 +2740,7 @@ "type": "zip", "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=5.6" @@ -3040,24 +2773,71 @@ "time": "2019-03-08T08:55:37+00:00" }, { - "name": "shopwwi/webman-filesystem", - "version": "v2.0.0", + "name": "shopwwi/filesystem-oss", + "version": "v1.0.3", "source": { "type": "git", - "url": "https://github.com/shopwwi/webman-filesystem.git", - "reference": "de33afdbfc56678323f1aafb8d011d79378d164a" + "url": "https://github.com/shopwwi/filesystem-oss.git", + "reference": "85cb385d1a5d11ca3c22bc485a7b18c588fe7645" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/shopwwi/webman-filesystem/zipball/de33afdbfc56678323f1aafb8d011d79378d164a", - "reference": "de33afdbfc56678323f1aafb8d011d79378d164a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/shopwwi/filesystem-oss/zipball/85cb385d1a5d11ca3c22bc485a7b18c588fe7645", + "reference": "85cb385d1a5d11ca3c22bc485a7b18c588fe7645", + "shasum": "" + }, + "require": { + "aliyuncs/oss-sdk-php": "^2.4", + "league/flysystem": "^2.1|^3.0", + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Shopwwi\\FilesystemOss\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tycoon Song", + "email": "8988354@qq.com" + } + ], + "description": "AliYun OSS adapter for flysystem V2. aliyuncs/oss-sdk-php ~2.4", + "homepage": "https://github.com/phcent/filesystem-oss", + "keywords": [ + "Flysystem", + "aliyun-oss", + "flysystem-aliyun-oss" + ], + "support": { + "issues": "https://github.com/shopwwi/filesystem-oss/issues", + "source": "https://github.com/shopwwi/filesystem-oss/tree/v1.0.3" + }, + "time": "2022-10-01T03:00:18+00:00" + }, + { + "name": "shopwwi/webman-filesystem", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/shopwwi/webman-filesystem.git", + "reference": "40d85f01d29513299c1d9d129e29d57624bebeae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/shopwwi/webman-filesystem/zipball/40d85f01d29513299c1d9d129e29d57624bebeae", + "reference": "40d85f01d29513299c1d9d129e29d57624bebeae", + "shasum": "" }, "require": { "league/flysystem": "^2.3|^3.0", @@ -3094,30 +2874,198 @@ ], "support": { "issues": "https://github.com/shopwwi/webman-filesystem/issues", - "source": "https://github.com/shopwwi/webman-filesystem/tree/v2.0.0" + "source": "https://github.com/shopwwi/webman-filesystem/tree/v1.1.1" }, - "time": "2025-03-17T11:14:43+00:00" + "time": "2024-04-29T12:40:45+00:00" }, { - "name": "symfony/clock", - "version": "v7.1.6", + "name": "symfony/cache", + "version": "v7.2.6", "source": { "type": "git", - "url": "https://github.com/symfony/clock.git", - "reference": "97bebc53548684c17ed696bc8af016880f0f098d" + "url": "https://github.com/symfony/cache.git", + "reference": "8b49dde3f5a5e9867595a3a269977f78418d75ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/97bebc53548684c17ed696bc8af016880f0f098d", - "reference": "97bebc53548684c17ed696bc8af016880f0f098d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } + "url": "https://api.github.com/repos/symfony/cache/zipball/8b49dde3f5a5e9867595a3a269977f78418d75ee", + "reference": "8b49dde3f5a5e9867595a3a269977f78418d75ee", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/cache": "^2.0|^3.0", + "psr/log": "^1.1|^2|^3", + "symfony/cache-contracts": "^2.5|^3", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/var-exporter": "^6.4|^7.0" + }, + "conflict": { + "doctrine/dbal": "<3.6", + "symfony/dependency-injection": "<6.4", + "symfony/http-kernel": "<6.4", + "symfony/var-dumper": "<6.4" + }, + "provide": { + "psr/cache-implementation": "2.0|3.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0", + "symfony/cache-implementation": "1.1|2.0|3.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/dbal": "^3.6|^4", + "predis/predis": "^1.1|^2.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "symfony/clock": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/filesystem": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "classmap": [ + "Traits/ValueWrapper.php" + ], + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", + "homepage": "https://symfony.com", + "keywords": [ + "caching", + "psr6" + ], + "support": { + "source": "https://github.com/symfony/cache/tree/v7.2.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-04-08T09:06:23+00:00" + }, + { + "name": "symfony/cache-contracts", + "version": "v3.5.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache-contracts.git", + "reference": "15a4f8e5cd3bce9aeafc882b1acab39ec8de2c1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/15a4f8e5cd3bce9aeafc882b1acab39ec8de2c1b", + "reference": "15a4f8e5cd3bce9aeafc882b1acab39ec8de2c1b", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/cache": "^3.0" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.5-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Cache\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to caching", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/cache-contracts/tree/v3.5.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:20:29+00:00" + }, + { + "name": "symfony/clock", + "version": "v7.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/clock.git", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "shasum": "" + }, "require": { "php": ">=8.2", "psr/clock": "^1.0", @@ -3160,7 +3108,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v7.1.6" + "source": "https://github.com/symfony/clock/tree/v7.2.0" }, "funding": [ { @@ -3176,7 +3124,100 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/console", + "version": "v7.2.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218", + "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^6.4|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v7.2.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-04-07T19:09:28+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3190,25 +3231,19 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.1" }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -3253,23 +3288,17 @@ }, { "name": "symfony/error-handler", - "version": "v7.2.1", + "version": "v7.2.5", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "6150b89186573046167796fa5f3f76601d5145f8" + "reference": "102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/6150b89186573046167796fa5f3f76601d5145f8", - "reference": "6150b89186573046167796fa5f3f76601d5145f8", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/error-handler/zipball/102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b", + "reference": "102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b", + "shasum": "" }, "require": { "php": ">=8.2", @@ -3314,7 +3343,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.2.1" + "source": "https://github.com/symfony/error-handler/tree/v7.2.5" }, "funding": [ { @@ -3330,27 +3359,21 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:50:44+00:00" + "time": "2025-03-03T07:12:39+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "87254c78dd50721cfd015b62277a8281c5589702" + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/87254c78dd50721cfd015b62277a8281c5589702", - "reference": "87254c78dd50721cfd015b62277a8281c5589702", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", + "shasum": "" }, "require": { "php": ">=8.2", @@ -3400,7 +3423,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.6" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" }, "funding": [ { @@ -3416,7 +3439,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -3430,13 +3453,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.1", @@ -3501,25 +3518,85 @@ "time": "2024-09-25T14:20:29+00:00" }, { - "name": "symfony/finder", + "name": "symfony/filesystem", "version": "v7.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "6de263e5868b9a137602dd1e33e4d48bfae99c49" + "url": "https://github.com/symfony/filesystem.git", + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/6de263e5868b9a137602dd1e33e4d48bfae99c49", - "reference": "6de263e5868b9a137602dd1e33e4d48bfae99c49", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b8dce482de9d7c9fe2891155035a7248ab5c7fdb", + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "require-dev": { + "symfony/process": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v7.2.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-25T15:15:23+00:00" + }, + { + "name": "symfony/finder", + "version": "v7.2.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "87a71856f2f56e4100373e92529eed3171695cfb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", + "reference": "87a71856f2f56e4100373e92529eed3171695cfb", + "shasum": "" + }, "require": { "php": ">=8.2" }, @@ -3552,7 +3629,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.2.0" + "source": "https://github.com/symfony/finder/tree/v7.2.2" }, "funding": [ { @@ -3568,27 +3645,21 @@ "type": "tidelift" } ], - "time": "2024-10-23T06:56:12+00:00" + "time": "2024-12-30T19:00:17+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.2.2", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588" + "reference": "6023ec7607254c87c5e69fb3558255aca440d72b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/62d1a43796ca3fea3f83a8470dfe63a4af3bc588", - "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/6023ec7607254c87c5e69fb3558255aca440d72b", + "reference": "6023ec7607254c87c5e69fb3558255aca440d72b", + "shasum": "" }, "require": { "php": ">=8.2", @@ -3636,7 +3707,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.2.2" + "source": "https://github.com/symfony/http-foundation/tree/v7.2.6" }, "funding": [ { @@ -3652,27 +3723,21 @@ "type": "tidelift" } ], - "time": "2024-12-30T19:00:17+00:00" + "time": "2025-04-09T08:14:01+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.2.3", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b" + "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b", - "reference": "caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9dec01e6094a063e738f8945ef69c0cfcf792ec", + "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec", + "shasum": "" }, "require": { "php": ">=8.2", @@ -3756,7 +3821,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.2.3" + "source": "https://github.com/symfony/http-kernel/tree/v7.2.6" }, "funding": [ { @@ -3772,27 +3837,21 @@ "type": "tidelift" } ], - "time": "2025-01-29T07:40:13+00:00" + "time": "2025-05-02T09:04:03+00:00" }, { "name": "symfony/mime", - "version": "v7.2.3", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "2fc3b4bd67e4747e45195bc4c98bea4628476204" + "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/2fc3b4bd67e4747e45195bc4c98bea4628476204", - "reference": "2fc3b4bd67e4747e45195bc4c98bea4628476204", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/mime/zipball/706e65c72d402539a072d0d6ad105fff6c161ef1", + "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1", + "shasum": "" }, "require": { "php": ">=8.2", @@ -3846,7 +3905,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.2.3" + "source": "https://github.com/symfony/mime/tree/v7.2.6" }, "funding": [ { @@ -3862,11 +3921,11 @@ "type": "tidelift" } ], - "time": "2025-01-27T11:08:17+00:00" + "time": "2025-04-27T13:34:41+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -3876,13 +3935,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.2" @@ -3931,7 +3984,85 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -3951,23 +4082,17 @@ }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "shasum": "" }, "require": { "php": ">=7.2", @@ -3979,8 +4104,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4020,7 +4145,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.32.0" }, "funding": [ { @@ -4036,11 +4161,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -4050,13 +4175,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", "reference": "3833d7255cc303546435cb650316bff708a1c75c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.2" @@ -4067,8 +4186,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4107,7 +4226,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -4127,25 +4246,20 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" }, "require": { + "ext-iconv": "*", "php": ">=7.2" }, "provide": { @@ -4157,8 +4271,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4193,7 +4307,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -4209,27 +4323,21 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "shasum": "" }, "require": { "php": ">=7.2" @@ -4279,7 +4387,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" }, "funding": [ { @@ -4295,11 +4403,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", @@ -4309,13 +4417,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.2" @@ -4323,8 +4425,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4361,7 +4463,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0" }, "funding": [ { @@ -4380,27 +4482,192 @@ "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/translation", - "version": "v7.1.6", + "name": "symfony/service-contracts", + "version": "v3.5.1", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b9f72ab14efdb6b772f85041fa12f820dee8d55f", - "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.5-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" ] }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:20:29+00:00" + }, + { + "name": "symfony/string", + "version": "v7.2.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931", + "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931", + "shasum": "" + }, "require": { "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/emoji": "^7.1", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v7.2.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-04-20T20:18:16+00:00" + }, + { + "name": "symfony/translation", + "version": "v7.2.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", + "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, @@ -4461,7 +4728,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.1.6" + "source": "https://github.com/symfony/translation/tree/v7.2.6" }, "funding": [ { @@ -4477,7 +4744,7 @@ "type": "tidelift" } ], - "time": "2024-09-28T12:35:13+00:00" + "time": "2025-04-07T19:09:28+00:00" }, { "name": "symfony/translation-contracts", @@ -4491,13 +4758,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c", "reference": "4667ff3bd513750603a09c8dedbea942487fb07c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.1" @@ -4565,23 +4826,17 @@ }, { "name": "symfony/var-dumper", - "version": "v7.2.0", + "version": "v7.2.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c" + "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c6a22929407dec8765d6e2b6ff85b800b245879c", - "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9c46038cd4ed68952166cf7001b54eb539184ccb", + "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb", + "shasum": "" }, "require": { "php": ">=8.2", @@ -4634,7 +4889,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.2.0" + "source": "https://github.com/symfony/var-dumper/tree/v7.2.6" }, "funding": [ { @@ -4650,28 +4905,98 @@ "type": "tidelift" } ], - "time": "2024-11-08T15:48:14+00:00" + "time": "2025-04-09T08:14:01+00:00" }, { - "name": "vlucas/phpdotenv", - "version": "v5.6.1", + "name": "symfony/var-exporter", + "version": "v7.2.6", "source": { "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" + "url": "https://github.com/symfony/var-exporter.git", + "reference": "422b8de94c738830a1e071f59ad14d67417d7007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/422b8de94c738830a1e071f59ad14d67417d7007", + "reference": "422b8de94c738830a1e071f59ad14d67417d7007", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/property-access": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows exporting any serializable PHP data structure to plain PHP code", + "homepage": "https://symfony.com", + "keywords": [ + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "lazy-loading", + "proxy", + "serialize" + ], + "support": { + "source": "https://github.com/symfony/var-exporter/tree/v7.2.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-05-02T08:36:00+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.2", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "shasum": "" + }, "require": { "ext-pcre": "*", "graham-campbell/result-type": "^1.1.3", @@ -4728,7 +5053,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" }, "funding": [ { @@ -4740,27 +5065,21 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:52:34+00:00" + "time": "2025-04-30T23:37:27+00:00" }, { "name": "voku/portable-ascii", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "16c17671a804bb92602822113dd91fbc8a35d2af" + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/16c17671a804bb92602822113dd91fbc8a35d2af", - "reference": "16c17671a804bb92602822113dd91fbc8a35d2af", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "shasum": "" }, "require": { "php": ">=7.0.0" @@ -4796,7 +5115,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.2" + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, "funding": [ { @@ -4820,27 +5139,21 @@ "type": "tidelift" } ], - "time": "2024-11-21T00:49:12+00:00" + "time": "2024-11-21T01:49:47+00:00" }, { "name": "webman/admin", - "version": "v2.1.4", + "version": "v2.1.6", "source": { "type": "git", "url": "https://github.com/webman-php/admin.git", - "reference": "14563a1c768aff97c6eca3cd6775b75147a14752" + "reference": "4ddcdda035ab2429498e19484291d83332468cab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webman-php/admin/zipball/14563a1c768aff97c6eca3cd6775b75147a14752", - "reference": "14563a1c768aff97c6eca3cd6775b75147a14752", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/webman-php/admin/zipball/4ddcdda035ab2429498e19484291d83332468cab", + "reference": "4ddcdda035ab2429498e19484291d83332468cab", + "shasum": "" }, "require": { "ext-json": "*", @@ -4867,34 +5180,65 @@ "description": "Webman Admin", "support": { "issues": "https://github.com/webman-php/admin/issues", - "source": "https://github.com/webman-php/admin/tree/v2.1.4" + "source": "https://github.com/webman-php/admin/tree/v2.1.6" }, - "time": "2025-04-14T01:28:03+00:00" + "time": "2025-04-29T08:53:54+00:00" }, { - "name": "webman/captcha", - "version": "v1.0.4", + "name": "webman/cache", + "version": "v2.1.2", "source": { "type": "git", - "url": "https://github.com/webman-php/captcha.git", - "reference": "44dc1e74b23e180e1dcb361c11b2ca8bc2e6b32c" + "url": "https://github.com/webman-php/cache.git", + "reference": "66a5461ea51d23364403b54ee218b736d26bb03f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webman-php/captcha/zipball/44dc1e74b23e180e1dcb361c11b2ca8bc2e6b32c", - "reference": "44dc1e74b23e180e1dcb361c11b2ca8bc2e6b32c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/webman-php/cache/zipball/66a5461ea51d23364403b54ee218b736d26bb03f", + "reference": "66a5461ea51d23364403b54ee218b736d26bb03f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/simple-cache": "^3.0", + "symfony/cache": "^6.0 || ^7.0", + "workerman/webman-framework": "^2.1 || dev-master" + }, + "type": "library", + "autoload": { + "psr-4": { + "support\\": "src/support", + "Webman\\Cache\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "support": { + "issues": "https://github.com/webman-php/cache/issues", + "source": "https://github.com/webman-php/cache/tree/v2.1.2" + }, + "time": "2025-04-11T01:23:50+00:00" + }, + { + "name": "webman/captcha", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/webman-php/captcha.git", + "reference": "0b2645b813466e4e70bff311511364080bad2ec5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webman-php/captcha/zipball/0b2645b813466e4e70bff311511364080bad2ec5", + "reference": "0b2645b813466e4e70bff311511364080bad2ec5", + "shasum": "" }, "require": { "ext-gd": "*", "ext-mbstring": "*", - "php": ">=5.6.0" + "php": ">=7.2" }, "require-dev": { "phpunit/phpunit": "^6.4" @@ -4931,9 +5275,63 @@ "spam" ], "support": { - "source": "https://github.com/webman-php/captcha/tree/v1.0.4" + "source": "https://github.com/webman-php/captcha/tree/v1.0.5" }, - "time": "2024-05-14T02:56:38+00:00" + "time": "2025-03-01T08:43:36+00:00" + }, + { + "name": "webman/console", + "version": "v2.1.7", + "source": { + "type": "git", + "url": "https://github.com/webman-php/console.git", + "reference": "709b47beb74cb1e7494b4b93a06d1996618bdacf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webman-php/console/zipball/709b47beb74cb1e7494b4b93a06d1996618bdacf", + "reference": "709b47beb74cb1e7494b4b93a06d1996618bdacf", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^2.0", + "php": ">=8.1", + "symfony/console": ">=6.0" + }, + "require-dev": { + "workerman/webman": "^2.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Webman\\Console\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "walkor", + "email": "walkor@workerman.net", + "homepage": "http://www.workerman.net", + "role": "Developer" + } + ], + "description": "Webman console", + "homepage": "http://www.workerman.net", + "keywords": [ + "webman console" + ], + "support": { + "email": "walkor@workerman.net", + "forum": "http://www.workerman.net/questions", + "issues": "https://github.com/webman-php/console/issues", + "source": "https://github.com/webman-php/console", + "wiki": "http://www.workerman.net/doc/webman" + }, + "time": "2025-05-06T02:54:37+00:00" }, { "name": "webman/database", @@ -4947,13 +5345,7 @@ "type": "zip", "url": "https://api.github.com/repos/webman-php/database/zipball/943c5a0f92d8959d9160c2ee3925112b15c308c8", "reference": "943c5a0f92d8959d9160c2ee3925112b15c308c8", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "illuminate/database": "^10.0 || ^11.0 || ^12.0", @@ -4981,23 +5373,17 @@ }, { "name": "webman/event", - "version": "v1.0.4", + "version": "v1.0.5", "source": { "type": "git", "url": "https://github.com/webman-php/event.git", - "reference": "f4478941c3b7efa4d7e9c063f2f6efd7ee3071a7" + "reference": "b1c3f6b70fd290e48288703d59bead0e28f9fb84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webman-php/event/zipball/f4478941c3b7efa4d7e9c063f2f6efd7ee3071a7", - "reference": "f4478941c3b7efa4d7e9c063f2f6efd7ee3071a7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/webman-php/event/zipball/b1c3f6b70fd290e48288703d59bead0e28f9fb84", + "reference": "b1c3f6b70fd290e48288703d59bead0e28f9fb84", + "shasum": "" }, "type": "library", "autoload": { @@ -5012,9 +5398,9 @@ "description": "Webman event plugin", "support": { "issues": "https://github.com/webman-php/event/issues", - "source": "https://github.com/webman-php/event/tree/v1.0.4" + "source": "https://github.com/webman-php/event/tree/v1.0.5" }, - "time": "2023-03-28T04:01:23+00:00" + "time": "2023-12-04T09:22:12+00:00" }, { "name": "workerman/coroutine", @@ -5028,13 +5414,7 @@ "type": "zip", "url": "https://api.github.com/repos/workerman-php/coroutine/zipball/df8fc428967d512a74a8a7d80355c1d40228c9fa", "reference": "df8fc428967d512a74a8a7d80355c1d40228c9fa", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.1" @@ -5073,13 +5453,7 @@ "type": "zip", "url": "https://api.github.com/repos/walkor/webman-framework/zipball/f803bd867f07bb0929faef060b59a19a44186bfc", "reference": "f803bd867f07bb0929faef060b59a19a44186bfc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-json": "*", @@ -5135,23 +5509,17 @@ }, { "name": "workerman/workerman", - "version": "v5.1.0", + "version": "v5.1.1", "source": { "type": "git", "url": "https://github.com/walkor/workerman.git", - "reference": "5ce17bc71dfdad0e9eba8cd658342da793d2f581" + "reference": "72cafa19e488896abd2576ea67b3b1af1abf71c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/walkor/workerman/zipball/5ce17bc71dfdad0e9eba8cd658342da793d2f581", - "reference": "5ce17bc71dfdad0e9eba8cd658342da793d2f581", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/walkor/workerman/zipball/72cafa19e488896abd2576ea67b3b1af1abf71c0", + "reference": "72cafa19e488896abd2576ea67b3b1af1abf71c0", + "shasum": "" }, "require": { "ext-json": "*", @@ -5213,7 +5581,7 @@ "type": "patreon" } ], - "time": "2025-02-05T14:25:44+00:00" + "time": "2025-04-02T14:01:24+00:00" } ], "packages-dev": [], diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 0000000..74775dc --- /dev/null +++ b/config/cache.php @@ -0,0 +1,31 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + 'default' => 'file', + 'stores' => [ + 'file' => [ + 'driver' => 'file', + 'path' => runtime_path('cache') + ], + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default' + ], + 'array' => [ + 'driver' => 'array' + ] + ] +]; \ No newline at end of file diff --git a/config/plugin/shopwwi/filesystem/app.php b/config/plugin/shopwwi/filesystem/app.php index 50605b2..3e948df 100644 --- a/config/plugin/shopwwi/filesystem/app.php +++ b/config/plugin/shopwwi/filesystem/app.php @@ -1,4 +1,17 @@ true, @@ -64,21 +77,16 @@ return [ ], 'oss' => [ 'driver' => \Shopwwi\WebmanFilesystem\Adapter\AliyunOssAdapterFactory::class, - 'accessId' => env('OSS_ACCESS_KEY_ID'), - 'accessSecret' => env('OSS_ACCESS_KEY_SECRET'), - 'accessKey' => env('OSS_ACCESS_KEY_ID'), - 'secretKey' => env('OSS_ACCESS_KEY_SECRET'), - 'bucket' => env('OSS_BUCKET', 'vehicle-album'), - 'endpoint' => env('OSS_ENDPOINT', 'https://oss-cn-beijing.aliyuncs.com'), - 'url' => '', // 静态文件访问域名 - 'isCName' => false, - 'prefix' => '', - 'timeout' => 60, - 'connectTimeout' => 10, - 'securityToken' => null, - 'proxy' => null, - 'useSSL' => true, - 'signatureVersion' => 'v4', + 'accessId' => getenv('OSS_ACCESS_KEY_ID'), + 'accessSecret' => getenv('OSS_ACCESS_KEY_SECRET'), + 'bucket' => getenv('OSS_BUCKET'), + 'endpoint' => getenv('OSS_ENDPOINT'), + 'url' => '' // 静态文件访问域名 + // 'timeout' => 3600, + // 'connectTimeout' => 10, + // 'isCName' => false, + // 'token' => null, + // 'proxy' => null, ], 'qiniu' => [ 'driver' => \Shopwwi\WebmanFilesystem\Adapter\QiniuAdapterFactory::class, diff --git a/config/plugin/webman/console/app.php b/config/plugin/webman/console/app.php new file mode 100644 index 0000000..074e986 --- /dev/null +++ b/config/plugin/webman/console/app.php @@ -0,0 +1,24 @@ + true, + + 'build_dir' => BASE_PATH . DIRECTORY_SEPARATOR . 'build', + + 'phar_filename' => 'webman.phar', + + 'bin_filename' => 'webman.bin', + + 'signature_algorithm'=> Phar::SHA256, //set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL. + + 'private_key_file' => '', // The file path for certificate or OpenSSL private key file. + + 'exclude_pattern' => '#^(?!.*(composer.json|/.github/|/.idea/|/.git/|/.setting/|/runtime/|/vendor-bin/|/build/|/vendor/webman/admin/))(.*)$#', + + 'exclude_files' => [ + '.env', 'LICENSE', 'composer.json', 'composer.lock', 'start.php', 'webman.phar', 'webman.bin' + ], + + 'custom_ini' => ' +memory_limit = 256M + ', +]; diff --git a/plugin/admin/app/controller/VehicleController.php b/plugin/admin/app/controller/VehicleController.php index 6512b41..c2c7587 100644 --- a/plugin/admin/app/controller/VehicleController.php +++ b/plugin/admin/app/controller/VehicleController.php @@ -3,6 +3,12 @@ declare (strict_types = 1); namespace plugin\admin\app\controller; +use app\model\LocationAr; +use app\model\LocationEn; +use app\model\LocationRu; +use app\model\VehicleAr; +use app\model\VehicleEn; +use app\model\VehicleRu; use app\service\OssService; use plugin\admin\app\model\Location; use support\Log; @@ -97,6 +103,8 @@ class VehicleController extends Crud // 合并翻译,确保语言文件中的翻译优先 $translations = array_merge($required_translations, $translations); + + return view('vehicle/index', [ 'lang' => $lang, @@ -285,13 +293,44 @@ class VehicleController extends Crud foreach ($items as &$item) { $location = Location::find($item->locations_id); // $item->status = $this->status[$item->status]??$this->status[0]; - $item->status = "已到达迪拜仓库"; +// $item->status = "已到达迪拜仓库"; $item->location_name = $location ? $location->name : ''; $final_location = Location::find($item->final_locations_id); $item->final_location_name = $final_location ? $final_location->name : ''; $fbo_location = Location::find($item->fbo_locations_id); $item->fbo_location_name = $fbo_location ? $fbo_location->name : ''; + $lang = session('lang', 'zh-cn'); + switch ($lang) { + case 'zh-cn': + $vehicle = new \app\model\Vehicle(); + $hz = new \app\model\Location(); + break; + + case 'en': + $vehicle = new \app\model\VehicleEn(); + $hz = new \app\model\LocationEn(); + break; + + case 'ru': + $vehicle = new \app\model\VehicleRu(); + $hz = new \app\model\LocationRu(); + break; + case 'ar': + $vehicle = new \app\model\VehicleAr(); + $hz = new \app\model\LocationAr(); + break; + } + + $location = $hz::find($item->locations_id); + $item->location_name = $location ? $location->name : ''; + $car = $vehicle::find($item->id); + $item->status = $car ? $car->status : $item->status; + $location = $hz::find($item->final_location_id); + $item->final_location_name = $location ? $location->name : ''; + $location = $hz::find($item->fbo_locations_id); + $item->fbo_location_name = $location ? $location->name : ''; + if(!str_starts_with($item['img_url'], 'http')){ try { $ossservice = new OssService(); diff --git a/plugin/admin/app/view/index/index.html b/plugin/admin/app/view/index/index.html index cd56715..ab63c16 100644 --- a/plugin/admin/app/view/index/index.html +++ b/plugin/admin/app/view/index/index.html @@ -93,7 +93,7 @@ - +
diff --git a/plugin/admin/app/view/location/index.html b/plugin/admin/app/view/location/index.html index 97fbb94..b6b6585 100644 --- a/plugin/admin/app/view/location/index.html +++ b/plugin/admin/app/view/location/index.html @@ -7,9 +7,9 @@ diff --git a/webman b/webman new file mode 100644 index 0000000..3f55062 --- /dev/null +++ b/webman @@ -0,0 +1,71 @@ +#!/usr/bin/env php +load(); + } else { + Dotenv::createMutable(run_path())->load(); + } +} + +$appConfig = require $appConfigFile; +if ($timezone = $appConfig['default_timezone'] ?? '') { + date_default_timezone_set($timezone); +} + +if ($errorReporting = $appConfig['error_reporting'] ?? '') { + error_reporting($errorReporting); +} + +if (!in_array($argv[1] ?? '', ['start', 'restart', 'stop', 'status', 'reload', 'connections'])) { + require_once __DIR__ . '/support/bootstrap.php'; +} else { + if (class_exists('Support\App')) { + Support\App::loadAllConfig(['route']); + } else { + Config::reload(config_path(), ['route', 'container']); + } +} + +$cli = new Command(); +$cli->setName('webman cli'); +$cli->installInternalCommands(); +if (is_dir($command_path = Util::guessPath(app_path(), '/command', true))) { + $cli->installCommands($command_path); +} + +foreach (config('plugin', []) as $firm => $projects) { + if (isset($projects['app'])) { + foreach (['', '/app'] as $app) { + if ($command_str = Util::guessPath(base_path() . "/plugin/$firm{$app}", 'command')) { + $command_path = base_path() . "/plugin/$firm{$app}/$command_str"; + $cli->installCommands($command_path, "plugin\\$firm" . str_replace('/', '\\', $app) . "\\$command_str"); + } + } + } + foreach ($projects as $name => $project) { + if (!is_array($project)) { + continue; + } + $project['command'] ??= []; + array_walk($project['command'], [$cli, 'createCommandInstance']); + } +} + +$cli->run();