英雄管理系统案例
1. 要用到的包
const express = require('express');
const bodyParser = require('body-parser');
const multer = require('multer');
const path = require('path');
const db = require(path.join(__dirname,'utiks','db.js'));
2. 各种接口
用户-登录
app.post('/login', (req, res) => {
let {userName,password} = req.body;
if(userName == 'admin' && password == '666666'){
res.send({
code:200,
msg:'登录成功'
})
}else{
res.send({
code: 400,
msg: '登录失败,用户名或密码错误'
})
}
})
获取所有英雄
app.get('/getAllHero', (req, res) => {
let heroList = db.getHeros();
res.send({
code:200,
data:heroList
});
})
新增英雄
app.post('/add', upload.single('icon'),(req, res) => {
let {name,skill} = req.body;
let icon = req.file.filename;
let flag = db.addHero({
name,
skill,
icon
});
if(flag == true){
res.send({
code:200,
msg:'新增成功'
})
}else{
res.send({
code: 400,
msg: '新增失败'
})
}
})
删除英雄
app.get('/delete', (req, res) => {
let { id } = req.query;
let flag = db.deleteHeroById(id);
if(flag == true){
res.send({
code: 200,
msg: '删除成功'
})
}else{
res.send({
code: 400,
msg: '删除失败'
})
}
})
根据id获取英雄
app.get('/getHeroById',(req,res)=>{
let { id } = req.query;
let flag = db.getHeroById(id);
if(flag != false){
res.send({
code: 200,
msg: '获取成功',
data: flag
})
}else{
res.send({
code: 200,
msg: '获取失败'
})
}
})
编辑英雄
app.post('/edit', (req, res) => {
let icon = req.file.filename;
let {id,name,skill} = req.body;
let flag = db.editHero({
id,
name,
skill,
icon
});
if(flag == true){
res.send({
code:200,
msg:'修改成功'
})
}else{
res.send({
code: 400,
msg: '修改失败'
})
}
})
3. 完整代码
const express = require('express');
const bodyParser = require('body-parser');
const multer = require('multer');
const path = require('path');
const db = require(path.join(__dirname,'utiks','db.js'));
const app = express()
app.use(express.static('www'));
var upload = multer({ dest: 'uploads/' })
app.use(bodyParser.urlencoded({ extended: false }))
app.post('/login', (req, res) => {
let {userName,password} = req.body;
if(userName == 'admin' && password == '666666'){
res.send({
code:200,
msg:'登录成功'
})
}else{
res.send({
code: 400,
msg: '登录失败,用户名或密码错误'
})
}
})
app.get('/getAllHero', (req, res) => {
let heroList = db.getHeros();
res.send({
code:200,
data:heroList
});
})
app.post('/add', upload.single('icon'),(req, res) => {
let {name,skill} = req.body;
let icon = req.file.filename;
let flag = db.addHero({
name,
skill,
icon
});
if(flag == true){
res.send({
code:200,
msg:'新增成功'
})
}else{
res.send({
code: 400,
msg: '新增失败'
})
}
})
app.get('/delete', (req, res) => {
let { id } = req.query;
let flag = db.deleteHeroById(id);
if(flag == true){
res.send({
code: 200,
msg: '删除成功'
})
}else{
res.send({
code: 400,
msg: '删除失败'
})
}
})
app.get('/getHeroById',(req,res)=>{
let { id } = req.query;
let flag = db.getHeroById(id);
if(flag != false){
res.send({
code: 200,
msg: '获取成功',
data: flag
})
}else{
res.send({
code: 200,
msg: '获取失败'
})
}
})
app.post('/edit', (req, res) => {
let icon = req.file.filename;
let {id,name,skill} = req.body;
let flag = db.editHero({
id,
name,
skill,
icon
});
if(flag == true){
res.send({
code:200,
msg:'修改成功'
})
}else{
res.send({
code: 400,
msg: '修改失败'
})
}
})
app.listen(8088, () => {
console.log('服务器已开启')
})
4. 主页相关js代码
$(function () {
$.ajax({
type: "get",
url: "http://127.0.0.1:4399/getAllHero",
success: function (res) {
console.log(res);
if (res.code == 200) {
var resHtml = template("cq", res);
console.log(resHtml);
$("tbody").html(resHtml);
}
},
});
});
$("tbody").on("click", ".delete", function () {
var that = this;
var id = $(this).attr("data-id").trim();
if (confirm("你要删除吗??")) {
$.ajax({
type: "get",
url: "http://127.0.0.1:4399/delete",
data: {
id: id,
},
success: function (res) {
if (res.code == 200) {
$(that).parent().parent().remove();
}
},
});
}
});
5. 登录页相关js代码
<script>
$(function () {
$(".login").on("click", function (e) {
e.preventDefault();
let username = $("#username").val().trim();
let password = $("#password").val().trim();
$.ajax({
type: "post",
url: "http://127.0.0.1:4399/login",
data: {
username,
password,
},
success: function (backData) {
if (backData.code == 200) {
alert("登录成功");
window.location.href = "index.html";
} else {
alert(backData.msg);
}
},
});
});
});
</script>
转载请注明原文地址:https://ipadbbs.8miu.com/read-65310.html