1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-07-03 23:46:49 +08:00

前台学习资料部分完成

This commit is contained in:
xiaochong0302 2020-10-08 15:33:39 +08:00
parent ebb2c36f9f
commit 6b8baae6b3
14 changed files with 120 additions and 14 deletions

View File

@ -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\DanmuList as ChapterDanmuListService;
use App\Services\Logic\Chapter\Learning as ChapterLearningService;
use App\Services\Logic\Chapter\ResourceList as ChapterResourceListService;
use App\Services\Logic\Course\ChapterList as CourseChapterListService;
/**
@ -16,6 +17,18 @@ use App\Services\Logic\Course\ChapterList as CourseChapterListService;
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")
*/

View File

@ -4,6 +4,7 @@
{% 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 resources_url = url({'for':'home.chapter.resources','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_stats_url = url({'for':'home.live.stats','id':chapter.id}) %}
@ -19,8 +20,11 @@
<a><cite>{{ chapter.title }}</cite></a>
</span>
<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>
{% 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="分享到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>

View File

@ -4,6 +4,7 @@
{% 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 resources_url = url({'for':'home.chapter.resources','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 consult_url = url({'for':'home.consult.add'},{'chapter_id':chapter.id}) %}
@ -16,9 +17,12 @@
<a><cite>{{ chapter.title }}</cite></a>
</span>
<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="我要提问" 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="分享到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>

View 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 %}

View File

@ -4,6 +4,7 @@
{% 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 resources_url = url({'for':'home.chapter.resources','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 qrcode_url = url({'for':'home.qrcode'},{'text':full_chapter_url}) %}
@ -17,9 +18,12 @@
<a><cite>{{ chapter.title }}</cite></a>
</span>
<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="学习人次"><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>
{% 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="分享到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>

View File

@ -30,6 +30,7 @@
<label class="layui-form-label"></label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="true" lay-filter="go">提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>

View File

@ -27,6 +27,7 @@
<label class="layui-form-label"></label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="true" lay-filter="go">提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>

View File

@ -4,7 +4,7 @@
{% set consult.answer = consult.answer ? consult.answer : '请耐心等待回复吧' %}
<div class="consult-info">
<div class="consult-info clearfix">
{% if consult.course.id is defined %}
<div class="item">
<div class="label">课程:</div>

View File

@ -5,7 +5,7 @@
<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="csrf-token" content="{{ csrfToken.getToken() }}">
<title>即时通讯</title>
<title>酷瓜云课堂</title>
{{ icon_link('favicon.ico') }}
{{ css_link('lib/layui/css/layui.css') }}
{{ css_link('home/css/common.css') }}

View File

@ -71,6 +71,7 @@ class BasicInfo extends Service
'summary' => $chapter->summary,
'model' => $chapter->model,
'play_urls' => $playUrls,
'resource_count' => $chapter->resource_count,
'user_count' => $chapter->user_count,
'like_count' => $chapter->like_count,
];
@ -97,6 +98,7 @@ class BasicInfo extends Service
'start_time' => $live->start_time,
'end_time' => $live->end_time,
'status' => $live->status,
'resource_count' => $chapter->resource_count,
'user_count' => $chapter->user_count,
'like_count' => $chapter->like_count,
];
@ -114,6 +116,7 @@ class BasicInfo extends Service
'summary' => $chapter->summary,
'model' => $chapter->model,
'content' => $read->content,
'resource_count' => $chapter->resource_count,
'user_count' => $chapter->user_count,
'like_count' => $chapter->like_count,
];

View 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);
}
}

View File

@ -71,13 +71,7 @@ class HttpErrorHandler extends Component
*/
protected function report($e)
{
$config = $this->getConfig();
if ($config->get('env') == ENV_DEV) {
$content = $e->getTraceAsString();
} else {
$content = sprintf('%s(%d): %s', $e->getFile(), $e->getLine(), $e->getMessage());
}
$content = sprintf('%s(%d): %s', $e->getFile(), $e->getLine(), $e->getMessage());
$logger = $this->getLogger();

View File

@ -1500,14 +1500,15 @@
}
.consult-info .item {
clear: both;
margin-bottom: 15px;
line-height: 1.5em;
height: 1.5em;
clear: both;
}
.consult-info .item .label {
float: left;
width: 50px;
height: 32px;
text-align: right;
}

View File

@ -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']
});
});
});
});