const cloud = require('wx-server-sdk'); cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }); const db = cloud.database(); // 获取当前用户的佣金概览和明细 exports.main = async (event) => { const { OPENID } = cloud.getWXContext(); try { const commRes = await db.collection('commissions').where({ toUser: OPENID, }).orderBy('createdAt', 'desc').get(); const commissions = commRes.data || []; let totalAmount = 0; let availableAmount = 0; let pendingAmount = 0; commissions.forEach(c => { totalAmount += c.amount || 0; if (c.status === 'available') { availableAmount += c.amount; } else if (c.status === 'pending') { pendingAmount += c.amount; } }); // 格式化输出 const list = commissions.slice(0, 50).map(c => ({ commissionId: c._id, level: c.level, amount: c.amount, status: c.status, sourceName: c.sourceName || '用户', createdAt: c.createdAt, })); return { totalAmount, availableAmount, pendingAmount, commissions: list, }; } catch (err) { return { error: err.message, totalAmount: 0, availableAmount: 0, pendingAmount: 0, commissions: [] }; } };