初始化项目
This commit is contained in:
75
app/Http/Controllers/System/Api/City.php
Normal file
75
app/Http/Controllers/System/Api/City.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\System\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Services\System\CityService;
|
||||
|
||||
class City extends Controller
|
||||
{
|
||||
protected $cityService;
|
||||
|
||||
public function __construct(CityService $cityService)
|
||||
{
|
||||
$this->cityService = $cityService;
|
||||
}
|
||||
|
||||
public function tree()
|
||||
{
|
||||
$tree = $this->cityService->getCachedTree();
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => $tree
|
||||
]);
|
||||
}
|
||||
|
||||
public function provinces()
|
||||
{
|
||||
$provinces = $this->cityService->getProvinces();
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => $provinces
|
||||
]);
|
||||
}
|
||||
|
||||
public function cities(int $provinceId)
|
||||
{
|
||||
$cities = $this->cityService->getCities($provinceId);
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => $cities
|
||||
]);
|
||||
}
|
||||
|
||||
public function districts(int $cityId)
|
||||
{
|
||||
$districts = $this->cityService->getDistricts($cityId);
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => $districts
|
||||
]);
|
||||
}
|
||||
|
||||
public function show(int $id)
|
||||
{
|
||||
$city = $this->cityService->getById($id);
|
||||
if (!$city) {
|
||||
return response()->json([
|
||||
'code' => 404,
|
||||
'message' => '城市不存在',
|
||||
'data' => null
|
||||
], 404);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => $city
|
||||
]);
|
||||
}
|
||||
}
|
||||
51
app/Http/Controllers/System/Api/Config.php
Normal file
51
app/Http/Controllers/System/Api/Config.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\System\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Services\System\ConfigService;
|
||||
|
||||
class Config extends Controller
|
||||
{
|
||||
protected $configService;
|
||||
|
||||
public function __construct(ConfigService $configService)
|
||||
{
|
||||
$this->configService = $configService;
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$configs = $this->configService->getAllConfig();
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => $configs
|
||||
]);
|
||||
}
|
||||
|
||||
public function getByGroup(Request $request)
|
||||
{
|
||||
$configs = $this->configService->getByGroup($request->input('group'));
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => $configs
|
||||
]);
|
||||
}
|
||||
|
||||
public function getByKey(Request $request)
|
||||
{
|
||||
$key = $request->input('key');
|
||||
$value = $this->configService->getConfigValue($key);
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => [
|
||||
'key' => $key,
|
||||
'value' => $value,
|
||||
]
|
||||
]);
|
||||
}
|
||||
}
|
||||
59
app/Http/Controllers/System/Api/Dictionary.php
Normal file
59
app/Http/Controllers/System/Api/Dictionary.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\System\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Services\System\DictionaryService;
|
||||
|
||||
class Dictionary extends Controller
|
||||
{
|
||||
protected $dictionaryService;
|
||||
|
||||
public function __construct(DictionaryService $dictionaryService)
|
||||
{
|
||||
$this->dictionaryService = $dictionaryService;
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$dictionaries = $this->dictionaryService->getAll();
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => $dictionaries
|
||||
]);
|
||||
}
|
||||
|
||||
public function getByCode(Request $request)
|
||||
{
|
||||
$code = $request->input('code');
|
||||
$items = $this->dictionaryService->getItemsByCode($code);
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => [
|
||||
'code' => $code,
|
||||
'items' => $items,
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
public function show(int $id)
|
||||
{
|
||||
$dictionary = $this->dictionaryService->getById($id);
|
||||
if (!$dictionary) {
|
||||
return response()->json([
|
||||
'code' => 404,
|
||||
'message' => '字典不存在',
|
||||
'data' => null
|
||||
], 404);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => 'success',
|
||||
'data' => $dictionary
|
||||
]);
|
||||
}
|
||||
}
|
||||
106
app/Http/Controllers/System/Api/Upload.php
Normal file
106
app/Http/Controllers/System/Api/Upload.php
Normal file
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\System\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Services\System\UploadService;
|
||||
|
||||
class Upload extends Controller
|
||||
{
|
||||
protected $uploadService;
|
||||
|
||||
public function __construct(UploadService $uploadService)
|
||||
{
|
||||
$this->uploadService = $uploadService;
|
||||
}
|
||||
|
||||
public function upload(Request $request)
|
||||
{
|
||||
try {
|
||||
$request->validate([
|
||||
'file' => 'required|file|max:10240',
|
||||
]);
|
||||
|
||||
$file = $request->file('file');
|
||||
$directory = $request->input('directory', 'uploads');
|
||||
$options = [
|
||||
'compress' => $request->input('compress', false),
|
||||
'quality' => $request->input('quality', 80),
|
||||
'width' => $request->input('width'),
|
||||
'height' => $request->input('height'),
|
||||
];
|
||||
|
||||
$result = $this->uploadService->upload($file, $directory, $options);
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => '上传成功',
|
||||
'data' => $result
|
||||
]);
|
||||
} catch (\Exception $e) {
|
||||
return response()->json([
|
||||
'code' => 400,
|
||||
'message' => $e->getMessage(),
|
||||
'data' => null
|
||||
], 400);
|
||||
}
|
||||
}
|
||||
|
||||
public function uploadMultiple(Request $request)
|
||||
{
|
||||
try {
|
||||
$request->validate([
|
||||
'files' => 'required|array',
|
||||
'files.*' => 'file|max:10240',
|
||||
]);
|
||||
|
||||
$files = $request->file('files');
|
||||
$directory = $request->input('directory', 'uploads');
|
||||
$options = [
|
||||
'compress' => $request->input('compress', false),
|
||||
'quality' => $request->input('quality', 80),
|
||||
'width' => $request->input('width'),
|
||||
'height' => $request->input('height'),
|
||||
];
|
||||
|
||||
$results = $this->uploadService->uploadMultiple($files, $directory, $options);
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => '上传成功',
|
||||
'data' => $results
|
||||
]);
|
||||
} catch (\Exception $e) {
|
||||
return response()->json([
|
||||
'code' => 400,
|
||||
'message' => $e->getMessage(),
|
||||
'data' => null
|
||||
], 400);
|
||||
}
|
||||
}
|
||||
|
||||
public function uploadBase64(Request $request)
|
||||
{
|
||||
try {
|
||||
$request->validate([
|
||||
'base64' => 'required|string',
|
||||
]);
|
||||
|
||||
$base64 = $request->input('base64');
|
||||
$directory = $request->input('directory', 'uploads');
|
||||
$fileName = $request->input('file_name');
|
||||
|
||||
$result = $this->uploadService->uploadBase64($base64, $directory, $fileName);
|
||||
return response()->json([
|
||||
'code' => 200,
|
||||
'message' => '上传成功',
|
||||
'data' => $result
|
||||
]);
|
||||
} catch (\Exception $e) {
|
||||
return response()->json([
|
||||
'code' => 400,
|
||||
'message' => $e->getMessage(),
|
||||
'data' => null
|
||||
], 400);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user