admin管理员组文章数量:1657309
每当短视频软件端切换一个视频时,短视频APP软件把用户当前视频的观看时间通过接口发送到服务端。服务端接收后处理,会根据观看视频时长可领取金币奖励 。下面介绍一下短视频软件开发在服务端是如何进行实现的;
1、必要的参数验证
if($uid<1 || $token=='' || $length<1 || $sign=='' ){
$rs['code'] = 1001;
$rs['msg'] = '信息错误';
return $rs;
}
2、验证接口参数签名,确保一定的安全性
$checkdata=array(
'uid'=>$uid,
'token'=>$token,
'length'=>$length,
);
$issign=checkSign($checkdata,$sign);
if(!$issign){
$rs['code']=1001;
$rs['msg']='签名错误';
return $rs;
}
3、查询用户奖励记录,根据结果做相应的更新处理
$isexist=DI()->notorm->view_reward
->select('*')
->where('uid=?',$uid)
->fetchOne();
if($isexist){
/* 有记录 */
if($nowtime>$isexist['addtime']){
/* 新一天 */
DI()->notorm->view_reward
->where('uid=?',$uid)
->update(['length'=>$length,'addtime'=>$today_end,'status'=>'0']);
}else{
/* 累计 */
DI()->notorm->view_reward
->where('uid=?',$uid)
->update(array('length'=> new NotORM_Literal("length + {$length} ")));
}
}else{
/* 无记录 */
DI()->notorm->view_reward
->insert(['uid'=>$uid,'length'=>$length,'addtime'=>$today_end,'status'=>'0']);
}
4、判断今天是否未奖励
$info=DI()->notorm->view_reward
->select('*')
->where('uid=? and status=0',$uid)
->fetchOne();
if($info){
/* 获取配置信息,比较是否达到标准 */
$configPri=getConfigPri();
$agent_v_l=$configPri['agent_v_l'] * 60;
if($info['length'] >= $agent_v_l){
$rs=DI()->notorm->view_reward
->where('uid=?',$uid)
->update(['status'=>'1']);
if(!$rs){
return '1';
}
/* 添加奖励 */
$agent_v_a=$configPri['agent_v_a'];
DI()->notorm->users
->where('id=?',$uid)
->update(array('votes'=> new NotORM_Literal("votes + {$agent_v_a} ")));
/* 添加奖励记录 */
$data=[
'action'=>'2',
'uid'=>$uid,
'votes'=>$agent_v_a,
'addtime'=>$nowtime,
];
DI()->notorm->votes_record
->insert($data);
}
}
短视频软件开发是基于自研的移动端短视频拍摄、视频及图片编辑、人脸识别及手势识别特效处理、视频拼接、播放等功能于一体的移动端APP。并提供一套完整的短视频解决方案,提供强大的视频上传、存储、转码、水印、分发等一站式解决方案,帮助用户实现快速集成、快速上线、功能使用更加便捷,让短视频APP变得更简单。
声明:本篇文章为小编原创文章,转载请注明出处及作者。
版权声明:本文标题:短视频软件开发新功能 观看视频时长可领取金币奖励 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729778507a1212512.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论