// 云函数:updatePushTime // 更新用户推送时间 const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db = cloud.database() exports.main = async (event, context) => { const { pushTime } = event const { OPENID } = cloud.getWXContext() // 校验 pushTime 格式 (HH:mm) if (!pushTime || !/^([01]\d|2[0-3]):([03]0)$/.test(pushTime)) { return { success: false, error: '推送时间格式无效,需为 HH:mm 格式,分钟为 00 或 30' } } try { const existing = await db.collection('subscriptions').where({ openid: OPENID, }).get() if (existing.data.length === 0) { return { success: false, error: '未找到订阅记录' } } await db.collection('subscriptions').doc(existing.data[0]._id).update({ data: { pushTime, updatedAt: db.serverDate(), }, }) return { success: true } } catch (err) { console.error('[updatePushTime] Error:', err) return { success: false, error: err.message } } }