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)
    } 
  }
}
复制代码
相关文章
相关标签/搜索