From 1b2f95eb82b3995a7d27fdc511f8e589ed4a5910 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 14 Apr 2024 22:34:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2024.04.10.md" | 0 .../2024.04.8.md" | 87 +++++++++++++++++++ .../2024.04.9.md" | 58 +++++++++++++ 3 files changed, 145 insertions(+) create mode 100644 "\351\253\230\344\277\212\346\235\260/2024.04.10.md" create mode 100644 "\351\253\230\344\277\212\346\235\260/2024.04.8.md" create mode 100644 "\351\253\230\344\277\212\346\235\260/2024.04.9.md" diff --git "a/\351\253\230\344\277\212\346\235\260/2024.04.10.md" "b/\351\253\230\344\277\212\346\235\260/2024.04.10.md" new file mode 100644 index 0000000..e69de29 diff --git "a/\351\253\230\344\277\212\346\235\260/2024.04.8.md" "b/\351\253\230\344\277\212\346\235\260/2024.04.8.md" new file mode 100644 index 0000000..f3bb4e6 --- /dev/null +++ "b/\351\253\230\344\277\212\346\235\260/2024.04.8.md" @@ -0,0 +1,87 @@ +### 后端代码 +// 创建电影(相对于数据库的插入) +router.post('/films', async (ctx) => { + let obj = ctx.request.body; + console.log(obj); + /* + 1. 获取传入的表单数据(实体参数)(根据业务需要可能需要做数据验证) + 2. 复用ORM工具,将数据写入数据库(数据验证) + 3. 返回创建成功的信息(根据业务,返回带id的记录) + */ + let row = await Films.create(obj); + + ctx.body = { + code: 1000, + data: row, + msg: '创建电影成功' + } +}) +// 创建用户(相对于数据库的插入) +router.post('/users', async (ctx) => { + let obj = ctx.request.body; + /* + 1. 获取传入的表单数据(实体参数)(根据业务需要可能需要做数据验证) + 2. 复用ORM工具,将数据写入数据库(数据验证) + */ +}) + +// 修改(相对于数据库的更新) +router.put('/films/:id', async (ctx) => { + let id = ctx.params.id || 0; + let obj = ctx.request.body; + console.log(id); + console.log(obj); + /* + 1. 通过id在数据库中查找对应记录 + 2. 如果有对应的记录,则进行修改;如果没有对应记录,则提示修改失败 + 3. 返回响应,剩下的让前端自己判断 + */ + let item = await Films.findByPk(id); + if (item) { + let data = await Films.update(obj, { + where: { + id: id + } + }); + ctx.body = { + code: 1000, + data: data, + msg: "修改成功" + } + } else { + ctx.body = { + code: 4000, + data: null, + msg: '找不到' + } + } +}) + +// 删除(相对于数据库的删除(软删除)) +router.delete('/films/:id', async (ctx) => { + let id = ctx.params.id || 0; + console.log(id); + /* + 1. 查找id对应的记录 + 2. 如果找到,则删除成功,返回响应提示成功;否则删除失败,返回未找到的响应 + */ + let row = await Films.findByPk(id); + if (row) { + Films.destroy({ + where: { + id: id + } + }) + ctx.body = { + code: 1000, + data: null, + msg: "删除成功" + } + } else { + ctx.body = { + code: 4000, + data: null, + msg: "找不到你要找的电影" + } + } +}) \ No newline at end of file diff --git "a/\351\253\230\344\277\212\346\235\260/2024.04.9.md" "b/\351\253\230\344\277\212\346\235\260/2024.04.9.md" new file mode 100644 index 0000000..4bb0edd --- /dev/null +++ "b/\351\253\230\344\277\212\346\235\260/2024.04.9.md" @@ -0,0 +1,58 @@ +### js代码 + +function btnSave() +{ + let director=$('[name=director]').val(); + let actor=$('[name=actor]').val(); + let score=$('[name=score]').val(); + let flag=$('[name=flag]').val(); + + let obj={director,actor,score,flag}; + + let params=getQueryString(); + let id=params.id*1; + if(id>0) + { + axios.put(`http://localhost:3000/films/${id}`,obj).then(res=> + { + let data=res.data; + if(data.code===1000) + { + location.href='./index.html'; + } + else + { + alert(data.msg); + }; + }); + } + else + { + axios.post('http://localhost:3000/films',obj).then(res=> + { + let data=res.data; + if(data.code===1000) + { + location.href='./index.html'; + } + else + { + console.log(data.msg); + }; + }); + }; +}; + +function getQueryString(str=window.location.search) +{ + const reg=/[?&]?([^=]+)=([^&]*)/g; + const params={}; + str.replace(reg,(_,k,v)=>params[k]=v); + return params; +} +在base.js文件里写: + +function btnEdit(id) +{ + location.href='./edit.html?id='+id; +}; -- Gitee