加载中…

转发微信群赠送用户积分

后台可以设置积分赠送规则,鼓励用户将小程序转发到微信群,继而给用户赠送积分奖励,助力小程序推广营销 ![](https://dcdn.it120.cc/yuque/0/2021/png/572726/1636803607770-993d43d8-ceef-47b4-987c-d217246afbca.png) 后台需要先配置积分赠送规则,设置用户每转发到一个微信群后可以获得多少积分奖励;同时需要设置当日的赠送上线,防止用户刷积分作弊 用户将小程序转发到微信群后,无法立即感知并读取微信群的信息,必须在群里的用户点击打开小程序的时候,才可以从中读取到群信息,所以赠送积分也将需要群内的用户来点击触发(也就是说,如果转发到了一个群,群里没有任何人点击打开小程序,那么系统还是认为没有转发) **!!!同一个微信群,同一天,系统只会发放一次奖励!!!** # 开启 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