// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 云函数入口函数 exports.main = async (event, context) => { try { const db = cloud.database() const { pageNum = 1, pageSize = 10 } = event // 获取总数 const countRes = await db.collection('productFlowList').where({ create_id: event.userId }).count() const total = countRes.total // 获取分页数据 const listRes = await db.collection('productFlowList').aggregate() .lookup({ from: "userList", localField: "create_id", foreignField: "id", as: "user" }) .unwind({ path: "$user", preserveNullAndEmptyArrays: true }) .lookup({ from: "departmentList", localField: "user.depart_id", foreignField: "id", as: "user.department" }) .unwind({ path: "$user.department", preserveNullAndEmptyArrays: true }) .lookup({ from: "companyList", localField: "user.company_id", foreignField: "id", as: "user.company" }) .unwind({ path: "$user.company", preserveNullAndEmptyArrays: true }) .lookup({ from: "productBasic", localField: "basic_id", foreignField: "id", as: "productBasic" }) .unwind({ path: "$productBasic", preserveNullAndEmptyArrays: true }) .lookup({ from: "productList", localField: "product_id", foreignField: "id", as: "codeTemp" }) .addFields({ code: { $arrayElemAt: ["$codeTemp.code", 0] } }) .project({ codeTemp: 0 }) .match({ create_id: event.userId }) .addFields( { sortTime: { $ifNull: [{ $toDate: "$update_time" }, { $toDate: "$create_time" }] } }) .sort({ sortTime: -1 }) .skip((pageNum - 1) * pageSize) .limit(pageSize) .end() return { list: listRes.list, total, pageNum: Number(pageNum), pageSize: Number(pageSize), hasMore: (pageNum * pageSize) < total } } catch (err) { console.error('云函数异常:', err) return { code: 500, message: '服务器异常', error: err.message } } }