前言

本教程是基于 “apifm-wxapi” 模块,教你快速实现小程序开发,所以你可能需要先了解以下知识点:

《创建 HelloWorld 项目》
《使用 “apifm-wxapi” 快速开发小程序》
《免费注册开通后台,获得专属域名》

本案例中,部分功能,需要用户登录后才能操作,也就是说需要 token 授权,请先了解:

《微信小程序登录获取openid及三方token》

功能介绍

转发到微信群,获得积分奖励,刺激用户转发,继而扩大传播效果

同一个微信群,同一天,系统只会发放一次奖励!

配置转发奖励

《积分赠送规则设置[注册/消费/充值/邀请用户/购物给好评/转发微信群]》

设置好转发奖励的积分数量、每天奖励的上限

开启 ShareTicket

https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareMenu.html

在转发页面js文件中onLoad 方法里面,要声明:

  1. wx.showShareMenu({
  2. withShareTicket: true
  3. })

转发链接中,请带上转发人的 uid ,后续积分奖励发放,将直接发放到该 uid 的用户下,所以如果你没有携带 uid 数据,那么下面的步骤中将不知道本次转发是谁转发的

赠送奖励

转发到微信群,并不能马上获得奖励,这是微信的规定;必须要等群里有人点击了分享链接后,在打开的那个小程序页面上,你自己写程序来实现赠送:

app.js 文件的 onLaunch 或者 onShow 方法中,我们这么写:

  1. if (e.shareTicket) {
  2. wx.getShareInfo({
  3. shareTicket: e.shareTicket,
  4. success: res => {
  5. console.log(res)
  6. console.log({
  7. referrer: e.query.inviter_id,
  8. encryptedData: res.encryptedData,
  9. iv: res.iv
  10. })
  11. wx.login({
  12. success (loginRes) {
  13. if (loginRes.code) {
  14. WXAPI.shareGroupGetScore(
  15. loginRes.code,
  16. e.query.inviter_id,
  17. res.encryptedData,
  18. res.iv
  19. ).then(_res => {
  20. console.log(_res)
  21. }).catch(err=>{
  22. console.error(err)
  23. })
  24. } else {
  25. console.error('登录失败!' + loginRes.errMsg)
  26. }
  27. }
  28. })
  29. }
  30. })
  31. }

apifm-wxapi 方法说明

  1. WXAPI.shareGroupGetScore(referrer, encryptedData, iv)

referrer

分享人的用户id

encryptedData

小程序api:wx.getShareInfo 获得

iv

小程序api:wx.getShareInfo 获得

期待你的进步!
感谢!