addLeafNodes(['Node1', 'Node2'], config("bim.black_hole.project_id")); $projectId = config("bim.black_hole.project_id"); $treeInfo = $this->getTreeById($projectId); $modelFile = $this->modelFileCreate($projectId, $treeInfo['subNodes'][0]['nodeId'], $file); dump($modelFile); //$this->modelFileCreate(config("bim.black_hole.project_id"), $file); } public function downloadSourceFile() { } protected function modelFileCreate(string $projectId, string $nodeId, UploadedFile $file) { $formData = [ 'ProjId' => $projectId, 'DataSetId' => $nodeId, 'FileName' => $file->getClientOriginalName(), 'FileSize' => $file->getSize(), 'FileType' => $file->getExtension() ? $file->getExtension() : pathinfo($file->getClientOriginalName(), PATHINFO_EXTENSION), 'Scheme' => 'Bim', 'BlobCount' => 1, 'BlobSize' => $file->getSize(), 'UploadWay' => 0 ]; $result = Client::getInstance()->request("POST", "/blackHole3D/project/modelFile/create", [ 'form_params' => $formData, 'headers' => [ 'fileUploadScheme' => 'Bim', 'fileUploadMode' => 'ResumableCreate' ] ]); return $result['data'] ?? []; } protected function getTreeById(string $projectId) { $result = Client::getInstance()->request("POST", "/blackHole3D/project/modelTree/getTreeById", [ 'json' => [ 'projId' => $projectId ] ]); return $result['data'] ?? []; } protected function addLeafNodes(array $nodes, string $parentId = "") { $items = []; foreach ($nodes as $node) { $items[]['dataSetName'] = $node; } $result = Client::getInstance()->request("POST", "/blackHole3D/project/modelTree/addLevelNodes", [ 'json' => [ 'parentId' => $parentId, 'dataSets' => $items ] ]); dump([ 'parentId' => $parentId, 'dataSets' => $items ]); dump($result); } }