const express = require('express') //index.js后端
const app = express()
const port = 3000
const bodyParser = require('body-parser');
app.use(bodyParser.json())
const cors = require('cors');
app.use(cors())
const mysql = require('mysql');
var db = mysql.createPool({
connectionLimit: 10,
host: 'localhost',
user: 'root',
password: '123456',
database: 'kw31'
});
// 引入bcryptjs加密模块,用于注册密码时加密
var bcrypt = require('bcryptjs');
// token
const mySecret = "Life is short, you need front-end";
const jwt = require('jsonwebtoken');
let responseData = {
code: 0,
message: ""
};
app.get('/', (req, res) => res.send('Hello World!'))
app.get('/home', (req, res) => {
let mytoken = req.headers['authorization'];
if (mytoken) {
try {
let result = jwt.verify(mytoken, mySecret);
console.log(result);
res.json(result)
//{ user_id: 2, user_name: 'huhu', iat: 1602763041, exp: 1602849441 }
// let { exp = 0 } = result, current = Math.floor(Date.now() / 1000);
// //官网表示不需要判断,时间到期自动判断
// if (current <= exp) {
// console.log('没过期');
// res.json(result)
// } else {
// console.log('过期了');
// res.json({ code: '999', msg: 'token过期了,请登录' })
// }
} catch (error) {
console.log(error);
res.json({
code: '999', msg: '权限验证失败,你无权访问用户列表' })
}
} else {
res.json({
code: '999', msg: 'token为空,请登录!' })
}
})
// 获取链接列表接口
app.get('/get-article', (req, res) => {
db.query('SELECT * FROM article_table' , (err,results) => {
if (err) throw err;
console.log(results);
res.json(results)
})
})
// 创建链接的接口
app.post('/create-link', (req, res) => {
let {
title, content} = req.body;
db.query('INSERT INTO article_table(title,content) VALUES(?,?)' , [title,content], (err,results) => {
if (err) throw err;
console.log(results);
res.json({
code:0,msg:'金主爸爸创建成功!'})
})
})
// 删除链接的接口
app.post('/delete-link', (req, res) => {
let {
id} = req.body;
db.query('DELETE FROM article_table WHERE id = ?' , [id], (err,results) => {
if (err) throw err;
console.log(results);
res.json({
code:0,msg:'金主爸爸删除成功!'})
})
})
// 获取指定id路径接口
app.get('/get-link-show', (req, res) => {
let {
id} = req.query;
console.log(id);
db.query('SELECT * FROM article_table WHERE id = ?' , [id], (err,results) => {
if (err) throw err;
console.log(results)
res.json(results)
})
})
// 编辑链接的接口
app.post('/edit-link', (req, res) => {
let {
id,title,content} = req.body;
db.query('UPDATE article_table SET title = ?, content = ? WHERE id = ?' , [title,content,id], (err,results) => {
if (err) throw err;
res.json({
code:0,msg:'金主爸爸保存成功!'})
})
})
// 获取接口
app.get('/getLink', (req, res) => {
console.log(req.query); // { curr: '1', limit: '10' }
let page = Number(req.query.curr) - 1 // 第几页
let count = Number(req.query.limit) // 每页多少条
db.query(`SELECT * FROM article_table`, (err, result) => {
if (err) throw err;
let total = result.length;
db.query(`SELECT * FROM article_table limit ${
page * count},${
count}`, (err, result) => {
if (err) throw err;
let responseData = {
code: 0,
count: total,
listData: result
}
res.send(responseData)
});
});
})
// 注册接口
app.post('/register', function (req, res) {
// console.log(req.body); // 打印注册的数据
if (req.body.regUsername.trim() == '') {
responseData.code = 1;
responseData.message = "用户名不能为空";
res.json(responseData);
return;
}
if (req.body.regPassword.trim() == '') {
responseData.code = 2;
responseData.message = "密码不能为空";
res.json(responseData);
return;
}
if (req.body.regPassword.trim() !== req.body.checkPassword.trim()) {
responseData.code = 3;
responseData.message = "两次密码不一致";
res.json(responseData);
return;
}
// 查询数据
db.query(`SELECT username FROM user_table WHERE username='${
req.body.regUsername}'`
注册/登录/后台管理系统/子路由/babel/upload
最新推荐文章于 2022-07-14 17:18:39 发布
这篇博客主要探讨了前端如何实现用户注册、登录功能,以及后台管理系统的构建,包括子路由的设置和使用Babel进行代码转换。此外,还涉及到文件上传的相关技术。
摘要由CSDN通过智能技术生成