Browse Source

页面权限

master
wanghongjun 4 weeks ago
parent
commit
1f64ffb28e
  1. 4
      app/Http/Controllers/Admin/BaseController.php
  2. 18
      app/Http/Controllers/Admin/ParkingSpaceAttributesController.php
  3. 1
      app/Http/Controllers/Admin/ParkingSpaceCatMapController.php
  4. 1
      app/Http/Controllers/Admin/ParkingSpaceController.php
  5. 18
      app/Http/Controllers/Admin/ParkingSpaceTypeController.php
  6. 18
      app/Http/Controllers/Admin/TranslationController.php
  7. 19
      app/Http/Controllers/Admin/VipListController.php
  8. 48
      database/seeders/AdminMenuSeeder.php
  9. 3
      resources/lang/en/menu.php
  10. 3
      resources/lang/zh-CN/menu.php
  11. 3
      resources/lang/zh-TW/menu.php
  12. 11
      routes/admin/api.php

4
app/Http/Controllers/Admin/BaseController.php

@ -70,7 +70,9 @@ class BaseController extends Controller
$roleMenuArr = AdminMenuService::getRoleMenuList($this->menuUri); $roleMenuArr = AdminMenuService::getRoleMenuList($this->menuUri);
$authArr = []; $authArr = [];
foreach ($roleMenuArr as $value) { foreach ($roleMenuArr as $value) {
$authArr[$value] = 0; if ($value) {
$authArr[$value] = 0;
}
} }
$newArr = []; $newArr = [];
foreach ($authArr as $authKey => $value) { foreach ($authArr as $authKey => $value) {

18
app/Http/Controllers/Admin/ParkingSpaceAttributesController.php

@ -15,6 +15,7 @@ use Psr\SimpleCache\InvalidArgumentException;
class ParkingSpaceAttributesController extends BaseController class ParkingSpaceAttributesController extends BaseController
{ {
protected string $menuUri = 'spaceType';
/** /**
* @var ParkingSpaceAttributesService * @var ParkingSpaceAttributesService
*/ */
@ -189,21 +190,4 @@ class ParkingSpaceAttributesController extends BaseController
); );
} }
} }
/**
* @return JsonResponse
* @throws InvalidArgumentException
*/
public function rule(): JsonResponse
{
try {
return $this->responseService->success(
$this->methodShow('spaceAttr')
);
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.get_data_failed') . ':' . $e->getMessage()
);
}
}
} }

1
app/Http/Controllers/Admin/ParkingSpaceCatMapController.php

@ -12,6 +12,7 @@ use Illuminate\Http\Request;
class ParkingSpaceCatMapController extends BaseController class ParkingSpaceCatMapController extends BaseController
{ {
protected string $menuUri = 'parkingSpaceMap';
public function search(): JsonResponse public function search(): JsonResponse
{ {

1
app/Http/Controllers/Admin/ParkingSpaceController.php

@ -21,6 +21,7 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse;
class ParkingSpaceController extends BaseController class ParkingSpaceController extends BaseController
{ {
protected string $menuUri = 'parkingSpace';
/** /**
* @var ParkingSpaceService * @var ParkingSpaceService

18
app/Http/Controllers/Admin/ParkingSpaceTypeController.php

@ -16,6 +16,7 @@ use Psr\SimpleCache\InvalidArgumentException;
class ParkingSpaceTypeController extends BaseController class ParkingSpaceTypeController extends BaseController
{ {
protected string $menuUri = 'spaceType';
/** /**
* @var ParkingSpaceTypeService * @var ParkingSpaceTypeService
*/ */
@ -221,21 +222,4 @@ class ParkingSpaceTypeController extends BaseController
); );
} }
} }
/**
* @return JsonResponse
* @throws InvalidArgumentException
*/
public function rule(): JsonResponse
{
try {
return $this->responseService->success(
$this->methodShow('spaceType')
);
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.get_data_failed') . ':' . $e->getMessage()
);
}
}
} }

18
app/Http/Controllers/Admin/TranslationController.php

@ -15,6 +15,9 @@ use Psr\SimpleCache\InvalidArgumentException;
class TranslationController extends BaseController class TranslationController extends BaseController
{ {
protected string $menuUri = 'translations';
/** /**
* @var AdminTranslationService * @var AdminTranslationService
*/ */
@ -168,19 +171,4 @@ class TranslationController extends BaseController
); );
} }
} }
/**
* @return JsonResponse
* @throws InvalidArgumentException
*/
public function rule(): JsonResponse
{
try {
return $this->responseService->success($this->methodShow('translation'));
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.get_data_failed') . ':' . $e->getMessage()
);
}
}
} }

19
app/Http/Controllers/Admin/VipListController.php

@ -23,6 +23,8 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse;
class VipListController extends BaseController class VipListController extends BaseController
{ {
protected string $menuUri = 'vipList';
/** /**
* @var ParkingVipListService * @var ParkingVipListService
*/ */
@ -163,23 +165,6 @@ class VipListController extends BaseController
} }
} }
/**
* @return JsonResponse
* @throws InvalidArgumentException
*/
public function rule(): JsonResponse
{
try {
return $this->responseService->success(
$this->methodShow('list_vip')
);
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.get_data_failed') . ':' . $e->getMessage()
);
}
}
/** /**
* @param Request $request * @param Request $request
* @return JsonResponse * @return JsonResponse

48
database/seeders/AdminMenuSeeder.php

@ -55,6 +55,7 @@ class AdminMenuSeeder extends Seeder
'model_manage' => [ 'model_manage' => [
'event_calendar' => [ 'event_calendar' => [
'uri' => 'eventCalendar', 'uri' => 'eventCalendar',
'page_uri' => '/calendar',
'child' => [ 'child' => [
'read_only' => 'eventCalendar.index', 'read_only' => 'eventCalendar.index',
'add' => 'eventCalendar.store', 'add' => 'eventCalendar.store',
@ -70,6 +71,7 @@ class AdminMenuSeeder extends Seeder
], ],
'model_manage' => [ 'model_manage' => [
'uri' => 'pattern', 'uri' => 'pattern',
'page_uri' => '/mode',
'child' => [ 'child' => [
'read_only' => 'pattern.index', 'read_only' => 'pattern.index',
'add' => 'pattern.import', 'add' => 'pattern.import',
@ -89,6 +91,7 @@ class AdminMenuSeeder extends Seeder
'cat_status' => [ 'cat_status' => [
'cat_map' => [ 'cat_map' => [
'uri' => 'parkingSpaceMap', 'uri' => 'parkingSpaceMap',
'page_uri' => '/parking/map',
'child' => [ 'child' => [
'read_only' => 'parkingSpaceMap.floorOverview', 'read_only' => 'parkingSpaceMap.floorOverview',
'view' => 'parkingSpaceMap.map' 'view' => 'parkingSpaceMap.map'
@ -96,12 +99,14 @@ class AdminMenuSeeder extends Seeder
], ],
'cat_reserve_list' => [ 'cat_reserve_list' => [
'uri' => 'parkingReservation', 'uri' => 'parkingReservation',
'page_uri' => '/parking/reservation_list',
'child' => [ 'child' => [
'read_only' => 'parkingReservation.index' 'read_only' => 'parkingReservation.index'
] ]
], ],
'cat_list' => [ 'cat_list' => [
'uri' => 'parkingSpace', 'uri' => 'parkingSpace',
'page_uri' => '/parking/list',
'child' => [ 'child' => [
'read_only' => 'parkingSpace.index', 'read_only' => 'parkingSpace.index',
'add_new_energy' => '', 'add_new_energy' => '',
@ -110,6 +115,7 @@ class AdminMenuSeeder extends Seeder
], ],
'cat_type' => [ 'cat_type' => [
'uri' => 'spaceType', 'uri' => 'spaceType',
'page_uri' => '/parking/type',
'child' => [ 'child' => [
'read_only' => 'spaceType.index', 'read_only' => 'spaceType.index',
'add' => 'spaceType.store', 'add' => 'spaceType.store',
@ -127,6 +133,7 @@ class AdminMenuSeeder extends Seeder
], ],
'cat_attr' => [ 'cat_attr' => [
'uri' => 'spaceAttr', 'uri' => 'spaceAttr',
'page_uri' => '/parking/attr',
'child' => [ 'child' => [
'read_only' => 'spaceAttr.index', 'read_only' => 'spaceAttr.index',
'add' => 'spaceAttr.store', 'add' => 'spaceAttr.store',
@ -136,12 +143,14 @@ class AdminMenuSeeder extends Seeder
], ],
'draw_map' => [ 'draw_map' => [
'uri' => 'map', 'uri' => 'map',
'page_uri' => '/parking/draw_map',
'child' => [ 'child' => [
'read_only' => 'map.index' 'read_only' => 'map.index'
] ]
], ],
'parking_information' => [ 'parking_information' => [
'uri' => 'information', 'uri' => 'information',
'page_uri' => '/parking/vehicle_info',
'child' => [ 'child' => [
'read_only' => 'information.index', 'read_only' => 'information.index',
'add' => 'information.store', 'add' => 'information.store',
@ -153,6 +162,7 @@ class AdminMenuSeeder extends Seeder
'special_car_manage' => [ 'special_car_manage' => [
'vip_list' => [ 'vip_list' => [
'uri' => 'vipList', 'uri' => 'vipList',
'page_uri' => '/special/vip_list',
'child' => [ 'child' => [
'read_only' => 'vipList.index', 'read_only' => 'vipList.index',
'add' => 'vipList.store', 'add' => 'vipList.store',
@ -165,6 +175,7 @@ class AdminMenuSeeder extends Seeder
], ],
'vip_access_record' => [ 'vip_access_record' => [
'uri' => 'vipAccessRecord', 'uri' => 'vipAccessRecord',
'page_uri' => '/special/vip_record',
'child' => [ 'child' => [
'read_only' => 'vipAccessRecord.index', 'read_only' => 'vipAccessRecord.index',
'view_details' => 'vipAccessRecord.show' 'view_details' => 'vipAccessRecord.show'
@ -174,6 +185,7 @@ class AdminMenuSeeder extends Seeder
'information_center' => [ 'information_center' => [
'alarm_notice' => [ 'alarm_notice' => [
'uri' => 'notice', 'uri' => 'notice',
'page_uri' => '/info/alarms',
'child' => [ 'child' => [
'read_only' => 'notice.index', 'read_only' => 'notice.index',
'view_details' => 'notice.show', 'view_details' => 'notice.show',
@ -185,12 +197,14 @@ class AdminMenuSeeder extends Seeder
'gate_management' => [ 'gate_management' => [
'stop_on_duty' => [ 'stop_on_duty' => [
'uri' => '', 'uri' => '',
'page_uri' => '/gate/guardpost',
'child' => [ 'child' => [
'read_only' => '' 'read_only' => ''
] ]
], ],
'lane_video' => [ 'lane_video' => [
'uri' => '', 'uri' => '',
'page_uri' => '/gate/Lanevideo',
'child' => [ 'child' => [
'read_only' => '' 'read_only' => ''
] ]
@ -199,6 +213,7 @@ class AdminMenuSeeder extends Seeder
'statistics_report' => [ 'statistics_report' => [
'recognition_rate' => [ 'recognition_rate' => [
'uri' => 'licensePlateRecognition', 'uri' => 'licensePlateRecognition',
'page_uri' => '/report/plate_rate',
'child' => [ 'child' => [
'read_only' => 'licensePlateRecognition.index', 'read_only' => 'licensePlateRecognition.index',
'export' => 'licensePlateRecognition.export' 'export' => 'licensePlateRecognition.export'
@ -206,6 +221,7 @@ class AdminMenuSeeder extends Seeder
], ],
'parking_behavior' => [ 'parking_behavior' => [
'uri' => 'parkingBehavior', 'uri' => 'parkingBehavior',
'page_uri' => '/report/behavior',
'child' => [ 'child' => [
'read_only' => 'parkingBehavior.index', 'read_only' => 'parkingBehavior.index',
'export' => 'parkingBehavior.export', 'export' => 'parkingBehavior.export',
@ -214,30 +230,42 @@ class AdminMenuSeeder extends Seeder
], ],
'utilization_rate' => [ 'utilization_rate' => [
'uri' => 'utilizationRate', 'uri' => 'utilizationRate',
'page_uri' => '/report/usage_rate',
'child' => [ 'child' => [
'read_only' => 'utilizationRate.index', 'read_only' => 'utilizationRate.index',
'export' => 'utilizationRate.export' 'export' => 'utilizationRate.export'
] ]
], ],
'access_record' => [
'uri' => 'accessRecord',
'page_uri' => '/report/entry_exit',
'child' => [
'read_only' => 'accessRecord.index',
'export' => 'accessRecord.export'
]
],
'occupancy_rate' => [ 'occupancy_rate' => [
'uri' => '', 'uri' => 'occupancyRate',
'page_uri' => '/report/occupancy_rate',
'child' => [ 'child' => [
'read_only' => '', 'read_only' => 'occupancyRate.index',
'export' => '' 'export' => 'occupancyRate.export'
] ]
], ],
'manual_correction' => [ 'manual_correction' => [
'uri' => '', 'uri' => 'manualCorrection',
'page_uri' => '/report/plate_correction',
'child' => [ 'child' => [
'read_only' => '', 'read_only' => 'manualCorrection.index',
'view_details' => '', 'view_details' => 'manualCorrection.show',
'export' => '' 'export' => 'manualCorrection.export'
] ]
] ]
], ],
'system_log' => [ 'system_log' => [
'system_log' => [ 'system_log' => [
'uri' => 'operationLog', 'uri' => 'operationLog',
'page_uri' => '/log/system',
'child' => [ 'child' => [
'read_only' => 'operationLog.index', 'read_only' => 'operationLog.index',
'export' => 'operationLog.export' 'export' => 'operationLog.export'
@ -247,6 +275,7 @@ class AdminMenuSeeder extends Seeder
'device_manage' => [ 'device_manage' => [
'camera_management' => [ 'camera_management' => [
'uri' => 'parkingCamera', 'uri' => 'parkingCamera',
'page_uri' => '/device/camera',
'child' => [ 'child' => [
'read_only' => 'parkingCamera.index', 'read_only' => 'parkingCamera.index',
'add' => 'parkingCamera.store', 'add' => 'parkingCamera.store',
@ -262,6 +291,7 @@ class AdminMenuSeeder extends Seeder
'system_manage' => [ 'system_manage' => [
'total_configuration' => [ 'total_configuration' => [
'uri' => 'config', 'uri' => 'config',
'page_uri' => '/system/config',
'child' => [ 'child' => [
'read_only' => 'config.index', 'read_only' => 'config.index',
'edit' => 'config.update' 'edit' => 'config.update'
@ -269,6 +299,7 @@ class AdminMenuSeeder extends Seeder
], ],
'floor_plan' => [ 'floor_plan' => [
'uri' => 'floors', 'uri' => 'floors',
'page_uri' => '/system/floor',
'child' => [ 'child' => [
'read_only' => 'floors.index', 'read_only' => 'floors.index',
'add_floor' => 'floors.store', 'add_floor' => 'floors.store',
@ -278,6 +309,7 @@ class AdminMenuSeeder extends Seeder
], ],
'translation' => [ 'translation' => [
'uri' => 'translations', 'uri' => 'translations',
'page_uri' => '/system/translation',
'child' => [ 'child' => [
'read_only' => 'translations.index', 'read_only' => 'translations.index',
'add' => 'translations.store', 'add' => 'translations.store',
@ -289,6 +321,7 @@ class AdminMenuSeeder extends Seeder
'user_manage' => [ 'user_manage' => [
'user_list' => [ 'user_list' => [
'uri' => 'users', 'uri' => 'users',
'page_uri' => '/user/list',
'child' => [ 'child' => [
'read_only' => 'users.index', 'read_only' => 'users.index',
'add' => 'users.store', 'add' => 'users.store',
@ -299,6 +332,7 @@ class AdminMenuSeeder extends Seeder
], ],
'role_manage' => [ 'role_manage' => [
'uri' => 'roles', 'uri' => 'roles',
'page_uri' => '/user/role',
'child' => [ 'child' => [
'read_only' => 'roles.index', 'read_only' => 'roles.index',
'add' => 'roles.store', 'add' => 'roles.store',

3
resources/lang/en/menu.php

@ -68,5 +68,6 @@ return [
'edit_partition' => 'Edit partition', 'edit_partition' => 'Edit partition',
'gate_management' => 'Gate management', 'gate_management' => 'Gate management',
'stop_on_duty' => 'parking lot booth', 'stop_on_duty' => 'parking lot booth',
'lane_video' => 'Lane video' 'lane_video' => 'Lane video',
'access_record' => 'Parking entry and exit records'
]; ];

3
resources/lang/zh-CN/menu.php

@ -68,5 +68,6 @@ return [
'edit_partition' => '编辑分区', 'edit_partition' => '编辑分区',
'gate_management' => '闸道管理', 'gate_management' => '闸道管理',
'stop_on_duty' => '车场岗亭', 'stop_on_duty' => '车场岗亭',
'lane_video' => '车道视频' 'lane_video' => '车道视频',
'access_record' => '停车进出记录'
]; ];

3
resources/lang/zh-TW/menu.php

@ -68,5 +68,6 @@ return [
'edit_partition' => '編輯分區', 'edit_partition' => '編輯分區',
'gate_management' => '閘道管理', 'gate_management' => '閘道管理',
'stop_on_duty' => '車場崗亭', 'stop_on_duty' => '車場崗亭',
'lane_video' => '車道視頻' 'lane_video' => '車道視頻',
'access_record' => '停車進出記錄'
]; ];

11
routes/admin/api.php

@ -83,6 +83,7 @@ Route::group(['prefix' => 'admin'], function () {
Route::get('/parkingSpaceMap/search', [ParkingSpaceCatMapController::class, 'search']); Route::get('/parkingSpaceMap/search', [ParkingSpaceCatMapController::class, 'search']);
Route::get('/parkingSpaceMap/floorOverview', [ParkingSpaceCatMapController::class, 'floorOverview']); Route::get('/parkingSpaceMap/floorOverview', [ParkingSpaceCatMapController::class, 'floorOverview']);
Route::get('/parkingSpaceMap/map', [ParkingSpaceCatMapController::class, 'map']); Route::get('/parkingSpaceMap/map', [ParkingSpaceCatMapController::class, 'map']);
Route::get('/parkingSpaceMap/rule', [ParkingSpaceCatMapController::class, 'rule']);
// 车位预定列表 // 车位预定列表
Route::get('/parkingReservation', [ParkingReservationController::class, 'index']); Route::get('/parkingReservation', [ParkingReservationController::class, 'index']);
Route::get('/parkingReservation/search', [ParkingReservationController::class, 'search']); Route::get('/parkingReservation/search', [ParkingReservationController::class, 'search']);
@ -90,10 +91,11 @@ Route::group(['prefix' => 'admin'], function () {
// 车位列表 // 车位列表
Route::get('/parkingSpace', [ParkingSpaceController::class, 'index']); Route::get('/parkingSpace', [ParkingSpaceController::class, 'index']);
Route::get('/parkingSpace/search', [ParkingSpaceController::class, 'search']); Route::get('/parkingSpace/search', [ParkingSpaceController::class, 'search']);
Route::post('parkingSpace/updateType', [ParkingSpaceController::class, 'updateType']); Route::post('/parkingSpace/updateType', [ParkingSpaceController::class, 'updateType']);
Route::post('parkingSpace/updateAttr', [ParkingSpaceController::class, 'updateAttr']); Route::post('/parkingSpace/updateAttr', [ParkingSpaceController::class, 'updateAttr']);
Route::post('parkingSpace/information', [ParkingSpaceController::class, 'information']); Route::post('/parkingSpace/information', [ParkingSpaceController::class, 'information']);
Route::post('parkingSpace/updateStatus', [ParkingSpaceController::class, 'updateStatus']); Route::post('/parkingSpace/updateStatus', [ParkingSpaceController::class, 'updateStatus']);
Route::get('/parkingSpace/rule', [ParkingSpaceController::class, 'rule']);
//车位类型管理 //车位类型管理
Route::get('/spaceType', [ParkingSpaceTypeController::class, 'index']); Route::get('/spaceType', [ParkingSpaceTypeController::class, 'index']);
Route::get('/spaceType/create', [ParkingSpaceTypeController::class, 'create']); Route::get('/spaceType/create', [ParkingSpaceTypeController::class, 'create']);
@ -143,6 +145,7 @@ Route::group(['prefix' => 'admin'], function () {
Route::post('/vipList/import', [VipListController::class, 'import']); Route::post('/vipList/import', [VipListController::class, 'import']);
// VIP进出记录 // VIP进出记录
Route::get('/vipAccessRecord', [VipAccessRecordController::class, 'index']); Route::get('/vipAccessRecord', [VipAccessRecordController::class, 'index']);
Route::get('/vipAccessRecord/rule', [VipAccessRecordController::class, 'rule']);
Route::get('/vipAccessRecord/{id}', [VipAccessRecordController::class, 'show']); Route::get('/vipAccessRecord/{id}', [VipAccessRecordController::class, 'show']);
// 警报&通知 // 警报&通知
Route::get('/notice', [NoticeController::class, 'index']); Route::get('/notice', [NoticeController::class, 'index']);

Loading…
Cancel
Save