微信小程序中,若須要針對用戶推送模板消息,須要持有該用戶的formid。 根據微信官方文檔,formid的來源以下:小程序
步驟二:頁面的
<form/>
組件,屬性 report-submit 爲 true 時,能夠聲明爲須要發送模板消息,此時點擊按鈕提交表單能夠獲取 formId,用於發送模板消息。或者當用戶完成 支付行爲,能夠獲取 prepay_id 用於發送模板消息。微信小程序
其中,prepay_id須要支付這一行爲觸發,開發中可在支付完成後收集,在此再也不贅述。 若要便捷的收集用戶formid,可經過使用自定義button組件實現這一目的。bash
<form report-submit="true" bindsubmit="getFormId">
<button class="btn-class" hover-class="hover-class button-hover" form-type="submit" type="{{type}}" disabled="{{disabled}}"><slot></slot></button>
</form>
複製代碼
const app = getApp();
Component({
behaviors: [],
properties: {
type: {
type: String, // 類型(必填),目前接受的類型包括:String, Number, Boolean, Object, Array, null(表示任意類型)
value: 'normal' // 屬性初始值(可選),若是未指定則會根據類型選擇一個
},
disabled: {
type: Boolean, // 類型(必填),目前接受的類型包括:String, Number, Boolean, Object, Array, null(表示任意類型)
value: false // 屬性初始值(可選),若是未指定則會根據類型選擇一個
}
},
data: {},
// 公有方法
methods: {
getFormId(e){
let formId = e.detail.formId;
if(formId && formId !== 'the formId is a mock one'){
// 上傳formid
}
}
externalClasses: ['btn-class','hover-class'] //導入外部樣式
});
複製代碼
button{
background-color: rgba($color: #000000, $alpha: 0);
background-image: none;
border-radius: 0;
border: none;
padding: 0;
margin: none;
line-height: normal;
}
.button-hover{
background-color: rgba($color: #000000, $alpha: 0);
background-image: none;
}
複製代碼