mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-07-03 07:26:49 +08:00
前台学习资料部分完成
This commit is contained in:
parent
ebb2c36f9f
commit
6b8baae6b3
@ -8,6 +8,7 @@ use App\Services\Logic\Chapter\ChapterInfo as ChapterInfoService;
|
|||||||
use App\Services\Logic\Chapter\ChapterLike as ChapterLikeService;
|
use App\Services\Logic\Chapter\ChapterLike as ChapterLikeService;
|
||||||
use App\Services\Logic\Chapter\DanmuList as ChapterDanmuListService;
|
use App\Services\Logic\Chapter\DanmuList as ChapterDanmuListService;
|
||||||
use App\Services\Logic\Chapter\Learning as ChapterLearningService;
|
use App\Services\Logic\Chapter\Learning as ChapterLearningService;
|
||||||
|
use App\Services\Logic\Chapter\ResourceList as ChapterResourceListService;
|
||||||
use App\Services\Logic\Course\ChapterList as CourseChapterListService;
|
use App\Services\Logic\Course\ChapterList as CourseChapterListService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,6 +17,18 @@ use App\Services\Logic\Course\ChapterList as CourseChapterListService;
|
|||||||
class ChapterController extends Controller
|
class ChapterController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Get("/{id:[0-9]+}/resources", name="home.chapter.resources")
|
||||||
|
*/
|
||||||
|
public function resourcesAction($id)
|
||||||
|
{
|
||||||
|
$service = new ChapterResourceListService();
|
||||||
|
|
||||||
|
$items = $service->handle($id);
|
||||||
|
|
||||||
|
$this->view->setVar('items', $items);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Get("/{id:[0-9]+}", name="home.chapter.show")
|
* @Get("/{id:[0-9]+}", name="home.chapter.show")
|
||||||
*/
|
*/
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
{% set full_chapter_url = full_url({'for':'home.chapter.show','id':chapter.id}) %}
|
{% set full_chapter_url = full_url({'for':'home.chapter.show','id':chapter.id}) %}
|
||||||
{% set course_url = url({'for':'home.course.show','id':chapter.course.id}) %}
|
{% set course_url = url({'for':'home.course.show','id':chapter.course.id}) %}
|
||||||
|
{% set resources_url = url({'for':'home.chapter.resources','id':chapter.id}) %}
|
||||||
{% set learning_url = url({'for':'home.chapter.learning','id':chapter.id}) %}
|
{% set learning_url = url({'for':'home.chapter.learning','id':chapter.id}) %}
|
||||||
{% set live_chats_url = url({'for':'home.live.chats','id':chapter.id}) %}
|
{% set live_chats_url = url({'for':'home.live.chats','id':chapter.id}) %}
|
||||||
{% set live_stats_url = url({'for':'home.live.stats','id':chapter.id}) %}
|
{% set live_stats_url = url({'for':'home.live.stats','id':chapter.id}) %}
|
||||||
@ -19,8 +20,11 @@
|
|||||||
<a><cite>{{ chapter.title }}</cite></a>
|
<a><cite>{{ chapter.title }}</cite></a>
|
||||||
</span>
|
</span>
|
||||||
<span class="share">
|
<span class="share">
|
||||||
<a href="javascript:" title="点赞" data-url="{{ like_url }}"><i class="layui-icon layui-icon-praise icon-praise"></i><em class="like-count">{{ chapter.like_count }}</em></a>
|
<a href="javascript:" title="我要点赞" data-url="{{ like_url }}"><i class="layui-icon layui-icon-praise icon-praise"></i><em class="like-count">{{ chapter.like_count }}</em></a>
|
||||||
<a href="javascript:" title="在线人数"><i class="layui-icon layui-icon-user"></i><em>0</em></a>
|
<a href="javascript:" title="在线人数"><i class="layui-icon layui-icon-user"></i><em>0</em></a>
|
||||||
|
{% if chapter.resource_count > 0 and chapter.me.owned == 1 %}
|
||||||
|
<a href="javascript:" title="资料下载" data-url="{{ resources_url }}"><i class="layui-icon layui-icon-download-circle icon-resource"></i></a>
|
||||||
|
{% endif %}
|
||||||
<a href="javascript:" title="分享到微信" data-url=""><i class="layui-icon layui-icon-login-wechat icon-wechat"></i></a>
|
<a href="javascript:" title="分享到微信" data-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="分享到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>
|
<a href="javascript:" title="分享到微博"><i class="layui-icon layui-icon-login-weibo icon-weibo"></i></a>
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
{% set full_chapter_url = full_url({'for':'home.chapter.show','id':chapter.id}) %}
|
{% set full_chapter_url = full_url({'for':'home.chapter.show','id':chapter.id}) %}
|
||||||
{% set course_url = url({'for':'home.course.show','id':chapter.course.id}) %}
|
{% set course_url = url({'for':'home.course.show','id':chapter.course.id}) %}
|
||||||
|
{% set resources_url = url({'for':'home.chapter.resources','id':chapter.id}) %}
|
||||||
{% set learning_url = url({'for':'home.chapter.learning','id':chapter.id}) %}
|
{% set learning_url = url({'for':'home.chapter.learning','id':chapter.id}) %}
|
||||||
{% set like_url = url({'for':'home.chapter.like','id':chapter.id}) %}
|
{% set like_url = url({'for':'home.chapter.like','id':chapter.id}) %}
|
||||||
{% set consult_url = url({'for':'home.consult.add'},{'chapter_id':chapter.id}) %}
|
{% set consult_url = url({'for':'home.consult.add'},{'chapter_id':chapter.id}) %}
|
||||||
@ -16,9 +17,12 @@
|
|||||||
<a><cite>{{ chapter.title }}</cite></a>
|
<a><cite>{{ chapter.title }}</cite></a>
|
||||||
</span>
|
</span>
|
||||||
<span class="share">
|
<span class="share">
|
||||||
<a href="javascript:" title="点赞" data-url="{{ like_url }}"><i class="layui-icon layui-icon-praise icon-praise"></i><em class="like-count">{{ chapter.like_count }}</em></a>
|
<a href="javascript:" title="我要点赞" data-url="{{ like_url }}"><i class="layui-icon layui-icon-praise icon-praise"></i><em class="like-count">{{ chapter.like_count }}</em></a>
|
||||||
<a href="javascript:" title="学习人次"><i class="layui-icon layui-icon-user"></i><em>{{ chapter.user_count }}</em></a>
|
<a href="javascript:" title="学习人次"><i class="layui-icon layui-icon-user"></i><em>{{ chapter.user_count }}</em></a>
|
||||||
<a href="javascript:" title="我要提问" data-url="{{ consult_url }}"><i class="layui-icon layui-icon-help icon-help"></i></a>
|
<a href="javascript:" title="我要提问" data-url="{{ consult_url }}"><i class="layui-icon layui-icon-help icon-help"></i></a>
|
||||||
|
{% if chapter.resource_count > 0 and chapter.me.owned == 1 %}
|
||||||
|
<a href="javascript:" title="资料下载" data-url="{{ resources_url }}"><i class="layui-icon layui-icon-download-circle icon-resource"></i></a>
|
||||||
|
{% endif %}
|
||||||
<a href="javascript:" title="分享到微信" data-url=""><i class="layui-icon layui-icon-login-wechat icon-wechat"></i></a>
|
<a href="javascript:" title="分享到微信" data-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="分享到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>
|
<a href="javascript:" title="分享到微博"><i class="layui-icon layui-icon-login-weibo icon-weibo"></i></a>
|
||||||
|
32
app/Http/Home/Views/chapter/resources.volt
Normal file
32
app/Http/Home/Views/chapter/resources.volt
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{% extends 'templates/layer.volt' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<table class="kg-table layui-table">
|
||||||
|
<tr>
|
||||||
|
<th>名称</th>
|
||||||
|
<th>类型</th>
|
||||||
|
<th>大小</th>
|
||||||
|
<th width="15%">操作</th>
|
||||||
|
</tr>
|
||||||
|
{% for item in items %}
|
||||||
|
{% set download_url = url({'for':'home.download','md5':item.md5}) %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ item.name }}</td>
|
||||||
|
<td>{{ item.mime }}</td>
|
||||||
|
<td>{{ item.size|human_size }}</td>
|
||||||
|
<td><a class="layui-btn layui-btn-sm" href="{{ download_url }}" target="_blank">下载</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block inline_js %}
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var index = parent.layer.getFrameIndex(window.name);
|
||||||
|
parent.layer.iframeAuto(index);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{% endblock %}
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
{% set full_chapter_url = full_url({'for':'home.chapter.show','id':chapter.id}) %}
|
{% set full_chapter_url = full_url({'for':'home.chapter.show','id':chapter.id}) %}
|
||||||
{% set course_url = url({'for':'home.course.show','id':chapter.course.id}) %}
|
{% set course_url = url({'for':'home.course.show','id':chapter.course.id}) %}
|
||||||
|
{% set resources_url = url({'for':'home.chapter.resources','id':chapter.id}) %}
|
||||||
{% set learning_url = url({'for':'home.chapter.learning','id':chapter.id}) %}
|
{% set learning_url = url({'for':'home.chapter.learning','id':chapter.id}) %}
|
||||||
{% set like_url = url({'for':'home.chapter.like','id':chapter.id}) %}
|
{% set like_url = url({'for':'home.chapter.like','id':chapter.id}) %}
|
||||||
{% set qrcode_url = url({'for':'home.qrcode'},{'text':full_chapter_url}) %}
|
{% set qrcode_url = url({'for':'home.qrcode'},{'text':full_chapter_url}) %}
|
||||||
@ -17,9 +18,12 @@
|
|||||||
<a><cite>{{ chapter.title }}</cite></a>
|
<a><cite>{{ chapter.title }}</cite></a>
|
||||||
</span>
|
</span>
|
||||||
<span class="share">
|
<span class="share">
|
||||||
<a href="javascript:" title="学习人次"><i class="layui-icon layui-icon-user"></i><em>{{ chapter.user_count }}</em></a>
|
|
||||||
<a href="javascript:" title="我要点赞" data-url="{{ like_url }}"><i class="layui-icon layui-icon-praise icon-praise {{ liked_class }}"></i><em class="like-count">{{ chapter.like_count }}</em></a>
|
<a href="javascript:" title="我要点赞" data-url="{{ like_url }}"><i class="layui-icon layui-icon-praise icon-praise {{ liked_class }}"></i><em class="like-count">{{ chapter.like_count }}</em></a>
|
||||||
|
<a href="javascript:" title="学习人次"><i class="layui-icon layui-icon-user"></i><em>{{ chapter.user_count }}</em></a>
|
||||||
<a href="javascript:" title="我要提问" data-url="{{ consult_url }}"><i class="layui-icon layui-icon-help icon-help"></i></a>
|
<a href="javascript:" title="我要提问" data-url="{{ consult_url }}"><i class="layui-icon layui-icon-help icon-help"></i></a>
|
||||||
|
{% if chapter.resource_count > 0 and chapter.me.owned == 1 %}
|
||||||
|
<a href="javascript:" title="资料下载" data-url="{{ resources_url }}"><i class="layui-icon layui-icon-download-circle icon-resource"></i></a>
|
||||||
|
{% endif %}
|
||||||
<a href="javascript:" title="分享到微信"><i class="layui-icon layui-icon-login-wechat icon-wechat"></i></a>
|
<a href="javascript:" title="分享到微信"><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="分享到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>
|
<a href="javascript:" title="分享到微博"><i class="layui-icon layui-icon-login-weibo icon-weibo"></i></a>
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
<label class="layui-form-label"></label>
|
<label class="layui-form-label"></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<button class="layui-btn" lay-submit="true" lay-filter="go">提交</button>
|
<button class="layui-btn" lay-submit="true" lay-filter="go">提交</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
<label class="layui-form-label"></label>
|
<label class="layui-form-label"></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<button class="layui-btn" lay-submit="true" lay-filter="go">提交</button>
|
<button class="layui-btn" lay-submit="true" lay-filter="go">提交</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
{% set consult.answer = consult.answer ? consult.answer : '请耐心等待回复吧' %}
|
{% set consult.answer = consult.answer ? consult.answer : '请耐心等待回复吧' %}
|
||||||
|
|
||||||
<div class="consult-info">
|
<div class="consult-info clearfix">
|
||||||
{% if consult.course.id is defined %}
|
{% if consult.course.id is defined %}
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="label">课程:</div>
|
<div class="label">课程:</div>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
<meta name="csrf-token" content="{{ csrfToken.getToken() }}">
|
<meta name="csrf-token" content="{{ csrfToken.getToken() }}">
|
||||||
<title>即时通讯</title>
|
<title>酷瓜云课堂</title>
|
||||||
{{ icon_link('favicon.ico') }}
|
{{ icon_link('favicon.ico') }}
|
||||||
{{ css_link('lib/layui/css/layui.css') }}
|
{{ css_link('lib/layui/css/layui.css') }}
|
||||||
{{ css_link('home/css/common.css') }}
|
{{ css_link('home/css/common.css') }}
|
||||||
|
@ -71,6 +71,7 @@ class BasicInfo extends Service
|
|||||||
'summary' => $chapter->summary,
|
'summary' => $chapter->summary,
|
||||||
'model' => $chapter->model,
|
'model' => $chapter->model,
|
||||||
'play_urls' => $playUrls,
|
'play_urls' => $playUrls,
|
||||||
|
'resource_count' => $chapter->resource_count,
|
||||||
'user_count' => $chapter->user_count,
|
'user_count' => $chapter->user_count,
|
||||||
'like_count' => $chapter->like_count,
|
'like_count' => $chapter->like_count,
|
||||||
];
|
];
|
||||||
@ -97,6 +98,7 @@ class BasicInfo extends Service
|
|||||||
'start_time' => $live->start_time,
|
'start_time' => $live->start_time,
|
||||||
'end_time' => $live->end_time,
|
'end_time' => $live->end_time,
|
||||||
'status' => $live->status,
|
'status' => $live->status,
|
||||||
|
'resource_count' => $chapter->resource_count,
|
||||||
'user_count' => $chapter->user_count,
|
'user_count' => $chapter->user_count,
|
||||||
'like_count' => $chapter->like_count,
|
'like_count' => $chapter->like_count,
|
||||||
];
|
];
|
||||||
@ -114,6 +116,7 @@ class BasicInfo extends Service
|
|||||||
'summary' => $chapter->summary,
|
'summary' => $chapter->summary,
|
||||||
'model' => $chapter->model,
|
'model' => $chapter->model,
|
||||||
'content' => $read->content,
|
'content' => $read->content,
|
||||||
|
'resource_count' => $chapter->resource_count,
|
||||||
'user_count' => $chapter->user_count,
|
'user_count' => $chapter->user_count,
|
||||||
'like_count' => $chapter->like_count,
|
'like_count' => $chapter->like_count,
|
||||||
];
|
];
|
||||||
|
34
app/Services/Logic/Chapter/ResourceList.php
Normal file
34
app/Services/Logic/Chapter/ResourceList.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services\Logic\Chapter;
|
||||||
|
|
||||||
|
use App\Builders\ResourceList as ResourceListBuilder;
|
||||||
|
use App\Repos\Resource as ResourceRepo;
|
||||||
|
use App\Services\Logic\ChapterTrait;
|
||||||
|
use App\Services\Logic\Service;
|
||||||
|
|
||||||
|
class ResourceList extends Service
|
||||||
|
{
|
||||||
|
|
||||||
|
use ChapterTrait;
|
||||||
|
|
||||||
|
public function handle($id)
|
||||||
|
{
|
||||||
|
$chapter = $this->checkChapter($id);
|
||||||
|
|
||||||
|
$resourceRepo = new ResourceRepo();
|
||||||
|
|
||||||
|
$resources = $resourceRepo->findByChapterId($chapter->id);
|
||||||
|
|
||||||
|
if ($resources->count() == 0) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$builder = new ResourceListBuilder();
|
||||||
|
|
||||||
|
$relations = $resources->toArray();
|
||||||
|
|
||||||
|
return $builder->getUploads($relations);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -71,13 +71,7 @@ class HttpErrorHandler extends Component
|
|||||||
*/
|
*/
|
||||||
protected function report($e)
|
protected function report($e)
|
||||||
{
|
{
|
||||||
$config = $this->getConfig();
|
$content = sprintf('%s(%d): %s', $e->getFile(), $e->getLine(), $e->getMessage());
|
||||||
|
|
||||||
if ($config->get('env') == ENV_DEV) {
|
|
||||||
$content = $e->getTraceAsString();
|
|
||||||
} else {
|
|
||||||
$content = sprintf('%s(%d): %s', $e->getFile(), $e->getLine(), $e->getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
$logger = $this->getLogger();
|
$logger = $this->getLogger();
|
||||||
|
|
||||||
|
@ -1500,14 +1500,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.consult-info .item {
|
.consult-info .item {
|
||||||
clear: both;
|
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
|
line-height: 1.5em;
|
||||||
|
height: 1.5em;
|
||||||
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.consult-info .item .label {
|
.consult-info .item .label {
|
||||||
float: left;
|
float: left;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 32px;
|
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,4 +47,19 @@ layui.use(['jquery', 'helper'], function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 资料
|
||||||
|
*/
|
||||||
|
$('.icon-resource').on('click', function () {
|
||||||
|
var url = $(this).parent().data('url');
|
||||||
|
helper.checkLogin(function () {
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: '资料下载',
|
||||||
|
content: [url, 'no'],
|
||||||
|
area: ['640px', '300px']
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
Loading…
x
Reference in New Issue
Block a user