# 前言
本教程是基于 “apifm-wxapi” 模块,教你快速实现小程序开发,所以你可能需要先了解以下知识点:
[《创建 HelloWorld 项目》](https://www.yuque.com/apifm/doc/hezlrm)
[《使用 “apifm-wxapi” 快速开发小程序》](https://www.yuque.com/apifm/doc/mdldsd)
[《免费注册开通后台,获得专属域名》](https://www.yuque.com/apifm/doc/qr6l4m)
本案例中,部分功能,需要用户登录后才能操作,也就是说需要 token 授权,请先了解:
[《微信小程序登录获取openid及三方token》](https://www.yuque.com/apifm/doc/kaygbw)
# 功能介绍
转发到微信群,获得积分奖励,刺激用户转发,继而扩大传播效果
**同一个微信群,同一天,系统只会发放一次奖励!**
# 配置转发奖励
[《积分赠送规则设置[注册/消费/充值/邀请用户/购物给好评/转发微信群]》](https://www.yuque.com/apifm/doc/etb8s6)
_设置好转发奖励的积分数量、每天奖励的上限_
# 开启 ShareTicket
[https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareMenu.html](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareMenu.html)
在转发页面js文件中onLoad 方法里面,要声明:
```javascript
wx.showShareMenu({
withShareTicket: true
})
```
_转发链接中,请带上转发人的 uid ,后续积分奖励发放,将直接发放到该 uid 的用户下,所以如果你没有携带 uid 数据,那么下面的步骤中将不知道本次转发是谁转发的_
# 赠送奖励
**转发到微信群,并不能马上获得奖励,这是微信的规定;必须要等群里有人点击了分享链接后,在打开的那个小程序页面上,你自己写程序来实现赠送:**
**app.js 文件的 onLaunch 或者 onShow 方法中**,我们这么写:
```javascript
if (e.shareTicket) {
wx.getShareInfo({
shareTicket: e.shareTicket,
success: res => {
console.log(res)
console.log({
referrer: e.query.inviter_id,
encryptedData: res.encryptedData,
iv: res.iv
})
wx.login({
success (loginRes) {
if (loginRes.code) {
WXAPI.shareGroupGetScore(
loginRes.code,
e.query.inviter_id,
res.encryptedData,
res.iv
).then(_res => {
console.log(_res)
}).catch(err=>{
console.error(err)
})
} else {
console.error('登录失败!' + loginRes.errMsg)
}
}
})
}
})
}
```
# apifm-wxapi 方法说明
```javascript
WXAPI.shareGroupGetScore(referrer, encryptedData, iv)
```
**referrer**
_分享人的用户id_
**encryptedData**
_小程序api:wx.getShareInfo 获得_
**iv**
_小程序api:wx.getShareInfo 获得_
期待你的进步!
感谢!