diff --git a/app/Console/Tasks/SyncChapterCounterTask.php b/app/Console/Tasks/SyncChapterCounterTask.php
index cce2bcf6..0e1b5ab4 100644
--- a/app/Console/Tasks/SyncChapterCounterTask.php
+++ b/app/Console/Tasks/SyncChapterCounterTask.php
@@ -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;
}
}
diff --git a/app/Console/Tasks/SyncCommentCounterTask.php b/app/Console/Tasks/SyncCommentCounterTask.php
index f63321f3..9c9cf7ac 100644
--- a/app/Console/Tasks/SyncCommentCounterTask.php
+++ b/app/Console/Tasks/SyncCommentCounterTask.php
@@ -83,7 +83,7 @@ class SyncCommentCounterTask extends Task
protected function allowRecount()
{
- return date('H') == 5;
+ return date('H') % 4 == 0;
}
}
diff --git a/app/Console/Tasks/SyncConsultCounterTask.php b/app/Console/Tasks/SyncConsultCounterTask.php
index 46fc53cc..0eff2802 100644
--- a/app/Console/Tasks/SyncConsultCounterTask.php
+++ b/app/Console/Tasks/SyncConsultCounterTask.php
@@ -81,7 +81,7 @@ class SyncConsultCounterTask extends Task
protected function allowRecount()
{
- return date('H') == 1;
+ return date('H') % 4 == 0;
}
}
diff --git a/app/Console/Tasks/SyncCourseCounterTask.php b/app/Console/Tasks/SyncCourseCounterTask.php
index 51bc25b7..9aafe98f 100644
--- a/app/Console/Tasks/SyncCourseCounterTask.php
+++ b/app/Console/Tasks/SyncCourseCounterTask.php
@@ -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;
}
}
diff --git a/app/Console/Tasks/SyncReviewCounterTask.php b/app/Console/Tasks/SyncReviewCounterTask.php
index ca67c0dc..63990997 100644
--- a/app/Console/Tasks/SyncReviewCounterTask.php
+++ b/app/Console/Tasks/SyncReviewCounterTask.php
@@ -81,7 +81,7 @@ class SyncReviewCounterTask extends Task
protected function allowRecount()
{
- return date('H') == 2;
+ return date('H') % 4 == 0;
}
}
diff --git a/app/Http/Web/Controllers/PublicController.php b/app/Http/Web/Controllers/PublicController.php
index 3c245685..c0622d16 100644
--- a/app/Http/Web/Controllers/PublicController.php
+++ b/app/Http/Web/Controllers/PublicController.php
@@ -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);
diff --git a/app/Http/Web/Views/course/consults.volt b/app/Http/Web/Views/course/consults.volt
index 3dd5d706..a73a906a 100644
--- a/app/Http/Web/Views/course/consults.volt
+++ b/app/Http/Web/Views/course/consults.volt
@@ -15,7 +15,7 @@
diff --git a/app/Http/Web/Views/course/meta.volt b/app/Http/Web/Views/course/meta.volt
index e7f364b8..cb3428dd 100644
--- a/app/Http/Web/Views/course/meta.volt
+++ b/app/Http/Web/Views/course/meta.volt
@@ -30,14 +30,24 @@
难度 {{ level_info(course.level) }}
课时 {{ course.lesson_count }}
学员 {{ course.user_count }}
- 收藏 {{ course.favorite_count }}
评分 {{ course.rating }}
+
+ {% 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}) %}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/Http/Web/Views/course/reviews.volt b/app/Http/Web/Views/course/reviews.volt
index 1a8fcd3f..a7d9d442 100644
--- a/app/Http/Web/Views/course/reviews.volt
+++ b/app/Http/Web/Views/course/reviews.volt
@@ -23,7 +23,7 @@
diff --git a/app/Http/Web/Views/course/show.volt b/app/Http/Web/Views/course/show.volt
index 8f7a7411..dd0a7346 100644
--- a/app/Http/Web/Views/course/show.volt
+++ b/app/Http/Web/Views/course/show.volt
@@ -25,7 +25,16 @@
{% set show_tab_reviews = course.review_count > 0 ? 1 : 0 %}
-
+
+ {% if show_tab_packages == 1 %}
+
{{ course.package_count }}
+ {% endif %}
+ {% if show_tab_consults == 1 %}
+
{{ course.consult_count }}
+ {% endif %}
+ {% if show_tab_reviews == 1 %}
+
{{ course.review_count }}
+ {% endif %}
- 详情
@@ -92,6 +101,7 @@
{% block include_js %}
+ {{ js_include('web/js/share.js') }}
{{ js_include('web/js/course.show.js') }}
{% endblock %}
\ No newline at end of file
diff --git a/public/static/lib/layui/extends/helper.js b/public/static/lib/layui/extends/helper.js
index 58a18cfe..a7c644c4 100644
--- a/public/static/lib/layui/extends/helper.js
+++ b/public/static/lib/layui/extends/helper.js
@@ -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);
diff --git a/public/static/web/css/common.css b/public/static/web/css/common.css
index 8c8499fd..fd30be9d 100644
--- a/public/static/web/css/common.css
+++ b/public/static/web/css/common.css
@@ -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;
diff --git a/public/static/web/js/course.show.js b/public/static/web/js/course.show.js
index 43387bb3..80115bc8 100644
--- a/public/static/web/js/course.show.js
+++ b/public/static/web/js/course.show.js
@@ -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 = '';
+ 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);
diff --git a/public/static/web/js/share.js b/public/static/web/js/share.js
new file mode 100644
index 00000000..86466c9d
--- /dev/null
+++ b/public/static/web/js/share.js
@@ -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');
+};
\ No newline at end of file
diff --git a/public/static/web/js/vod.player.js b/public/static/web/js/vod.player.js
index 46d2400c..50f44225 100644
--- a/public/static/web/js/vod.player.js
+++ b/public/static/web/js/vod.player.js
@@ -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,