index.js 828 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // 云函数入口文件
  2. const cloud = require('wx-server-sdk')
  3. cloud.init()
  4. const db = cloud.database()
  5. // 云函数入口函数
  6. exports.main = async (event, context) => {
  7. const {
  8. OPENID
  9. } = cloud.getWXContext()
  10. const message = await db.collection('message')
  11. .aggregate()
  12. .match({
  13. _id: event.msg_id
  14. })
  15. .lookup({
  16. from: 'publisher',
  17. localField: 'pub_id',
  18. foreignField: '_id',
  19. as: 'publisher'
  20. })
  21. .unwind('$publisher')
  22. .end()
  23. if (message.list.length === 0) {
  24. return {
  25. errMsg: '信息不存在',
  26. status: 'ERR'
  27. }
  28. }
  29. await db.collection('read')
  30. .add({
  31. data: {
  32. user_id: OPENID,
  33. msg_id: event.msg_id || '',
  34. read_time: new Date()
  35. }
  36. })
  37. return {
  38. data: message.list[0],
  39. status: 'OK'
  40. }
  41. }