index.js 862 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. .end()
  22. if (message.list.length === 0) {
  23. return {
  24. errMsg: '信息不存在',
  25. status: 'ERR'
  26. }
  27. }
  28. message.list[0].publisher = message.list[0].publisher[0]
  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. }