首页 > 编程语言 >5.5【微信小程序全栈开发课程】首页完善(五)--撤销功能

5.5【微信小程序全栈开发课程】首页完善(五)--撤销功能

时间:2023-02-05 11:34:06浏览次数:39  
标签:openid deleterecord 5.5 -- 微信 撤销 mark records res


点击撤销按钮,撤销上一步的操作记录

也就是删除records数据表中的最后一条数据

1、添加撤销方法

编辑index.vue文件的script部分,在methods函数中添加撤销方法recall

async recall () {
try{
const res = await post('/weapp/deleterecord', {openid:this.userinfo.openId})
console.log("从后端返回的执行正确的信息是:",res)
this.mark = res.mark
}catch(e){
showModal('失败', e.data.msg)
console.log("从后端返回的执行错误的信息是:",e)
}
},

2、在后端添加路由

(1)创建操作文件deleterecord.js

先在后端server/controllers文件夹中创建操作文件deleterecord.js

在操作文件中实现:删除records数据表中最后一条记录

(2)添加路由

在路由管理文件server/routes/index.js文件中添加路由

//需要添加的代码
router.post('/deleterecord', controllers.deleterecord)


//参考代码,无需粘贴
//module.exports = router

3、编辑后端操作文件

后端操作文件也就是server/controllers/deleterecord.js文件,编辑这个文件,删除records数据表中最后一条记录

const {mysql} = require('../qcloud')

module.exports = async (ctx) => {
const {openid} = ctx.request.body
try{
const res = await mysql('records')
.where("openid",openid)
.orderBy('id','desc').first()
if(res){
await mysql('records')
.where("id",res.id).del()
//得到撤销后,最后一条记录的当前分数
const re_res = await mysql('records')
.where("openid",openid)
.orderBy('id','desc').first()
if(re_res){
var mark = re_res.mark
}else{
var mark = 0
}
}else{
var mark = 0
}
// 执行成功返回的数据,将删除的这条记录的add值也传回到前端
ctx.state.data = {
code: 0,
mark:mark,
msg: 'success'
}
console.log("执行成功")
}catch(e){
console.log("执行错误:",e)
// 执行失败返回的数据
ctx.state = {
code: -1,
data: {
msg: '撤销失败' + e.sqlMessage
}
}
}
}

4、添加点击事件

在index.vue文件中的「撤销」按钮上面添加点击事件

<!-- 原代码 -->
<div class="btn1 right">撤销</div>

<!-- 添加后的代码 -->
<div class="btn1 right" @click='recall'>撤销</div>

5、测试

点击撤销按钮,当前分数恢复为上一步操作之前的的分数。并出现撤销成功的提示框,控制台中返回执行正确的信息。

5.5【微信小程序全栈开发课程】首页完善(五)--撤销功能_mysql

作者:猫宁一
全栈程序媛₍ᐢ •⌄• ᐢ₎一枚~ 热爱学习!热爱编程!
可关注【猫宁一】公众号领取我所有全栈项目代码哦~

5.5【微信小程序全栈开发课程】首页完善(五)--撤销功能_mysql_02

标签:openid,deleterecord,5.5,--,微信,撤销,mark,records,res
From: https://blog.51cto.com/u_12187435/6038231

相关文章