微信小程序> 微信游戏群,微信小程序小程序分享获取群信息

微信游戏群,微信小程序小程序分享获取群信息

浏览量:939 时间: 来源:默认S
特别注意:微信小游戏已经禁止诱导分享,wx.shareMessage已经没有success回调了第一步:设置wx.showShareMenu({withShareTicket:true});
第二步:在wx.shareMessage分享的回调success方法里面读取带回来的参数信息:核心代码如下:
Function(result){if(result&&result.shareTickets){//把shareticket传给服务器解密,getDecodeTicket方法见下方letticket=result.shareTickets[0];letticket_result=awaitplatform.getDecodeTicket(ticket,session_key);//session_key为登录获得的session_keyif(ticket_result.data&&ticket_result.data.openGId){letgid=ticket_result.data.openGId;//gid为群唯一id//判断今天有没有分享到该群,如果有,提示用户,如果没有,把这个gid存到自己游戏服务器return;}}//提示用户需要分享到群}getDecodeTicket(ticket,openkey){returnnewPromise((resolve,reject)={wx.getShareInfo({shareTicket:ticket,success:(res)={varp1=encodeURIComponent(res.encryptedData);varp2=encodeURIComponent(res.iv);varp3=encodeURIComponent(openkey);wx.request({url:"https://xxxx.xxxx.com/wxgame_decodeTicket.php?encryptedData="+p1+"&iv="+p2+"&openkey="+p3,data:{},method:'GET',success:function(res){resolve(res);},fail:function(){resolve({error:true,stat:2});}})},fail:()={resolve({error:true,stat:1});}})})}wxgame_decodeTicket.php见这里(换一下里面的appid即可直接使用)
?phpinclude_once"wxBizDataCrypt.php";$appid='wxxxxxxxxxxxxxxx';//$sessionKey=$_GET["openkey"];//$encryptedData=$_GET["encryptedData"];//$iv=$_GET["iv"];$sessionKey=iconv('UTF-8','gb2312',$_GET["openkey"]);$encryptedData=iconv('UTF-8','gb2312',$_GET["encryptedData"]);$iv=iconv('UTF-8','gb2312',$_GET["iv"]);$pc=newWXBizDataCrypt($appid,$sessionKey);$errCode=$pc-decryptData($encryptedData,$iv,$data);if($errCode==0){print($data."");}else{print($errCode."");}errorCode.php:
?php/errorcode说明.ulli-41001:encodingAesKey非法/lili-41003:aes解密失败/lili-41004:解密后得到的buffer非法/lili-41005:base64加密失败/lili-41016:base64解密失败/li/ul/classErrorCode{publicstatic$OK=0;publicstatic$IllegalAesKey=-41001;publicstatic$IllegalIv=-41002;publicstatic$IllegalBuffer=-41003;publicstatic$DecodeBase64Error=-41004;}?wxBizDataCrypt.php
?php/对微信小程序用户加密数据的解密示例代码.@copyrightCopyright(c)1998-2014TencentInc./include_once"errorCode.php";classWXBizDataCrypt{private$appid;private$sessionKey;/构造函数@param$sessionKeystring用户在小程序登录后获取的会话密钥@param$appidstring小程序的appid/publicfunction__construct($appid,$sessionKey){$this-sessionKey=$sessionKey;$this-appid=$appid;}/检验数据的真实性,并且获取解密后的明文.@param$encryptedDatastring加密的用户数据@param$ivstring与用户数据一同返回的初始向量@param$datastring解密后的原文@returnint成功0,失败返回对应的错误码/publicfunctiondecryptData($encryptedData,$iv,&$data){if(strlen($this-sessionKey)!=24){returnErrorCode::$IllegalAesKey;}$aesKey=base64_decode($this-sessionKey);if(strlen($iv)!=24){returnErrorCode::$IllegalIv;}$aesIV=base64_decode($iv);$aesCipher=base64_decode($encryptedData);$result=openssl_decrypt($aesCipher,"AES-128-CBC",$aesKey,1,$aesIV);$dataObj=json_decode($result);if($dataObj==NULL){returnErrorCode::$IllegalBuffer;}if($dataObj-watermark-appid!=$this-appid){returnErrorCode::$IllegalBuffer;}$data=$result;returnErrorCode::$OK;}}

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎