From 1484f8b981b9f93314e80a8b609f66951fb1343b Mon Sep 17 00:00:00 2001 From: zhangxiaomeng <1362468712@qq.com> Date: Mon, 17 Mar 2025 16:11:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E6=A8=A1=E5=9D=97=E6=8E=A5?= =?UTF-8?q?=E5=85=A5python=E8=AE=A1=E7=AE=97=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kcui/src/api/pythonJs.js | 13 ++++ .../main/woka/Web/Controller/PythonController.java | 72 ++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 kcui/src/api/pythonJs.js create mode 100644 src/main/java/com/main/woka/Web/Controller/PythonController.java diff --git a/kcui/src/api/pythonJs.js b/kcui/src/api/pythonJs.js new file mode 100644 index 0000000..8717f82 --- /dev/null +++ b/kcui/src/api/pythonJs.js @@ -0,0 +1,13 @@ +import request from '@/utils/request'; +import {getToken} from "@/utils/auth"; + +export function dbDLC(data) { + return request({ + url: '/pythonJs/dbDLC', + method: 'post', + data:data, + headers: { + 'Authorization': 'Bearer '+ getToken() // 将 token 放在请求头中 + } + }) +} diff --git a/src/main/java/com/main/woka/Web/Controller/PythonController.java b/src/main/java/com/main/woka/Web/Controller/PythonController.java new file mode 100644 index 0000000..f7a9f6d --- /dev/null +++ b/src/main/java/com/main/woka/Web/Controller/PythonController.java @@ -0,0 +1,72 @@ +package com.main.woka.Web.Controller; + +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.Map; + +@RestController +@RequestMapping("/pythonJs") +public class PythonController extends BaseController{ + + @PostMapping("/dbDLC") + public String dbDLC(@RequestBody Map requestBody){ +// float a = Float.parseFloat(requestBody.get("a"));//方位角 +// float longtitude = Float.parseFloat(requestBody.get("longtitude"));//经度角 +// float latitude = Float.parseFloat(requestBody.get("latitude"));//纬度角 + + String a = requestBody.get("a"); + String longtitude = requestBody.get("longtitude"); + String latitude = requestBody.get("latitude"); + String fre = requestBody.get("fre"); + String N_m = requestBody.get("N_m"); + String r_m = requestBody.get("r_m"); + String r_b = requestBody.get("r_b"); + + + + + + + + + try { + // 定义 Python 解释器和脚本路径 + String pythonScriptPath = "D:\\pythonWork\\DBDLC\\run.py"; + String pythonExecutable = "D:\\python3.8\\python.exe"; // 或者 "python",取决于系统环境 + + // 创建 ProcessBuilder + ProcessBuilder processBuilder = new ProcessBuilder(pythonExecutable, pythonScriptPath,a,longtitude,latitude,fre,N_m,r_m,r_b); + processBuilder.redirectErrorStream(true); + + // 启动进程 + Process process = processBuilder.start(); + + // 读取 Python 脚本的输出 + BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); + String line; + while ((line = reader.readLine()) != null) { + System.out.println(line); + } + + // 等待进程结束 + int exitCode = process.waitFor(); + System.out.println("Python script exited with code: " + exitCode); + return "响应成功"; + } catch (Exception e) { + e.printStackTrace(); + return "响应失败"; + } + + + + + + + + } + + +}