[NodeJS]---cqManger后台管理系统

项目要求

英雄后台管理

实现功能地址
登录/login.html
主页/index.html
新增/insert.html
注册/register.html
更新/update.html

一、项目展示

  1. 注册
    在这里插入图片描述
  2. 登录
    在这里插入图片描述
  3. 主页
    在这里插入图片描述
  4. 更新
    在这里插入图片描述
  5. 新增
    在这里插入图片描述
    二、接口信息
功能地址解释
判断是否登录/isLogin基于第三方模块cookie-session的判断登录接口
查询所有信息/index.html基于mysql模块的查询
编辑//hero/update基于mysql模块的更新
删除//hero/delete对mysql中isDelete键的软删除
验证码/captcha基于第三方模块:svg-captcha的验证码生成
用户注册/hero/register密码加密,再进行注册,写入数据库
登录/user/login查询数据库信息,并核实
退出登录/logout退出登录

三、接口详细

  • 登录接口:
    主要是通过数据库中的数据查询来验证,是否登录了,并且设置登录的cooike信息
app.post('/user/login', (req, res) => {
    let { username, password } = req.body
    userModel.find(`username="${username}" and password="${password}"`, (err, results) => {
        if (err == null) {
            if (results.length > 0) {
                // 设置cooike
                req.session.user = { username, password };
                res.send({
                    code: 200,
                    msg: '登录成功'
                })
            } else {
                res.send({
                    code: 401,
                    msg: '账号或密码错误'
                })
            }
        } else {
            res.send({
                code: 500,
                msg: '服务器错误'
            })
        }
    })

})
  • 退出登录
    主要是清除cooike信息和重定向到登录页面
app.get('/logout', (req, res) => {
    // 清除cooike
    req.session = null
    // 重定向
    res.writeHead(302, {
        'Location': './login.html'
    })
    res.end()
})
  • 删除
    主要进行的是一个软删除,即修改数据isDelete项
app.post('/hero/delete', (req, res) => {
    let { id } = req.body
    heroModel.update(`id=${id}`, { isDelete: 'true' }, (err, results) => {
        if (err == null) {
            res.send({
                code: 200,
                msg: '删除成功'
            })
        } else {
            res.send({
                code: 500,
                msg: '服务器错误'
            })
        }
    })
})
  • 查询所有信息
    这个主要是查询未进行软删除的项,而且还支持更具关键字查询,即(模糊查询)
app.get('/hero/list', (req, res) => {
    //查询当前的cookie
    let { search } = req.query

    if (!search) {
        // undefined
        heroModel.find('isDelete="false"', (err, results) => {
            if (err == null) {
                res.send({
                    code: 200,
                    heros: results,

                })
            } else {
                res.send({
                    code: 500,
                    msg: '服务器错误'
                })
            }
        });
    } else {
        heroModel.find(`heroName like '%${search}%' and isDelete ="false"`, (err, results) => {
            if (err == null) {
                res.send({
                    code: 200,
                    heros: results,

                })
            } else {
                res.send({
                    code: 500,
                    msg: '服务器错误'
                })
            }
        })
    }

})
  • 判断是否登录
    后端
app.get('/isLogin', (req, res) => {
//把cooike信息返回
    res.send(req.session.user)
})

前端
判断是否为空,来判断登录状态

<!-- 发送ajax请求判断是否登录 -->
  <script>
    $.ajax({
      type: 'get',
      url: 'http://127.0.0.1:4399/isLogin',
      success: function (backData) {
        if (backData == '') {
          // 没有登录
          alert('你没有登录请登录')
          window.location.href = './login.html'
        }
      }
    })
  </script>

源码下载

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值