mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-17 15:55:31 +08:00
整理优化css
This commit is contained in:
parent
cd9422afc1
commit
20fb468f0d
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,4 +12,5 @@
|
||||
/public/robots.txt
|
||||
/public/sitemap.xml
|
||||
/public/h5
|
||||
/storage/cache/purifier
|
||||
*KgTest*
|
||||
|
@ -35,9 +35,12 @@ class CategoryController extends Controller
|
||||
$categories = $categoryService->getTopCategories($type);
|
||||
}
|
||||
|
||||
$showAddButton = $categoryService->showAddButton($type, $parent);
|
||||
|
||||
$this->view->setVar('type', $type);
|
||||
$this->view->setVar('parent', $parent);
|
||||
$this->view->setVar('categories', $categories);
|
||||
$this->view->setVar('show_add_button', $showAddButton);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -17,6 +17,51 @@ use App\Validators\Category as CategoryValidator;
|
||||
class Category extends Service
|
||||
{
|
||||
|
||||
public function getCategoryOptions($type)
|
||||
{
|
||||
$cache = new CategoryTreeListCache();
|
||||
|
||||
$categories = $cache->get($type);
|
||||
|
||||
$result = [];
|
||||
|
||||
if (!$categories) return $result;
|
||||
|
||||
foreach ($categories as $category) {
|
||||
$result[] = [
|
||||
'id' => $category['id'],
|
||||
'name' => $category['name'],
|
||||
];
|
||||
if (count($category['children']) > 0) {
|
||||
foreach ($category['children'] as $child) {
|
||||
$result[] = [
|
||||
'id' => $child['id'],
|
||||
'name' => sprintf('|--- %s', $child['name']),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function showAddButton($type, CategoryModel $parent)
|
||||
{
|
||||
$result = true;
|
||||
|
||||
if ($type == CategoryModel::TYPE_COURSE) {
|
||||
$result = $parent->level < 2;
|
||||
} elseif ($type == CategoryModel::TYPE_HELP) {
|
||||
$result = $parent->level < 1;
|
||||
} elseif ($type == CategoryModel::TYPE_ARTICLE) {
|
||||
$result = $parent->level < 1;
|
||||
} elseif ($type == CategoryModel::TYPE_QUESTION) {
|
||||
$result = $parent->level < 1;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getCategory($id)
|
||||
{
|
||||
return $this->findOrFail($id);
|
||||
|
@ -4,7 +4,6 @@
|
||||
|
||||
{% set back_url = url({'for':'admin.category.list'},{'type':type}) %}
|
||||
{% set add_url = url({'for':'admin.category.add'},{'type':type,'parent_id':parent.id}) %}
|
||||
{% set allow_add = (type == 1 and parent.level < 2) or (type == 2 and parent.level < 1) %}
|
||||
|
||||
<div class="kg-nav">
|
||||
<div class="kg-nav-left">
|
||||
@ -17,7 +16,7 @@
|
||||
</span>
|
||||
</div>
|
||||
<div class="kg-nav-right">
|
||||
{% if allow_add %}
|
||||
{% if show_add_button %}
|
||||
<a class="layui-btn layui-btn-sm" href="{{ add_url }}"><i class="layui-icon layui-icon-add-1"></i>添加分类</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
@ -8,15 +8,6 @@
|
||||
<div class="layui-form-mid layui-word-aux">人</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">原始价格</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input" type="text" name="origin_price" value="{{ course.origin_price }}" lay-verify="number">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">元</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">市场价格</label>
|
||||
|
@ -1,4 +1,4 @@
|
||||
{%- macro gift_type_info(value) %}
|
||||
{%- macro gift_type(value) %}
|
||||
{% if value == 1 %}
|
||||
课程
|
||||
{% elseif value == 2 %}
|
||||
@ -8,7 +8,7 @@
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro redeem_status_info(value) %}
|
||||
{%- macro redeem_status(value) %}
|
||||
{% if value == 1 %}
|
||||
处理中
|
||||
{% elseif value == 2 %}
|
||||
|
@ -63,7 +63,7 @@
|
||||
<tr>
|
||||
<td>{{ item.id }}</td>
|
||||
<td><a href="{{ edit_url }}">{{ item.name }}</a></td>
|
||||
<td>{{ gift_type_info(item.type) }}</td>
|
||||
<td>{{ gift_type(item.type) }}</td>
|
||||
<td>{{ item.point }}</td>
|
||||
<td>{{ item.stock }}</td>
|
||||
<td>{{ item.redeem_limit }}</td>
|
||||
|
@ -46,14 +46,14 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p>物品名称:<a href="{{ gift_url }}" target="_blank">{{ item.gift_name }}</a>({{ item.gift_id }})</p>
|
||||
<p>物品类型:{{ gift_type_info(item.gift_type) }}</p>
|
||||
<p>物品类型:{{ gift_type(item.gift_type) }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>用户名称:<a href="{{ user_filter_url }}">{{ item.user_name }}</a>({{ item.user_id }})</p>
|
||||
<p>联系方式:<a href="javascript:" class="layui-badge layui-bg-green kg-contact" data-name="{{ item.contact_name }}" data-phone="{{ item.contact_phone }}" data-address="{{ item.contact_address }}">查看</a></p>
|
||||
</td>
|
||||
<td>{{ item.gift_point }}</td>
|
||||
<td>{{ redeem_status_info(item.status) }}</td>
|
||||
<td>{{ redeem_status(item.status) }}</td>
|
||||
<td>{{ date('Y-m-d H:i:s',item.create_time) }}</td>
|
||||
<td class="center">
|
||||
{% if item.gift_type == 2 %}
|
||||
|
30
app/Http/Home/Controllers/PointController.php
Normal file
30
app/Http/Home/Controllers/PointController.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2021 深圳市酷瓜软件有限公司
|
||||
* @license https://opensource.org/licenses/GPL-2.0
|
||||
* @link https://www.koogua.com
|
||||
*/
|
||||
|
||||
namespace App\Http\Home\Controllers;
|
||||
|
||||
/**
|
||||
* @RoutePrefix("/point")
|
||||
*/
|
||||
class PointController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* @Get("/rule", name="home.point.rule")
|
||||
*/
|
||||
public function ruleAction()
|
||||
{
|
||||
$point = $this->getSettings('point');
|
||||
|
||||
$consumeRule = json_decode($point['consume_rule']);
|
||||
$eventRule = json_decode($point['event_rule']);
|
||||
|
||||
$this->view->setVar('consume_rule', $consumeRule);
|
||||
$this->view->setVar('event_rule', $eventRule);
|
||||
}
|
||||
|
||||
}
|
@ -38,7 +38,9 @@ class PointGiftController extends Controller
|
||||
*/
|
||||
public function listAction()
|
||||
{
|
||||
$this->seo->prependTitle('积分兑换');
|
||||
$this->seo->prependTitle('积分商城');
|
||||
|
||||
$this->view->pick('point/gift/list');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -53,6 +55,7 @@ class PointGiftController extends Controller
|
||||
$pager->target = 'gift-list';
|
||||
|
||||
$this->view->setRenderLevel(View::LEVEL_ACTION_VIEW);
|
||||
$this->view->pick('point/gift/pager');
|
||||
$this->view->setVar('pager', $pager);
|
||||
}
|
||||
|
||||
@ -78,6 +81,7 @@ class PointGiftController extends Controller
|
||||
|
||||
$this->seo->prependTitle(['积分兑换', $gift['name']]);
|
||||
|
||||
$this->view->pick('point/gift/show');
|
||||
$this->view->setVar('gift', $gift);
|
||||
$this->view->setVar('hot_gifts', $hotGifts);
|
||||
$this->view->setVar('user_balance', $userBalance);
|
||||
|
@ -14,7 +14,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="content-wrap wrap">
|
||||
<div class="layui-tab layui-tab-brief search-tab">
|
||||
|
@ -25,10 +25,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-sticky">
|
||||
{{ partial('article/sticky') }}
|
||||
</div>
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="article-info wrap">
|
||||
<div class="title">{{ article.title }}</div>
|
||||
@ -97,6 +94,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layout-sticky">
|
||||
{{ partial('article/sticky') }}
|
||||
</div>
|
||||
|
||||
{% set share_url = full_url({'for':'home.share'},{'id':article.id,'type':'article'}) %}
|
||||
{% set qrcode_url = url({'for':'home.qrcode'},{'text':share_url}) %}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">关于作者</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="sidebar-user-card clearfix">
|
||||
<div class="sidebar-user-card">
|
||||
<div class="avatar">
|
||||
<img src="{{ article.owner.avatar }}!avatar_160" alt="{{ article.owner.name }}">
|
||||
</div>
|
||||
|
@ -22,9 +22,6 @@
|
||||
</div>
|
||||
|
||||
<div class="layout-main">
|
||||
<div class="layout-sticky">
|
||||
{{ partial('chapter/live/sticky') }}
|
||||
</div>
|
||||
<div class="layout-content">
|
||||
<div class="player-wrap wrap">
|
||||
<div id="player"></div>
|
||||
@ -48,6 +45,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layout-sticky">
|
||||
{{ partial('chapter/live/sticky') }}
|
||||
</div>
|
||||
|
||||
<div class="layui-hide">
|
||||
<input type="hidden" name="chapter.id" value="{{ chapter.id }}">
|
||||
<input type="hidden" name="chapter.plan_id" value="{{ chapter.me.plan_id }}">
|
||||
|
@ -16,10 +16,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-sticky">
|
||||
{{ partial('chapter/sticky') }}
|
||||
</div>
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="article-info wrap">
|
||||
<div class="title">{{ chapter.title }}</div>
|
||||
@ -37,6 +34,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layout-sticky">
|
||||
{{ partial('chapter/sticky') }}
|
||||
</div>
|
||||
|
||||
<div class="layui-hide">
|
||||
<input type="hidden" name="chapter.id" value="{{ chapter.id }}">
|
||||
<input type="hidden" name="chapter.plan_id" value="{{ chapter.me.plan_id }}">
|
||||
|
@ -17,10 +17,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-sticky">
|
||||
{{ partial('chapter/sticky') }}
|
||||
</div>
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="player-wrap wrap">
|
||||
<div id="player"></div>
|
||||
@ -35,6 +32,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layout-sticky">
|
||||
{{ partial('chapter/sticky') }}
|
||||
</div>
|
||||
|
||||
<div class="layui-hide">
|
||||
<input type="hidden" name="chapter.id" value="{{ chapter.id }}">
|
||||
<input type="hidden" name="chapter.position" value="{{ chapter.me.position }}">
|
||||
|
@ -32,7 +32,7 @@
|
||||
{% endif %}
|
||||
|
||||
{% if comment.parent_id > 0 %}
|
||||
<div class="comment-card clearfix">
|
||||
<div class="comment-card">
|
||||
<div class="avatar">
|
||||
<a href="{{ owner_url }}" title="{{ comment.owner.name }}" target="_blank">
|
||||
<img src="{{ comment.owner.avatar }}!avatar_160" alt="{{ comment.owner.name }}">
|
||||
|
@ -6,22 +6,22 @@
|
||||
|
||||
<div class="consult-info">
|
||||
{% if consult.course.id is defined %}
|
||||
<div class="item clearfix">
|
||||
<div class="item">
|
||||
<div class="label">课程:</div>
|
||||
<div class="title">{{ consult.course.title }}</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if consult.chapter.id is defined %}
|
||||
<div class="item clearfix">
|
||||
<div class="item">
|
||||
<div class="label">章节:</div>
|
||||
<div class="title">{{ consult.chapter.title }}</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="item clearfix">
|
||||
<div class="item">
|
||||
<div class="label">咨询:</div>
|
||||
<div class="content">{{ consult.question }}</div>
|
||||
</div>
|
||||
<div class="item clearfix">
|
||||
<div class="item">
|
||||
<div class="label">回复:</div>
|
||||
<div class="content">{{ consult.answer }}</div>
|
||||
</div>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<div class="package-list">
|
||||
{% for package in packages %}
|
||||
{% set order_url = url({'for':'home.order.confirm'},{'item_id':package.id,'item_type':2}) %}
|
||||
<div class="package-item clearfix">
|
||||
<div class="package-item">
|
||||
<div class="package-info">
|
||||
<div class="title">{{ package.title }}</div>
|
||||
<div class="origin-price">
|
||||
|
@ -1,7 +1,7 @@
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="course-list clearfix">
|
||||
<div class="course-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for item in pager.items %}
|
||||
<div class="layui-col-md3">
|
||||
|
@ -19,11 +19,7 @@
|
||||
|
||||
{{ partial('course/show_meta') }}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
|
||||
<div class="layout-sticky">
|
||||
{{ partial('course/sticky') }}
|
||||
</div>
|
||||
<div class="layout-main">
|
||||
|
||||
{% set show_tab_chapters = course.lesson_count > 0 %}
|
||||
{% set show_tab_packages = course.package_count > 0 %}
|
||||
@ -93,6 +89,10 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div class="layout-sticky">
|
||||
{{ partial('course/sticky') }}
|
||||
</div>
|
||||
|
||||
{% set share_url = full_url({'for':'home.share'},{'id':course.id,'type':'course'}) %}
|
||||
{% set qrcode_url = url({'for':'home.qrcode'},{'text':share_url}) %}
|
||||
|
||||
|
@ -97,13 +97,13 @@
|
||||
<ul class="lesson-list">
|
||||
{% for lesson in chapter.children %}
|
||||
{% if lesson.model == 1 %}
|
||||
<li class="lesson-item clearfix">{{ vod_lesson_info(lesson) }}</li>
|
||||
<li class="lesson-item">{{ vod_lesson_info(lesson) }}</li>
|
||||
{% elseif lesson.model == 2 %}
|
||||
<li class="lesson-item clearfix">{{ live_lesson_info(lesson) }}</li>
|
||||
<li class="lesson-item">{{ live_lesson_info(lesson) }}</li>
|
||||
{% elseif lesson.model == 3 %}
|
||||
<li class="lesson-item clearfix">{{ read_lesson_info(lesson) }}</li>
|
||||
<li class="lesson-item">{{ read_lesson_info(lesson) }}</li>
|
||||
{% elseif lesson.model == 4 %}
|
||||
<li class="lesson-item clearfix">{{ offline_lesson_info(lesson) }}</li>
|
||||
<li class="lesson-item">{{ offline_lesson_info(lesson) }}</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
@ -61,12 +61,8 @@
|
||||
|
||||
{%- macro meta_price_info(course) %}
|
||||
<p class="item">
|
||||
{% if course.origin_price > 0 %}
|
||||
<span class="key">原始价格</span>
|
||||
<span class="value origin-price">{{ '¥%0.2f'|format(course.origin_price) }}</span>
|
||||
{% endif %}
|
||||
{% if course.market_price > 0 %}
|
||||
<span class="key">优惠价格</span>
|
||||
<span class="key">市场价格</span>
|
||||
<span class="value price">{{ '¥%0.2f'|format(course.market_price) }}</span>
|
||||
{% else %}
|
||||
<span class="key">优惠价格</span>
|
||||
@ -93,7 +89,7 @@
|
||||
</p>
|
||||
{%- endmacro %}
|
||||
|
||||
<div class="course-meta wrap clearfix">
|
||||
<div class="course-meta wrap">
|
||||
<div class="cover">
|
||||
<span class="model layui-badge layui-bg-green">{{ model_type(course.model) }}</span>
|
||||
<img src="{{ course.cover }}" alt="{{ course.title }}">
|
||||
|
@ -5,7 +5,7 @@
|
||||
<div class="layui-card-body">
|
||||
{% for teacher in course.teachers %}
|
||||
{% set teacher_url = url({'for':'home.user.show','id':teacher.id}) %}
|
||||
<div class="sidebar-user-card clearfix">
|
||||
<div class="sidebar-user-card">
|
||||
<div class="avatar">
|
||||
<img src="{{ teacher.avatar }}!avatar_160" alt="{{ teacher.name }}">
|
||||
</div>
|
||||
|
@ -131,7 +131,7 @@
|
||||
{% for item in date_sale.items %}
|
||||
{% set class = item.selected == 1 ? 'layui-tab-item layui-show' : 'layui-tab-item' %}
|
||||
<div class="{{ class }}">
|
||||
<div class="index-course-list clearfix">
|
||||
<div class="index-course-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for sale in item.items %}
|
||||
<div class="layui-col-md3">
|
||||
|
@ -12,7 +12,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="page-info wrap">
|
||||
<div class="content ke-content">{{ help.content }}</div>
|
||||
|
@ -16,7 +16,7 @@
|
||||
{% for item in items %}
|
||||
{% set class = loop.first ? 'layui-tab-item layui-show' : 'layui-tab-item' %}
|
||||
<div class="{{ class }}">
|
||||
<div class="index-course-list clearfix">
|
||||
<div class="index-course-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for course in item.courses %}
|
||||
<div class="layui-col-md3">
|
||||
|
@ -5,7 +5,7 @@
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
{%- macro show_courses(courses) %}
|
||||
<div class="index-course-list clearfix">
|
||||
<div class="index-course-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for course in courses %}
|
||||
<div class="layui-col-md3">
|
||||
|
@ -70,7 +70,7 @@
|
||||
|
||||
{%- macro sidebar_course_card(course) %}
|
||||
{% set course_url = url({'for':'home.course.show','id':course.id}) %}
|
||||
<div class="sidebar-course-card clearfix">
|
||||
<div class="sidebar-course-card">
|
||||
<div class="cover">
|
||||
<img src="{{ course.cover }}!cover_270" alt="{{ course.title }}">
|
||||
</div>
|
||||
|
@ -1,4 +1,4 @@
|
||||
{%- macro gift_type_info(value) %}
|
||||
{%- macro gift_type(value) %}
|
||||
{% if value == 1 %}
|
||||
课程
|
||||
{% elseif value == 2 %}
|
||||
@ -8,7 +8,7 @@
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro redeem_status_info(value) %}
|
||||
{%- macro redeem_status(value) %}
|
||||
{% if value == 1 %}
|
||||
处理中
|
||||
{% elseif value == 2 %}
|
||||
|
@ -1,8 +1,8 @@
|
||||
{%- macro event_point_info(value) %}
|
||||
{% if value > 0 %}
|
||||
<span class="layui-badge layui-bg-green point">+{{ value }}</span>
|
||||
<span class="layui-badge layui-bg-red point">+{{ value }}</span>
|
||||
{% else %}
|
||||
<span class="layui-badge layui-bg-red point">{{ value }}</span>
|
||||
<span class="layui-badge layui-bg-green point">{{ value }}</span>
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
@ -37,6 +37,8 @@
|
||||
<span class="type">提问被赞</span>
|
||||
{% elseif value == 15 %}
|
||||
<span class="type">回答被赞</span>
|
||||
{% else %}
|
||||
<span class="type">N/A</span>
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
@ -83,5 +85,7 @@
|
||||
{% elseif type == 15 %}
|
||||
{% set question_url = url({'for':'home.question.show','id':info.question.id}) %}
|
||||
<p class="answer"><a href="{{ question_url }}" target="_blank">{{ info.question.title }}</a></p>
|
||||
{% else %}
|
||||
<p>N/A</p>
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
@ -6,14 +6,14 @@
|
||||
|
||||
{%- macro cart_course_card(course, user) %}
|
||||
{% set course_url = url({'for':'home.course.show','id':course.id}) %}
|
||||
<div class="cart-course-card clearfix">
|
||||
<div class="cart-course-card">
|
||||
<div class="cover">
|
||||
<img src="{{ course.cover }}!cover_270" alt="{{ course.title }}">
|
||||
</div>
|
||||
<div class="info">
|
||||
<p><a href="{{ course_url }}" target="_blank">{{ course.title }}</a></p>
|
||||
<p>
|
||||
<span class="key">优惠价格</span>
|
||||
<span class="key">市场价格</span>
|
||||
<span class="price">{{ '¥%0.2f'|format(course.market_price) }}</span>
|
||||
<span class="key">会员价格</span>
|
||||
<span class="price">{{ '¥%0.2f'|format(course.vip_price) }}</span>
|
||||
@ -46,7 +46,7 @@
|
||||
{% set course = item_info.course %}
|
||||
{% set reward = item_info.reward %}
|
||||
{% set course_url = url({'for':'home.course.show','id':course.id}) %}
|
||||
<div class="cart-course-card clearfix">
|
||||
<div class="cart-course-card">
|
||||
<div class="cover">
|
||||
<img src="{{ course.cover }}!cover_270" alt="{{ course.title }}">
|
||||
</div>
|
||||
@ -70,7 +70,7 @@
|
||||
|
||||
{%- macro cart_vip_card(item_info) %}
|
||||
{% set vip = item_info.vip %}
|
||||
<div class="cart-course-card clearfix">
|
||||
<div class="cart-course-card">
|
||||
<div class="cover">
|
||||
<img src="{{ vip.cover }}!cover_270" alt="{{ vip.title }}">
|
||||
</div>
|
||||
@ -109,7 +109,7 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="cart-stats wrap clearfix">
|
||||
<div class="cart-stats wrap">
|
||||
<div class="info">
|
||||
商品总价:<span class="amount">{{ '¥%0.2f'|format(confirm.total_amount) }}</span>
|
||||
优惠金额:<span class="amount">{{ '¥%0.2f'|format(confirm.discount_amount) }}</span>
|
||||
|
@ -11,7 +11,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="page-info wrap">
|
||||
<div class="content ke-content">{{ page.content }}</div>
|
||||
|
@ -1,12 +1,13 @@
|
||||
{{ partial('macros/point_gift') }}
|
||||
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="course-list clearfix">
|
||||
<div class="course-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for item in pager.items %}
|
||||
{% set gift_url = url({'for':'home.point_gift.show','id':item.id}) %}
|
||||
<div class="layui-col-md3">
|
||||
<div class="course-card">
|
||||
<span class="model layui-badge layui-bg-green">{{ gift_type(item.type) }}</span>
|
||||
<div class="cover">
|
||||
<a href="{{ gift_url }}">
|
||||
<img src="{{ item.cover }}" alt="item.name">
|
||||
@ -17,7 +18,6 @@
|
||||
<a href="{{ gift_url }}">{{ item.name }}</a>
|
||||
</div>
|
||||
<div class="meta">
|
||||
{{ gift_type_info(item.type) }}
|
||||
<span class="price">{{ item.point }} 积分</span>
|
||||
<span>{{ item.redeem_count }} 人兑换</span>
|
||||
</div>
|
@ -15,14 +15,14 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">物品信息</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="gift-meta clearfix">
|
||||
<div class="gift-meta">
|
||||
<div class="cover">
|
||||
<span class="layui-badge layui-bg-green type">{{ gift_type_info(gift.type) }}</span>
|
||||
<span class="layui-badge layui-bg-green type">{{ gift_type(gift.type) }}</span>
|
||||
<img src="{{ gift.cover }}!cover_270" alt="{{ gift.name }}">
|
||||
</div>
|
||||
<div class="info">
|
||||
@ -62,34 +62,34 @@
|
||||
<div class="layout-sidebar">
|
||||
<div class="sidebar">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">我的信息</div>
|
||||
<div class="layui-card-header">物品兑换</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="sidebar-user-card clearfix">
|
||||
<div class="avatar">
|
||||
<img src="{{ auth_user.avatar }}!avatar_160" alt="{{ auth_user.name }}">
|
||||
<form class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-mid">
|
||||
我的积分:<span class="red">{{ user_balance.point }} 积分</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="name">{{ auth_user.name }}</div>
|
||||
<div class="meta"><span>当前积分</span><span class="point">{{ user_balance.point }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
{% if gift.me.allow_redeem == 1 %}
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-bg-red layui-btn-fluid btn-redeem" data-url="{{ gift_redeem_url }}">立即兑换</button>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-fluid layui-btn-disabled">立即兑换</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar wrap">
|
||||
{% if gift.me.allow_redeem == 1 %}
|
||||
<button class="layui-btn layui-bg-red layui-btn-fluid btn-redeem" data-url="{{ gift_redeem_url }}">立即兑换</button>
|
||||
{% else %}
|
||||
<button class="layui-btn layui-btn-fluid layui-btn-disabled">立即兑换</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="sidebar">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">热门兑换</div>
|
||||
<div class="layui-card-body">
|
||||
{% for gift in hot_gifts %}
|
||||
{% set gift_url = url({'for':'home.point_gift.show','id':gift.id}) %}
|
||||
<div class="sidebar-course-card clearfix">
|
||||
<div class="sidebar-course-card">
|
||||
<div class="cover">
|
||||
<a href="{{ gift_url }}" title="{{ gift.name }}">
|
||||
<img src="{{ gift.cover }}!cover_270" alt="{{ gift.name }}">
|
106
app/Http/Home/Views/point/rule.volt
Normal file
106
app/Http/Home/Views/point/rule.volt
Normal file
@ -0,0 +1,106 @@
|
||||
{% extends 'templates/layer.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<table class="layui-table" lay-size="lg" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>奖励类型</th>
|
||||
<th>奖励分值</th>
|
||||
<th>每日上限</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% if consume_rule.enabled == 1 %}
|
||||
<tr>
|
||||
<td>订单消费</td>
|
||||
<td>消费金额 X {{ consume_rule.rate }}</td>
|
||||
<td>N/A</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.account_register.enabled == 1 %}
|
||||
<tr>
|
||||
<td>帐号注册</td>
|
||||
<td>{{ event_rule.account_register.point }}</td>
|
||||
<td>N/A</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.site_visit.enabled == 1 %}
|
||||
<tr>
|
||||
<td>站点访问</td>
|
||||
<td>{{ event_rule.site_visit.point }}</td>
|
||||
<td>N/A</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.course_review.enabled == 1 %}
|
||||
<tr>
|
||||
<td>课程评价</td>
|
||||
<td>{{ event_rule.course_review.point }}</td>
|
||||
<td>N/A</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.chapter_study.enabled == 1 %}
|
||||
<tr>
|
||||
<td>课时学习</td>
|
||||
<td>{{ event_rule.chapter_study.point }}</td>
|
||||
<td>N/A</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.comment_post.enabled == 1 %}
|
||||
<tr>
|
||||
<td>发表评论</td>
|
||||
<td>{{ event_rule.comment_post.point }}</td>
|
||||
<td>{{ event_rule.comment_post.limit }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.article_post.enabled == 1 %}
|
||||
<tr>
|
||||
<td>发表文章</td>
|
||||
<td>{{ event_rule.article_post.point }}</td>
|
||||
<td>{{ event_rule.article_post.limit }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.question_post.enabled == 1 %}
|
||||
<tr>
|
||||
<td>发布问题</td>
|
||||
<td>{{ event_rule.question_post.point }}</td>
|
||||
<td>{{ event_rule.article_post.limit }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.answer_post.enabled == 1 %}
|
||||
<tr>
|
||||
<td>回答问题</td>
|
||||
<td>{{ event_rule.answer_post.point }}</td>
|
||||
<td>{{ event_rule.article_post.limit }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.article_liked.enabled == 1 %}
|
||||
<tr>
|
||||
<td>文章被赞</td>
|
||||
<td>{{ event_rule.article_liked.point }}</td>
|
||||
<td>{{ event_rule.article_post.limit }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.question_liked.enabled == 1 %}
|
||||
<tr>
|
||||
<td>问题被赞</td>
|
||||
<td>{{ event_rule.question_liked.point }}</td>
|
||||
<td>{{ event_rule.article_post.limit }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if event_rule.answer_liked.enabled == 1 %}
|
||||
<tr>
|
||||
<td>回答被赞</td>
|
||||
<td>{{ event_rule.answer_liked.point }}</td>
|
||||
<td>{{ event_rule.article_post.limit }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -15,7 +15,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="content-wrap wrap">
|
||||
<div class="layui-tab layui-tab-brief search-tab">
|
||||
|
@ -28,10 +28,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-sticky">
|
||||
{{ partial('question/sticky') }}
|
||||
</div>
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="article-info wrap">
|
||||
<div class="title">{{ question.title }}</div>
|
||||
@ -97,6 +94,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layout-sticky">
|
||||
{{ partial('question/sticky') }}
|
||||
</div>
|
||||
|
||||
{% set share_url = full_url({'for':'home.share'},{'id':question.id,'type':'question'}) %}
|
||||
{% set qrcode_url = url({'for':'home.qrcode'},{'text':share_url}) %}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">关于作者</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="sidebar-user-card clearfix">
|
||||
<div class="sidebar-user-card">
|
||||
<div class="avatar">
|
||||
<img src="{{ question.owner.avatar }}!avatar_160" alt="{{ question.owner.name }}">
|
||||
</div>
|
||||
|
@ -15,7 +15,7 @@
|
||||
</div>
|
||||
|
||||
{% set tab_show = type %}
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="layout-content">
|
||||
<div class="search-tab-wrap wrap">
|
||||
<div class="layui-tab layui-tab-brief search-tab">
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="tag-list clearfix">
|
||||
<div class="tag-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for item in pager.items %}
|
||||
{% set follow_url = url({'for':'home.tag.follow','id':item.id}) %}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="tag-list clearfix">
|
||||
<div class="tag-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for item in pager.items %}
|
||||
{% set follow_url = url({'for':'home.tag.follow','id':item.id}) %}
|
||||
|
@ -7,7 +7,7 @@
|
||||
{% set status_types = {'all':'全部','pending':'待回复','replied':'已回复'} %}
|
||||
{% set status = request.get('status','trim','all') %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('teacher/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -20,7 +20,7 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table consult-table">
|
||||
<table class="layui-table consult-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('teacher/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -12,7 +12,7 @@
|
||||
<span class="title">我的课程</span>
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table" lay-size="lg">
|
||||
<table class="layui-table" lay-size="lg" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('teacher/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -12,7 +12,7 @@
|
||||
<span class="title">课程直播</span>
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table">
|
||||
<table class="layui-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="user-list teacher-list clearfix">
|
||||
<div class="user-list teacher-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for item in pager.items %}
|
||||
{% set user_url = url({'for':'home.teacher.show','id':item.id}) %}
|
||||
@ -14,9 +14,6 @@
|
||||
<a href="{{ user_url }}" title="{{ item.about }}" target="_blank">{{ item.name }}</a>
|
||||
</div>
|
||||
<div class="title layui-elip">{{ item.title|default('小小教书匠') }}</div>
|
||||
<div class="action">
|
||||
<span class="layui-btn apply-friend" data-id="{{ item.id }}" data-name="{{ item.name }}" data-avatar="{{ item.avatar }}">添加好友</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="course-list clearfix">
|
||||
<div class="course-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for item in pager.items %}
|
||||
<div class="layui-col-md3">
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
|
@ -23,7 +23,7 @@
|
||||
{% set edit_phone_url = url({'for':'home.uc.account'},{'type':'phone'}) %}
|
||||
{% set edit_email_url = url({'for':'home.uc.account'},{'type':'email'}) %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -32,32 +32,42 @@
|
||||
</div>
|
||||
<div class="security-item-list">
|
||||
<div class="security-item">
|
||||
<span class="icon"><i class="layui-icon layui-icon-password"></i></span>
|
||||
<span class="title">登录密码</span>
|
||||
<span class="summary">经常更改密码有助于保护您的帐号安全</span>
|
||||
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-pwd" href="{{ edit_pwd_url }}">修改</a></span>
|
||||
<div class="info">
|
||||
<span class="icon"><i class="layui-icon layui-icon-password"></i></span>
|
||||
<span class="title">登录密码</span>
|
||||
<span class="summary">经常更改密码有助于保护您的帐号安全</span>
|
||||
</div>
|
||||
<div class="action">
|
||||
<a class="layui-btn layui-btn-sm btn-edit-pwd" href="{{ edit_pwd_url }}">修改</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="security-item">
|
||||
<span class="icon"><i class="layui-icon layui-icon-cellphone"></i></span>
|
||||
<span class="title">手机绑定</span>
|
||||
{% if account.phone %}
|
||||
<span class="summary">已绑定手机:{{ account.phone|anonymous }}</span>
|
||||
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-phone" href="{{ edit_phone_url }}">修改</a></span>
|
||||
{% else %}
|
||||
<span class="summary">可用于登录和重置密码</span>
|
||||
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-phone" href="{{ edit_phone_url }}">绑定</a></span>
|
||||
{% endif %}
|
||||
<div class="info">
|
||||
<span class="icon"><i class="layui-icon layui-icon-cellphone"></i></span>
|
||||
<span class="title">手机绑定</span>
|
||||
{% if account.phone %}
|
||||
<span class="summary">已绑定手机:{{ account.phone|anonymous }}</span>
|
||||
{% else %}
|
||||
<span class="summary">可用于登录和重置密码</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="action">
|
||||
<a class="layui-btn layui-btn-sm btn-edit-phone" href="{{ edit_phone_url }}">绑定</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="security-item">
|
||||
<span class="icon"><i class="layui-icon layui-icon-email"></i></span>
|
||||
<span class="title">邮箱绑定</span>
|
||||
{% if account.email %}
|
||||
<span class="summary">已绑定邮箱:{{ account.email|anonymous }}</span>
|
||||
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-email" href="{{ edit_email_url }}">修改</a></span>
|
||||
{% else %}
|
||||
<span class="summary">可用于登录和重置密码</span>
|
||||
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-email" href="{{ edit_email_url }}">绑定</a></span>
|
||||
{% endif %}
|
||||
<div class="info">
|
||||
<span class="icon"><i class="layui-icon layui-icon-email"></i></span>
|
||||
<span class="title">邮箱绑定</span>
|
||||
{% if account.email %}
|
||||
<span class="summary">已绑定邮箱:{{ account.email|anonymous }}</span>
|
||||
{% else %}
|
||||
<span class="summary">可用于登录和重置密码</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="action">
|
||||
<a class="layui-btn layui-btn-sm btn-edit-email" href="{{ edit_email_url }}">绑定</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="my-nav">
|
||||
@ -66,19 +76,20 @@
|
||||
{% if connects %}
|
||||
<div class="connect-tips">已经绑定的第三方帐号</div>
|
||||
<div class="connect-list">
|
||||
<table class="layui-table">
|
||||
<table class="layui-table" lay-skin="line">
|
||||
<tr>
|
||||
<td>提供方</td>
|
||||
<td>用户信息</td>
|
||||
<td>创建日期</td>
|
||||
<td>更新日期</td>
|
||||
<td width="15%">操作</td>
|
||||
</tr>
|
||||
{% for connect in connects %}
|
||||
{% set url = url({'for':'home.uc.unconnect','id':connect.id}) %}
|
||||
{% set time = connect.update_time > 0 ? connect.update_time : connect.create_time %}
|
||||
<tr>
|
||||
<td>{{ connect_provider(connect) }}</td>
|
||||
<td>{{ connect_user(connect) }}</td>
|
||||
<td>{{ date('Y-m-d H:i',connect.create_time) }}</td>
|
||||
<td>{{ date('Y-m-d H:i',time) }}</td>
|
||||
<td><a class="layui-btn layui-btn-danger layui-btn-sm kg-delete" href="javascript:" data-url="{{ url }}" data-tips="确定要解除绑定吗?">解绑</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
|
@ -7,7 +7,7 @@
|
||||
{% set published_types = {'0':'全部','1':'审核中','2':'已发布','3':'未通过'} %}
|
||||
{% set published = request.get('published','trim','0') %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -20,7 +20,7 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table review-table">
|
||||
<table class="layui-table review-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -7,7 +7,7 @@
|
||||
{% set published_types = {'0':'全部','1':'审核中','2':'已发布','3':'未通过'} %}
|
||||
{% set published = request.get('published','trim','0') %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -20,7 +20,7 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table">
|
||||
<table class="layui-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -12,7 +12,7 @@
|
||||
<span class="title">我的咨询</span>
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table consult-table">
|
||||
<table class="layui-table consult-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col width="20%">
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
{% set update_url = url({'for':'home.uc.update_contact'}) %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
|
@ -5,7 +5,7 @@
|
||||
{{ partial('macros/course_user') }}
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -13,7 +13,7 @@
|
||||
<span class="title">我的课程</span>
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table">
|
||||
<table class="layui-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -5,7 +5,7 @@
|
||||
{% set types = {'course':'课程','article':'文章','question':'问题'} %}
|
||||
{% set type = request.get('type','trim','course') %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table" lay-size="lg">
|
||||
<table class="layui-table" lay-size="lg" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table" lay-size="lg">
|
||||
<table class="layui-table" lay-size="lg" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table" lay-size="lg">
|
||||
<table class="layui-table" lay-size="lg" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -63,16 +63,6 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">聊天设置</div>
|
||||
<div class="layui-card-body">
|
||||
<ul class="my-menu">
|
||||
<li><a href="{{ url({'for':'home.uc.friends'}) }}">我的好友</a></li>
|
||||
<li><a href="{{ url({'for':'home.uc.groups'}) }}">我的群组</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">个人设置</div>
|
||||
<div class="layui-card-body">
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
{{ partial('macros/notification') }}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -15,7 +15,7 @@
|
||||
{% for item in pager.items %}
|
||||
{% set sender_url = url({'for':'home.user.show','id':item.sender.id}) %}
|
||||
{% set receiver_url = url({'for':'home.user.show','id':item.receiver.id}) %}
|
||||
<div class="comment-card notice-card clearfix">
|
||||
<div class="comment-card notice-card">
|
||||
<div class="avatar">
|
||||
<a href="{{ sender_url }}" title="{{ item.sender.name }}" target="_blank">
|
||||
<img src="{{ item.sender.avatar }}!avatar_160" alt="{{ item.sender.name }}">
|
||||
|
@ -7,7 +7,7 @@
|
||||
{% set status_types = {'0':'全部','1':'待支付','3':'已完成','4':'已关闭','5':'已退款'} %}
|
||||
{% set status = request.get('status','trim','0') %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -20,28 +20,44 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="order-list">
|
||||
<table class="layui-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col width="12%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>商品</th>
|
||||
<th>促销</th>
|
||||
<th>价格</th>
|
||||
<th>状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for item in pager.items %}
|
||||
{% set order_info_url = url({'for':'home.order.info'},{'sn':item.sn}) %}
|
||||
<div class="order-card">
|
||||
<div class="header">
|
||||
<span>编号:{{ item.sn }}</span>
|
||||
<span>时间:{{ date('Y-m-d H:i:s',item.create_time) }}</span>
|
||||
{% if item.promotion_type > 0 %}
|
||||
促销:<span class="layui-badge layui-bg-blue">{{ promotion_type(item.promotion_type) }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="body clearfix">
|
||||
<div class="column subject">{{ item.subject }}</div>
|
||||
<div class="column price">{{ '¥%0.2f'|format(item.amount) }}</div>
|
||||
<div class="column status">{{ order_status(item.status) }}</div>
|
||||
<div class="column action">
|
||||
<button class="layui-btn layui-btn-sm btn-order-info" data-url="{{ order_info_url }}">详情</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
<td>
|
||||
<p>{{ item.subject }}</p>
|
||||
<p class="meta">
|
||||
<span>编号:{{ item.sn }}</span>
|
||||
<span>时间:{{ date('Y-m-d',item.create_time) }}</span>
|
||||
</p>
|
||||
</td>
|
||||
<td>{{ promotion_type(item.promotion_type) }}</td>
|
||||
<td class="red">{{ '¥%0.2f'|format(item.amount) }}</td>
|
||||
<td>{{ order_status(item.status) }}</td>
|
||||
<td>
|
||||
<button class="layui-btn layui-btn-sm btn-order-info" data-url="{{ order_info_url }}">详情</button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</tbody>
|
||||
</table>
|
||||
{{ partial('partials/pager') }}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
{{ partial('macros/point_gift') }}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -12,7 +12,7 @@
|
||||
<span class="title">兑换记录</span>
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table" lay-size="lg">
|
||||
<table class="layui-table" lay-size="lg" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -31,9 +31,9 @@
|
||||
{% for item in pager.items %}
|
||||
{% set gift_url = url({'for':'home.point_gift.show','id':item.gift.id}) %}
|
||||
<tr>
|
||||
<td><a href="{{ gift_url }}" target="_blank">{{ item.gift.name }}</a> {{ gift_type_info(item.gift.type) }}</td>
|
||||
<td><a href="{{ gift_url }}" target="_blank">{{ item.gift.name }}</a> {{ gift_type(item.gift.type) }}</td>
|
||||
<td>{{ item.gift.point }}</td>
|
||||
<td>{{ redeem_status_info(item.status) }}</td>
|
||||
<td>{{ redeem_status(item.status) }}</td>
|
||||
<td>{{ date('Y-m-d',item.create_time) }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
@ -4,15 +4,18 @@
|
||||
|
||||
{{ partial('macros/point_history') }}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
{% set rule_url = url({'for':'home.point.rule'}) %}
|
||||
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
<div class="my-nav">
|
||||
<span class="title">积分记录</span>
|
||||
<a href="javascript:" class="rule sub-nav" data-url="{{ rule_url }}">积分规则</a>
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table" lay-size="lg">
|
||||
<table class="layui-table" lay-size="lg" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -33,7 +36,7 @@
|
||||
<td>{{ event_type_info(item.event_type) }}</td>
|
||||
<td>{{ event_point_info(item.event_point) }}</td>
|
||||
<td>{{ event_detail_info(item.event_type,item.event_info) }}</td>
|
||||
<td>{{ date('Y-m-d',item.create_time) }}</td>
|
||||
<td>{{ date('Y-m-d H:i',item.create_time) }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
@ -44,4 +47,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('home/js/point.rule.js') }}
|
||||
|
||||
{% endblock %}
|
@ -7,7 +7,7 @@
|
||||
{% set gender_female_checked = user.gender == 2 ? 'checked' : '' %}
|
||||
{% set gender_none_checked = user.gender == 3 ? 'checked' : '' %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
|
@ -7,7 +7,7 @@
|
||||
{% set published_types = {'0':'全部','1':'审核中','2':'已发布','3':'未通过'} %}
|
||||
{% set published = request.get('published','trim','0') %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -20,7 +20,7 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table">
|
||||
<table class="layui-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -7,7 +7,7 @@
|
||||
{% set status_types = {'0':'全部','1':'待处理','2':'已取消','3':'退款中','5':'已完成'} %}
|
||||
{% set status = request.get('status','int','0') %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -20,25 +20,41 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="order-list">
|
||||
<table class="layui-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col width="12%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>商品</th>
|
||||
<th>价格</th>
|
||||
<th>状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for item in pager.items %}
|
||||
{% set refund_info_url = url({'for':'home.refund.info'},{'sn':item.sn}) %}
|
||||
<div class="order-card">
|
||||
<div class="header">
|
||||
<span class="sn">编号:{{ item.sn }}</span>
|
||||
<span class="time">时间:{{ date('Y-m-d H:i:s',item.create_time) }}</span>
|
||||
</div>
|
||||
<div class="body clearfix">
|
||||
<div class="column subject">{{ item.subject }}</div>
|
||||
<div class="column price">{{ '¥%0.2f'|format(item.amount) }}</div>
|
||||
<div class="column status">{{ refund_status(item.status) }}</div>
|
||||
<div class="column action">
|
||||
<button class="layui-btn layui-btn-sm btn-refund-info" data-url="{{ refund_info_url }}">详情</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
<td>
|
||||
<p class="meta">{{ item.subject }}</p>
|
||||
<p class="meta">
|
||||
<span>编号:{{ item.sn }}</span>
|
||||
<span>时间:{{ date('Y-m-d',item.create_time) }}</span>
|
||||
</p>
|
||||
</td>
|
||||
<td class="red">{{ '¥%0.2f'|format(item.amount) }}</td>
|
||||
<td>{{ refund_status(item.status) }}</td>
|
||||
<td>
|
||||
<button class="layui-btn layui-btn-sm btn-refund-info" data-url="{{ refund_info_url }}">详情</button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</tbody>
|
||||
</table>
|
||||
{{ partial('partials/pager') }}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
@ -12,7 +12,7 @@
|
||||
<span class="title">我的评价</span>
|
||||
</div>
|
||||
{% if pager.total_pages > 0 %}
|
||||
<table class="layui-table review-table">
|
||||
<table class="layui-table review-table" lay-skin="line">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="layout-main clearfix">
|
||||
<div class="layout-main">
|
||||
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
|
||||
<div class="my-content">
|
||||
<div class="wrap">
|
||||
|
@ -1,7 +1,7 @@
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="course-list clearfix">
|
||||
<div class="course-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for item in pager.items %}
|
||||
<div class="layui-col-md3">
|
||||
|
@ -20,7 +20,7 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="user-profile wrap clearfix">
|
||||
<div class="user-profile wrap">
|
||||
<div class="{{ avatar_class }}">
|
||||
<img src="{{ user.avatar }}!avatar_160" alt="{{ user.name }}">
|
||||
</div>
|
||||
|
@ -1,7 +1,7 @@
|
||||
{{ partial('macros/course') }}
|
||||
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="course-list clearfix">
|
||||
<div class="course-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for item in pager.items %}
|
||||
<div class="layui-col-md3">
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% if pager.total_pages > 0 %}
|
||||
<div class="user-list vip-user-list clearfix">
|
||||
<div class="user-list vip-user-list">
|
||||
<div class="layui-row layui-col-space20">
|
||||
{% for item in pager.items %}
|
||||
{% set user_url = url({'for':'home.user.show','id':item.id}) %}
|
||||
|
@ -6,7 +6,7 @@
|
||||
{% for author in authors %}
|
||||
{% set author.title = author.title ? author.title : '暂露头角' %}
|
||||
{% set author_url = url({'for':'home.user.show','id':author.id}) %}
|
||||
<div class="sidebar-user-card clearfix">
|
||||
<div class="sidebar-user-card">
|
||||
<div class="avatar">
|
||||
<img src="{{ author.avatar }}!avatar_160" alt="{{ author.name }}">
|
||||
</div>
|
||||
|
@ -139,6 +139,8 @@ class Course extends Model
|
||||
/**
|
||||
* 原始价格
|
||||
*
|
||||
* @deprecated since v1.5.7
|
||||
*
|
||||
* @var float
|
||||
*/
|
||||
public $origin_price = 0.00;
|
||||
|
@ -242,14 +242,6 @@ class User extends Model
|
||||
|
||||
public function afterUpdate()
|
||||
{
|
||||
if ($this->hasUpdated('name') || $this->hasUpdated('avatar')) {
|
||||
$imUser = ImUser::findFirst($this->id);
|
||||
$imUser->update([
|
||||
'name' => $this->name,
|
||||
'avatar' => $this->avatar,
|
||||
]);
|
||||
}
|
||||
|
||||
$userCache = new UserCache();
|
||||
|
||||
$userCache->rebuild($this->id);
|
||||
|
@ -12,7 +12,6 @@ use App\Models\Answer as AnswerModel;
|
||||
use App\Models\Article as ArticleModel;
|
||||
use App\Models\Comment as CommentModel;
|
||||
use App\Models\CourseUser as CourseUserModel;
|
||||
use App\Models\ImUser as ImUserModel;
|
||||
use App\Models\Notification as NotificationModel;
|
||||
use App\Models\Question as QuestionModel;
|
||||
use App\Models\User as UserModel;
|
||||
@ -164,15 +163,6 @@ class User extends Repository
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $id
|
||||
* @return ImUserModel|Model|bool
|
||||
*/
|
||||
public function findImUser($id)
|
||||
{
|
||||
return ImUserModel::findFirst($id);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ResultsetInterface|Resultset|UserModel[]
|
||||
*/
|
||||
|
@ -8,7 +8,6 @@
|
||||
namespace App\Services\Logic\User;
|
||||
|
||||
use App\Models\User as UserModel;
|
||||
use App\Repos\User as UserRepo;
|
||||
use App\Services\Logic\Service as LogicService;
|
||||
use App\Services\Logic\UserTrait;
|
||||
|
||||
@ -26,10 +25,6 @@ class UserInfo extends LogicService
|
||||
|
||||
protected function handleUser(UserModel $user)
|
||||
{
|
||||
$userRepo = new UserRepo();
|
||||
|
||||
$imUser = $userRepo->findImUser($user->id);
|
||||
|
||||
return [
|
||||
'id' => $user->id,
|
||||
'name' => $user->name,
|
||||
@ -46,8 +41,6 @@ class UserInfo extends LogicService
|
||||
'question_count' => $user->question_count,
|
||||
'answer_count' => $user->answer_count,
|
||||
'comment_count' => $user->comment_count,
|
||||
'friend_count' => $imUser->friend_count,
|
||||
'group_count' => $imUser->group_count,
|
||||
'vip_expiry_time' => $user->vip_expiry_time,
|
||||
'lock_expiry_time' => $user->lock_expiry_time,
|
||||
'active_time' => $user->active_time,
|
||||
|
@ -110,13 +110,16 @@
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.layout-main {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.layout-content {
|
||||
float: left;
|
||||
width: 800px;
|
||||
}
|
||||
|
||||
.layout-sidebar {
|
||||
float: right;
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
@ -839,7 +842,7 @@
|
||||
}
|
||||
|
||||
.course-card .info {
|
||||
padding: 10px 5px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.course-card .title {
|
||||
@ -914,21 +917,24 @@
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.course-meta {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.course-meta .cover {
|
||||
float: left;
|
||||
position: relative;
|
||||
width: 270px;
|
||||
height: 150px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.course-meta .info {
|
||||
float: left;
|
||||
width: 560px;
|
||||
width: 580px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
.course-meta .rating {
|
||||
float: right;
|
||||
padding: 10px 50px 0 0;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.course-meta p {
|
||||
@ -936,8 +942,8 @@
|
||||
}
|
||||
|
||||
.course-meta .cover img {
|
||||
width: 270px;
|
||||
height: 150px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.course-meta .cover .model {
|
||||
@ -1053,8 +1059,9 @@
|
||||
}
|
||||
|
||||
.package-item {
|
||||
display: flex;
|
||||
margin-bottom: 20px;
|
||||
border-bottom: 1px dashed #ccc;
|
||||
border-bottom: 1px solid #f6f6f6;
|
||||
}
|
||||
|
||||
.package-item:last-child {
|
||||
@ -1064,7 +1071,6 @@
|
||||
}
|
||||
|
||||
.package-info {
|
||||
float: left;
|
||||
width: 180px;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
@ -1189,28 +1195,31 @@
|
||||
}
|
||||
|
||||
.sidebar-user-card {
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
margin-bottom: 10px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #f6f6f6;
|
||||
}
|
||||
|
||||
.sidebar-user-card:last-child {
|
||||
border-bottom: none;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.sidebar-user-card .avatar {
|
||||
float: left;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.sidebar-user-card .avatar img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 60px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.sidebar-user-card .info {
|
||||
float: left;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
.sidebar-user-card .info .name {
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.sidebar-user-card .info .title {
|
||||
@ -1218,10 +1227,6 @@
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.sidebar-user-card .info span {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.topic-badge,
|
||||
.tag-badge {
|
||||
padding: 2px 5px;
|
||||
@ -1230,12 +1235,14 @@
|
||||
}
|
||||
|
||||
.sidebar-course-card {
|
||||
padding-bottom: 10px;
|
||||
display: flex;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px dashed #ccc;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #f6f6f6;
|
||||
}
|
||||
|
||||
.sidebar-course-card:last-child {
|
||||
padding-bottom: 0;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
@ -1678,23 +1685,24 @@
|
||||
}
|
||||
|
||||
.user-profile {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.user-profile .avatar {
|
||||
float: left;
|
||||
width: 96px;
|
||||
height: 96px;
|
||||
margin-right: 30px;
|
||||
}
|
||||
|
||||
.user-profile .avatar img {
|
||||
width: 96px;
|
||||
height: 96px;
|
||||
border-radius: 100px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.user-profile .info {
|
||||
float: left;
|
||||
padding-top: 10px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.user-profile .info h3 {
|
||||
@ -1713,9 +1721,6 @@
|
||||
}
|
||||
|
||||
.user-profile .about {
|
||||
position: absolute;
|
||||
top: 25px;
|
||||
right: 20px;
|
||||
width: 400px;
|
||||
height: 70px;
|
||||
padding: 10px;
|
||||
@ -1797,11 +1802,6 @@
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.user-card .owner {
|
||||
margin-bottom: 10px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.user-card .title {
|
||||
color: #666;
|
||||
}
|
||||
@ -1814,17 +1814,6 @@
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.user-card .action {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.user-card .action .layui-btn {
|
||||
padding: 0 5px;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.user-card .type {
|
||||
position: absolute;
|
||||
top: 18px;
|
||||
@ -1836,43 +1825,13 @@
|
||||
}
|
||||
|
||||
.teacher-list .user-card {
|
||||
height: 240px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.vip-user-list .user-card {
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.group-user-list .user-card {
|
||||
box-shadow: none;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.group-user-list .avatar {
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
.group-user-list .avatar img {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.group-list {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.group-list .user-card {
|
||||
height: 240px;
|
||||
}
|
||||
|
||||
.group-about {
|
||||
padding: 15px;
|
||||
min-height: 65px;
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.tag-card {
|
||||
float: left;
|
||||
width: 100%;
|
||||
@ -1904,12 +1863,10 @@
|
||||
}
|
||||
|
||||
.my-sidebar {
|
||||
float: left;
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
.my-content {
|
||||
float: right;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
@ -1934,6 +1891,7 @@
|
||||
}
|
||||
|
||||
.my-nav {
|
||||
position: relative;
|
||||
line-height: 30px;
|
||||
padding-bottom: 10px;
|
||||
margin-bottom: 20px;
|
||||
@ -1945,10 +1903,21 @@
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.my-nav .sub-nav {
|
||||
margin-right: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.my-nav a {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.sub-nav a {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.profile-form {
|
||||
width: 95%;
|
||||
}
|
||||
@ -1993,23 +1962,21 @@
|
||||
}
|
||||
|
||||
.consult-info .item {
|
||||
display: flex;
|
||||
margin-bottom: 15px;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
.consult-info .item .label {
|
||||
float: left;
|
||||
width: 50px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.consult-info .item .title {
|
||||
float: left;
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
.consult-info .item .content {
|
||||
float: left;
|
||||
width: 600px;
|
||||
color: #666;
|
||||
word-wrap: break-word;
|
||||
@ -2033,8 +2000,10 @@
|
||||
}
|
||||
|
||||
.security-item {
|
||||
line-height: 80px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px dashed #ccc;
|
||||
line-height: 80px;
|
||||
}
|
||||
|
||||
.security-item:last-child {
|
||||
@ -2053,10 +2022,6 @@
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.security-item .action {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.connect-list {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
@ -2186,9 +2151,15 @@
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
.gift-meta {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.gift-meta .cover {
|
||||
float: left;
|
||||
position: relative;
|
||||
width: 270px;
|
||||
height: 150px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
@ -2199,12 +2170,11 @@
|
||||
}
|
||||
|
||||
.gift-meta .cover img {
|
||||
width: 270px;
|
||||
height: 150px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.gift-meta .info {
|
||||
float: left;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
@ -2220,7 +2190,7 @@
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.gift-meta .info .price, .sidebar-user-card .info .point {
|
||||
.gift-meta .info .price {
|
||||
color: red;
|
||||
}
|
||||
|
||||
|
16
public/static/home/js/point.rule.js
Normal file
16
public/static/home/js/point.rule.js
Normal file
@ -0,0 +1,16 @@
|
||||
layui.use(['jquery', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
|
||||
$('.rule').on('click', function () {
|
||||
var url = $(this).data('url');
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '积分规则',
|
||||
content: url,
|
||||
area: ['720px', '480px']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
@ -6,6 +6,10 @@ img {
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border: 1px solid #dedede;
|
||||
|
Loading…
x
Reference in New Issue
Block a user