停车场管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

339 lines
24 KiB

<?php
use App\Http\Controllers\Admin\AuthController;
use App\Http\Controllers\Admin\ConfigController;
use App\Http\Controllers\Admin\FloorController;
use App\Http\Controllers\Admin\IndexController;
use App\Http\Controllers\Admin\VipAccessRecordController;
use App\Http\Controllers\Admin\VipListController;
use App\Http\Controllers\Admin\OperationLogController;
use App\Http\Controllers\Admin\ParkingElectronicMapController;
use App\Http\Controllers\Admin\ParkingLicensePlateController;
use App\Http\Controllers\Admin\ParkingReservationController;
use App\Http\Controllers\Admin\ParkingSpaceController;
use App\Http\Controllers\Admin\ParkingSpaceAttributesController;
use App\Http\Controllers\Admin\ParkingSpaceTypeController;
use App\Http\Controllers\Admin\RolesController;
use App\Http\Controllers\Admin\TranslationController;
use App\Http\Controllers\Admin\UploadController;
use App\Http\Controllers\Admin\UserController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Admin\ParkingInformationController;
use App\Http\Controllers\Admin\ParkingSpaceCatMapController;
use App\Http\Controllers\Admin\ParkingCameraController;
use App\Http\Controllers\Admin\ParkingPatternController;
use App\Http\Controllers\Admin\ParkingPatternSpaceController;
use App\Http\Controllers\Admin\EventCalendarController;
use App\Http\Controllers\Admin\NoticeController;
use App\Http\Controllers\Admin\LicensePlateRecognitionController;
use App\Http\Controllers\Admin\ParkingBehaviorController;
use App\Http\Controllers\Admin\ParkingManagementController;
use App\Http\Controllers\Admin\ParkingManagementListController;
use App\Http\Controllers\Admin\ParkingAttendantController;
use App\Http\Controllers\Admin\RegionalManagementController;
use App\Http\Controllers\Admin\ParkingChannelController;
use App\Http\Controllers\Admin\GuardBoothManagementController;
use App\Http\Controllers\Admin\ParkingDepartureReasonController;
use App\Http\Controllers\Admin\ChannelPermissionsController;
use App\Http\Controllers\Admin\ParkingEquipmentController;
use App\Http\Controllers\Admin\ParkingWhitelistController;
use App\Http\Controllers\Admin\ParkingAbnormalController;
Route::group(['prefix' => 'admin'], function () {
// 认证相关接口
Route::post('/login', [AuthController::class, 'login']);
Route::get('/isapi', [AuthController::class, 'isApi']);
// get测试区
Route::get('parkingSpace/create', [ParkingSpaceController::class, 'store']);
// 需要认证的接口
Route::middleware(['admin.auth'])->group(function () {
// 认证相关
Route::post('/logout', [AuthController::class, 'logout']);
Route::get('/me', [AuthController::class, 'me']);
Route::post('/translationSwitch', [AuthController::class, 'translationSwitch']);
// 首页
Route::get('/index', [IndexController::class, 'index']);
Route::get('/index/statistics', [IndexController::class, 'parkingSpaceStatistics']);
Route::get('/menu', [IndexController::class, 'menu']);
// 活动行事历
Route::get('/eventCalendar', [EventCalendarController::class, 'index']);
Route::get('/eventCalendar/search', [EventCalendarController::class, 'search']);
Route::post('/eventCalendar/changeMode', [EventCalendarController::class, 'changeMode']);
Route::get('/eventCalendar/create', [EventCalendarController::class, 'create']);
Route::post('/eventCalendar', [EventCalendarController::class, 'store']);
Route::get('/eventCalendar/edit/{id}', [EventCalendarController::class, 'edit']);
Route::put('/eventCalendar/{id}', [EventCalendarController::class, 'update']);
Route::delete('/eventCalendar/{id}', [EventCalendarController::class, 'destroy']);
Route::get('/eventCalendar/end/{id}', [EventCalendarController::class, 'end']);
Route::post('/eventCalendar/import', [EventCalendarController::class, 'import']);
Route::get('/eventCalendar/targetMode', [EventCalendarController::class, 'targetMode']);
Route::get('/eventCalendar/rule', [EventCalendarController::class, 'rule']);
Route::get('/eventCalendar/index', [EventCalendarController::class, 'calendarList']);
Route::post('/eventCalendar/index', [EventCalendarController::class, 'calendarDayList']);
// 模式管理
Route::get('/pattern', [ParkingPatternController::class, 'index']);
Route::get('/pattern/search', [ParkingPatternController::class, 'search']);
Route::get('/pattern/edit/{id}', [ParkingPatternController::class, 'edit']);
Route::put('/pattern/{id}', [ParkingPatternController::class, 'update']);
Route::post('/pattern/import', [ParkingPatternController::class, 'import']);
Route::post('/pattern/batchImport', [ParkingPatternController::class, 'batchImport']);
Route::delete('/pattern/{id}', [ParkingPatternController::class, 'destroy']);
Route::get('/pattern/rule', [ParkingPatternController::class, 'rule']);
Route::get('/pattern/release', [ParkingPatternController::class, 'release']);
Route::get('/pattern/change', [ParkingPatternController::class, 'change']);
Route::get('/patternSpace', [ParkingPatternSpaceController::class, 'index']);
Route::get('/patternSpace/search', [ParkingPatternSpaceController::class, 'search']);
Route::get('/patternSpace/create', [ParkingPatternSpaceController::class, 'create']);
Route::post('/patternSpace', [ParkingPatternSpaceController::class, 'store']);
Route::get('/patternSpace/edit/{id}', [ParkingPatternSpaceController::class, 'edit']);
Route::put('/patternSpace/{id}', [ParkingPatternSpaceController::class, 'update']);
Route::delete('/patternSpace/{id}', [ParkingPatternSpaceController::class, 'destroy']);
Route::get('/patternSpace/rule', [ParkingPatternSpaceController::class, 'rule']);
Route::post('/patternSpace/update', [ParkingPatternSpaceController::class, 'updateType']);
// 车位地图
Route::get('/parkingSpaceMap/search', [ParkingSpaceCatMapController::class, 'search']);
Route::get('/parkingSpaceMap/floorOverview', [ParkingSpaceCatMapController::class, 'floorOverview']);
Route::get('/parkingSpaceMap/map', [ParkingSpaceCatMapController::class, 'map']);
Route::get('/parkingSpaceMap/rule', [ParkingSpaceCatMapController::class, 'rule']);
Route::get('/parkingSpaceMap/parkingTypeColor', [ParkingSpaceCatMapController::class, 'parkingTypeColor']);
// 车位预定列表
Route::get('/parkingReservation', [ParkingReservationController::class, 'index']);
Route::get('/parkingReservation/search', [ParkingReservationController::class, 'search']);
Route::get('/parkingReservation/statistics', [ParkingReservationController::class, 'statistics']);
Route::get('/parkingReservation/rule', [ParkingReservationController::class, 'rule']);
Route::get('/parkingReservation/index', [ParkingReservationController::class, 'show']);
// 预约统计
Route::get('/parkingReservationStatistics/index', [ParkingReservationController::class, 'getDateStatistics']);
// 车位列表
Route::get('/parkingSpace', [ParkingSpaceController::class, 'index']);
Route::get('/parkingSpace/search', [ParkingSpaceController::class, 'search']);
Route::post('/parkingSpace/updateType', [ParkingSpaceController::class, 'updateType']);
Route::post('/parkingSpace/updateAttr', [ParkingSpaceController::class, 'updateAttr']);
Route::post('/parkingSpace/information', [ParkingSpaceController::class, 'information']);
Route::post('/parkingSpace/updateStatus', [ParkingSpaceController::class, 'updateStatus']);
Route::get('/parkingSpace/rule', [ParkingSpaceController::class, 'rule']);
//车位类型管理
Route::get('/spaceType', [ParkingSpaceTypeController::class, 'index']);
Route::get('/spaceType/create', [ParkingSpaceTypeController::class, 'create']);
Route::post('/spaceType', [ParkingSpaceTypeController::class, 'store']);
Route::get('/spaceType/show/{id}', [ParkingSpaceTypeController::class, 'show']);
Route::get('/spaceType/edit/{id}', [ParkingSpaceTypeController::class, 'edit']);
Route::put('/spaceType/{id}', [ParkingSpaceTypeController::class, 'update']);
Route::delete('/spaceType/{id}', [ParkingSpaceTypeController::class, 'destroy']);
Route::get('/spaceType/rule', [ParkingSpaceTypeController::class, 'rule']);
//车牌管理
Route::get('/licensePlate', [ParkingLicensePlateController::class, 'index']);
Route::post('/licensePlate', [ParkingLicensePlateController::class, 'store']);
Route::put('/licensePlate/{id}', [ParkingLicensePlateController::class, 'update']);
Route::delete('/licensePlate/{id}', [ParkingLicensePlateController::class, 'destroy']);
Route::get('/licensePlate/clear/{id}', [ParkingLicensePlateController::class, 'clear']);
Route::post('/licensePlate/import', [ParkingLicensePlateController::class, 'import']);
Route::get('/licensePlate/rule', [ParkingLicensePlateController::class, 'rule']);
Route::post('/licensePlate/view', [ParkingLicensePlateController::class, 'view']);
// 车位属性管理
Route::get('/spaceAttr', [ParkingSpaceAttributesController::class, 'index']);
Route::post('/spaceAttr', [ParkingSpaceAttributesController::class, 'store']);
Route::get('/spaceAttr/edit/{id}', [ParkingSpaceAttributesController::class, 'edit']);
Route::put('/spaceAttr/{id}', [ParkingSpaceAttributesController::class, 'update']);
Route::delete('/spaceAttr/{id}', [ParkingSpaceAttributesController::class, 'destroy']);
Route::get('/spaceAttr/rule', [ParkingSpaceAttributesController::class, 'rule']);
// 绘制电子地图
Route::get('/map/index', [ParkingElectronicMapController::class, 'index']);
Route::get('/map/floorList', [ParkingElectronicMapController::class, 'floorList']);
Route::get('/map/buildingFloorList', [ParkingElectronicMapController::class, 'buildingFloorList']);
Route::get('/map/parkingSpaceList/{id}', [ParkingElectronicMapController::class, 'getParkingSpaceList']);
Route::post('/map/save', [ParkingElectronicMapController::class, 'save']);
Route::get('/map/rule', [ParkingElectronicMapController::class, 'rule']);
// 车辆停车资讯
Route::get('/information', [ParkingInformationController::class, 'index']);
Route::get('/information/search', [ParkingInformationController::class, 'search']);
Route::post('/information', [ParkingInformationController::class, 'store']);
Route::delete('/information/{id}', [ParkingInformationController::class, 'destroy']);
Route::get('/information/clear', [ParkingInformationController::class, 'clear']);
Route::get('/information/rule', [ParkingInformationController::class, 'rule']);
// VIP名单
Route::get('/vipList', [VipListController::class, 'index']);
Route::post('/vipList', [VipListController::class, 'store']);
Route::put('/vipList/{id}', [VipListController::class, 'update']);
Route::delete('/vipList/{id}', [VipListController::class, 'destroy']);
Route::get('/vipList/rule', [VipListController::class, 'rule']);
Route::post('/vipList/import', [VipListController::class, 'import']);
// VIP进出记录
Route::get('/vipAccessRecord', [VipAccessRecordController::class, 'index']);
Route::get('/vipAccessRecord/rule', [VipAccessRecordController::class, 'rule']);
Route::get('/vipAccessRecord/{id}', [VipAccessRecordController::class, 'show']);
// 白名单
Route::get('/whitelist', [ParkingWhitelistController::class, 'index']);
Route::get('/whitelist/create', [ParkingWhitelistController::class, 'create']);
Route::post('/whitelist', [ParkingWhitelistController::class, 'store']);
Route::get('/whitelist/edit/{id}', [ParkingWhitelistController::class, 'edit']);
Route::put('/whitelist/{id}', [ParkingWhitelistController::class, 'update']);
Route::delete('/whitelist/{id}', [ParkingWhitelistController::class, 'destroy']);
Route::get('/whitelist/rule', [ParkingWhitelistController::class, 'rule']);
Route::get('/whitelist/search', [ParkingWhitelistController::class, 'search']);
Route::post('/whitelist/batchImport', [ParkingWhitelistController::class, 'batchImport']);
// 警报&通知
Route::get('/notice', [NoticeController::class, 'index']);
Route::get('/notice/index', [NoticeController::class, 'message']);
Route::get('/notice/search', [NoticeController::class, 'search']);
Route::get('/notice/setting', [NoticeController::class, 'create']);
Route::post('/notice/setting', [NoticeController::class, 'setting']);
Route::get('/notice/show/{id}', [NoticeController::class, 'show']);
// 异常占用
Route::get('/abnormalResourceUsage', [ParkingAbnormalController::class, 'index']);
Route::post('/abnormalResourceUsage/handle', [ParkingAbnormalController::class, 'handle']);
Route::post('/abnormalResourceUsage/ignore', [ParkingAbnormalController::class, 'ignore']);
// 车牌识别率
Route::get('/licensePlateRecognition', [LicensePlateRecognitionController::class, 'index']);
Route::get('/licensePlateRecognition/curveGraph', [LicensePlateRecognitionController::class, 'curveGraph']);
Route::get('/licensePlateRecognition/rule', [LicensePlateRecognitionController::class, 'rule']);
// 停车行为
Route::get('/parkingBehavior', [ParkingBehaviorController::class, 'index']);
Route::get('/parkingBehavior/rule', [ParkingBehaviorController::class, 'rule']);
// 系统日志
Route::get('/operationLog/index', [OperationLogController::class, 'index']);
Route::get('/operationLog/search', [OperationLogController::class, 'search']);
Route::get('/operationLog/directory/{id}', [OperationLogController::class, 'getSubDirectoryList']);
// 车位相机管理
Route::get('/parkingCamera', [ParkingCameraController::class, 'index']);
Route::get('/parkingCamera/search', [ParkingCameraController::class, 'search']);
Route::get('/parkingCamera/create', [ParkingCameraController::class, 'create']);
Route::post('/parkingCamera', [ParkingCameraController::class, 'store']);
Route::get('/parkingCamera/edit/{id}', [ParkingCameraController::class, 'edit']);
Route::put('/parkingCamera/{id}', [ParkingCameraController::class, 'update']);
Route::delete('/parkingCamera/{id}', [ParkingCameraController::class, 'destroy']);
Route::get('/parkingCamera/rule', [ParkingCameraController::class, 'rule']);
// 系统总配置
Route::get('/config/index', [ConfigController::class, 'index']);
Route::put('/config/{id}', [ConfigController::class, 'update']);
Route::get('/config/rule', [ConfigController::class, 'rule']);
// 楼层配置
Route::get('/floors', [FloorController::class, 'index']);
Route::post('/floors', [FloorController::class, 'store']);
Route::get('/floors/edit/{id}', [FloorController::class, 'edit']);
Route::put('/floors/{id}', [FloorController::class, 'update']);
Route::delete('/floors/{id}', [FloorController::class, 'destroy']);
Route::get('/floors/rule', [FloorController::class, 'rule']);
Route::get('/floors/search', [FloorController::class, 'search']);
Route::get('/floors/floorRegionList', [FloorController::class, 'floorRegionList']);
// 图片上传
Route::post('/uploadImage', [UploadController::class, 'uploadImage']);
// 翻译
Route::get('/translations', [TranslationController::class, 'index']);
Route::post('/translations', [TranslationController::class, 'store']);
Route::put('/translations/{id}', [TranslationController::class, 'update']);
Route::delete('/translations/{id}', [TranslationController::class, 'destroy']);
Route::get('/translations/rule', [TranslationController::class, 'rule']);
// 停车场管理
Route::get('/parkingManagement', [ParkingManagementController::class, 'index']);
Route::post('/parkingManagement', [ParkingManagementController::class, 'store']);
Route::get('/parkingManagement/edit/{id}', [ParkingManagementController::class, 'edit']);
Route::put('/parkingManagement/{id}', [ParkingManagementController::class, 'update']);
Route::delete('/parkingManagement/{id}', [ParkingManagementController::class, 'destroy']);
Route::get('/parkingManagement/rule', [ParkingManagementController::class, 'rule']);
// 停车列表
Route::get('/parkingList/search', [ParkingManagementListController::class, 'search']);
Route::get('/parkingList', [ParkingManagementListController::class, 'index']);
Route::get('/parkingList/rule', [ParkingManagementListController::class, 'rule']);
// 停车场管理人员
Route::get('/parkingAttendant', [ParkingAttendantController::class, 'index']);
Route::get('/parkingAttendant/search', [ParkingAttendantController::class, 'search']);
Route::post('/parkingAttendant', [ParkingAttendantController::class, 'store']);
Route::get('/parkingAttendant/edit/{id}', [ParkingAttendantController::class, 'edit']);
Route::put('/parkingAttendant/{id}', [ParkingAttendantController::class, 'update']);
Route::delete('/parkingAttendant/{id}', [ParkingAttendantController::class, 'destroy']);
Route::get('/parkingAttendant/rule', [ParkingAttendantController::class, 'rule']);
// 楼层区域
Route::get('/regionalManagement', [RegionalManagementController::class, 'index']);
Route::get('/regionalManagement/create', [RegionalManagementController::class, 'create']);
Route::post('/regionalManagement', [RegionalManagementController::class, 'store']);
Route::get('/regionalManagement/edit/{id}', [RegionalManagementController::class, 'edit']);
Route::put('/regionalManagement/{id}', [RegionalManagementController::class, 'update']);
Route::delete('/regionalManagement/{id}', [RegionalManagementController::class, 'destroy']);
Route::get('/regionalManagement/rule', [RegionalManagementController::class, 'rule']);
Route::get('/regionalManagement/search', [RegionalManagementController::class, 'search']);
// 通道管理
Route::get('/channelManagement', [ParkingChannelController::class, 'index']);
Route::get('/channelManagement/create', [ParkingChannelController::class, 'create']);
Route::post('/channelManagement', [ParkingChannelController::class, 'store']);
Route::get('/channelManagement/edit/{id}', [ParkingChannelController::class, 'edit']);
Route::put('/channelManagement/{id}', [ParkingChannelController::class, 'update']);
Route::delete('/channelManagement/{id}', [ParkingChannelController::class, 'destroy']);
Route::get('/channelManagement/rule', [ParkingChannelController::class, 'rule']);
Route::get('/channelManagement/search', [ParkingChannelController::class, 'search']);
// 设备管理
Route::get('/equipmentManagement', [ParkingEquipmentController::class, 'index']);
Route::get('/equipmentManagement/create', [ParkingEquipmentController::class, 'create']);
Route::post('/equipmentManagement', [ParkingEquipmentController::class, 'store']);
Route::get('/equipmentManagement/edit/{id}', [ParkingEquipmentController::class, 'edit']);
Route::put('/equipmentManagement/{id}', [ParkingEquipmentController::class, 'update']);
Route::delete('/equipmentManagement/{id}', [ParkingEquipmentController::class, 'destroy']);
Route::get('/equipmentManagement/rule', [ParkingEquipmentController::class, 'rule']);
Route::get('/equipmentManagement/search', [ParkingEquipmentController::class, 'search']);
// 岗亭管理
Route::get('/guardBoothManagement', [GuardBoothManagementController::class, 'index']);
Route::post('/guardBoothManagement', [GuardBoothManagementController::class, 'store']);
Route::get('/guardBoothManagement/edit/{id}', [GuardBoothManagementController::class, 'edit']);
Route::put('/guardBoothManagement/{id}', [GuardBoothManagementController::class, 'update']);
Route::delete('/guardBoothManagement/{id}', [GuardBoothManagementController::class, 'destroy']);
Route::get('/guardBoothManagement/rule', [GuardBoothManagementController::class, 'rule']);
// 离职原因管理
Route::get('/departureReasonManagement', [ParkingDepartureReasonController::class, 'index']);
Route::post('/departureReasonManagement', [ParkingDepartureReasonController::class, 'store']);
Route::get('/departureReasonManagement/edit/{id}', [ParkingDepartureReasonController::class, 'edit']);
Route::put('/departureReasonManagement/{id}', [ParkingDepartureReasonController::class, 'update']);
Route::delete('/departureReasonManagement/{id}', [ParkingDepartureReasonController::class, 'destroy']);
Route::get('/departureReasonManagement/rule', [ParkingDepartureReasonController::class, 'rule']);
// 角色
Route::get('/roles', [RolesController::class, 'index']);
Route::get('/roles/create', [RolesController::class, 'create']);
Route::post('/roles', [RolesController::class, 'store']);
Route::get('/roles/show/{id}', [RolesController::class, 'show']);
Route::get('/roles/edit/{id}', [RolesController::class, 'edit']);
Route::put('/roles/{id}', [RolesController::class, 'update']);
Route::delete('/roles/{id}', [RolesController::class, 'destroy']);
Route::get('/roles/rule', [RolesController::class, 'rule']);
// 用户
Route::get('/users', [UserController::class, 'index']);
Route::get('/users/create', [UserController::class, 'create']);
Route::post('/users', [UserController::class, 'store']);
Route::get('/users/show/{id}', [UserController::class, 'show']);
Route::get('/users/edit/{id}', [UserController::class, 'edit']);
Route::put('/users/{id}', [UserController::class, 'update']);
Route::delete('/users/{id}', [UserController::class, 'destroy']);
Route::get('/users/rule', [UserController::class, 'rule']);
// 通道权限管理
Route::get('/channelPermissions', [ChannelPermissionsController::class, 'index']);
Route::get('/channelPermissions/create', [ChannelPermissionsController::class, 'create']);
Route::post('/channelPermissions', [ChannelPermissionsController::class, 'store']);
Route::get('/channelPermissions/edit/{id}', [ChannelPermissionsController::class, 'edit']);
Route::put('/channelPermissions/{id}', [ChannelPermissionsController::class, 'update']);
Route::delete('/channelPermissions/{id}', [ChannelPermissionsController::class, 'destroy']);
Route::get('/channelPermissions/rule', [ChannelPermissionsController::class, 'rule']);
});
// 导出
Route::get('/vipList/import_template', [VipListController::class, 'importTemplate']);
Route::get('/vipList/export', [VipListController::class, 'export']);
Route::get('/licensePlate/import_template', [ParkingLicensePlateController::class, 'importTemplate']);
Route::get('/parkingSpace/export', [ParkingSpaceController::class, 'export']);
Route::get('/parkingCamera/export', [ParkingCameraController::class, 'export']);
Route::get('/pattern/modelExport', [ParkingPatternController::class, 'importModelTemplate']);
Route::get('/pattern/spacesExport', [ParkingPatternController::class, 'importTemplate']);
Route::get('/operationLog/export', [OperationLogController::class, 'export']);
Route::get('/eventCalendar/export', [EventCalendarController::class, 'importTemplate']);
Route::get('/notice/export', [NoticeController::class, 'export']);
Route::get('/parkingBehavior/export', [ParkingBehaviorController::class, 'export']);
Route::get('/licensePlateRecognition/export', [LicensePlateRecognitionController::class, 'export']);
Route::get('/whitelist/downloadTemplate', [ParkingWhitelistController::class, 'downloadTemplate']);
Route::get('/whitelist/export', [ParkingWhitelistController::class, 'export']);
});