大致思路如下,获取到openID后,wx.shareAppMessage方法中query字段传入自身openID,其他玩家进入游戏后onShow() 或者是getLaunchOptionsSync() 中检测 query字段中是否有openID存在,若存在将邀请人的openID 发送给服务器,服务器下发,邀请过程完成(若需要展示头像,名称等,那么可以将每个玩家的头像信息与名称获取到,在登陆时发送给服务器,服务器有数据,邀请成功再次推下来就好了)
我这边的做法需要两个条件
1.需要服务器配合(转发消息)
2.需要获取到openId(邀请列表需要展示已邀请玩家头像跟名称的话 那么还需要获取玩家信息授权)
下面只讲述前端实现
第一步 获取code 换取openId
调用wx.login 接口获取到code 登录凭证,因为微信小游戏程序内不能出现api.weixin.qq.com 所以获取openId 的工作只能交给后端处理,一个简单http请求就好了
第二步 转发带参数
使用wx.shareAppMessage分享卡片时 将自身openID传入 query 字段
第三步 启动检测
在每次启动微信小游戏时,都检测一下getLaunchOptionsSync() 中的 query字段是否含有openID字段,或者在onShow() 时检测 query 字段都是可以的,看个人需求
第四步 发送给服务器
将获取到的openID字段发送给服务器,服务器处理完毕后下发奖励或者其他操作等
自此邀请好友列表就已经完成了