//导包
const express = require('express')
const bodyParser = require('body-parser')
const path = require('path')
var multer = require('multer')
const { cpuUsage } = require('process')
const { fstat } = require('fs')
//用包创建一个文件夹
var upload = multer({data:'uploads/'})
//导入自己写的模块
const db = require(path.join(__dirname,'utf-8','db.js'))
//创建服务器
const app = express()
//用包
app.use(bodyParser.urlencoded({extended:false}))
//写接口(注册路由)
//1.用户登录
app.post('/login',(req,res)=>{
//1.1 接收用户传递过来的用户名和密码
let {username,password} = req.body //对象结构语法
//1.2判断账号和密码是否正确
//实际开发的时候判断流程:把账号和密码发到数据库中去验证
if(username == 'admin' && password == '123456'){
res.send({
code:200,
msg:'登录成功'
})
}else{
res.send({
code:400,
msg:'登录失败'
})
}
res.send('sb')
})
//2.获取所有英雄
app.get('/getAllHe',(req,res)=>{
//调用自己的模块,调用里面的方法获取所有英雄
let list = db.getHeros()
//返回
res.send({
code:200,
data:list
})
res.send('sb')
})
//3.新增英雄
app.post('/add',upload.single("icon"),(req,res)=>{
console.log(req.file)
console.log(req.body)
//用变量报错
let{name,skill} = req.body
let icon = req.file.filename
//把这个新增的英雄的数据,存在db中
let result = db.addHero({
name,skill,icon
})
//判断
if(result == true){
res.send({
code:200,
msg:'新增成功'
})
}else
res.send({
code:500,
msg:'新增失败'
})
})
//4.删除英雄
app.get('/delete',(req,res)=>{
//接收前端传递过来的要删除的英雄的id
let{id} = req.query
//console.log(id)
//用自己写的模块删除
let result = db.deleteHeroById(id)
//判断
if(result == true){
res.send({
code:200,
msg:'新增成功'
})
}else
res.send({
code:500,
msg:'新增失败'
})
})
//5.根据id获取英雄
app.get('/getHeroById',(req,res)=>{
//获取前端传递过来的需要编辑的id
let{id} = req.query;//解析赋值
//用自己的模块获取详细信息
let result = db.getHeroById(id)
//判断
if(result == true){
res.send({
code:200,
msg:'新增成功'
})
}else
res.send({
code:500,
msg:'新增失败'
})
})
//6.编辑英雄
app.post('/add','不要忘记这里有东西',(req,res)=>{
//用模块multer来接收用户编辑之后的信息
//文件 req.file.filename
//非文件参数 req.body
//console.log(req.file.filename)
//console.log(req.body)
//存进变量里
let icon = req.file.filename
let {id,name,skill} = req.body
//用db来处理
let result = db.editHero({
id,
name,
skill,
icon
})
//判断
if(result == true){
res.send({
code:200,
msg:'修改成功'
})
}else
res.send({
code:500,
msg:'修改失败'
})
})
//开启服务器
app.listen(4399,()=>{
console.log('开始了')
})