lcly-data-admin/routes/api.php

120 lines
7.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::post('auth/login', [AuthController::class, 'login']);
Route::post('captchas', [CaptchaController::class, 'store']);
Route::get('captchas/{captcha}', [CaptchaController::class, 'show']);
Route::group([
'middleware' => ['auth:sanctum'],
], function () {
Route::post('web/upload', [WebController::class, 'upload']);
Route::get('keywords-crops', [KeywordController::class, 'crops']); //农作物
Route::get('keywords-crops-cate', [KeywordController::class, 'cropsCate']); //农作物产业分类
Route::get('keywords-industry', [KeywordController::class, 'industry']); //基地产业类型
Route::get('permissions', [AdminPermissionController::class, 'index']);
Route::get('device-types', [DeviceController::class, 'types']);
Route::get('ffmpeg-websocket-ip', [DeviceController::class, 'getFfmpegServiceIp']);
Route::group(['as' => 'endpoint.'], function () {
//全市基础数据
Route::get('citydata-statistics', [CityDataController::class, 'statistics'])->name('citydata_statistics.index');
Route::put('citydata-statistics-edit', [CityDataController::class, 'updateStatistics'])->name('citydata_statistics.edit');
//基地数据
Route::apiResource('agricultural-basic', AgriculturalBaseController::class)->names('agricultural_basic');//基地
Route::apiResource('town-street', AgriculturalBaseController::class)->names('town_street');//镇街
Route::get('agricultural-device-basic', [AgriculturalBaseController::class, 'deviceBase'])->name('agricultural_basic.device_bases'); //通过设备类型查询基地
Route::get('agricultural-device-point/{agricultural_basic}', [AgriculturalBaseController::class, 'basePointList']);//获取基地对应监控点
Route::get('agricultural-device-points', [AgriculturalBaseController::class, 'basePoints']);
//农作物
Route::apiResource('crops', CropController::class)->names('crops');//基地农作物
Route::apiResource('town-crops', CropController::class)->names('town_crops');//城镇农作物
//农业结构
// Route::apiResource('crop-structures', CropStructureController::class)->names('crops_build');
//产量
Route::apiResource('crop-yields', CropYieldController::class)->names('crops_output');//基地产量
Route::apiResource('town-crop-yields', CropYieldController::class)->names('town_crops_output');//镇街产量
//流向
Route::apiResource('crop-flows', CropFlowController::class)->names('crops_flow');
//设备管理
Route::apiResource('devices', DeviceController::class)->names('device');
Route::get('devices/{device}/worm-statics', [DeviceController::class, 'wormStatics']);
Route::get('devices/{device}/worm-photos', [DeviceController::class, 'wormPhotos']);
Route::get('devices/{device}/live', [DeviceController::class, 'live']);
Route::put('devices-update-recommend/{device}', [DeviceController::class, 'updateRecommendStatus']);
Route::get('devices-num', [DeviceController::class, 'typeStatusNum'])->name('device.type_status_num');
Route::get('monitoring-data', [DeviceController::class, 'timeZoneList']);
//设备警报配置
Route::get('device-warning-rules', [DeviceWarningController::class, 'rules']); //预警规则
Route::put('device-warning-rules', [DeviceWarningController::class, 'updateRule']); //预警规则
Route::get('device-warning-logs', [DeviceWarningController::class, 'warningLog']);
Route::get('device-warning-nums', [DeviceWarningController::class, 'warningLogNum']);
Route::put('device-warning-mark/{device_warning}', [DeviceWarningController::class, 'markWarning']);
//友情链接
Route::apiResource('friend-links', FriendLinkController::class)->names('friend_links');
//操作日志
Route::apiResource('operation-logs', OperationLogController::class)->only(['index'])->names('operation_logs');
/**统计 **/
Route::get('crop-yield-quarter-statics', [CropYieldController::class, 'quarterStaticsChart']); //季度统计
Route::get('crop-yield-category-statics', [CropYieldController::class, 'categoryStaticsChart']); //行业统计产值
Route::get('crop-yield-total-list', [CropYieldController::class, 'totalStaticsList']); //城镇统计产值
Route::get('crop-yield-total-chart', [CropYieldController::class, 'totalStaticsChart']); //城镇统计产值
Route::get('device-data-statics', [DeviceController::class, 'dataStatics']); //指定设备,当天的设备数据
Route::get('device-base-data-statics', [DeviceController::class, 'baseDataStatics']);
Route::get('device-base-data-statics-v2', [DeviceController::class, 'baseDataStaticsV2']);
/** 系统管理 **/
Route::apiResource('admin-users', AdminUserController::class)->names('admin_users');
Route::put('admin-users/{admin_user}/enable', [AdminUserController::class, 'endable'])->name('admin_users.enable');
Route::put('admin-users/{admin_user}/edit-password', [AdminUserController::class, 'editPassword'])->name('admin_users.edit_password');
Route::put('admin-users/{admin_user}/unban', [AdminUserController::class, 'unban'])->name('admin_users.unban');
Route::apiResource('admin-roles', AdminRoleController::class)->names('admin_roles');
Route::get('weeks-per-year', WeeksPerYearController::class);
// 重点产业
Route::apiResource('rice-shrimp-prices', RiceShrimpPriceController::class)->names('rice_shrimp_prices');
Route::apiResource('rice-shrimp-weekly-prices', RiceShrimpWeeklyPriceController::class)->names('rice_shrimp_weekly_prices');
Route::apiResource('rice-shrimp-industries', RiceShrimpIndustryController::class)->names('rice_shrimp_industries');
Route::apiResource('rice-shrimp-flows', RiceShrimpFlowController::class)->names('rice_shrimp_flows');
Route::apiResource('materiels', MaterielController::class)->names('materiels');
// 重点产业报表
Route::get('charts/rice-shrimp-price', [ChartController::class, 'riceShrimpPrice'])->name('charts.rice_shrimp_price');
Route::get('charts/rice-shrimp-weekly-price', [ChartController::class, 'riceShrimpWeeklyPrice'])->name('charts.rice_shrimp_weekly_price');
Route::get('charts/rice-shrimp-industry', [ChartController::class, 'riceShrimpIndustry'])->name('charts.rice_shrimp_industry');
Route::get('charts/rice-shrimp-flow', [ChartController::class, 'riceShrimpFlow'])->name('charts.rice_shrimp_flow');
Route::get('charts/materiel', [ChartController::class, 'materiel'])->name('charts.materiel');
});
Route::prefix('users')->group(function () {
Route::get('info', [UserController::class, 'info']);
Route::put('reset-password', [UserController::class, 'resetPwd']);
Route::delete('logout', [UserController::class, 'logout']);
});
});