微信小程序推送消息,基本參數爲接受用戶openId, 消息模板id, formId表單提交id。
對於formId來講,微信小程序只允許用戶有提交表單後,纔可以對用戶推送消息。
表單屬性通過report-submit=true設置,將會返回表單的id,微信文檔上說要保存該id,方便後續推送操作使用。
但是需要注意,此時返回的formId還不能立即使用(辣雞,開發者工具也辣雞,🤣吐槽好爽),也就是說不能再catchSubmit的事件裏使用該formId作爲推送參數formId(可以通過report-submit-timeout參數來檢測formId是否有效,說是網絡不好情況下會無效,但是發現很多情況下都返回requestFormId:fail timeout無效沒法使用). 所以此時如果要推送消息只能使用以前保存的formId並且每個formId只能用一次.
cloud.openapi.templateMessage.send({
touser: toOpenId[0],
templateId: template,
formId: formId, //以前提交過表單的formId,不能直接使用catchSubmit中返回的那個
page: 'pages/detail/detail?id=' + event.blogId,
data: {
keyword1: {
value: event.nickName
},
keyword2: {
value: event.message
},
keyword3: {
value: new Date().toFormat("YYYY-MM-DD HH24:MI:SS")
}
},
})