直播系统源码小程序端,实现微信登录的完美教程
很多直播系统源码开发者为了方便运营和引流,都开发了小程序端的直播系统源码,通过微信开放平台,用户在登录直播系统时,可以轻松创建账号并一键获取微信提供的用户身份标识,快速建立小程序内的用户体系。
在直播系统源码层面,实现微信登录的过程是如何实现的呢?让我们一起来看看吧。
一、 直播系统源码获取临时登录凭证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






鲁公网安备 37090202000844号

