【第三篇】微信小程序云开发项目总结

上篇文章【第二篇】微信小程序云开发项目总结

功能点2:答疑解惑

这个功能点的实现基本与用户填写简历相同,都是用户上传数据到数据库,不加说明。
在这里插入图片描述

功能点3:消息回复

这个板块是用户查看管理员的回复消息的位置,当有消息时,会标上红点,提醒用户。
在这里插入图片描述
这就需要我们利用云函数拿到数据库中的数据,这里我建立了一个名为Respond的表,管理员回复给用户的信息都会存储在这里。
在这里插入图片描述
老样子,新建一个云函数,取名为getRespond,在index.js中写入代码

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async(event, context) => {
  const wxContext = cloud.getWXContext()
  
  return cloud.database().collection('Respond')   //在Respond表中查找
    .where({   //类似sql语句,条件查找
    //当前用户的openid等于数据中的openid时,说明这条消息是回复给该用户的
      openid: wxContext.OPENID,
      read:0
    }).orderBy('time', 'desc')   //让最近消息排在前面
    .get({
      success(res) {  //查询成功,就返回数据
        return res
      }
    })
}

这里用到了云开发函数中的whereorderByget等方法,相信大家一看就懂。
编写的这个getRespond函数可以返回属于该用户的所有消息,按照消息回复时间排序。ok,我们在首页js文件中调用该函数
在这里插入图片描述
调用方法跟第二篇中的一样,将name属性改成我们的getRespond函数名即可。我们会获得名为respond的数组,里面存放着属于用户的所有消息,这样我们就可以通过查看respond数组是否为空,来判断用户是否收到新的消息,决定是否显示红点
在这里插入图片描述


用户点击消息回复这个板块,就可以查看收到的消息。
在这里插入图片描述
这里也同样只是用到了云函数的get查询方法,不过我们要稍加修改。创建一个云函数名为getRespondList,在index.js中写入代码

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async(event, context) => {
  const wxContext = cloud.getWXContext()
  return cloud.database().collection('Respond')
    .where({
      openid: wxContext.OPENID,  
      //这里我们不用指定read==0,因为用户需要可以查看历史所有收到的消息
    }).orderBy('read', 'asc')   //排序,read的值分为0、1,0表示未读。将未读消息优先放在前面
    .orderBy('time', 'desc')
    .get({
      success(res) {
        return res
      }
    })
}

与上文的getRespond云函数没有太多的差异。还是在js文件中调用,拿到数据后在wx:for循环,形成列表。

当用户没有收到过消息时,显示:
在这里插入图片描述


接下来我们只需用户点击消息时跳转到新的页面显示消息详情即可,

在这里插入图片描述
这里有个新的知识点,那就是用户读过该消息时需要把这条数据的read字段值更改为1,表示这条消息已经被阅读过了。
在页面的js文件中添加代码

wx.cloud.database().collection('Respond')
 //我在跳转到这个页面时传递了参数option,里面存放着这条消息的id。doc方法可以根据id唯一的确定表中的数据
      .doc(options.id)     
      .update({   //更新,将read值改为1,表示已经阅读过了
        data: {
          read: 1
        }
      })

同样相当的简单^_^。看看效果,我们退回到上个页面

在这里插入图片描述
发现红点已经消失了,表示这条消息我已经读过了,非常好!

功能点4:管理员入口

这个功能点其实跟上个功能点用到的知识差不多,不加以描述了。唯一需要讲一点的是管理员入口得管理员才能看到,不应该让用户看到。
我们创建一个表Management,里面存放着所有管理员的用户openid
在这里插入图片描述
我们只需写个云函数,判断当前用户openid是否与Management表中的数据一致即可。

页面截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值