insert($this->data()); } private function data(): array { $data = []; $array = $this->returnArray(); $id = 0; foreach ($array as $key => $value) { $id += 1; $data[] = $this->insertData($id, $key, 1); if (is_array($value)) { $parent_id = $id; foreach ($value as $k => $v) { $id += 1; $data[] = $this->insertData( $id, $k, 1, $parent_id, $v['uri'], 0, $v['page_uri'] ); $order = 0; $parent2_id = $id; foreach ($v['child'] as $title => $uri) { $id += 1; $data[] = $this->insertData( $id, $title, 0, $parent2_id, $uri, $order ); $order += 1; } } } } return $data; } private function returnArray(): array { return [ 'model_manage' => [ 'event_calendar' => [ 'uri' => 'eventCalendar', 'page_uri' => '/calendar', 'child' => [ 'read_only' => 'eventCalendar.index', 'add' => 'eventCalendar.store', 'edit' => 'eventCalendar.update', 'import' => 'eventCalendar.import', 'export' => 'eventCalendar.export', 'delete' => 'eventCalendar.destroy', 'batch_delete' => 'eventCalendar.destroy', 'download_template' => 'eventCalendar.export', 'end' => 'eventCalendar.end', 'change_mode' => 'eventCalendar.changeMode' ] ], 'model_manage' => [ 'uri' => 'pattern', 'page_uri' => '/mode', 'child' => [ 'read_only' => 'pattern.index', 'add' => 'pattern.import', 'edit' => 'pattern.update', 'delete' => 'pattern.destroy', 'batch_import' => 'pattern.batchImport', 'view_details' => 'patternSpace.index', 'download_template' => 'pattern.importTemplate', 'reserved_parking' => 'pattern.release', 'departure_reminder' => 'pattern.change', 'add_parking_space' => 'patternSpace.store', 'edit_parking_space' => 'patternSpace.update', 'delete_parking_space' => 'patternSpace.destroy' ] ] ], 'appointment_management' => [ 'appointment_list' => [ 'uri' => 'parkingReservation', 'page_uri' => '/reserve/appointmentList', 'child' => [ 'read_only' => 'parkingReservation.index' ] ], 'appointment_statistics' => [ 'uri' => 'parkingReservationStatistics', 'page_uri' => '/reserve/appointmentStatistics', 'child' => [ 'read_only' => 'parkingReservationStatistics.index' ] ] ], 'cat_status' => [ 'cat_map' => [ 'uri' => 'parkingSpaceMap', 'page_uri' => '/parking/map', 'child' => [ 'read_only' => 'parkingSpaceMap.floorOverview', 'view' => 'parkingSpaceMap.map' ] ], 'cat_reserve_list' => [ 'uri' => 'parkingReservation', 'page_uri' => '/parking/reservation_list', 'child' => [ 'read_only' => 'parkingReservation.index' ] ], 'cat_list' => [ 'uri' => 'parkingSpace', 'page_uri' => '/parking/list', 'child' => [ 'read_only' => 'parkingSpace.index', 'add_new_energy' => '', 'delete_new_energy' => '' ] ], 'cat_type' => [ 'uri' => 'spaceType', 'page_uri' => '/parking/type', 'child' => [ 'read_only' => 'spaceType.index', 'add' => 'spaceType.store', 'delete' => 'spaceType.delete', 'view_details' => 'spaceType.show', 'edit' => 'spaceType.update', 'download_template' => 'licensePlate.importTemplate', 'license_plate_management' => 'licensePlate.index', 'batch_import' => 'licensePlate.import', 'add_license_plate' => 'licensePlate.store', 'delete_license_plate' => 'licensePlate.destroy', 'edit_license_plate' => 'licensePlate.update', 'clear_license_plate' => 'licensePlate.clear' ] ], 'cat_attr' => [ 'uri' => 'spaceAttr', 'page_uri' => '/parking/attr', 'child' => [ 'read_only' => 'spaceAttr.index', 'add' => 'spaceAttr.store', 'edit' => 'spaceAttr.update', 'delete' => 'spaceAttr.destroy' ] ], 'draw_map' => [ 'uri' => 'map', 'page_uri' => '/parking/draw_map', 'child' => [ 'read_only' => 'map.index' ] ], 'parking_information' => [ 'uri' => 'information', 'page_uri' => '/parking/vehicle_info', 'child' => [ 'read_only' => 'information.index', 'add' => 'information.store', 'clear' => 'information.clear', 'delete' => 'information.destroy' ] ], 'parking_repair_list' => [ 'uri' => 'parkingRepair', 'page_uri' => '/parking/RepairList', 'child' => [ 'read_only' => 'parkingRepair.index', 'region_list' => 'parkingRepair.regionList', 'synchronize_list' => 'parkingRepair.synchronizeList', 'batch_parking_repair' => 'parkingRepair.batchParkingRepair', 'download_template' => 'parkingRepair.downloadTemplate', 'batch_delete' => 'parkingRepair.batchDelete', 'add' => 'parkingRepair.store', 'edit' => 'parkingRepair.update', 'delete' => 'parkingRepair.destroy' ] ] ], 'special_car_manage' => [ 'vip_list' => [ 'uri' => 'vipList', 'page_uri' => '/special/vip_list', 'child' => [ 'read_only' => 'vipList.index', 'add' => 'vipList.store', 'edit' => 'vipList.update', 'delete' => 'vipList.destroy', 'import' => 'vipList.import', 'export' => 'vipList.export', 'download_template' => 'vipList.importTemplate' ] ], 'vip_access_record' => [ 'uri' => 'vipAccessRecord', 'page_uri' => '/special/vip_record', 'child' => [ 'read_only' => 'vipAccessRecord.index', 'view_details' => 'vipAccessRecord.show' ] ], 'whitelist' => [ 'uri' => 'whitelist', 'page_uri' => '/special/whitelist', 'child' => [ 'read_only' => 'whitelist.index', 'add' => 'whitelist.store', 'edit' => 'whitelist.update', 'delete' => 'whitelist.destroy', 'batch_import' => 'whitelist.batchImport', 'export' => 'whitelist.export', 'download_template' => 'whitelist.downloadTemplate', ] ] ], 'information_center' => [ 'alarm_notice' => [ 'uri' => 'notice', 'page_uri' => '/info/alarms', 'child' => [ 'read_only' => 'notice.index', 'view_details' => 'notice.show', 'export' => 'notice.export', 'alarm_settings' => 'notice.setting' ] ], 'alarm_information' => [ 'uri' => 'alarmInformation', 'page_uri' => '/info/alarmInformation', 'child' => [ 'read_only' => 'alarmInformation.index', 'allocation' => 'alarmInformation.allocation', 'edit_remark' => 'alarmInformation.edit_remark' ] ], 'abnormal_resource_usage' => [ 'uri' => 'abnormalResourceUsage', 'page_uri' => '/info/abnormalResourceUsage', 'child' => [ 'read_only' => 'abnormalResourceUsage.index', 'abnormal_handle' => 'abnormalResourceUsage.handle', 'abnormal_ignore' => 'abnormalResourceUsage.ignore' ] ] ], 'gate_management' => [ 'stop_on_duty' => [ 'uri' => '', 'page_uri' => '/gate/guardpost', 'child' => [ 'read_only' => '' ] ], 'lane_video' => [ 'uri' => '', 'page_uri' => '/gate/Lanevideo', 'child' => [ 'read_only' => '' ] ], 'gate_control' => [ 'uri' => 'gateControl', 'page_uri' => '/gate/guardpost', 'child' => [ 'read_only' => 'gateControl.index', 'add_enter' => 'gateControl.enter', 'add_leave' => 'gateControl.leave', 'get_screenshot' => 'gateControl.getScreenshot' ] ], 'prohibited_passage' => [ 'uri' => 'prohibitedPassage', 'page_uri' => '/gate/Lanevideo', 'child' => [ 'read_only' => 'prohibitedPassage.index' ] ] ], 'statistics_report' => [ 'recognition_rate' => [ 'uri' => 'licensePlateRecognition', 'page_uri' => '/report/plate_rate', 'child' => [ 'read_only' => 'licensePlateRecognition.index', 'export' => 'licensePlateRecognition.export' ] ], 'parking_behavior' => [ 'uri' => 'parkingBehavior', 'page_uri' => '/report/behavior', 'child' => [ 'read_only' => 'parkingBehavior.index', 'export' => 'parkingBehavior.export', 'view_details' => '' ] ], 'utilization_rate' => [ 'uri' => 'utilizationRate', 'page_uri' => '/report/usage_rate', 'child' => [ 'read_only' => 'utilizationRate.index', 'export' => 'utilizationRate.export' ] ], 'access_record' => [ 'uri' => 'accessRecord', 'page_uri' => '/report/entry_exit', 'child' => [ 'read_only' => 'accessRecord.index', 'export' => 'accessRecord.export' ] ], 'occupancy_rate' => [ 'uri' => 'occupancyRate', 'page_uri' => '/report/occupancy_rate', 'child' => [ 'read_only' => 'occupancyRate.index', 'export' => 'occupancyRate.export' ] ], 'manual_correction' => [ 'uri' => 'manualCorrection', 'page_uri' => '/report/plate_correction', 'child' => [ 'read_only' => 'manualCorrection.index', 'view_details' => 'manualCorrection.show', 'export' => 'manualCorrection.export' ] ] ], 'system_log' => [ 'system_log' => [ 'uri' => 'operationLog', 'page_uri' => '/log/system', 'child' => [ 'read_only' => 'operationLog.index', 'export' => 'operationLog.export' ] ] ], 'device_manage' => [ 'camera_management' => [ 'uri' => 'parkingCamera', 'page_uri' => '/device/camera', 'child' => [ 'read_only' => 'parkingCamera.index', 'add' => 'parkingCamera.store', 'edit' => 'parkingCamera.update', 'delete' => 'parkingCamera.destroy', 'import' => '', 'export' => 'parkingCamera.export', 'debug' => '', 'download_template' => '' ] ] ], 'system_manage' => [ 'total_configuration' => [ 'uri' => 'config', 'page_uri' => '/system/config', 'child' => [ 'read_only' => 'config.index', 'edit' => 'config.update' ] ], 'floor_plan' => [ 'uri' => 'floors', 'page_uri' => '/parkingmanagement/floorManagement', 'child' => [ 'read_only' => 'floors.index', 'add_floor' => 'floors.store', 'edit_floor' => 'floors.update', 'delete' => 'floors.destroy' ] ], 'translation' => [ 'uri' => 'translations', 'page_uri' => '/system/translation', 'child' => [ 'read_only' => 'translations.index', 'add' => 'translations.store', 'edit' => 'translations.update', 'delete' => 'translations.destroy' ] ] ], 'parking_management' => [ 'parking_management_list' => [ 'uri' => 'parkingManagement', 'page_uri' => '/parkingmanagement/parkingManagementlist', 'child' => [ 'read_only' => 'parkingManagement.index', 'add' => 'parkingManagement.store', 'edit' => 'parkingManagement.update', 'delete' => 'parkingManagement.destroy' ] ], 'parking_list' => [ 'uri' => 'parkingList', 'page_uri' => '/parkingmanagement/parkingList', 'child' => [ 'read_only' => 'parkingList.index', 'add' => 'parkingList.store', 'edit' => 'parkingList.update', 'delete' => 'parkingList.destroy', 'batch_update_attr' => 'parkingList.batchUpdateAttr', 'batch_delete' => 'parkingList.batchDelete' ] ], 'parking_attendant' => [ 'uri' => 'parkingAttendant', 'page_uri' => '/parkingmanagement/parkingAttendant', 'child' => [ 'read_only' => 'parkingAttendant.index', 'add' => 'parkingAttendant.store', 'edit' => 'parkingAttendant.update', 'delete' => 'parkingAttendant.destroy', ] ], 'floor_plan' => [ 'uri' => 'floors', 'page_uri' => '/parkingmanagement/floorManagement', 'child' => [ 'read_only' => 'floors.index', 'add_floor' => 'floors.store', 'edit_floor' => 'floors.update', 'delete' => 'floors.destroy' ] ], 'regional_management' => [ 'uri' => 'regionalManagement', 'page_uri' => '/parkingmanagement/regionalManagement', 'child' => [ 'read_only' => 'regionalManagement.index', 'add' => 'regionalManagement.store', 'edit' => 'regionalManagement.update', 'delete' => 'regionalManagement.destroy' ] ], 'channel_management' => [ 'uri' => 'channelManagement', 'page_uri' => '/parkingmanagement/channelManagement', 'child' => [ 'read_only' => 'channelManagement.index', 'add' => 'channelManagement.store', 'edit' => 'channelManagement.update', 'delete' => 'channelManagement.destroy' ] ], 'guard_booth_management' => [ 'uri' => 'guardBoothManagement', 'page_uri' => '/parkingmanagement/guardBoothManagement', 'child' => [ 'read_only' => 'guardBoothManagement.index', 'add' => 'guardBoothManagement.store', 'edit' => 'guardBoothManagement.update', 'delete' => 'guardBoothManagement.destroy' ] ], 'equipment_management' => [ 'uri' => 'equipmentManagement', 'page_uri' => '/parkingmanagement/equipmentManagement', 'child' => [ 'read_only' => 'equipmentManagement.index', 'add' => 'equipmentManagement.store', 'edit' => 'equipmentManagement.update', 'delete' => 'equipmentManagement.destroy' ] ], 'departure_management' => [ 'uri' => 'departureReasonManagement', 'page_uri' => '/parkingmanagement/departureReasonManagement', 'child' => [ 'read_only' => 'departureReasonManagement.index', 'add' => 'departureReasonManagement.store', 'edit' => 'departureReasonManagement.update', 'delete' => 'departureReasonManagement.destroy' ] ], 'parking_space_management' => [ 'uri' => 'parkingSpaceManagement', 'page_uri' => '/parkingmanagement/parkingManagement', 'child' => [ 'read_only' => 'parkingSpaceManagement.index', 'add' => 'parkingSpaceManagement.store', 'edit' => 'parkingSpaceManagement.update', 'delete' => 'parkingSpaceManagement.destroy', 'batch_update_attr' => 'parkingSpaceManagement.batchUpdateAttr', 'batch_delete' => 'parkingSpaceManagement.batchDelete', 'batch_import' => 'parkingSpaceManagement.batchImport', 'download_template' => 'parkingSpaceManagement.downloadTemplate' ] ], ], 'user_manage' => [ 'user_list' => [ 'uri' => 'users', 'page_uri' => '/user/list', 'child' => [ 'read_only' => 'users.index', 'add' => 'users.store', 'edit' => 'users.update', 'delete' => 'users.destroy', 'view' => 'users.show' ] ], 'role_manage' => [ 'uri' => 'roles', 'page_uri' => '/user/role', 'child' => [ 'read_only' => 'roles.index', 'add' => 'roles.store', 'view' => 'roles.show', 'edit' => 'roles.update', 'delete' => 'roles.destroy' ] ], 'channel_permissions' => [ 'uri' => 'channelPermissions', 'page_uri' => '/user/channelPermissions', 'child' => [ 'read_only' => 'channelPermissions.index', 'add' => 'channelPermissions.store', 'edit' => 'channelPermissions.update', 'delete' => 'channelPermissions.destroy' ] ] ] ]; } /** * @param int $id * @param string $title * @param int $show * @param int $parent_id * @param string $uri * @param int $order * @param string $page_uri * @return array */ private function insertData( int $id, string $title, int $show = 0, int $parent_id = 0, string $uri = '#', int $order = 0, string $page_uri = '' ): array { return [ 'id' => $id, 'parent_id' => $parent_id, 'order' => $order, 'title' => $title, 'icon' => '', 'uri' => $uri, 'page_uri' => $page_uri, 'show' => $show, 'created_at' => date("Y-m-d H:i:s", time()) ]; } }