request->param(); $position = $input['position'] ?? []; $resume = $input['resume'] ?? []; // 如果是JSON请求,尝试从JSON中获取 if (empty($position) && empty($resume)) { $jsonData = json_decode($this->request->getContent(), true); if (is_array($jsonData)) { $position = $jsonData['position'] ?? []; $resume = $jsonData['resume'] ?? []; } } // 参数验证 if (empty($position) || empty($resume)) { return json([ 'code' => 400, 'msg' => '参数错误:岗位信息和简历信息不能为空', 'data' => null ]); } // 计算匹配度 $matchService = new MatchService(); $score = $matchService->calculateMatchScore($position, $resume); return json([ 'code' => 200, 'msg' => '计算成功', 'data' => [ 'match_score' => $score ] ]); } catch (\Exception $e) { return json([ 'code' => 500, 'msg' => '计算失败:' . $e->getMessage(), 'data' => null ]); } } }