You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

261 lines
7.2 KiB
JavaScript

7 months ago
//16.apiRouter.js
const express = require('express')
const bodyParser = require('body-parser');
const router = express.Router()
const fs = require("fs");
const mysql = require('mysql2');
const moment = require("moment");
const util = require('util');
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'Skyinno251,',
database: 'appserver',
multipleStatements: true, // 允许执行多条语句,(高并发方式)
connectionLimit: 10 // 连接池最大连接数
});
// 在这里挂载对应的路由
router.get('/get', (req, res) => {
// 通过 req.query 获取客户端发送到服务器的数据(查询字符串)
const query = req.query
run().then(r => {console.log("调用oracle")})
// 调用 res.send() 方法,向客户端响应处理的结果
res.send({
status: 0,// 0 表示处理成功1 表示处理失败
msg: 'GRT请求成功', // 状态的描述
data: query// 需要响应给客户端的数据
})
})
router.post('/addTimeNow', (req, res) => {
// 通过 req.body 获取请求体中包含的 url-encoded 格式的数据
const body = req.body
res.send({
status: 1,
msg: 'POST请求成功',
data: body
})
})
// 新增用户 POST 请求处理程序
router.post('/addUserNow', (req, res) => {
const date = new Date();
const formattedDate = moment(date).format('YYYY-MM-DD HH:mm:ss');
console.log(formattedDate);
const { name, age } = req.body; // 从请求体中获取数据
if (name == undefined||name == ''||name == null) {
res.status(500).json({ error: 'name not null' });
return
}
if (age == undefined||age == ''||age == null) {
res.status(500).json({ error: 'age not null' });
return
}
const values = [name, age, date];
const insertSql = `INSERT INTO user_now (name, age,create_time) VALUES (?, ?, ?)`;
pool.query(insertSql, values, (err, results) => {
if (err) {
console.error('Error querying database:', err);
res.status(500).json({ error: 'Internal server error' });
return;
}
res.json({
code:'200',
data:results,
});
});
});
router.delete('/delete', (req, res) => {
res.send({
status: 0,
msg: 'DELETE请求成功',
})
})
// 获取用户详情 3
router.get('/user/:username', (req, res) => {
const { username } = req.params;
if (username == undefined||username == ''||username == null) {
res.status(500).json({ error: 'username not null' });
return
}
const values =[username];
let query = 'SELECT * FROM user WHERE username = ?';
pool.query(query,values,(err, results) => {
if (err) {
console.error('Error querying database:', err);
res.status(500).json({ error: 'Internal server error' });
return;
}
res.json({
code:'200',
data:results?results[0]:{},
});
});
});
router.get('/user', (req, res) => {
const { username, name } = req.query;
//const values =[username, name];
let query = 'SELECT * FROM user';
// 构建查询条件
const params = [];
if (name !== undefined&&name !== ''&&name !== null) {
query += ' WHERE name = ?';
params.push(name);
}
if (username !== undefined&&username !== ''&&username !== null) {
query += params.length ? ' AND' : ' WHERE';
query += ' username = ?';
params.push(username);
}
// 查询数据库并返回数据
pool.query(query,params,(err, results) => {
if (err) {
console.error('Error querying database:', err);
res.status(500).json({ error: 'Internal server error' });
return;
}
res.json({
code:'200',
data:results,
});
});
});
router.put('/userPut', (req, res) => {
// console.log(req.body);
const { name, age ,id} = req.body; // 从请求体中获取数据
if (id == undefined||id == ''||id == null) {
res.status(500).json({ error: 'id not null' });
return
}
if (name == undefined||name == ''||name == null) {
res.status(500).json({ error: 'name not null' });
return
}
if (age == undefined||age == ''||age == null) {
res.status(500).json({ error: 'age not null' });
return
}
const values = [name, age, id];
// 准备 SQL 插入语句
const sql = "UPDATE user_now SET name = ?, age = ? WHERE id = ?";
pool.query(sql, values, (err, results) => {
// console.log(err,'err');
// console.log(results,'results');
if (err) {
console.error('Error querying database:', err);
res.status(500).json({ error: 'Internal server error' });
return;
}
res.json({
code:'200',
data:results,
});
});
});
// 删除用户数据 DELETE请求处理程序
router.delete('/userDel/:id', (req, res) => {
// const {id} = req.body; // 从请求体中获取数据
const id = req.params.id;
if (id == undefined||id == ''||id == null) {
res.status(500).json({ error: 'id not null' });
return
}
// console.log(id,'id');
const values = [id];
const sql = "DELETE FROM time_now WHERE id = ?";
pool.query(sql, values, (err, results) => {
// console.log(err,'err');
// console.log(results,'results');
if (err) {
console.error('Error querying database:', err);
res.status(500).json({ error: 'Internal server error' });
return;
}
res.json({
code:'200',
data:results,
});
});
});
router.get('/process_get', function (req, res) {
// 输出 JSON 格式
var response = {
"first_name":req.query.first_name,
"last_name":req.query.last_name
};
console.log(response);
res.end(JSON.stringify(response));
})
// 创建 application/x-www-form-urlencoded 编码解析
const urlencodedParser = bodyParser.urlencoded({ extended: false })
router.post('/process_post', urlencodedParser, function (req, res) {
// 输出 JSON 格式
var response = {
"first_name":req.body.first_name,
"last_name":req.body.last_name
};
console.log(response);
res.end(JSON.stringify(response));
})
router.post('/file_upload', function (req, res) {
console.log(req.files[0]); // 上传的文件信息
const des_file = "/Users/admin/tmp/" + req.files[0].originalname;
fs.readFile( req.files[0].path, function (err, data) {
fs.writeFile(des_file, data, function (err) {
if( err ){
console.log( err );
}else{
response = {
message:'File uploaded successfully',
filename:req.files[0].originalname
};
}
console.log( response );
res.end( JSON.stringify( response ) );
});
});
})
router.get('/getCookies', function(req, res) {
console.log("Cookies: " + util.inspect(req.cookies));
res.end( JSON.stringify( util.inspect(req.cookies) ) );
})
module.exports = router