jingcai-php/app/Http/Controllers/Api/Customer/AppController.php

64 lines
1.7 KiB
PHP
Executable File

<?php
namespace App\Http\Controllers\Api\Customer;
use App\Enums\AppType;
use App\Enums\ClientType;
use App\Model\Apps;
use App\Model\Config;
use App\Utils\Helps;
use Illuminate\Http\Request;
class AppController extends BaseController
{
/**
* @api {GET} /api/customer/app/version_info App-下载信息
* @apiVersion 0.1.0
* @apiGroup 客户端
*/
public function versionInfo(Request $request)
{
$userAgent = $request->userAgent();
if ($userAgent && Helps::getClientType($userAgent) == ClientType::IOS) {
$data = $this->versionIOS ($request);
} else {
$data = $this->versionAndroid( $request);
}
return $this->jsonSuccess($data);
}
private function versionAndroid(Request $request)
{
$testVersion = $request->input('test_version');
$version = Apps::buyerAndroidVersion($testVersion);
return [
'client_type' => ClientType::ANDROID,
'version' => $version,
'url' => Helps::appBuyerUrl($version,AppType::ANDROID),
'description' => '版本上线',
];
}
private function versionIOS(Request $request)
{
$testVersion = $request->input('test_version');
$version = Apps::buyerIOSVersion($testVersion);
$ios = Helps::appIOSBuyerUrl();
$url = 'itms-services://?action=download-manifest&url='.urlencode($ios);
$param = [
'install' => $url
];
$url = 'https:file.daxiangzj.com/client/ios_install?' . http_build_query($param);
return [
'client_type' => ClientType::IOS,
'version' => $version,
'url' => $url,
'description' => '描述信息',
];
}
}