123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176 |
- <?php
- // +—————————————————————————————————————————————————————————————————————
- // | Created by Yunbao
- // +—————————————————————————————————————————————————————————————————————
- // | Copyright (c) 2013~2022 http://www.yunbaokj.com All rights reserved.
- // +—————————————————————————————————————————————————————————————————————
- // | Author: https://gitee.com/yunbaokeji
- // +—————————————————————————————————————————————————————————————————————
- // | Date: 2022-04-30
- // +—————————————————————————————————————————————————————————————————————
- class Api_Video extends PhalApi_Api {
- public function getRules() {
- return array(
- 'setVideo' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '用户ID'),
- 'token' => array('name' => 'token', 'type' => 'string', 'require' => true, 'desc' => '用户Token'),
- 'title' => array('name' => 'title', 'type' => 'string', 'desc' => '标题'),
- 'thumb' => array('name' => 'thumb', 'type' => 'string', 'require' => true, 'desc' => '封面图'),
- 'href' => array('name' => 'href', 'type' => 'string', 'require' => true, 'desc' => '视频链接'),
- 'href_w' => array('name' => 'href_w', 'type' => 'string', 'desc' => '水印视频链接'),
- 'lat' => array('name' => 'lat', 'type' => 'string', 'desc' => '维度'),
- 'lng' => array('name' => 'lng', 'type' => 'string', 'desc' => '经度'),
- 'city' => array('name' => 'city', 'type' => 'string', 'desc' => '城市'),
- 'music_id' => array('name' => 'music_id', 'type' => 'int','default'=>0, 'desc' => '背景音乐id'),
- 'anyway' => array('name' => 'anyway', 'type' => 'string', 'default'=>'1.1','desc' => '横竖屏(封面-高/宽),大于1表示竖屏,小于1表示横屏'),
- ),
- 'setComment' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '用户ID'),
- 'token' => array('name' => 'token', 'type' => 'string', 'require' => true, 'desc' => '用户Token'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- 'touid' => array('name' => 'touid', 'type' => 'int', 'default'=>0, 'desc' => '回复的评论UID'),
- 'commentid' => array('name' => 'commentid', 'type' => 'int', 'default'=>0, 'desc' => '回复的评论commentid'),
- 'parentid' => array('name' => 'parentid', 'type' => 'int', 'default'=>0, 'desc' => '回复的评论ID'),
- 'content' => array('name' => 'content', 'type' => 'string', 'default'=>'', 'desc' => '内容'),
- ),
- 'addView' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'require' => true, 'desc' => '用户ID'),
- 'token' => array('name' => 'token', 'type' => 'string', 'require' => true, 'desc' => '用户Token'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- 'random_str'=>array('name' => 'random_str', 'type' => 'string', 'require' => true, 'desc' => '加密串'),
- ),
- 'addLike' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '用户ID'),
- 'token' => array('name' => 'token', 'type' => 'string', 'require' => true, 'desc' => '用户Token'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- ),
-
- 'addShare' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'desc' => '用户ID'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- 'random_str'=>array('name' => 'random_str', 'type' => 'string', 'require' => true, 'desc' => '加密串'),
- ),
-
-
- 'addCommentLike' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '用户ID'),
- 'token' => array('name' => 'token', 'type' => 'string', 'require' => false, 'desc' => '用户Token'),
- 'commentid' => array('name' => 'commentid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '评论/回复 ID'),
- ),
- 'getVideoList' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'desc' => '用户ID'),
- 'p' => array('name' => 'p', 'type' => 'int', 'min' => 1, 'default'=>1, 'desc' => '页数'),
- ),
- 'getVideo' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int','desc' => '用户ID'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- 'mobileid' => array('name' => 'mobileid', 'type' => 'string', 'desc' => '手机唯一识别码'),
- ),
- 'getComments' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int','desc' => '用户ID'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- 'p' => array('name' => 'p', 'type' => 'int', 'min' => 1, 'default'=>1, 'desc' => '页数'),
- ),
-
-
-
- 'getReplys' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'require' => true, 'desc' => '用户ID'),
- 'commentid' => array('name' => 'commentid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '评论ID'),
- 'last_replyid' => array('name' => 'last_replyid', 'type' => 'int', 'min' => 0, 'default'=>0, 'require' => true, 'desc' => '上一次请求时最小的回复id,第一次请求时为评论列表里的回复id'),
- 'p' => array('name' => 'p', 'type' => 'int', 'min' => 1, 'default'=>1, 'desc' => '页数'),
- ),
-
- 'delComments' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int','desc' => '用户ID'),
- 'token' => array('name' => 'token', 'type' => 'string', 'require' => false, 'desc' => '用户Token'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- 'commentid' => array('name' => 'commentid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '评论ID'),
- 'commentuid' => array('name' => 'commentuid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '评论者用户ID'),
-
- ),
-
- 'getMyVideo' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '用户ID'),
- 'token' => array('name' => 'token', 'type' => 'string', 'require' => true, 'desc' => '用户Token'),
- 'p' => array('name' => 'p', 'type' => 'int', 'min' => 1, 'default'=>1, 'desc' => '页数'),
- ),
- 'del' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '用户ID'),
- 'token' => array('name' => 'token', 'type' => 'string', 'min' => 1, 'require' => true, 'desc' => 'token'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- ),
-
- 'report' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '用户ID'),
- 'token' => array('name' => 'token', 'type' => 'string', 'require' => true, 'desc' => 'token'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- 'content' => array('name' => 'content', 'type' => 'string', 'min' => 1, 'require' => true, 'desc' => '举报内容'),
- ),
-
- 'getHomeVideo' => array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'desc' => '用户ID'),
- 'touid' => array('name' => 'touid', 'type' => 'int', 'require' => true, 'desc' => '对方ID'),
- 'p' => array('name' => 'p', 'type' => 'int', 'min' => 1, 'default'=>1, 'desc' => '页数'),
- ),
-
- 'getRecommendVideos'=>array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'desc' => '用户ID'),
- 'p' => array('name' => 'p', 'type' => 'int', 'min' => 1, 'default'=>1, 'desc' => '页数'),
- 'isstart' => array('name' => 'isstart', 'type' => 'int', 'default'=>0, 'desc' => '是否启动App'),
- 'mobileid' => array('name' => 'mobileid', 'type' => 'string', 'desc' => '手机唯一识别码'),
- ),
- 'setConversion'=>array(
- 'uid' => array('name' => 'uid', 'type' => 'int', 'require' => true, 'desc' => '用户ID'),
- 'videoid' => array('name' => 'videoid', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '视频ID'),
- 'random_str'=>array('name' => 'random_str', 'type' => 'string', 'require' => true, 'desc' => '加密串'),
- ),
- 'getVideoListByMusic'=>array(
- 'uid' => array('name' => 'uid', 'type' => 'int','desc' => '用户ID'),
- 'musicid' => array('name' => 'musicid', 'type' => 'string', 'min' => 1, 'require' => true, 'desc' => '音乐ID'),
- 'p' => array('name' => 'p', 'type' => 'int', 'min' => 1, 'default'=>1, 'desc' => '页数'),
- ),
-
-
- 'getCitys'=>array(
- /* 'key' => array('name' => 'key', 'type' => 'string', 'default'=>'' ,'desc' => '关键词'), */
- ),
-
-
-
- );
- }
-
-
-
- /**
- * 发布短视频
- * @desc 用于发布短视频
- * @return int code 操作码,0表示成功
- * @return array info
- * @return string info[0].id 视频记录ID
- * @return string msg 提示信息
- */
- public function setVideo() {
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
-
- $uid=checkNull($this->uid);
- $token=checkNull($this->token);
- $title=checkNull($this->title);
- $thumb=checkNull($this->thumb);
- $href=checkNull($this->href);
- $href_w=checkNull($this->href_w);
- $lat=checkNull($this->lat);
- $lng=checkNull($this->lng);
- $city=checkNull($this->city);
- $music_id=checkNull($this->music_id);
- $anyway=checkNull($this->anyway);
-
- $checkToken=checkToken($uid,$token);
- if($checkToken==700){
- $rs['code'] = $checkToken;
- $rs['msg'] = '您的登陆状态失效,请重新登陆!';
- return $rs;
- }else if($checkToken==10020){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $configpri=getConfigPri();
- if(!$thumb){
- $rs['code'] = 1004;
- $rs['msg'] = '请选择视频封面';
- return $rs;
- }
-
- if($configpri['cloudtype']==1){ //七牛
- $thumb_s=$thumb.'?imageView2/2/w/200/h/200';
- }else{
- $thumb_s=$thumb;
- }
- if(!$href){
- $rs['code'] = 1004;
- $rs['msg'] = '请上传视频';
- return $rs;
- }
- $configpub=getConfigPub();
- $watermark=$configpub['watermark'];
- if($watermark!=""){
- if($href_w==""){
- $rs['code'] = 1004;
- $rs['msg'] = '请上传视频';
- return $rs;
- }
-
- }else{
- $href_w=$href;
- }
- $data=array(
- "uid"=>$uid,
- "title"=>$title,
- "thumb"=>$thumb,
- "thumb_s"=>$thumb_s,
- "href"=>$href,
- "href_w"=>$href_w,
- "lat"=>$lat,
- "lng"=>$lng,
- "city"=>$city,
- "likes"=>0,
- "views"=>1, //因为涉及到推荐排序问题,所以初始值要为1
- "comments"=>0,
- "addtime"=>time(),
- "music_id"=>$music_id,
- 'anyway'=>$anyway,
- );
-
- $domain = new Domain_Video();
- $info = $domain->setVideo($data,$music_id);
- if(!$info){
- $rs['code']=1001;
- $rs['msg']='发布失败';
- return $rs;
- }
- $rs['info'][0]['id']=$info['id'];
- $rs['info'][0]['thumb_s']=$thumb_s;
- $rs['info'][0]['title']=$title;
- return $rs;
- }
-
- /**
- * 用户评论视频/回复别人评论
- * @desc 用于用户评论视频/回复别人评论
- * @return int code 操作码,0表示成功
- * @return array info
- * @return int info[0].isattent 对方是否关注我
- * @return int info[0].u2t 我是否拉黑对方
- * @return int info[0].t2u 对方是否拉黑我
- * @return int info[0].comments 评论总数
- * @return int info[0].replys 回复总数
- * @return string msg 提示信息
- */
- public function setComment() {
- $rs = array('code' => 0, 'msg' => '评论成功', 'info' => array());
-
- $uid=checkNull($this->uid);
- $token=checkNull($this->token);
- $touid=$this->touid;
- $videoid=$this->videoid;
- $commentid=$this->commentid;
- $parentid=$this->parentid;
- $content=checkNull($this->content);
- $checkToken=checkToken($uid,$token);
- if($checkToken==700){
- $rs['code'] = $checkToken;
- $rs['msg'] = '您的登陆状态失效,请重新登陆!';
- return $rs;
- }else if($checkToken==10020){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- if($content==''){
- $rs['code'] = 1002;
- $rs['msg'] = '请输入内容';
- return $rs;
- }
- //检测敏感词
- $keywordsIsExist=checkSensitiveWords($content);
- if($keywordsIsExist){
- $rs['code'] = 1001;
- $rs['msg'] = '输入非法,请重新输入';
- return $rs;
- }
-
- if($commentid==0 && $commentid!=$parentid){
- $commentid=$parentid;
- }
-
- $data=array(
- 'uid'=>$uid,
- 'touid'=>$touid,
- 'videoid'=>$videoid,
- 'commentid'=>$commentid,
- 'parentid'=>$parentid,
- 'content'=>$content,
- 'addtime'=>time(),
- );
- $domain = new Domain_Video();
- $result = $domain->setComment($data);
-
- if($result==1001){
- $rs['code']=1001;
- $rs['msg']="评论失败";
- return $rs;
- }
-
- $info=array(
- 'isattent'=>'0',
- 'comments'=>$result['comments'],
- 'replys'=>$result['replys'],
- );
- if($touid>0){
- $isattent=isAttention($touid,$uid);
- $info['isattent']=(string)$isattent;
- }
-
- $rs['info'][0]=$info;
-
- if($parentid!=0){
- $rs['msg']='回复成功';
- }
- return $rs;
- }
-
- /**
- * 更新视频阅读次数
- * @desc 用于更新视频阅读次数
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- */
- public function addView() {
- $rs = array('code' => 0, 'msg' => '更新视频阅读次数成功', 'info' => array());
- $uid=checkNull($this->uid);
- $token=checkNull($this->token);
- $videoid=checkNull($this->videoid);
- $random_str=checkNull($this->random_str);
- //md5加密验证字符串
- $str=md5($uid.'-'.$videoid.'-'.'#2hgfk85cm23mk58vncsark');
- if($random_str!==$str){
- $rs['code'] = 1001;
- $rs['msg'] = '更新视频阅读次数失败';
- return $rs;
- }
- $checkToken=checkToken($uid,$token);
- if($checkToken==700){
- $rs['code'] = $checkToken;
- $rs['msg'] = '您的登陆状态失效,请重新登陆!';
- return $rs;
- }else if($checkToken==10020){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $domain = new Domain_Video();
- $res = $domain->addView($uid,$videoid);
- return $rs;
- }
- /**
- * 视频点赞数累计
- * @desc 用于视频点赞数累计
- * @return int code 操作码,0表示成功
- * @return array info
- * @return string info[0].islike 是否点赞
- * @return string info[0].likes 点赞数量
- * @return string msg 提示信息
- */
- public function addLike() {
- $rs = array('code' => 0, 'msg' => '点赞成功', 'info' => array());
- $uid=checkNull($this->uid);
- $token=checkNull($this->token);
- $videoid=checkNull($this->videoid);
- $isBlackUser=isBlackUser($uid);
- if($isBlackUser=='0'){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $checkToken=checkToken($uid,$token);
- if($checkToken==700){
- $rs['code'] = $checkToken;
- $rs['msg'] = '您的登陆状态失效,请重新登陆!';
- return $rs;
- }else if($checkToken==10020){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
-
- $domain = new Domain_Video();
- $result = $domain->addLike($uid,$videoid);
- if($result==1001){
- $rs['code'] = 1001;
- $rs['msg'] = "视频已删除";
- return $rs;
- }else if($result==1002){
- $rs['code'] = 1002;
- $rs['msg'] = "不能给自己点赞";
- return $rs;
- }
- $rs['info'][0]=$result;
- return $rs;
- }
- /**
- * 视频分享数累计
- * @desc 用于视频分享数累计
- * @return int code 操作码,0表示成功
- * @return array info
- * @return string info[0].isshare 是否分享
- * @return string info[0].shares 分享数量
- * @return string msg 提示信息
- */
- public function addShare() {
- $rs = array('code' => 0, 'msg' => '分享成功', 'info' => array());
- $uid=checkNull($this->uid);
- $videoid=checkNull($this->videoid);
- $random_str=checkNull($this->random_str);
- //md5加密验证字符串
- $str=md5($uid.'-'.$videoid.'-'.'#2hgfk85cm23mk58vncsark');
- if($random_str!==$str){
- $rs['code'] = 1001;
- $rs['msg'] = '视频分享数修改失败';
- return $rs;
- }
-
- $domain = new Domain_Video();
- $rs['info'][0] = $domain->addShare($uid,$videoid);
- return $rs;
- }
-
-
- /**
- * 评论/回复 点赞数累计
- * @desc 用于评论/回复 点赞数累计
- * @return int code 操作码,0表示成功
- * @return array info
- * @return string info[0].islike 是否点赞
- * @return string info[0].likes 点赞数量
- * @return string msg 提示信息
- */
- public function addCommentLike() {
- $rs = array('code' => 0, 'msg' => '点赞成功', 'info' => array());
- $uid=checkNull($this->uid);
- $token=checkNull($this->token);
- $commentid=checkNull($this->commentid);
- $isBlackUser=isBlackUser($uid);
- if($isBlackUser=='0'){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $checkToken=checkToken($uid,$token);
- if($checkToken==700){
- $rs['code'] = $checkToken;
- $rs['msg'] = '您的登陆状态失效,请重新登陆!';
- return $rs;
- }else if($checkToken==10020){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $domain = new Domain_Video();
- $res= $domain->addCommentLike($uid,$commentid);
- if($res==1001){
- $rs['code']=1001;
- $rs['msg']='评论信息不存在';
- return $rs;
- }
- $rs['info'][0]=$res;
- return $rs;
- }
- /**
- * 获取热门视频
- * @desc 用于获取热门视频
- * @return int code 操作码,0表示成功
- * @return array info 视频列表
- * @return object info[].userinfo 用户信息
- * @return string info[].datetime 格式后的发布时间
- * @return string info[].islike 是否点赞
- * @return string info[].isattent 是否关注
- * @return string info[].thumb_s 封面小图,分享用
- * @return string info[].comments 评论总数
- * @return string info[].likes 点赞数
- * @return string msg 提示信息
- */
- public function getVideoList() {
-
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
- $uid=checkNull($this->uid);
- $p=checkNull($this->p);
- $isBlackUser=isBlackUser($uid);
- if($isBlackUser=='0'){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
-
- $key='videoHot_'.$p;
- $info=getcache($key);
- if(!$info){
- $domain = new Domain_Video();
- $info= $domain->getVideoList($uid,$p);
- if($info==10010){
- $rs['code'] = 0;
- $rs['msg'] = "暂无视频列表";
- return $rs;
- }
-
- setcaches($key,$info,2);
- }
-
- $rs['info'] =$info;
- return $rs;
- }
-
- /**
- * 获取视频详情
- * @desc 用于获取视频详情
- * @return int code 操作码,0表示成功,1000表示视频不存在 1001 需要登录 1002 购买vip 1003 支付钻石
- * @return array info[0] 视频详情
- * @return object info[0].userinfo 用户信息
- * @return string info[0].datetime 格式后的时间差
- * @return string info[0].isattent 是否关注
- * @return string info[0].likes 点赞数
- * @return string info[0].comments 评论数
- * @return string info[0].views 阅读数
- * @return string info[0].steps 踩一踩数量
- * @return string info[0].shares 分享数量
- * @return string info[0].islike 是否点赞
- * @return string info[0].isstep 是否踩
- * @return string msg 提示信息
- */
- public function getVideo() {
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
- $uid=checkNull($this->uid);
- $videoid=checkNull($this->videoid);
- $mobileid=checkNull($this->mobileid);
- if($uid<0&&!$mobileid){
- $rs['code'] = 999;
- $rs['msg'] = "手机识别码获取失败";
- return $rs;
- }
- $domain = new Domain_Video();
- $result = $domain->getVideo($uid,$videoid);
- if($result==1000){
- $rs['code'] = 999;
- $rs['msg'] = "视频已删除";
- return $rs;
- }
- $rs['info'][0]=$result;
- return $rs;
- }
- /**
- * 获取视频评论列表
- * @desc 用于获取视频评论列表
- * @return int code 操作码,0表示成功
- * @return array info
- * @return string info[0].comments 评论总数
- * @return array info[0].commentlist 评论列表
- * @return object info[0].commentlist[].userinfo 用户信息
- * @return string info[0].commentlist[].datetime 格式后的时间差
- * @return string info[0].commentlist[].replys 回复总数
- * @return string info[0].commentlist[].likes 点赞数
- * @return string info[0].commentlist[].islike 是否点赞
- * @return string msg 提示信息
- */
- public function getComments() {
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
- $uid=checkNull($this->uid);
- $videoid=checkNull($this->videoid);
- $p=checkNull($this->p);
- $isBlackUser=isBlackUser($uid);
- if($isBlackUser=='0'){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $domain = new Domain_Video();
- $rs['info'][0] = $domain->getComments($uid,$videoid,$p);
- return $rs;
- }
-
- /**
- * 获取视频评论回复列表
- * @desc 用于获取视频评论回复列表
- * @return int code 操作码,0表示成功
- * @return array info 评论列表
- * @return object info[].userinfo 用户信息
- * @return string info[].datetime 格式后的时间差
- * @return object info[].tocommentinfo 回复的评论的信息
- * @return object info[].tocommentinfo.content 评论内容
- * @return string info[].likes 点赞数
- * @return string info[].islike 是否点赞
- * @return string msg 提示信息
- */
- public function getReplys() {
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
- $uid=checkNull($this->uid);
- $commentid=checkNull($this->commentid);
- $last_replyid=checkNull($this->last_replyid);
- $p=checkNull($this->p);
- $isBlackUser=isBlackUser($uid);
- if($isBlackUser=='0'){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $domain = new Domain_Video();
- $res = $domain->getReplys($uid,$commentid,$last_replyid,$p);
- $rs['info'][0]['lists']=$res['lists'];
- $rs['info'][0]['replys']=$res['replys'];
- return $rs;
- }
-
-
- /**
- * 删除评论以及子级评论
- * @desc 用于删除评论以及子级评论
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- */
- public function delComments() {
- $rs = array('code' => 0, 'msg' => '删除成功', 'info' => array());
-
- $uid=checkNull($this->uid);
- $token=checkNull($this->token);
- $videoid=checkNull($this->videoid);
- $commentid=checkNull($this->commentid);
- $commentuid=checkNull($this->commentuid);
- $checkToken=checkToken($uid,$token);
- if($checkToken==700){
- $rs['code'] = $checkToken;
- $rs['msg'] = '您的登陆状态失效,请重新登陆!';
- return $rs;
- }else if($checkToken==10020){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
-
- $domain = new Domain_Video();
- $info = $domain->delComments($uid,$videoid,$commentid,$commentuid);
-
- if($info==1001){
- $rs['code'] = 1001;
- $rs['msg'] = '视频信息错误,请稍后操作~';
- }else if($info==1002){
- $rs['code'] = 1002;
- $rs['msg'] = '您无权进行删除操作~';
- }
- return $rs;
- }
-
-
- /**
- * 获取用户发布的视频
- * @desc 用于获取我发布的视频
- * @return int code 操作码,0表示成功
- * @return array info 视频列表
- * @return array info[].userinfo 用户信息
- * @return string info[].datetime 格式后的发布时间
- * @return string info[].islike 是否点赞
- * @return string msg 提示信息
- */
- public function getMyVideo() {
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
-
- $uid=checkNull($this->uid);
- $token=checkNull($this->token);
- $p=$this->p;
-
- $checkToken=checkToken($uid,$token);
- if($checkToken==700){
- $rs['code'] = $checkToken;
- $rs['msg'] = '您的登陆状态失效,请重新登陆!';
- return $rs;
- }else if($checkToken==10020){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $domain = new Domain_Video();
- $rs['info'] = $domain->getMyVideo($uid,$p);
- return $rs;
- }
-
- /**
- * 下架视频以及相关信息
- * @desc 用于下架视频以及相关信息
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- */
- public function del() {
- $rs = array('code' => 0, 'msg' => '删除成功', 'info' => array());
-
- $uid=checkNull($this->uid);
- $token=checkNull($this->token);
- $videoid=checkNull($this->videoid);
- $checkToken=checkToken($uid,$token);
- if($checkToken==700){
- $rs['code'] = $checkToken;
- $rs['msg'] = '您的登陆状态失效,请重新登陆!';
- return $rs;
- }else if($checkToken==10020){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
-
- $domain = new Domain_Video();
- $info = $domain->del($uid,$videoid);
- return $rs;
- }
- /**
- * 举报视频
- * @desc 用于举报视频
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- */
- public function report() {
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
-
- $uid=checkNull($this->uid);
- $token=checkNull($this->token);
- $videoid=checkNull($this->videoid);
- $content=checkNull($this->content);
- $checkToken=checkToken($uid,$token);
- if($checkToken==700){
- $rs['code'] = $checkToken;
- $rs['msg'] = '您的登陆状态失效,请重新登陆!';
- return $rs;
- }else if($checkToken==10020){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $data=array(
- 'uid'=>$uid,
- 'videoid'=>$videoid,
- 'content'=>$content,
- 'addtime'=>time(),
- );
- $domain = new Domain_Video();
- $info = $domain->report($data);
-
- if($info==1000){
- $rs['code'] = 1001;
- $rs['msg'] = '视频不存在';
- return $rs;
- }
- return $rs;
- }
- /**
- * 获取个人主页视频
- * @desc 用于获取个人主页视频
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- */
- public function getHomeVideo() {
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
- $uid=checkNull($this->uid);
- $touid=checkNull($this->touid);
- $p=checkNull($this->p);
- $isBlackUser=isBlackUser($uid);
- if($isBlackUser=='0'){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- $domain = new Domain_Video();
- $info = $domain->getHomeVideo($uid,$touid,$p);
-
-
- $rs['info']=$info;
- return $rs;
- }
-
- /**
- * 检测文件后缀
- * @desc 用于检测文件后缀
- * @return int code 操作码,0表示成功
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- */
- public function checkExt($filename){
- $config=array("jpg","png","jpeg");
- $ext = pathinfo(strip_tags($filename), PATHINFO_EXTENSION);
-
- return empty($config) ? true : in_array(strtolower($ext), $config);
- }
-
- /**
- * 获取七牛上传Token
- * @desc 用于获取七牛上传Token
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- * @return array info 返回信息
- */
- private function getQiniuToken(){
-
- //获取后台配置的七牛云存储信息
- $configPri=getConfigPri();
-
- $token = DI()->qiniu->getQiniuToken1($configPri['qiniu_accesskey'],$configPri['qiniu_secretkey'],$configPri['qiniu_bucket']);
-
- return $token;
-
- }
-
- /**
- * 获取推荐视频
- * @desc 用户获取推荐视频
- * @return int code 状态码,0表示成功
- * @return string msg 提示信息
- * @return array info 返回信息
- * @return string info[0].id 视频id
- * @return string info[0].uid 视频发布者id
- * @return string info[0].title 视频标题
- * @return string info[0].thumbs 视频封面
- * @return string info[0].thumbs 视频小封面
- * @return string info[0].href 视频链接
- * @return string info[0].likes 视频被喜欢总数
- * @return string info[0].views 视频被观看总数
- * @return string info[0].comments 视频评论总数
- * @return string info[0].steps 视频被踩总数
- * @return string info[0].shares 视频分享总数
- * @return string info[0].addtime 视频发布时间
- * @return string info[0].lat 纬度
- * @return string info[0].lng 经度
- * @return string info[0].city 城市
- * @return string info[0].isdel 是否删除
- * @return string info[0].datetime 视频发布时间格式化
- * @return string info[0].islike 是否喜欢了该视频
- * @return string info[0].isattent 是否关注
- * @return string info[0].isstep 是否踩了该视频
- * @return array info[0].userinfo 视频发布者信息
- * @return string info[0].userinfo.id 视频发布者id
- * @return string info[0].userinfo.user_nicename 视频发布者昵称
- * @return string info[0].userinfo.avatar 视频发布者头像
- * @return string info[0].userinfo.avatar_thumb 视频发布者小头像
- * @return string info[0].userinfo.sex 视频发布者性别
- * @return string info[0].userinfo.signature 视频发布者签名
- * @return string info[0].userinfo.privince 视频发布者省份
- * @return string info[0].userinfo.city 视频发布者市
- * @return string info[0].userinfo.birthday 视频发布者生日
- * @return string info[0].userinfo.age 视频发布者年龄
- * @return string info[0].userinfo.praise 视频发布者被赞总数
- * @return string info[0].userinfo.fans 视频发布者粉丝数
- * @return string info[0].userinfo.follows 视频发布者关注数
- * @return array info[0].musicinfo 背景音乐信息
- * @return array info[0].musicinfo.id 背景音乐id
- * @return array info[0].musicinfo.title 背景音乐标题
- * @return array info[0].musicinfo.author 背景音乐作者
- * @return array info[0].musicinfo.img_url 背景音乐封面地址
- * @return array info[0].musicinfo.length 背景音乐长度
- * @return array info[0].musicinfo.file_url 背景音乐地址
- * @return array info[0].musicinfo.use_nums 背景音乐使用次数
- */
- public function getRecommendVideos(){
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
- $uid=checkNull($this->uid);
- $p=checkNull($this->p);
- $isstart=checkNull($this->isstart);
- $mobileid=checkNull($this->mobileid);
- if($uid>0){ //非游客
- $isBlackUser=isBlackUser($uid);
- if($isBlackUser=='0'){
- $rs['code'] = 700;
- $rs['msg'] = '该账号已被禁用';
- return $rs;
- }
- }
-
-
- $key='videoRecommend_'.$p;
- $info=getcache($key);
-
- if(!$info){
- $domain=new Domain_Video();
- $info=$domain->getRecommendVideos($uid,$p,$isstart,$mobileid);
- if($info==1001 || !$info){
- $rs['code']=0;
- $rs['msg']="暂无视频列表";
- return $rs;
- }
- setcaches($key,$info,2);
- }
-
- $rs['info']=$info;
- return $rs;
- }
-
- /**
- * 获取视频举报分类列表
- * @desc 获取视频举报分类列表
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- * @return array info 返回信息
- */
- public function getReportContentlist() {
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
- $domain = new Domain_Video();
- $res = $domain->getReportContentlist();
- if($res==1001){
- $rs['code']=1001;
- $rs['msg']='暂无举报分类列表';
- return $rs;
- }
- $rs['info']=$res;
- return $rs;
- }
- /**
- * 更新视频看完次数
- * @desc 更新视频看完次数
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- * @return array info 返回信息
- */
- public function setConversion(){
- $rs = array('code' => 0, 'msg' => '视频完整观看次数更新成功', 'info' => array());
- $uid=checkNull($this->uid);
- $videoid=checkNull($this->videoid);
- $random_str=checkNull($this->random_str);
- //md5加密验证字符串
- $str=md5($uid.'-'.$videoid.'-'.'#2hgfk85cm23mk58vncsark');
- if($random_str!==$str){
- $rs['code'] = 1001;
- $rs['msg'] = '视频完整观看次数更新失败';
- return $rs;
- }
- $domain = new Domain_Video();
- $res = $domain->setConversion($videoid);
-
- return $rs;
- }
- /**
- * 根据音乐id获取视频列表
- * @desc 根据音乐id获取视频列表
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- * @return array info 返回信息
- * @return array info[0]['videolist'] 返回视频列表
- * @return array info[0]['musicinfo']['title'] 音乐名称
- * @return array info[0]['musicinfo']['author'] 音乐作者
- * @return array info[0]['musicinfo']['img_url'] 音乐封面地址
- * @return array info[0]['musicinfo']['file_url'] 音乐地址
- * @return array info[0]['musicinfo']['use_nums'] 音乐使用人数
- * @return array info[0]['musicinfo']['length'] 音乐长度
- */
- public function getVideoListByMusic(){
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
- $uid=checkNull($this->uid);
- $musicid=checkNull($this->musicid);
- $p=checkNull($this->p);
- if(!$uid){ //保险起见,防止app用户被顶替登录时,点击拍同款app提示错误
- $uid=-999;
- }
- $domain=new Domain_Video();
-
- $musicinfo=$domain->getMusicInfo($musicid);
- if($musicinfo==1001){
- $rs['code']=1001;
- $rs['msg']="音乐已下架";
- return $rs;
- }
- $res=$domain->getVideoListByMusic($uid,$musicid,$p);
- $rs['info'][0]['videolist']=$res;
- $rs['info'][0]['musicinfo']=$musicinfo;
- return $rs;
- }
- /**
- * 获取云存储方式、获取七牛上传验证token字符串、获取腾讯云存储相关配置信息、获取亚马逊存储相关配置信息
- * @desc 用于获取云存储方式、获取七牛上传验证token字符串、获取腾讯云存储相关配置信息、获取亚马逊存储相关配置信息
- * @return int code 操作码,0表示成功
- * @return string msg 提示信息
- * @return array info 返回信息
- */
- public function getCosInfo(){
- $rs=array("code"=>0,"msg"=>"","info"=>array());
- //获取七牛信息
- $qiniuToken=$this->getQiniuToken();
- //获取腾讯云存储配置信息
- $configpri=getConfigPri();
- if(!$configpri['cloudtype']){
- $rs['code']=1001;
- $rs['msg']="无指定存储方式";
- return $rs;
- }
-
- $qiniu_domain_url=$configpri['qiniu_protocol']."://".$configpri['qiniu_domain']."/";
- $qiniuInfo=array(
- 'qiniuToken'=>$qiniuToken,
- 'qiniu_domain'=>$qiniu_domain_url,
- 'qiniu_zone'=>'qiniu_hd' //华东:qiniu_hd 华北:qiniu_hb 华南:qiniu_hn 北美:qiniu_bm 新加坡:qiniu_xjp 不可随意更改,app已固定好规则
- );
- $rs['info'][0]['qiniuInfo']=$qiniuInfo;
- $cloudtype="qiniu";
- $rs['info'][0]['cloudtype']=$cloudtype;
-
- return $rs;
-
- }
- /**
- * 获取城市列表
- * @desc 用于获取城市列表
- * @return int code 操作码,0表示成功
- * @return array info
- * @return string info[0].id 视频记录ID
- * @return string msg 提示信息
- */
- public function getCitys() {
- $rs = array('code' => 0, 'msg' => '', 'info' => array());
-
- $key='getCitys';
- $info=getcaches($key);
- if(!$info){
- $city=API_ROOT.'/../PhalApi/Config/city.json';
- // 从文件中读取数据到PHP变量
- $json_string = file_get_contents($city);
- // 用参数true把JSON字符串强制转成PHP数组
- $data = json_decode($json_string, true);
- $info=$data['city']; //城市
-
- setcaches($key,$info);
- }
-
-
- $rs['info']=$info;
- return $rs;
- }
-
- }
|