美文网首页
微信小程序消息重复推送

微信小程序消息重复推送

作者: june5253 | 来源:发表于2017-04-28 15:38 被阅读2248次

这段时间做了一个签到的微信小程序,需要在每天给用户发送签到提醒通知。其实之前做投票小程序时有实现过消息通知,主要是在创建投票和点击投票时通过提交表单的方式生成formId并传给服务器,服务器可以使用这个formId给用户发消息,比如投票结束后创建者和参与者都会收到结果通知。但微信小程序里面限制每个formId只能发送一次消息,并且有7天的有效期,也就是说,这种方式无法做到多次发送消息,并且如果超过了有效期也无法再发送。那么怎么突破这个限制呢?

通过上述描述我们知道,提交一次表单可以生成一个formId,给用户发一条消息需要使用一个formId,如果我们将每个formId理解为一块钱,提交一次表单可以存一块钱,发送一条消息需要花一块钱,并且这个钱7天不用就会失效,那么要突破限制就需要尽可能多的不断的存钱,这样在用的时候才不会捉襟见肘。

因此我们采用的方案是,服务端提供一个单独的上传formId的api,前端将小程序里面的各个界面尽可能的做成表单的形式并尽可能的使用按钮控件,从而生成formId并传给服务器。这样,只要用户进入我们的小程序,并进行过一些操作,就会不断的生成一些新的formId,服务器可以将这些formId存起来,当需要发消息给用户的时候再从这个存款里面取,如果取出的formId失效了,那就再取一条,直到所有的存款都花光了或过期了才会出现发送不了的情况。但是这种概率是非常小的,除非用户确实完全不再用了,那发不了消息也无所谓了。

由于要将很多非按钮样式的view改为button,需要将按钮的原始样式清除,而有些button确实是真正的按钮,需要使用按钮原始样式,因此需要在app.wxss文件中做处理。下面是示例代码:

*.wxml布局文件

<form report-submit="true" bindsubmit="postFormId">
  /*用户头像,并非真正的按钮,虽然改用button控件,但按钮样式是清除了的,可以当做view一样处理,自己定义需要的样式*/
  <button class="avatar" form-type="submit">
    <image src="{{avatar}}" />
  </button>
  /*真正的按钮,需要采用原始按钮的样式(定义在.button中),加上class="button"即可*/
  <button class="button" bindtap="clickFunction" form-type="submit">真正的按钮</button>
</form>

app.wxss文件:

/*由于需要利用button生成formId,要将非button样式的控件写成button,因此需要清除掉默认button的样式*/
button, button::after, .button-hover {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  box-sizing: unset;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  text-align: inherit;
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
}

/*真正的button样式的控件需要设置class为button*/
.button {
  width: 690rpx;
  height: 86rpx;
  background-color: #12b7f5;
  color: #fff;
  font-size: 36rpx;
  margin-bottom: 20rpx;
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-left: 14px;
  padding-right: 14px;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  line-height: 2.55555556;
  border-radius: 5px;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
}

相关文章

  • 微信小程序消息重复推送

    这段时间做了一个签到的微信小程序,需要在每天给用户发送签到提醒通知。其实之前做投票小程序时有实现过消息通知,主要是...

  • 微信小程序推送公众号模板消息

    微信与小程序结合推送模板消息 描述: 因小程序是被动触发推送消息,所以要做成推送到该用户的微信公众号上代码推送模板...

  • 微信小程序如何像公众号一样,给用户推送消息?

    巧妙使用小程序客服消息,就可以向用户推送消息,达到群发消息目的。 本文从微信小程序客服消息使用,消息推送规则&限制...

  • zabbix企业微信报警

    前言:通过企业微信小程序,实现zabbix自动注册和zabbix告警的微信消息推送。前言:通过企业微信小程序,实现...

  • 消息推送

    微信小程序消息推送 获取formId的方式 页面 组件 微信支付成功 推送规则 当用户在小程序内发生过提交表单行为...

  • 微信小程序消息推送

    微信小程序是支持消息推送的,但是推送有个限制,只有form表单开启report-submit,用户点击提交这样表单...

  • 微信小程序点击按钮推送模板消息给自己(一步操作)

    我们在上一篇微信小程序模板消息定时推送,只需要简单三步就好中介绍了如何创建微信小程序推送API接口。那么我们这里就...

  • 小程序、微信开发关于accesstoken的问题

    关于小程序开发支付,或者消息推送,或者微信支付 都需要accesstoken。微信官方文档如下 https://m...

  • 微信小程序消息推送设置

    在小程序开发中,要实现客服消息功能,首先需要在微信公众平台启用消息推送功能,步骤如下: 在填写url,token...

  • 番外消息推送篇_05

    简述 本文介绍微信消息推送实现过程 需求分析 目前小程序可通过消息模板实现消息推送,但因次数限制,不太符合业务场景...

网友评论

      本文标题:微信小程序消息重复推送

      本文链接:https://www.haomeiwen.com/subject/bdiuzttx.html