node+mysql简单的登录注册

const http = require("http");
const mysql = require("mysql");
const querystring = require("querystring");
const co = require("co-mysql");
const url = require("url");
const fs = require("fs");
const check = require("../config/check");
const conn = mysql.createPool({
host: "localhost",
port: "3306",
user: "root",
password: "root",
database: "20200329",
})
const myDp = co(conn);
http.createServer(async (req, res) => {
   //跨域处理
res.setHeader('Access-Control-Allow-Origin', "*");
let {pathname, query} = url.parse(req.url, true);
if (pathname === "/reg") {
let {name, password} = query;
let errorName = check.checkName(name);
if (errorName) {
res.write(errorName);
} else {
let errorPassword = check.checkPassword(password);
if (errorPassword) {
res.write(errorPassword);
} else {
try {
let data = await myDp.query(`select username from user_table where username='${name}';`);
if (data.length > 0) {
res.write("此用户已存在,无法再次注册");
} else {
await myDp.query(`insert into user_table (username,password) values ('${name}','${password}');`);
res.write("注册成功");
}
} catch (e) {
res.write("数据库错误");
}
}
}
res.end();
} else if (pathname === "/login") {
let {name, password} = query;
let errorName = check.checkName(name);
if (errorName) {
res.write(errorName);
} else {
let errorPassword = check.checkPassword(password);
if (errorPassword) {
res.write(errorPassword);
} else {
try {
let data = await myDp.query(`select ID,password from user_table where username='${name}';`);
if (data.length !== 1) {
res.write("此用户不存在,无法登陆");
} else if (data[0].password !== password) {
res.write("密码错误,登陆失败");
} else {
res.write("登录成功");
}
} catch (e) {
res.write("数据库错误");
}
}
}
res.end();
} else {
fs.readFile(`www${pathname}`, (error, buffer) => {
if (error) {
res.writeHead(404);
res.write("no found")
} else {
res.write(buffer);
}
res.end();
})
}
}).listen(8080);
posted @ 2021-03-30 11:13  莣ㄋ噯  阅读(247)  评论(0)    收藏  举报