微信小程序 模板消息发送遇到的坑--fromid有效期应用

发送微信小程序模板消息需要下面信息
1,小程序appid
2,小程序AppSecret(密匙)
3,小程序推送模版id
4,用户的openid
5,用户的formid(一个formid只能用一次)

下面就是小程序部分,来教大家如何获取上面所需的5个信息。

1,appid和AppSecret的获取(登录小程序管理后台)

2,推送模版id

3,用户openid的获取,可以看下面的这篇文章,也可以看源码,这里不做具体讲解
小程序开发如何获取用户openid
4,获取formid

看官方文档,可以知道我们的formid有效期是7天,并且一个form_id只能使用一次,所以我们小程序端所需要做的就是尽可能的多拿些formid,然后传个后台,让后台存到数据库中,这样7天有效期内,想怎么用就怎么用了。

所以接下来要讲的就是小程序开发怎么尽可能多的拿到formid了


看下官方提供的,只有在表单提交时把report-submit设为true时才能拿到formid,比如这样

  <form report-submit='true' >
   <button  form-type='submit'>获取formid</button>
  </form>

所以我们就要在这里下功夫了,既然只能在form组件获取,我们能不能把我们小程序里用到最多的地方用form来伪装呢。

下面简单写个获取formid和openid的完整示例,方便大家学习

效果图

我们要做的就是点击获取formid按钮,可以获取到用户的formid和openid,正常我们开发时,是需要把openid和formid传给后台的,这里简单起见,我们直接用获取到的formid和openid实现推送功能

下面来看小程序端的实现代码

1,index.wxml

2,index.js

到这里我们小程序端的代码也实现了,接下来测试下推送。

formid:  6ee9ce80c1ed4a2f887fccddf87686eb
openid o3DoL0Uusu1URBJK0NJ4jD1LrRe0


可以看到我们用了上面获取到的openid和formid做了一次推送,显示推送成功

到这里我们小程序消息推送的后台和小程序端都讲完了。

这里有两点需要大家注意

1,推送的openid和formid必须对应。
2,一个formid只能用一次,多次使用会报一下错误。

{"errcode":41029,"errmsg":"form id used count reach limit hint: [ssun8a09984113]"}

编程小石头,码农一枚,非著名全栈开发人员。分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值