后台可以设置积分赠送规则,鼓励用户将小程序转发到微信群,继而给用户赠送积分奖励,助力小程序推广营销

后台需要先配置积分赠送规则,设置用户每转发到一个微信群后可以获得多少积分奖励;同时需要设置当日的赠送上线,防止用户刷积分作弊
用户将小程序转发到微信群后,无法立即感知并读取微信群的信息,必须在群里的用户点击打开小程序的时候,才可以从中读取到群信息,所以赠送积分也将需要群内的用户来点击触发(也就是说,如果转发到了一个群,群里没有任何人点击打开小程序,那么系统还是认为没有转发)
**!!!同一个微信群,同一天,系统只会发放一次奖励!!!**
# 开启 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)
}
}
})
}
})
}
```
# SDK使用说明
```javascript
WXAPI.shareGroupGetScore(code, referrer, encryptedData, iv)
```
+ code 当前用户的登陆凭证
+ referrer 转发到微信群的那个用户的用户编号,系统会将赠送的积分发放给这个用户
+ encryptedData** **_小程序api:wx.getShareInfo 获得_
+ iv 小程序api:wx.getShareInfo 获得
详见微信官方文档:
[https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.getShareInfo.html#%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.getShareInfo.html#%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81)
接口返回:
```json
{
code: 0,
msg: 'success',
data: 'openGId'
}
```
接口成功后,会返回微信群ID