diff --git a/app/common/model/Article.php b/app/common/model/Article.php index 4097261..6bdf4ad 100644 --- a/app/common/model/Article.php +++ b/app/common/model/Article.php @@ -123,7 +123,7 @@ class Article extends Model 'user' => function($query){ $query->field('id,name,nickname,user_img,area_id,vip'); } ]) - ->withCount(['comments'])->where(['status'=>1,'delete_time'=>0])->order('create_time','desc')->limit($num)->select(); + ->withCount(['comments'])->where(['status'=>1,'is_top'=>0])->order('create_time','desc')->limit($num)->select(); Cache::tag('tagArt')->set('artlist',$artList,60); } return $artList; diff --git a/app/index/controller/Article.php b/app/index/controller/Article.php index 1f7dc71..e4eb217 100644 --- a/app/index/controller/Article.php +++ b/app/index/controller/Article.php @@ -290,6 +290,28 @@ class Article extends BaseController return json($res); } + //上传附件 + public function upVideo() + { + $file = request()->file('file'); + try { + validate(['file'=>'fileSize:10240000|fileExt:mp4,jpg,png,jpeg']) + ->check(['file'=>$file]); + $savename = \think\facade\Filesystem::disk('public')->putFile('video',$file); + } catch (ValidateException $e) { + return json(['status'=>-1,'msg'=>$e->getMessage()]); + } + $upload = Config::get('filesystem.disks.public.url'); + + if($savename){ + $name_path =str_replace('\\',"/",$upload.'/'.$savename); + $res = ['status'=>0,'msg'=>'上传成功','url'=> $name_path]; + }else{ + $res = ['status'=>-1,'msg'=>'上传错误']; + } + return json($res); + } + //附件下载 public function download($id) { diff --git a/app/index/controller/Sign.php b/app/index/controller/Sign.php index bba3ba1..80539e1 100644 --- a/app/index/controller/Sign.php +++ b/app/index/controller/Sign.php @@ -5,9 +5,6 @@ use app\common\controller\BaseController; use app\common\model\User; use think\facade\Session; use think\facade\Db; -use think\facade\View; -use think\Collection; -use think\Response; use taoler\com\Level; class Sign extends BaseController @@ -22,7 +19,7 @@ class Sign extends BaseController $res = []; $res['status'] = 0; - //最新 + //最新签到 $newlist = Db::name('user_sign')->alias('s')->join('user u', 's.uid=u.id')->field('s.*,u.name as name,u.user_img as user_img')->order('id desc')->limit(20)->select(); if(count($newlist)){ @@ -45,11 +42,11 @@ class Sign extends BaseController $res['data'][1] = []; } - //总榜 + //签到排行榜 $totallist = Db::name('user_sign')->alias('s')->leftJoin('user u', 's.uid=u.id')->field('uid,s.id as id,max(days) as days,name,user_img')->group('uid')->order('days desc')->limit(20)->select(); if(count($totallist)){ foreach($totallist as $t){ - $total = ['uid'=>$t['uid'],'days'=>$f['days'],'user'=>['username'=>$t['name'],'avatar'=>$t['user_img']]]; + $total = ['uid'=>$t['uid'],'days'=>$t['days'],'user'=>['username'=>$t['name'],'avatar'=>$t['user_img']]]; $res['data'][2][] = $total; } } else { @@ -58,44 +55,48 @@ class Sign extends BaseController return json($res); } - - //签到状态 + + /** + * @return \think\response\Json + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + */ public function status() { if(session('user_id')){ $res = $this->todayData()->getData(); + if($res['is_sign'] == 1){ return json(['status'=>0,'msg'=>'已签到','data'=>['signed'=>$res['is_sign'],'token'=>'1111','experience'=>$res['score'],'days'=>$res['days']]]); } else { - return json(['status'=>0,'msg'=>'未签到','data'=>['signed'=>0,'token'=>'1111','experience'=>$res['will_getscore'],'days'=>$res['days']]]); + return json(['status'=>0,'msg'=>'未签到','data'=>['signed'=>0,'experience'=>$res['will_getscore'],'days'=>$res['days']]]); } } else { return json(['status'=>0,'msg'=>'未登陆']); } } - - //执行签到 /** - * 执行当天签到 - * @return json 签到成功返回 {status:1,info:'已签到'} + * 执行签到,返回json status 0成功 + * @return \think\response\Json + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException */ public function sign() { if (!Session::has('user_id') || !Session::has('user_name')) { - return json(['status'=>1,'code' => -1, 'msg' => '亲,登陆后才能签到哦','url' => url('Login/index')]); + return json(['status'=>1,'code' => -1, 'msg' => '亲,登陆后才能签到哦']); } else { $uid = $this->uid; $todayData = $this->todayData()->getData(); - //var_dump($todayData); - if ($todayData['is_sign'] == 1) { //数组中是返回的是一个对象,不能直接用[]来显示,正确的输出方法是:$pic[0]->title问题解决! - //exit('{"code":-1,"msg":"你今天已经签过到了"}'); - return json(['status'=>1,'code'=>-1,'msg'=>'你今天已签过到!']); + if ($todayData['is_sign'] == 1) { + return json(['status'=>1,'code'=>1,'msg'=>'你今天已签过到!']); } else { $data = $this->getInsertData($uid); - $days = $data['days']; // 无今天数据 $data['uid'] = $uid; @@ -126,15 +127,16 @@ class Sign extends BaseController //point_note($score, $uid, $id); //到达积分值升级Vip等级 - $viplv = Level::writeLv($uid); + Level::writeLv($uid); } return json(['status'=>0,'code'=>200,'msg'=>$msg,'data'=>['signed'=>1,'experience'=>$score,'days'=>$days]]); } else { - return json(['status'=>1,'code'=>-1,'msg'=>'签到失败,请刷新后重试!']); + return json(['status'=>1,'code'=>1,'msg'=>'签到失败,请刷新后重试!']); } } } } + /** * 返回每次签到要插入的数据 * @@ -150,7 +152,7 @@ class Sign extends BaseController // 昨天的连续签到天数 $start_time = strtotime(date('Y-m-d 0:0:0', time() - 86400)) - 1; $end_time = strtotime(date('Y-m-d 23:59:59', time() - 86400)) + 1; - $days = Db::name('user_sign')->where("uid = $uid and stime > $start_time and stime < $end_time")->value('days'); + $days = Db::name('user_sign')->where('uid', $uid)->whereBetweenTime('stime', $start_time, $end_time)->value('days'); if ($days) { $days++; $is_sign = 1; @@ -170,16 +172,20 @@ class Sign extends BaseController 'stime' => $time, ]; } + /** - * 用户当天签到的数据 - * @return array 签到信息 is_sign,stime 等 + * 用户当天签到的数据 返回Array + * @return \think\response\Json + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException */ public function todayData() { $time = time(); $start_stime = strtotime(date('Y-m-d 0:0:0', $time)) - 1; $end_stime = strtotime(date('Y-m-d 23:59:59', $time)) + 1; - $res = Db::name('user_sign')->where('uid',session('user_id'))->where('stime', '>', $start_stime and 'stime', '<', $end_stime)->find(); + $res = Db::name('user_sign')->where('uid',session('user_id'))->whereTime('stime', 'between', [$start_stime,$end_stime])->find(); $score = 0; if ($res) { $is_sign = 1; @@ -295,12 +301,11 @@ class Sign extends BaseController $start_stime = strtotime("$year-$month-1 0:0:0") - 1; $end_stime = strtotime("$year-$month-$day 23:59:59") + 1; $list = Db::name('user_sign')->where("uid = {$this->uid} and stime > $start_stime and stime < $end_stime")->order('stime asc')->column('stime'); - //if(is_array($list)){ + foreach ($list as $key => $value) { $list[$key] = date('j', $value); } - //} - //return $list; + return json_encode($list); } diff --git a/app/index/lang/zh-cn.php b/app/index/lang/zh-cn.php index 8566626..6e6c146 100644 --- a/app/index/lang/zh-cn.php +++ b/app/index/lang/zh-cn.php @@ -56,9 +56,9 @@ return [ 'finished' => '已结', 'end' => '已结', 'no finished' => '未结', - 'hot' => '热贴', - 'top' => '精贴', - 'cancel hoting' => '取消精贴', + 'hot' => '加精', + 'top' => '置顶', + 'cancel hoting' => '取消加精', 'cancel topping' => '取消置顶', 'go sign' => '去签到', 'more post' => '更多帖子', diff --git a/app/index/lang/zh-tw.php b/app/index/lang/zh-tw.php index f587343..47ff9cf 100644 --- a/app/index/lang/zh-tw.php +++ b/app/index/lang/zh-tw.php @@ -56,9 +56,9 @@ return [ 'finished' => '已結', 'end' => '已結', 'no finished' => '未結', - 'hot' => '熱貼', - 'top' => '精貼', - 'cancel hoting' => '取消精貼', + 'hot' => '加精', + 'top' => '置頂', + 'cancel hoting' => '取消加精', 'cancel topping' => '取消置頂', 'go sign' => '去簽到', 'more post' => '更多帖子', diff --git a/public/static/res/css/plyr.css b/public/static/res/css/plyr.css new file mode 100644 index 0000000..e92820c --- /dev/null +++ b/public/static/res/css/plyr.css @@ -0,0 +1 @@ +.plyr input[type=range]:focus,.plyr:focus{outline:0}.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;border-radius:inherit;overflow:hidden;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip::before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)} \ No newline at end of file diff --git a/public/static/res/mods/index.js b/public/static/res/mods/index.js index b35b9f8..319e220 100644 --- a/public/static/res/mods/index.js +++ b/public/static/res/mods/index.js @@ -3,7 +3,6 @@ @Name: Fly社区主入口 2021-5.21 */ - layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(exports){ @@ -37,7 +36,6 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( } }; - //数字前置补零 layui.laytpl.digit = function(num, length, end){ var str = ''; @@ -102,6 +100,8 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( ,'' ,'' ,'hr' + ,'' + ,'' ,'' ,''].join(''); @@ -244,6 +244,105 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( layui.focusInsert(editor[0], '[hr]\n'); editor.trigger('keyup'); } + ,video: function(editor){ //插入视频 + layer.open({ + type: 1 + ,id: 'fly-jie-video-upload' + ,title: '插入视频' + ,shade: false + ,area: '465px' + ,skin: 'layui-layer-border' + ,content: [''].join('') + ,success: function(layero, index){ + var loding, video = layero.find('input[name="video"]'), cover = layero.find('input[name="cover"]'); + upload.render({ + url: '/article/upVideo/' + ,before: function(input){ loding = layer.msg('文件上传中,请稍等哦', { icon: 16 ,shade:0.3,time:0 }); } + ,elem: '#fly-jie-video-upload .layui-upload-file' + ,success: function(res,input){ + layer.close(loding); + if(res.status == 0){ + if($(input).attr('lay-type') == 'image'){ + cover.val(res.data); + }else{ + video.val(res.data); + } + } else { + layer.msg(res.msg, {icon: 5}); + } + } + }); + form.on('submit(uploadImages)', function(data){ + var field = data.field; + if(!field.video) return video.focus(); + layui.focusInsert(editor[0], 'video('+field.cover+')['+ field.video + '] '); + layer.close(index); + }); + } + }); + } + ,audio: function(editor){ //插入音频 + layer.open({ + type: 1 + ,id: 'fly-jie-audio-upload' + ,title: '插入音频' + ,shade: false + ,area: '465px' + ,skin: 'layui-layer-border' + ,content: [''].join('') + ,success: function(layero, index){ + var loding,image = layero.find('input[name="audio"]'); + + upload.render({ + url: '/Ajax/ThreadUpload/',elem: '#fly-jie-audio-upload .layui-upload-file' + ,before: function(input){ loding = layer.msg('文件上传中,请稍等哦', { icon: 16 ,shade:0.3,time:0 }); } + ,success: function(res){ + layer.close(loding); + if(res.status == 1){ + image.val(res.data); + } else { + layer.msg(res.msg, {icon: 5}); + } + } + }); + form.on('submit(uploadImages)', function(data){ + var field = data.field; + if(!field.audio) return image.focus(); + layui.focusInsert(editor[0], 'audio['+ field.audio + '] '); + layer.close(index); + }); + } + }); + } ,preview: function(editor, span){ //预览 var othis = $(span), getContent = function(){ var content = editor.val(); @@ -388,6 +487,18 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( //转义换行 .replace(/\n/g, '
') + //转义视频 + .replace(/video\(.*?\)\[([^\s]+?)\]/g, function(str){ + var cover = (str.match(/video\(([\s\S]+?)\)\[/)||[])[1]; + var video = (str.match(/\)\[([^\s]+?)\]/)||[])[1]; + cover = cover ? cover : '/Public/Topic/images/video_cover.jpg'; + return ''; + }) + //转义音频 + .replace(/audio\[([^\s]+?)\]/g, function(audio){ + return ''; + }) + return content; } @@ -475,8 +586,10 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( } //刷新图形验证码 - $('body').on('click', '.fly-imagecode', function(){ - this.src = '/index/captcha?id='+ new Date().getTime(); + $('body').on('click', '#captcha111', function(){ + var othis = $(this); + othis.attr('src', othis.attr('src')+'?'+ new Date().getTime()); + //console.log(othis.attr('src')); }); //头条轮播 @@ -543,7 +656,7 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( if(elemSigninMain[0]){ - fly.json('/sign/status', function(res){ + fly.json(signStatusUrl, function(res){ if(!res.data) return; signRender.token = res.data.token; signRender(res.data); @@ -551,10 +664,20 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( } $('body').on('click', '#LAY_signin', function(){ + //登录判断 + var uid = layui.cache.user.uid; + if(uid == -1){ + console.log(uid); + layer.msg('请登录再评论', {icon: 6}, function(){ + location.href = login; + }) + return false; + } + var othis = $(this); if(othis.hasClass(DISABLED)) return; - fly.json('/sign/sign/', { + fly.json(signInUrl, { token: signRender.token || 1 }, function(res){ signRender(res.data); @@ -570,7 +693,7 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( //签到说明 elemSigninHelp.on('click', function(){ - $.getJSON('/sign/getsignrule', function(data) { + $.getJSON(signRuleUrl, function(data) { //拼接表格字符串 var $str = ''; @@ -611,10 +734,12 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( ,'' ,'{{item.user.username}}' ,'' - ,'{{# var date = new Date(item.time); if(d.index < 2){ }}' - ,'签到于 {{ layui.laytpl.digit(date.getHours()) + ":" + layui.laytpl.digit(date.getMinutes()) + ":" + layui.laytpl.digit(date.getSeconds()) }}' + ,'{{# var date = new Date(item.time); if(d.index === 0) { }}' + ,' {{ layui.laytpl.digit(date.getFullYear()) + "-" + layui.laytpl.digit(date.getMonth()+1) + "-" + layui.laytpl.digit(date.getDate())}} 签到 ' + ,'{{# } else if(d.index == 1) { }}' + ,'签到于 {{ layui.laytpl.digit(date.getHours()) + ":" + layui.laytpl.digit(date.getMinutes()) + ":" + layui.laytpl.digit(date.getSeconds()) }} ' ,'{{# } else { }}' - ,'已连续签到 {{ item.days }}' + ,'已连续签到 {{ item.days }}' ,'{{# } }}' ,'' ,'{{# }); }}' @@ -628,7 +753,7 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function( elemSigninTop.on('click', function(){ var loadIndex = layer.load(1, {shade: 0.8}); - fly.json('/sign/signJson', function(res){ //实际使用,请将 url 改为真实接口 + fly.json(signJsonUrl, function(res){ //实际使用,请将 url 改为真实接口 var tpl = $(['
' ,'