From d0178b83ac1cd6dd43274788c80e9decdc5e3d5e Mon Sep 17 00:00:00 2001 From: Zhuang <2157780849@qq.com> Date: Fri, 11 Oct 2024 17:14:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E4=B8=BB=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 app.js diff --git a/app.js b/app.js new file mode 100644 index 0000000..28ec488 --- /dev/null +++ b/app.js @@ -0,0 +1,145 @@ +// var express = require('express')//加载express模块 +// var path = require('path')//路径模块 +// var app = express()//框架的实例化 + + + +// app.use(express.static(path.join(__dirname,"www")))//设置用户访问文件 默认把index.html文件返回用户 + + +// app.listen(3000,function(err){ +// if(err)throw err +// console.log("express正常 服务器地址:http://localhost:3000") +// }) + + +// var express = require('express'); +// var path = require('path'); +// var axios = require('axios'); // 引入axios库 与python交互 +// const bodyParser = require('body-parser'); +//const cors = require('cors'); +import express from 'express' +import path from 'path' +import axios from 'axios' +import bodyParser from 'body-parser' +import cors from 'cors' +import { fileURLToPath } from 'url'; + +// 获取当前文件的绝对路径 +const __filename = fileURLToPath(import.meta.url); +// 获取当前文件的目录名 +const __dirname = path.dirname(__filename); + + +var app = express(); + +// 允许所有来源跨域 +app.use(cors()); + +// 其他中间件和路由 +app.get('/', (req, res) => { + res.send('Hello from Express!'); +}); + +app.use(express.static(path.join(__dirname, "www"))); //设置用户访问文件 默认把index.html文件返回用户 + +// 使用 body-parser 解析 JSON 请求体 +app.use(bodyParser.json()); + +// 调用 Python 算法 API 获取随机学生 +app.get('/get_random_student', async (req, res) => { + try { + // 通过 axios 发送请求给 Python 后端 + const response = await axios.get('http://localhost:5000/get_random_student'); + res.json(response.data); // 返回 Python API 返回的学生数据 + } catch (error) { + console.error('Error calling Python API', error); + res.status(500).json({ error: 'Failed to get random student' }); + } +}); + +// 调用 Python 服务来更新出勤积分 +app.post('/update_attendance_score', async (req, res) => { + const { student_id } = req.body; + try { + // 通过 axios POST 请求调用 Python 更新积分的 API + const response = await axios.post('http://localhost:5000/update_attendance_score', { student_id }); + res.json(response.data); // 返回 Python API 的结果 + } catch (error) { + console.error('Error updating attendance score', error); + res.status(500).json({ error: 'Failed to update attendance score' }); + } +}); + +// 调用 Python 服务来更新回答问题的积分 +app.post('/update_answer_score', async (req, res) => { + const { student_id, repeated_correctly, answer_score } = req.body; + try { + // 通过 axios POST 请求调用 Python 更新回答问题积分的 API + const response = await axios.post('http://localhost:5000/update_answer_score', { + student_id, + repeated_correctly, + answer_score + }); + res.json(response.data); // 返回 Python API 的结果 + } catch (error) { + console.error('Error updating answer score', error); + res.status(500).json({ error: 'Failed to update answer score' }); + } +}); + +// 启动 Express 服务器 +app.listen(3000, '0.0.0.0', function(err){ + if(err) throw err; + console.log("Express 正常运行,服务器地址:http://10.133.7.205:3000"); +}); + + + + +// var express = require('express'); +// var path = require('path'); +// var axios = require('axios'); // 引入 axios 库 +// var app = express(); + +// const cors = require('cors'); + +// // 允许所有来源跨域 +// app.use(cors()); + +// 其他中间件和路由 +// app.get('/', (req, res) => { +// res.send('Hello from Express!'); +// }); + +// app.use(express.static(path.join(__dirname, "www"))); +// app.use(express.json()); // 解析 JSON 请求体 + +// // 前端请求点名学生,调用Flask API +// app.get('/api/get_random_student', async function(req, res) { +// try { +// // 调用Python Flask API +// const response = await axios.get('http://localhost:5000/get_random_student'); +// res.json(response.data); // 返回Flask API的响应给前端 +// } catch (error) { +// console.error(error); +// res.status(500).send('调用Python API失败'); +// } +// }); + +// // 前端请求更新积分,调用Flask API +// app.post('/api/update_attendance_score_route', async function(req, res) { +// try { +// // 将请求体转发给Flask API +// const response = await axios.post('http://localhost:5000/update_attendance_score_route', req.body); +// res.json(response.data); // 返回Flask API的响应给前端 +// } catch (error) { +// console.error(error); +// res.status(500).send('调用Python API失败'); +// } +// }); + +// app.listen(3000, function(err){ +// if(err) throw err; +// console.log("Express 正常运行,服务器地址:http://localhost:3000"); +// });