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']); $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', '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' ] ], 'model_manage' => [ 'uri' => 'pattern', 'child' => [ 'read_only' => 'pattern.index', 'add' => 'pattern.store', 'edit' => 'pattern.update', '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' ] ] ], 'cat_status' => [ 'cat_map' => [ 'uri' => 'parkingSpaceMap', 'child' => [ 'read_only' => 'parkingSpaceMap.floorOverview', 'view' => 'parkingSpaceMap.map' ] ], 'cat_list' => [ 'uri' => 'parkingReservation', 'child' => [ 'read_only' => 'parkingReservation.index', 'add_new_energy' => '', 'delete_new_energy' => '' ] ], 'cat_type' => [ 'uri' => 'spaceType', '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', 'child' => [ 'read_only' => 'spaceAttr.index', 'add' => 'spaceAttr.store', 'edit' => 'spaceAttr.update', 'delete' => 'spaceAttr.destroy' ] ], 'draw_map' => [ 'uri' => 'map', 'child' => [ 'read_only' => 'map.index' ] ], 'parking_information' => [ 'uri' => 'information', 'child' => [ 'read_only' => 'information.index', 'add' => 'information.store', 'clear' => 'information.clear', 'delete' => 'information.destroy' ] ] ], 'special_car_manage' => [ 'vip_list' => [ 'uri' => 'vipList', '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', 'child' => [ 'read_only' => 'vipAccessRecord.index', 'view_details' => 'vipAccessRecord.show' ] ] ], 'information_center' => [ 'alarm_notice' => [ 'uri' => 'notice', 'child' => [ 'read_only' => 'notice.index', 'view_details' => 'notice.show', 'export' => 'notice.export', 'alarm_settings' => 'notice.setting' ] ] ], 'gate_management' => [ 'stop_on_duty' => [ 'uri' => '', 'child' => [ 'read_only' => '' ] ], 'lane_video' => [ 'uri' => '', 'child' => [ 'read_only' => '' ] ] ], 'statistics_report' => [ 'recognition_rate' => [ 'uri' => 'licensePlateRecognition', 'child' => [ 'read_only' => 'licensePlateRecognition.index', 'export' => 'licensePlateRecognition.export' ] ], 'parking_behavior' => [ 'uri' => 'parkingBehavior', 'child' => [ 'read_only' => 'parkingBehavior.index', 'export' => 'parkingBehavior.export', 'view_details' => '' ] ], 'utilization_rate' => [ 'uri' => 'utilizationRate', 'child' => [ 'read_only' => 'utilizationRate.index', 'export' => 'utilizationRate.export' ] ], 'occupancy_rate' => [ 'uri' => '', 'child' => [ 'read_only' => '', 'export' => '' ] ], 'manual_correction' => [ 'uri' => '', 'child' => [ 'read_only' => '', 'view_details' => '', 'export' => '' ] ] ], 'system_log' => [ 'system_log' => [ 'uri' => 'operationLog', 'child' => [ 'read_only' => 'operationLog.index', 'export' => 'operationLog.export' ] ] ], 'device_manage' => [ 'camera_management' => [ 'uri' => 'parkingCamera', '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', 'child' => [ 'read_only' => 'config.index', 'edit' => 'config.update' ] ], 'floor_plan' => [ 'uri' => 'floors', 'child' => [ 'read_only' => 'floors.index', 'add_floor' => 'floors.store', 'edit_floor' => 'floors.update', 'delete' => 'floors.destroy' ] ], 'translation' => [ 'uri' => 'translations', 'child' => [ 'read_only' => 'translations.index', 'add' => 'translations.store', 'edit' => 'translations.update', 'delete' => 'translations.destroy' ] ] ], 'user_manage' => [ 'user_list' => [ 'uri' => 'users', 'child' => [ 'read_only' => 'users.index', 'add' => 'users.store', 'edit' => 'users.update', 'delete' => 'users.destroy', 'show' => 'users.show' ] ], 'role_manage' => [ 'uri' => 'roles', 'child' => [ 'read_only' => 'roles.index', 'add' => 'roles.store', 'view' => 'roles.show', 'edit' => 'roles.update', 'delete' => 'roles.destroy' ] ] ] ]; } /** * @param int $id * @param string $title * @param int $show * @param int $parent_id * @param string $uri * @param int $order * @return array */ private function insertData( int $id, string $title, int $show = 0, int $parent_id = 0, string $uri = '#', int $order = 0 ): array { return [ 'id' => $id, 'parent_id' => $parent_id, 'order' => $order, 'title' => $title, 'icon' => '', 'uri' => $uri, 'show' => $show, 'created_at' => date("Y-m-d H:i:s", time()) ]; } }