'use strict'; const uniPush = uniCloud.getPushManager({ appId: process.env.UNI_PUSH_APPID || "__UNI__9462CA7" }); exports.main = async (event, context) => { // 兼容 HTTP 触发:参数在 event.body(string/json)里 let input = event || {}; if (input && typeof input.body === 'string') { try { input = JSON.parse(input.body); } catch (e) { input = {}; } } else if (input && input.body && typeof input.body === 'object') { input = input.body; } const { token, push_clientid, title = '', content = '', payload = {} } = input; const SECRET = process.env.PUSH_TOKEN; if (SECRET && token !== SECRET) return { errCode: 401, errMsg: 'unauthorized' }; if (!push_clientid) return { errCode: 400, errMsg: 'push_clientid required' }; try { const res = await uniPush.sendMessage({ push_clientid, force_notification: true, title, content, settings: { ttl: 86400000 }, payload }); return { errCode: 0, errMsg: 'success', data: res }; } catch (e) { return { errCode: 500, errMsg: e?.message || 'push error' }; } };