| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // 云函数入口文件
- const cloud = require('wx-server-sdk')
- cloud.init()
- const db = cloud.database()
- // 云函数入口函数
- exports.main = async (event, context) => {
- const {
- OPENID
- } = cloud.getWXContext()
- if (event.pub_id) {
- const messages = await db.collection('message')
- .aggregate()
- .match({
- pub_id: event.pub_id
- })
- .sort({
- publish_time: -1
- })
- .skip(event.page_token)
- .limit(event.page_size)
- .end()
- return {
- list: messages.list,
- next_page_token: event.page_token + messages.list.length,
- status: 'OK'
- }
- } else {
- const messages = await db.collection('message')
- .aggregate()
- .sort({
- publish_time: -1
- })
- .skip(event.page_token)
- .limit(event.page_size)
- .lookup({
- from: 'publisher',
- localField: 'pub_id',
- foreignField: '_id',
- as: 'publisher'
- })
- .end()
- for (let i = 0; i < messages.list.length; i++) {
- messages.list[i].publisher = messages.list[i].publisher[0]
- }
- return {
- list: messages.list,
- next_page_token: event.page_token + messages.list.length,
- status: 'OK'
- }
- }
- }
|