index.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. if (event.user_id) {
  11. const managers = await db.collection('manager')
  12. .aggregate()
  13. .match({
  14. user_id: event.user_id
  15. })
  16. .skip(event.page_token)
  17. .limit(event.page_size)
  18. .lookup({
  19. from: 'publisher',
  20. localField: 'pub_id',
  21. foreignField: '_id',
  22. as: 'publisher'
  23. })
  24. .end()
  25. for (let i = 0; i < managers.list.length; i++) {
  26. managers.list[i].publisher = managers.list[i].publisher[0]
  27. }
  28. return {
  29. list: managers.list,
  30. next_page_token: event.page_token + managers.list.length,
  31. status: 'OK'
  32. }
  33. } else {
  34. const publishers = await db.collection('manager')
  35. .aggregate()
  36. .skip(event.page_token)
  37. .limit(event.page_size)
  38. .end()
  39. return {
  40. list: publishers.list,
  41. next_page_token: event.page_token + publishers.list.length,
  42. status: 'OK'
  43. }
  44. }
  45. }