目录

项目场景:在审批端来审批活动信息时候点击审批通过但是并无响应

问题描述

原因分析

解决方案

题外话


项目场景:在审批端来审批活动信息时候点击审批通过但是并无响应

这个小程序是集用户端和审批端为一体的小程序,用户可以在用户端提交活动申请以及提交预约老师的申请,但是用户提交之后遇到了审批人员无法驳回或者通过该申请(后台用的是小程序的云开发功能)


问题描述

审批预约的人员点进了预约详情后“审批通过”了该项目,本应该出现在“已通过”栏目的预约信息,却还是留在了“待审批”的页面。

之后发现在数据库里,这条预约数据的“state”状态并没有改变(我这里state的值0是指的待审批,1指的是已通过,2指的是已驳回)

这部分的代码也是没有很大问题的(如果点击了“审批通过”按钮则会执行pass函数,“驳回”则会执行reject函数)

let eventid = ''
const DB = wx.cloud.database().collection("appointment")
Page({data:{list:[],id:"",rejectReason:""},onLoad(option){console.log("列表所携带的值",option)var id = option.idthis.setData({id :option.id})DB.doc(id).get().then(res=>{this.setData({list:res.data})}).catch(res=>{console.log("活动详情页请求失败",res)})},pass(){let that = this;wx.showLoading({title: '正在上传中……',mask:true})DB.doc(this.data.id).update({ // updata指 插入数据库中的userlist表;//将我们获取到的新值代入data: { state:1},}).then(res => {console.log("上传成功", res)wx.showToast({title: '成功',})wx.navigateTo({url: '../appointmentApproval/appointmentApproval',}).then(()=>{wx.startPullDownRefresh()})}).catch(err => {console.log("上传失败", err)wx.showToast({title: '失败',icon:"none"})})},reject(){let that = this;wx.showLoading({title: '正在上传中……',mask:true})DB.doc(this.data.id).update({ // updata指 插入数据库中的userlist表;//将我们获取到的新值代入data: { state:2,rejectReason: this.data.rejectReason},}).then(res => {console.log("上传成功", res)wx.showToast({title: '成功',})wx.navigateTo({url: '../appointmentApproval/appointmentApproval',}).then(()=>{wx.startPullDownRefresh()})}).catch(err => {console.log("上传失败", err)wx.showToast({title: '失败',icon:"none"})})},rejectReason(event){console.log("这是驳回输入框里的信息",event.detail.value)this.setData({rejectReason:event.detail.value})}
})

原因分析

数据库的权限问题!!!!

如果打开云开发的数据库中的数据权限可以看到有很多模式供你选择。每一种都是对应一些特定的场景使用。这里有两个关键的词语他们分别是是“所有用户”和“创建者”。

需要着重注意的是创建者是指创建这条记录的人,即_openid所对应的那一个人

因此,申请者是创建者而审批的人是属于所有用户的那一部分,故审批者没有权利去修改这条记录里的内容(state的值)来达到完成审批通过或者驳回的目的。

此外,在小白刚开始做项目的时候遇到的问题有的也跟这个数据库权限相关的。例如:在后台帮别人创建了账号和密码,但是别人输入了账号密码后不能正常登录,需要把这个用户的openid字段和其值写入这条记录才能正常登录!这样造成了很多不便


解决方案

将你的数据权限设置成自定义安全规则,并将里面的代码改成如下,这样的一个操作就是来达到所有用户可读可写的目的!


题外话

如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!

微信小程序update云开发数据库的数据时无响应相关推荐

  1. 微信小程序导入云开发数据库表报错问题解决

    关于数据库导入导出部分问题总结 #如下所示 1.在导出时,遇到了这个问题. 原因1:大概率属于网络不稳定造成 解决方法:重新启动云开发窗口或清空缓存,重启小程序. 原因2:小概率跟版本问题有关,尽量下 ...

  2. 微信小程序利用云开发实现评论功能

    微信小程序利用云开发实现评论功能 如果喜欢可以给我一个关注. 一.微信小程序,评论功能的实现. 首先我们先布局,一个文章或者是商品,底下是评论, <!-- 商品详情 --> <vie ...

  3. 微信小程序使用云开发实现微信支付功能 报错Error: 签名错误,史上最全解决办法,不服留言骂我

    报错背景 微信小程序使用云开发实现微信支付功能,但是报错了 报错信息 报错原因 小程序想要使用微信支付,必须满足下面几个条件的 1,必须是非个人小程序(个人小程序用不了支付) 企业小程序需要认证! 2 ...

  4. 通过微信小程序的云开发实现留言功能

    通过微信小程序的云开发实现留言功能 index.wxml index.wxss index.js 微信小程序中用于解析date的util.js 授权页home.wxml home.wxss home. ...

  5. 微信小程序的云开发以及与传统开发的比较

    一.微信小程序的云开发概念 云开发就是一套解决小程序前后端开发的一种云端能力 它提供了一整套云服务及简单.易用的 API 和管理界面,以尽可能降低后端开发成本,让开发者能够专注于核心业务逻辑的开发.尽 ...

  6. 小程序云开发服务器太慢,为什么微信小程序的云开发响应这么慢?

    为什么微信小程序的云开发响应这么慢?Why is the response of WeChat applet cloud development so slow?为什么微信小程序的云开发响应这么慢? ...

  7. 微信小程序:云开发表情包制作源码

    该款小程序是一个表情包制作 内容毕竟丰富,另外自定义制作方面也是特别的自由 支持自主上传图片,自定义文章,另外拥有多种素材模板以供选择 这是一款云开发的小程序,但是安装还是挺简单的 搭建教程: 首先使 ...

  8. 【微信小程序】云开发篇(一)——申请小程序

    [微信小程序]云开发篇(一)--申请小程序 [微信小程序]云开发篇(二)--初始化云开发(微信开发者工具) [微信小程序]云开发篇(三)--代码管理 [微信小程序]云开发篇(四)--开通云开发 [微信 ...

  9. 微信小程序用云开发实现多人聊天2020/05/21

    微信小程序用云开发实现多人聊天室 微信小程序用云开发实现多人聊天2020/05/21 效果图片 js wxml wxss 微信小程序用云开发实现多人聊天2020/05/21 用微信云开发实现聊天室 无 ...

最新文章

  1. e几个灯同时亮灭两次verilog_FPGA题及答案
  2. springmvc中的全注解模式
  3. 找不到问题的核心,你永远解决不了问题。
  4. C++/C--动态二维数组的内存分配与释放【转载】
  5. 一点一滴岗位测试答案_心理测试:凭直觉,选你最喜欢的一件睡衣,测你的野心是什么级别...
  6. 外贸独立站VS第三方平台?
  7. ReactNative项目xcode打包运行报错整理
  8. 【linux系统学习笔记】运行startx后Ubuntu密码正确进不去的问题
  9. 阿里云oss Referer设置
  10. 路由器和交换机的作用及区别,不再为路由器的选择而烦恼
  11. 一些手机APP默认的文件保存位置
  12. mysql远程主机强迫关闭了_channal经常关闭
  13. CI/CD---使用新版云效流水线自动部署Java项目
  14. Allegro创建区域规则
  15. python和java哪个好就业-计算机专业选Java和Python哪个前景好点?
  16. android 高斯模糊实现
  17. pywin32应用——python在windows下系统编程初步
  18. RAM ROM 寄存器(Rigester) CPU的关系
  19. 分布式锁实现业务幂等
  20. 永恒之蓝黑脏牛提权范围

热门文章

  1. .net core的学习资源
  2. 【学员故事】老男孩培训五个月,找到满意的工作,成功转行!
  3. 关于Typecho的主题魔改记录
  4. edup无线网卡驱动安装linux,技术编辑为你解决win7系统笔记本安装eDUP802.11n无线网卡驱动的处理步骤...
  5. 关于替换SSHD的banner的方法[反编译版][应付漏扫]
  6. 5000年历史的沉淀
  7. 关于同步开关电源和异步开关电源
  8. String字符转转Object、Map、Array
  9. 高恪一键管控之封杀随身wifi与电视盒子_php_sir_新浪博客
  10. 严肃不搞笑的小黄鸭调试法