mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-22 03:32:47 +08:00
增加发送请求前检查是否登录
This commit is contained in:
parent
5cbb11141b
commit
cd8e84b574
@ -57,7 +57,6 @@ class SyncChapterCounterTask extends Task
|
||||
if ($allowRecount) {
|
||||
|
||||
$chapter->user_count = $chapterRepo->countUsers($chapter->id);
|
||||
$chapter->lesson_count = $chapterRepo->countLessons($chapter->id);
|
||||
$chapter->comment_count = $chapterRepo->countComments($chapter->id);
|
||||
$chapter->like_count = $chapterRepo->countLikes($chapter->id);
|
||||
$chapter->update();
|
||||
@ -72,7 +71,6 @@ class SyncChapterCounterTask extends Task
|
||||
if ($counter) {
|
||||
|
||||
$chapter->user_count = $counter['user_count'];
|
||||
$chapter->lesson_count = $counter['lesson_count'];
|
||||
$chapter->comment_count = $counter['comment_count'];
|
||||
$chapter->like_count = $counter['like_count'];
|
||||
$chapter->update();
|
||||
@ -94,7 +92,7 @@ class SyncChapterCounterTask extends Task
|
||||
|
||||
protected function allowRecount()
|
||||
{
|
||||
return date('H') % 2 == 0;
|
||||
return date('H') % 3 == 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ class SyncCommentCounterTask extends Task
|
||||
|
||||
protected function allowRecount()
|
||||
{
|
||||
return date('H') == 5;
|
||||
return date('H') % 4 == 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ class SyncConsultCounterTask extends Task
|
||||
|
||||
protected function allowRecount()
|
||||
{
|
||||
return date('H') == 1;
|
||||
return date('H') % 4 == 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -71,12 +71,15 @@ class SyncCourseCounterTask extends Task
|
||||
$counter = $counterCache->get($course->id);
|
||||
|
||||
if ($counter) {
|
||||
|
||||
$course->user_count = $counter['user_count'];
|
||||
$course->comment_count = $counter['comment_count'];
|
||||
$course->consult_count = $counter['consult_count'];
|
||||
$course->review_count = $counter['review_count'];
|
||||
$course->favorite_count = $counter['favorite_count'];
|
||||
$course->update();
|
||||
|
||||
$courseCache->rebuild($course->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -93,7 +96,7 @@ class SyncCourseCounterTask extends Task
|
||||
|
||||
protected function allowRecount()
|
||||
{
|
||||
return date('H') % 2 == 0;
|
||||
return date('H') % 3 == 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ class SyncReviewCounterTask extends Task
|
||||
|
||||
protected function allowRecount()
|
||||
{
|
||||
return date('H') == 2;
|
||||
return date('H') % 4 == 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ class PublicController extends \Phalcon\Mvc\Controller
|
||||
{
|
||||
$text = $this->request->getQuery('text');
|
||||
$level = $this->request->getQuery('level', 'int', 0);
|
||||
$size = $this->request->getQuery('size', 'int', 3);
|
||||
$size = $this->request->getQuery('size', 'int', 5);
|
||||
|
||||
$url = urldecode($text);
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
<div class="footer">
|
||||
<span class="time">{{ date('Y-m-d H:i',item.create_time) }}</span>
|
||||
<span class="like">
|
||||
<i class="layui-icon layui-icon-praise like-icon" data-url="{{ like_url }}"></i>
|
||||
<i class="layui-icon layui-icon-praise icon-praise" data-url="{{ like_url }}"></i>
|
||||
<em class="like-count">{{ item.like_count }}</em>
|
||||
</span>
|
||||
</div>
|
||||
|
@ -30,14 +30,24 @@
|
||||
难度 <span>{{ level_info(course.level) }}</span>
|
||||
课时 <span>{{ course.lesson_count }}</span>
|
||||
学员 <span>{{ course.user_count }}</span>
|
||||
收藏 <span>{{ course.favorite_count }}</span>
|
||||
评分 <span>{{ course.rating }}</span>
|
||||
</p>
|
||||
|
||||
{% set favorite_url = url({'for':'web.course.favorite','id':course.id}) %}
|
||||
{% set course_url = url({'for':'web.course.show','id':course.id}) %}
|
||||
{% set qrcode_url = url({'for':'web.qrcode_img'},{'text':'http://baidu.com','size':5}) %}
|
||||
|
||||
<div class="layui-hide">
|
||||
<input type="hidden" name="course.title" value="{{ course.title }}">
|
||||
<input type="hidden" name="course.cover" value="{{ course.cover }}">
|
||||
<input type="hidden" name="course.url" value="{{ course_url }}">
|
||||
<input type="hidden" name="course.qrcode" value="{{ qrcode_url }}">
|
||||
</div>
|
||||
|
||||
<div class="share">
|
||||
<a class="favorite" href="javascript:"><i class="layui-icon layui-icon-heart"></i></a>
|
||||
<a class="mobile" href="javascript:"><i class="layui-icon layui-icon-cellphone"></i></a>
|
||||
<a class="weibo" href="javascript:"><i class="layui-icon layui-icon-login-weibo"></i></a>
|
||||
<a class="wechat" href="javascript:"><i class="layui-icon layui-icon-login-wechat"></i></a>
|
||||
<a class="qq" href="javascript:"><i class="layui-icon layui-icon-login-qq"></i></a>
|
||||
<a href="javascript:" title="收藏" data-url="{{ favorite_url }}"><i class="layui-icon layui-icon-heart icon-heart"></i></a>
|
||||
<a href="javascript:" title="分享到微信" data-url="{{ qrcode_url }}"><i class="layui-icon layui-icon-login-wechat icon-wechat"></i></a>
|
||||
<a href="javascript:" title="分享到QQ空间"><i class="layui-icon layui-icon-login-qq icon-qq"></i></a>
|
||||
<a href="javascript:" title="分享到微博"><i class="layui-icon layui-icon-login-weibo icon-weibo"></i></a>
|
||||
</div>
|
||||
</div>
|
@ -23,7 +23,7 @@
|
||||
<div class="footer">
|
||||
<span class="time">{{ date('Y-m-d H:i',item.create_time) }}</span>
|
||||
<span class="like">
|
||||
<i class="layui-icon layui-icon-praise like-icon" title="点赞" data-url="{{ like_url }}"></i>
|
||||
<i class="layui-icon layui-icon-praise icon-praise" title="点赞" data-url="{{ like_url }}"></i>
|
||||
<em class="like-count">{{ item.like_count }}</em>
|
||||
</span>
|
||||
</div>
|
||||
|
@ -25,7 +25,16 @@
|
||||
{% set show_tab_reviews = course.review_count > 0 ? 1 : 0 %}
|
||||
|
||||
<div class="layout-content">
|
||||
<div class="wrap">
|
||||
<div class="course-tab-wrap wrap">
|
||||
{% if show_tab_packages == 1 %}
|
||||
<span class="tab-count package-count">{{ course.package_count }}</span>
|
||||
{% endif %}
|
||||
{% if show_tab_consults == 1 %}
|
||||
<span class="tab-count consult-count">{{ course.consult_count }}</span>
|
||||
{% endif %}
|
||||
{% if show_tab_reviews == 1 %}
|
||||
<span class="tab-count review-count">{{ course.review_count }}</span>
|
||||
{% endif %}
|
||||
<div class="layui-tab layui-tab-brief course-tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">详情</li>
|
||||
@ -92,6 +101,7 @@
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('web/js/share.js') }}
|
||||
{{ js_include('web/js/course.show.js') }}
|
||||
|
||||
{% endblock %}
|
@ -1,8 +1,9 @@
|
||||
layui.define(['jquery', 'element'], function (exports) {
|
||||
layui.define(['jquery', 'element', 'layer'], function (exports) {
|
||||
|
||||
var MOD_NAME = 'helper';
|
||||
var $ = layui.jquery;
|
||||
var element = layui.element;
|
||||
var layer = layui.layer;
|
||||
|
||||
var helper = {};
|
||||
|
||||
@ -16,6 +17,14 @@ layui.define(['jquery', 'element'], function (exports) {
|
||||
});
|
||||
};
|
||||
|
||||
helper.checkLogin = function () {
|
||||
if (window.koogua.user.id === '0') {
|
||||
layer.msg('继续操作前请登录或者注册', {icon: 2, anim: 6});
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
helper.getRequestId = function () {
|
||||
var id = Date.now().toString(36);
|
||||
id += Math.random().toString(36).substr(3);
|
||||
|
@ -1,9 +1,3 @@
|
||||
::-webkit-scrollbar-button {
|
||||
height: 0;
|
||||
width: 0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.full {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
@ -44,6 +38,12 @@
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.qrcode img {
|
||||
width: 160px;
|
||||
height: 160px;
|
||||
border: 3px dashed #ccc;
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
@ -468,6 +468,29 @@ body {
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.course-tab-wrap {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.course-tab-wrap .tab-count {
|
||||
position: absolute;
|
||||
top: 25px;
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.course-tab-wrap .package-count {
|
||||
left: 275px;
|
||||
}
|
||||
|
||||
.course-tab-wrap .consult-count {
|
||||
left: 370px;
|
||||
}
|
||||
|
||||
.course-tab-wrap .review-count {
|
||||
left: 465px;
|
||||
}
|
||||
|
||||
.course-tab {
|
||||
margin: 0;
|
||||
}
|
||||
@ -613,7 +636,7 @@ body {
|
||||
|
||||
.package-course-card .title {
|
||||
font-size: 12px;
|
||||
padding: 0 3px;
|
||||
padding: 0 5px;
|
||||
text-align: center;
|
||||
white-space: normal;
|
||||
}
|
||||
@ -684,16 +707,16 @@ body {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.review-card .like-icon {
|
||||
.like .icon-praise {
|
||||
margin-right: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.like .active, .like .like-icon:hover {
|
||||
.like .active, .like .icon-praise:hover {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.review-card .like-count {
|
||||
.like .like-count {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@ -788,15 +811,6 @@ body {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.sidebar-chapter-list::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.sidebar-chapter-list::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.sidebar-chapter-list {
|
||||
height: 405px;
|
||||
overflow-y: auto;
|
||||
@ -900,15 +914,6 @@ body {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.chat-msg-list::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.chat-msg-list::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.chat-msg-list .chat, .chat-msg-list .chat-sys {
|
||||
margin-bottom: 10px;
|
||||
line-height: 25px;
|
||||
|
@ -4,6 +4,13 @@ layui.use(['jquery', 'layer', 'helper'], function () {
|
||||
var layer = layui.layer;
|
||||
var helper = layui.helper;
|
||||
|
||||
var course = {
|
||||
title: $('input[name="course.title"]').val(),
|
||||
cover: $('input[name="course.cover"]').val(),
|
||||
url: $('input[name="course.url"]').val(),
|
||||
qrcode: $('input[name="course.qrcode"]').val()
|
||||
};
|
||||
|
||||
$('.rating-btn').on('click', function () {
|
||||
var url = $(this).data('url');
|
||||
layer.open({
|
||||
@ -14,14 +21,60 @@ layui.use(['jquery', 'layer', 'helper'], function () {
|
||||
});
|
||||
});
|
||||
|
||||
$('body').on('click', '.like-icon', function () {
|
||||
$('.icon-heart').on('click', function () {
|
||||
var $this = $(this);
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: $this.parent().data('url'),
|
||||
beforeSend: function () {
|
||||
return helper.checkLogin();
|
||||
},
|
||||
success: function () {
|
||||
if ($this.hasClass('active')) {
|
||||
$this.removeClass('active');
|
||||
} else {
|
||||
$this.addClass('active');
|
||||
}
|
||||
},
|
||||
error: function (xhr) {
|
||||
var res = JSON.parse(xhr.responseText);
|
||||
layer.msg(res.msg, {icon: 2});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('.icon-wechat').on('click', function () {
|
||||
var content = '<div class="qrcode"><img src="' + course.qrcode + '" alt="分享到微信"></div>';
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: false,
|
||||
closeBtn: 0,
|
||||
shadeClose: true,
|
||||
content: content
|
||||
});
|
||||
});
|
||||
|
||||
$('.icon-qq').on('click', function () {
|
||||
var title = '推荐一门好课:' + course.title + ',快来和我一起学习吧!';
|
||||
Share.qq(title, null, course.cover);
|
||||
});
|
||||
|
||||
$('.icon-weibo').on('click', function () {
|
||||
var title = '推荐一门好课:' + course.title + ',快来和我一起学习吧!';
|
||||
Share.weibo(title, null, course.cover);
|
||||
});
|
||||
|
||||
$('body').on('click', '.icon-praise', function () {
|
||||
var $this = $(this);
|
||||
var $likeCount = $this.next();
|
||||
var likeCount = parseInt($likeCount.text());
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: $this.data('url'),
|
||||
success: function (res) {
|
||||
beforeSend: function () {
|
||||
return helper.checkLogin();
|
||||
},
|
||||
success: function () {
|
||||
if ($this.hasClass('active')) {
|
||||
$this.removeClass('active');
|
||||
$likeCount.text(likeCount - 1);
|
||||
|
17
public/static/web/js/share.js
Normal file
17
public/static/web/js/share.js
Normal file
@ -0,0 +1,17 @@
|
||||
var Share = {};
|
||||
|
||||
Share.qq = function (title, url, pic) {
|
||||
var shareUrl = 'http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?';
|
||||
shareUrl += 'title=' + encodeURIComponent(title || document.title);
|
||||
shareUrl += '&url=' + encodeURIComponent(url || document.location);
|
||||
shareUrl += '&pics=' + pic;
|
||||
window.open(shareUrl, '_blank');
|
||||
};
|
||||
|
||||
Share.weibo = function (title, url, pic) {
|
||||
var shareUrl = 'http://v.t.sina.com.cn/share/share.php?';
|
||||
shareUrl += 'title=' + encodeURIComponent(title || document.title);
|
||||
shareUrl += '&url=' + encodeURIComponent(url || document.location);
|
||||
shareUrl += '&pic=' + encodeURIComponent(pic || '');
|
||||
window.open(shareUrl, '_blank');
|
||||
};
|
@ -17,9 +17,6 @@ layui.use(['jquery', 'form', 'slider', 'layer', 'helper'], function () {
|
||||
var danmuListUrl = $('input[name="chapter.danmu_url"]').val();
|
||||
var playUrls = JSON.parse($('input[name="chapter.play_urls"]').val());
|
||||
var $danmuText = $('input[name="danmu.text"]');
|
||||
var $danmuColor = $('input[name="danmu.color"]');
|
||||
var $danmuSize = $('input[name="danmu.size"]');
|
||||
var $danmuPosition = $('input[name="danmu.position"]');
|
||||
|
||||
var playerOptions = {
|
||||
autoplay: false,
|
||||
|
Loading…
x
Reference in New Issue
Block a user