项目要求
英雄后台管理
实现功能 | 地址 |
---|---|
登录 | /login.html |
主页 | /index.html |
新增 | /insert.html |
注册 | /register.html |
更新 | /update.html |
一、项目展示
- 注册
- 登录
- 主页
- 更新
- 新增
二、接口信息
功能 | 地址 | 解释 |
---|---|---|
判断是否登录 | /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>