var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
port : '13307',
user : 'root',
password : '123456',
database : 'mailbox'
});
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
// 创建 application/x-www-form-urlencoded 编码解析
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.use(express.static('static'));
app.get('/', function (req, res) {
var result_string = build_html_head('识别系统') + '
欢迎来到识别系统!
\r\n';
result_string +='\r\n';
result_string +='用户名 | 密码 | 身份 | 备注 |
\r\n';
connection.query('SELECT * FROM mail;', function (error, results, fields) {
if (error) {
console.log('[SELECT ERROR] - ',error.message);
return;
}
console.log('[SELECT SUCCESS]');
for (var i = results.length - 1; i >= 0; i--) {
result_string +='\r\n';
result_string += (' '
+ results[i].name
+ ' | '
+ results[i].passwd
+ ' | '
+ results[i].id
+ ' | '
+ results[i].msg
+ ' | \r\n');
result_string +='
\r\n';
}
result_string +='
\r\n';
result_string +='注册用户\r\n'
result_string +='\r\n';
result_string +='
登陆界面\r\n';
result_string +='
\r\n';
res.send(result_string + build_html_foot())
});
})
// 文件上传接口
app.post('/fileUpload', function(req, res){
// 上传的文件在req.files中
const filename = req.files[0].path + pathLib.parse(req.files[0].originalname).ext
console.log(filename);
fs.rename(req.files[0].path, filename, function(err){
if(err){
res.send(err)
}else{
res.send('upload successfully')
console.log('[上传成功]' + filename);
}
})
})
const session = require('express-session');
app.use(session({
secret: 'your_secret_key', // 密钥用于会话加密
resave: false,
saveUninitialized: true,
cookie: {
maxAge: 60000 // 会话过期时间,单位是毫秒
}
}));
//登录功能
app.post('/login', urlencodedParser, function(req, res) {
var username = req.body.username;
var password = req.body.passwd;
// 查询数据库中是否存在匹配的用户名和密码
connection.query('SELECT * FROM mail WHERE name = ? AND passwd = ?', [username, password], function(error, results, fields) {
if (error) {
console.log('[SELECT ERROR] - ', error.message);
res.send('数据库查询错误!'); // 可以重定向到登录页面或其他处理方式
return;
}
if (results.length > 0) {
// 登录成功
//req.session.username = username; // 将用户名存储在session中
res.redirect('/work1.html?username=' + username + '&userid=' + results[0].id); // 登录成功后重定向到首页或其他页面
} else {
// 登录失败,可以重定向到登录页面并显示错误信息
console.log('[用户名或密码不正确]');
res.send('');
}
});
})
app.post('/idcheck', urlencodedParser, function(req, res) {
var username = req.body.username;
connection.query('SELECT id FROM mail WHERE name = ?', [username], function(error, results, fields) {
if (error) {
console.log('[SELECT ERROR] - ', error.message);
res.send('数据库查询错误!');
return;
}
if (results.length > 0 && results[0].id === 'admin') {
res.send({ userid: 'admin' });
} else {
res.send({ userid: '' });
}
});
});
app.post('/insertrecord', urlencodedParser, function (req, res) {
var insert_sql = 'INSERT INTO mail(name, passwd, id, msg) VALUES(?,?,?,?)';
var insert_params = [req.body.name, req.body.passwd, req.body.id, req.body.msg];
connection.query(insert_sql, insert_params, function(error, result) {
if (error) {
console.log('[INSERT ERROR] - ',error.message);
return;
}
console.log('[INSERT SUCCESS]');
});
res.redirect('/');
})
function build_html_head(title) {
var html_fragment = '\r\n';
html_fragment += '\r\n';
html_fragment += '\r\n';
html_fragment += ' \r\n';
html_fragment += ' ' + title +'\r\n';
html_fragment += ' \r\n';
html_fragment += '\r\n';
html_fragment += '\r\n';
return html_fragment;
}
function build_html_foot() {
return '\r\n';
}
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
connection.connect(function(err){
if(err){
console.log('[query] - :'+err);
return;
}
console.log('[connection connect] succeed!');
});
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})