注册/登录/后台管理系统/子路由/babel/upload

这篇博客主要探讨了前端如何实现用户注册、登录功能,以及后台管理系统的构建,包括子路由的设置和使用Babel进行代码转换。此外,还涉及到文件上传的相关技术。
摘要由CSDN通过智能技术生成
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}'`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值