// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() // 云函数入口函数 exports.main = async (event, context) => { let { OPENID } = cloud.getWXContext() try { const message = await db.collection('message') .aggregate() .match({ _id: event.msg_id }) .lookup({ from: 'publisher', localField: 'pub_id', foreignField: '_id', as: 'publisher' }) .end() if (message.list.length !== 1) { throw 'error' } await db.collection('read') .add({ data: { user_id: OPENID, msg_id: event.msg_id || '', read_time: new Date() } }) return message } catch (err) { return { errMsg: 'no such message' } } }