6.8【微信小程序全栈开发课程】清空所有记录

简介: 在个人中心页面有一个清空记录的功能,点击清空记录,会提示是否确认清空记录提示框。用户点击确认后,删除该用户所有的历史record记录数据

1、添加方法


(1)引用post等工具函数


//参考代码,无需粘贴
//<script>
  //需要添加的部分
  import {post,showModal,showSuccess} from '@/util'


(2)编辑me.vue文件,在methods函数中添加deleteRecords方法,用来请求后台清空记录


//参考代码,无需粘贴
//showOpinion () {
  //...
//},
//需要添加的部分
async deleteRecords () {
  try{
    const res = await post('/weapp/deleterecords', {openid:this.userinfo.openId})
    console.log("从后端返回的执行正确的信息是:",res)
    showSuccess("记录已清空~")
  }catch(e){
    showModal('清空失败', "请重试哦~")
    console.log("从后端返回的执行错误的信息是:",e)
  },
}


3)添加提示框方法


点击清零按钮,出现提示框,提示是否确认清空记录


确认清零执行deleteRecords方法


取消清零不执行任何方法


//参考代码,无需粘贴
//async deleteRecords () {
  //...
//},
//需要添加的部分
deleteConfirm () {
  var that = this
  //用户点击确认后,调用上面添加的deleteRecords方法
  wx.showModal({
    content: `清空之后不能恢复哦~确定要清空吗?`,
    success: function (res) {
      if (res.confirm) {
        that.deleteRecords()
      }
    }
  })
},


2、在后端添加路由


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


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


在操作文件中实现:查询该用户所有record记录,并删除


(2)添加路由


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


//需要添加的代码
router.post('/deleterecords', controllers.deleterecords)
//参考代码,无需粘贴
//module.exports = router


3、编辑后端操作文件


也就是server/controllers/deleterecords.js文件,查询该用户所有record记录并删除


const {mysql} = require('../qcloud')
module.exports = async (ctx) => {
  const {openid} = ctx.request.body
  try{
    const res = await mysql('records')
        .where("openid",openid).del()
    // 执行成功返回的数据
    ctx.state.data = {
      code: 0,
      msg: 'success'
    }
    console.log("执行成功")
  }catch(e){
    console.log("执行错误:",e)
    // 执行失败返回的数据
    ctx.state = {
      code: -1,
      data: {
        msg: '清除失败' + e.sqlMessage
      }
    }
  }
}


4、添加点击事件


编辑me.vue文件夹template部分,将deleteConfirm方法添加到页面的点击事件上


<!-- 在这一行上面添加点击事件 -->
<div class="row" @click='deleteConfirm'>
<!-- 参考代码,无需粘贴
  <label class="left">
    <img class="img" src="/static/images/delete.png">
  </label>
  <label class="name">&nbsp;&nbsp;清空记录</label>
  ...
</div> -->


5、添加分享函数


分享函数是onShareAppMessage,与onShow函数是同级函数,需要注意不要写在methods函数里面


//参考代码,无需粘贴
//onShow () {
  //...
//},
//需要添加的代码
onShareAppMessage(e) {
  return {
    title: "真自律",
    path: "/pages/index/main",
    imageUrl: ""
  }
}


6、测试


在「我的」页面,点击清空记录这一栏,出现提示框,点击确定后,记录页面已经没有

任何记录了


image.png

目录
相关文章
|
1月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
485 7
|
1月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
541 1
|
28天前
|
存储 小程序 安全
微信的开发管理都需要配置什么?
【10月更文挑战第17天】微信的开发管理都需要配置什么?
30 0
|
1月前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
322 0
|
1月前
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
490 0
|
1月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
216 3
|
1月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
48 0
微信小程序更新提醒uniapp
|
3月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
104 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
3月前
|
小程序 前端开发 JavaScript
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
【避坑宝】是一款企业黑红名单吐槽小程序,旨在帮助打工人群体辨别企业优劣。该平台采用SpringBoot+MybatisPlus+uniapp+uview2等技术栈构建,具备丰富的注释与简洁的代码结构,非常适合实战练习与学习。通过小程序搜索“避坑宝”即可体验。
103 0
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
|
3月前
|
存储 小程序 JavaScript