观看权限
注意:1,要注意搭配全局变量CR_SDK.isHideVideo 使用,防止video的层级过高,影响弹层
2,在校验成功后,都需要做本地储存(除了登录观看,付费观看,所以登录观看要写上监听方法。付费观看要校验是否付过费用),防止再进来时,仍然要校验一次,所以在开始时检查本机储存是否存在。
3,如果设置为密码观看时,需要在本地储存拿上次的密码与后台的校验,防止同一个直播,修改了密码后不起作用。
初始化观看权限开关获取
var data = CR_SDK.getWatchWay()
console.log(data);
data ={
watchWay : 观看方式
watchFee : 观看费用
watchWayTip :观看方式提示语
}
data 的数据信息
返回字段 | 字段类型 | 字段描述 |
---|---|---|
watchWay | num | 0不限制观看,1密码观看,2付费观看,3特定手机号码观看,5手机获取验证码观看,6登录观看,7第三方授权登录 |
watchFee | string | 付费观看的费用(只有当watchWay为2,才有值) |
watchWayTip | string | 密码观看的提示语(只有当watchWay为1,才有值) |
权限观看时 校验密码或验证码,手机号码
var parms ={
LiveCode ://直播短连接
watchType: "1", //0不限制观看,1密码观看,2付费观看,3特定手机号码观看,5手机获取验证码观看,6登录观看,7第三方授权登录
watchPhone: ,//手机号码
watchCode: "123456" //密码或者验证码
}
CR_SDK.checkPwdPhoneYzm(parms)
CR_SDK.on('cr_check_Live_Code',function(res){
console.log(res)
})
注意:如果为密码观看,watchPhone传空字符串,如果为手机号码观看,不带验证码的,watchCode传空字符串。手机号码带验证码观看,watchCode要传验证码,这时会同时校验手机号码,和验证码
返回字段 | 字段类型 | 字段描述 |
---|---|---|
code | num | 0为校验成功,其他为校验失败 |
data | string | 信息描述 |
手机号码观看,获取验证码
var parms = {
LiveCode: , //直播短连接
watchType: watchWay, //观看方式
watchPhone: //手机号码
}
CR_SDK.getPhoneYzm(parms); //获取验证码
CR_SDK.on('cr_send_Phone_Code', function(res){
console.log(res);
}
返回字段 | 字段类型 | 字段描述 |
---|---|---|
code | num | 0请求成功 |
data | json | data.RspCode为0,发送成功,data.RspDesc描述信息 |
如果是付费观看 查询以前是否付费观看过
如果是付费观看,可以查询是否付过费用,不需要做本地储存
var openId = $("#openId").val();
CR_SDK.checkSendMoneyLook(openId)
CR_SDK.on('cr_check_send_money_look', function(res){ //成功的回调
console.log(res);
}
返回字段 | 字段类型 | 字段描述 |
---|---|---|
code | num | 0请求成功 |
data | json | data.Data有数据,表示曾经付过费,反之不曾付费 |
移动端付费观看,支付接口
//移动端付费观看
$('#money_btn').unbind().on('click',function(){
var params={
"openId": openId ,
"optType":"FFGK",
"totalAmount":watchFee*100,
"remark" :"付费观看",
"nickName" :$("#NickName").val(),
"headerUrl" : $("#headimgurl").val(),
};
if($('#openId').val()!=""){
CR_SDK.payMoney(params);
}else{
alert('抱歉,目前只支持微信支付环境')
}
});
// 付费成功回调,通知
CR_SDK.on('cr_payback_status', function(res){
if(res.code == 0){
CR_SDK.isHideVideo = false;
setTimeout(function(){
$('#video_play').remove();
isCanLook = true ;
$('.money_look').hide();
$('.redbox_bg').hide();
if($('#myVideo').length>0){
$('#myVideo').show();
}
//document.getElementById("myVideo").play();
},600)
liveObj.startNaie();
}else{
isCanLook = false ;
}
});
返回字段 | 字段类型 | 字段描述 |
---|---|---|
code | num | 0付费成功 |
PC付费观看
var params={
"openId":openId,
"optType":"PCFF",
"totalAmount":watchFee*100,
"remark":"PC付费观看",
"nickName" : $("#NickName").val() || "",
"headerUrl": $("#headimgurl").val() || "",
};
CR_SDK.pcPayMoney(params);
CR_SDK.on('cr_check_paywatch_img', function(res){//返回一个支付链接,需要前端生成二维码,给用户扫码支付
if(res.code == 0){
if(res.data && res.data.code_url){
$("#pagePayToWatchImg").text("");
var liUrl = res.data.code_url;
if($("#pagePayToWatchImg>div").length < 1){
$("#pagePayToWatchImg").qrcode({render:"table",width:140,height:140,text:liUrl,correctLevel:1});
}
}
}
});
// 支付成功的回调
CR_SDK.on('cr_payback_status', function(res){
if(res.code == 0){
is_past_yzm = true;
localStorage.setItem("PAGE_PAYWATCH."+liveCode,"true");
liveObj.startNaie();
}
});
登录观看
观看方式是登录观看,要在初始化之后监听 cr_login_callback 方法,在该方法里做登录校验,该方法不用做本地储存
// 获取直播信息及初始化
CR_SDK.init(config);
//账号登录监听
CR_SDK.on('cr_login_callback', function() {
$('.redbox_bg').css({display:"block"});
$('.login_look').css({display:"block"});
// 登录账号权限观看
$('#loginLookBtn').unbind().on('click',function(){
var phoneNum = $("#phoneNumlogin").val();
var pwdNum = $('#inputLoginKey').val();
if(pwdNum===''){
alert('密码不能为空!');
return;
}else if(pwdNum.length<6 && pwdNum.length>18){
alert('请输入6~18位密码');
return;
}
if(phoneNum == ''){
alert('手机号码不可为空!');
return;
}else if(!(/^1[34578]\d{9}$/.test(phoneNum))){
alert('请输入正确的手机号码!');
return;
}
var params={
LiveCode: $("#LiveCode").val(), //直播短连接
watchType: "6", //观看方式
watchPhone: phoneNum, //手机号码
watchCode: pwdNum //密码
};
CR_SDK.checkPwdPhoneYzm(params);//请求后台
});
CR_SDK.on('cr_check_login_Code', function(res){
if(res.data.RspCode===0){
$('.redbox_bg').css({display: "none"});
$('.login_look').css({display: "none"});
liveObj.startNaie();
}else{
alert(res.data.RspDesc);
$("#phoneNumlogin").val('');
$('#inputLoginKey').val('');
}
});
})