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

196 lines
6.3 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

var mysql = require('mysql'); //导入mysql包
/* */
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
port: '3306',
database: 'reji'
});
connection.connect();
var xlsx = require('node-xlsx');
var data = [];
var express = require('express');
var app = express();
var fs = require("fs");
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({
    extended: false
  })
var multer = require('multer');
var execSync = require("child_process").execSync;
const res = require('express/lib/response');
app.use(express.static('./'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(multer({ dest: '/tmp/'}).array('image'));
app.get('/', function (req, res) {
res.sendFile( __dirname + "/" + "index.html" );
})
app.get('/index.html', function (req, res) {
res.sendFile( __dirname + "/" + "index.html" );
})
app.post('/login',urlencodedParser,function (req,res) {
var response = {
"account":req.body.account,
"password":req.body.password,
};
var selectSQL = "select account,password from user where account = '"+req.body.account+"' and password = '"+req.body.password+"'";
//var selectSQL = "select password from user where account='"+req.body.account+"'";
var addSqlParams = [req.body.account,req.body.password];
connection.query(selectSQL,function (err, result) {
if(err){
console.log('[login ERROR] - ',err.message);
return;
}
//console.log(result);
if(result=='')
{
console.log("帐号密码错误");
res.end("The account does not exist or the password is wrong!");//如果登录失败就给客户端返回0
}
else
{
console.log("OK");
res.redirect("./upload.html");
}
});
console.log(response);
})
app.post('/register.html', function (req, res) {
res.sendFile( __dirname + "/" + "register.html" );
})
//注册模块
var addSql = 'INSERT INTO user(account,password,name) VALUES(?,?,?)';
app.post('/process_get', urlencodedParser,function (req, res) {
// 输出 JSON 格式
var response = {
"account":req.body.account,
"password":req.body.password,
"name":req.body.name
};
var addSqlParams = [req.body.account,req.body.password,req.body.name];
connection.query(addSql,addSqlParams,function (err, result) {
if(err){
console.log('[INSERT ERROR] - ',err.message);
res.end("Registration failed, please do not use illegal password or account!");//如果注册失败就给客户端返回0
return;//如果失败了就直接return不会继续下面的代码
}
res.redirect("./index.html");//如果注册成功就给客户端返回1,并跳转到登录界面
console.log("OK");
});
console.log(response);
})
app.post('/file_upload', function (req, res) {
console.log(req.files[0]); // 上传的文件信息
var des_file = __dirname + "/" + "Test" + "/" + "/" + "ceshi" + "/" + 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 ) );
});
});
})
app.post('/file_upload2', function (req, res) {
console.log(req.files[0]); // 上传的文件信息
var des_file = __dirname + "/" + "Test" + "/" + "ceshi" + "/" + 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 ) );
});
});
})
function execute(cmd){
execSync(cmd,{ cwd:'./Test'}, function (error, stdout, stderr){
if (error){
console.error(error);
}
else{
console.log("executing success!")
}
})
}
app.post('/test', function(req, res){
//execute('python manager.py --client_ip 192.168.254.129 --client_username u20m --client_password 123456 --server_ip 192.168.254.128 --server_username u20m --server_password 123456');
//res.send("测试完成,返回查看测试结果");
//开始匹配游戏 ---------------------------------------------
})
/*var data = fs.readFile('Test/result.txt','utf-8',function(err,data){
if(err){
console.error(err);
}
else{
console.log(data);
}
});*/
connection.query('SELECT * from rank', function(err, rows, fields) {
if(rows)
{
for(var i = 0; i < rows.length; i++)
{
var arr=[];
var value=rows[i];
for(var j in value){
arr.push(value[j]);
}
data.push(arr);
}
}
var buffer = xlsx.build([
{
name:'sheet1',
data:data
}
]);
fs.writeFileSync('test1.xlsx',buffer,{'flag':'w'});
});
app.post('/bigbutton', function (req, res) {
res.sendFile( __dirname + "/" + "test1.xlsx");
//res.sendFile( __dirname + "/" + "Test" + "/" + "result.txt" );、
//数据库排行榜------------------------------------------------------
})
app.post('/return', function (req, res) {
res.redirect("./index.html");
})
var server = app.listen(3000, function () {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})