微信小程序> 【微信小程序】通过用户登录实现批量收集formId

【微信小程序】通过用户登录实现批量收集formId

浏览量:1494 时间: 来源:钢镚儿吖

参考网上多篇文章,本文目的旨在做个记录。

【微信小程序】通过用户登录实现批量收集formid,无限次发送模板消息

提交1次表单可下发1条模板消息,多次提交下发条数独立,相互不影响。
所以,想无限次发送模板消息,需要批量的收集formId。

index.wxml

  view    view class="inputView" style="margin-top: 10% "      form bind:submit="formSubmit" report-submit="true"        button form-type='submit' class='form_button'          view class='vv'            form bind:submit="formSubmit" report-submit="true"              button form-type='submit' class='form_button'                view class='vv'                  input class="input" type="string" bindinput='username' placeholder="用户名" placeholder-style="color: #FFFFFF" /                /view              /button            /form          /view        /button                                                      /form    /view    view class="inputView" style="margin-top: 5% "      form bind:submit="formSubmit" report-submit="true"        button form-type='submit' class='form_button'          view class='vv'            form bind:submit="formSubmit" report-submit="true"              button form-type='submit' class='form_button'                view class='vv'                  input class="input" password="true" bindinput='pwd' placeholder="密码" placeholder-style="color: #FFFFFF" /                /view              /button            /form          /view        /button      /form    /view    form bind:submit="login" report-submit="true"      button type='default' formType="submit" class='btn'绑定/button    /form     /view

index.js

  formSubmit:function(e){    let formId = e.detail.formId; //获取formId    console.log(formId)    if (e.detail.formId != 'the formId is a mock one') {      this.collectFormIds(formId);//保存推送码    }  },  collectFormIds: function (formId) {    let formIds = app.globalData.globalFormIds; // 获取全局推送码数组    if (!formIds)      formIds = [];    let data = {      formId: formId,      expire: new Date().getTime() + 604800000 // 7天后的过期时间戳    }    formIds.push(data);// 将data添加到数组的末尾    app.globalData.globalFormIds = formIds;// 保存推送码并赋值给全局变量  },  username:function(e){    this.data.username = e.detail.value  },  pwd:function(e){    this.data.pwd = e.detail.value   },  login: function (e) {    let username = this.data.username;    let pwd =  this.data.pwd;    wx.request({//通过网络请求发送用户名和密码到服务器      url: '请求的地址'’,      data:{           username : username ,         pwd : pwd      },      success: function (res) {        if (res.data.user != null) {          wx.setStorageSync("userId", res.data.user.id) //保存返回的用户信息        }        if (res.data.status == 0) {                //登录成功          wx.redirectTo({            url: '../second/second',            success: function (res) {              console.log('登录跳转成功')            },            fail: function () {              console.log('登录跳转失败')            }          })        } else {          //跳回首页          wx.redirectTo({            url: '../index/index',            success: function (res) {              console.log('跳回首页成功')            },            fail: function () {              console.log('跳回首页失败')            }          })        }      }    })  }

second.js

Page({  onLoad: function (options) {    this.uploadFormIds(); //上传推送码  },  uploadFormIds: function () {    var openid = wx.getStorageSync("openid")//获取openid    var userId = wx.getStorageSync("userId")//获取userId    var formIds = app.globalData.globalFormIds;// 从全局变量中获取formId    if (formIds) {//gloabalFomIds存在的情况下 将数组转换为JSON字符串      formIds = JSON.stringify(formIds);      app.globalData.globalFormIds = '';   //清空formId    }    if (userId){      wx.request({//通过网络请求发送openId和formIds到服务器        url: '请求地址',        method: 'POST',        data: {          formId: formIds,          openId: openid,          userId: userId        }        success: function (res) {        }      })    }  }})

后台将获取到的 fromId,openid,以及userid 保存到数据库表中,就实现了批量收集formId的功能。

注:测试时,必须在真机上测试,微信开发者工具收集不到fromId,提示:the formId is a mock one
注:真机测试时,手机和电脑连的WIFI是同一个。
注:测试时,调用本地的接口,可以在微信开发者工具中设置成不检验合法域名,如下图

小程序

小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎