直播系统源码小程序端,实现微信登录的完美教程
很多直播系统源码开发者为了方便运营和引流,都开发了小程序端的直播系统源码,通过微信开放平台,用户在登录直播系统时,可以轻松创建账号并一键获取微信提供的用户身份标识,快速建立小程序内的用户体系。
在直播系统源码层面,实现微信登录的过程是如何实现的呢?让我们一起来看看吧。
一、 直播系统源码获取临时登录凭证code
1、 直播系统源码调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器
小程序代码获取code代码如下:
wx.login({ success: res => { var that = this; var code = res.code; // 发送 res.code 到后台换取 openId, sessionKey, unionId that.globalData.userInfo = res.userInfo; // userInfo 只存储个人的基础数据 wx.setStorageSync('userInfo', res.userInfo); //此处调用服务接口获取UnionID that.getUnionID(code); } })
2、 wx.login()成功获取到code值后,调用服务器接口返回unionid
3、 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的
关于unionid机制说明详细了解可参考:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html
二、 .小程序中关于调用服务器接口的直播系统源码如下:
//wxlogin->获取UnionID getUnionID: function (code) { var that = this; wx.request({ //that.globalData.purl:服务器地址 url: that.globalData.purl + "Login.getUnionid&code=" + code, data: {}, method: 'GET', success: function (res) { //获取unionid后->登录接口 var ret = res.data["ret"]; if (ret == "200") { var data = datas.data; var code = data['code']; if(code == 0){ var info = data["info"]; var UnionID = info["0"]["unionid"];//服务器接口返回的unionid值 that.globalData.UnionID = UnionID; } } }); },
以下获取unionid的服务器接口部分直播系统源码使用了PHP语言,且需注意以下a、b两点
a、会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。
b、临时登录凭证 code 只能使用一次
$url="https://api.weixin.qq.com/sns/jscode2session?appid={$AppID}&secret={$AppSecret}&js_code={$code}&grant_type=authorization_code"; $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_URL, $url); $json = curl_exec($ch); curl_close($ch); $arr=json_decode($json,1); if($arr['errcode']){ $rs['code']=1003; $rs['msg']='配置错误'; return $rs; } /* 小程序 绑定到 开放平台 才有 unionid 否则 用 openid */ $unionid=$arr['unionid']; if(!$unionid){ $unionid=$arr['openid']; } return $unionid; /* 返回unionid值 */
小程序根据服务端传来的unionid,调用服务的登录接口,用来验证微信账号在服务端是否存在并数据一致,验证通过返回服务端存储的用户信息。以上微信小程序直播系统源码微信登录简单说明完成。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com