uni-app小程序消息推送

留下用戶不易,且行且珍惜

小程序推送用戶消息,能夠模板建立一個form表單(最好用系統自帶的button)vue

<form @submit="handlePush" report-submit='true'>
  <button formType="submit">推送消息</button>
</form>
複製代碼

   小程序的formId須要儘量的在用戶交互比較頻繁的操做點上面加好埋點,因此就會在頁面的多個地方加form。以前看網上的作法上有一種是在一個button上循環嵌套n個form表格,當用戶點擊一次以後就能夠一次性拿到這n個formId值。實際上這種作法目前好像並不湊效,應該被微信和諧了,你會發現嵌套再多層最終拿到的formId值都是同樣的,因此嵌套form的做用就不大了。小程序

   另外,在小程序的主入口頁,由於這裏是uni-app開發,app.vue爲主入口,要拿取formId值的話首先確定會想到在這裏拿formId,這樣就一勞永逸了。一般作法就是隱藏一個form表單,而後在生命週期裏trigger表單提交事件。但實際是微信不支持更不建議dom操做...bash

   綜上,仍是老老實實的多加幾個點吧。固然,偷懶仍是要偷的,加個minxins吧。微信

/** form-id-mixins.js **/
export default {
  methods: {
    getFormIdData(formId, type = 1) {
        // 加type參數是爲了有效區分都爲同一類型的formId
        const params = {
          formId,
          type
        }
        // 傳值給後臺的API
        Api.getFormId(params)
          .then(res => {
            console.log('success')
          })
    },
  }
}
複製代碼

引用就簡單了...app

import mixin from '@/form-id-mixins.js'
export default {
  mixins: [mixin],
  methods: {
    handlePush(e) {
      this.getFormIdData(e.detail.formId)
    } 
  }
}
複製代碼
相關文章
相關標籤/搜索