diff --git a/CHANGELOG.md b/CHANGELOG.md index 26b077a2..2d08a790 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,24 @@ +### [v1.2.6](https://gitee.com/koogua/course-tencent-cloud/releases/v1.2.6)(2021-02-20) + +### 新增 + +- 积分兑换机制 +- 课程增加原价属性 +- gitee提交webhooks自动化部署脚本 + +### 更新 + +- course和chapter数据迁移文件中遗漏了recourse_count字段 +- app/Caches/TopicCourseList不存在 +- Model文件属性定义默认值 +- 隐藏非付费课程的咨询服务 +- 教学中心教师直播推流按钮无反应 +- 用户中心部分样式调整 +- 播放器清晰度标签和实际的清晰度不对应 +- CNZZ统计代码会显示出站长统计图标 +- 自动安装后访问站点500错误 +- 自动更新脚本可更新css和js版本号 + ### [v1.2.5](https://gitee.com/koogua/course-tencent-cloud/releases/v1.2.5)(2021-01-20) ### 新增 diff --git a/app/Http/Admin/Controllers/PointGiftController.php b/app/Http/Admin/Controllers/PointGiftController.php index fafda241..1135eb9d 100644 --- a/app/Http/Admin/Controllers/PointGiftController.php +++ b/app/Http/Admin/Controllers/PointGiftController.php @@ -24,6 +24,14 @@ class PointGiftController extends Controller $this->view->setVar('pager', $pager); } + /** + * @Get("/search", name="admin.point_gift.search") + */ + public function searchAction() + { + $this->view->pick('point/gift/search'); + } + /** * @Get("/add", name="admin.point_gift.add") */ diff --git a/app/Http/Admin/Services/AuthNode.php b/app/Http/Admin/Services/AuthNode.php index f29c29dc..20dedbb5 100644 --- a/app/Http/Admin/Services/AuthNode.php +++ b/app/Http/Admin/Services/AuthNode.php @@ -481,22 +481,22 @@ class AuthNode extends Service 'title' => '积分商城', 'type' => 'menu', 'children' => [ - [ - 'id' => '2-8-1', - 'title' => '兑换记录', - 'type' => 'menu', - 'route' => 'admin.point_redeem.list', - ], [ 'id' => '2-8-2', 'title' => '礼品列表', 'type' => 'menu', 'route' => 'admin.point_gift.list', ], + [ + 'id' => '2-8-1', + 'title' => '兑换记录', + 'type' => 'menu', + 'route' => 'admin.point_redeem.list', + ], [ 'id' => '2-8-3', 'title' => '添加礼品', - 'type' => 'menu', + 'type' => 'button', 'route' => 'admin.point_gift.add', ], [ diff --git a/app/Http/Admin/Services/PointGift.php b/app/Http/Admin/Services/PointGift.php index 4a78efc0..b87211fe 100644 --- a/app/Http/Admin/Services/PointGift.php +++ b/app/Http/Admin/Services/PointGift.php @@ -76,6 +76,10 @@ class PointGift extends Service $data['details'] = $validator->checkDetails($post['details']); } + if (isset($post['attrs'])) { + $data['attrs'] = $validator->checkAttrs($gift, $post['attrs']); + } + if (isset($post['point'])) { $data['point'] = $validator->checkPoint($post['point']); } diff --git a/app/Http/Admin/Views/point/gift/edit.volt b/app/Http/Admin/Views/point/gift/edit.volt index a2560c51..9e43021f 100644 --- a/app/Http/Admin/Views/point/gift/edit.volt +++ b/app/Http/Admin/Views/point/gift/edit.volt @@ -5,96 +5,9 @@ {% set update_url = url({'for':'admin.point_gift.update','id':gift.id}) %} {% if gift.type == 1 %} -
-
- 编辑礼品 -
-
- -
- -
-
-
- -
{{ gift.name }}
-
-
- -
- -
-
-
- -
- -
-
-
- -
- - -
-
-
- {% endif %} - - {% if gift.type == 2 %} -
-
- 编辑礼品 -
-
- -
- - -
-
- -
-
-
- -
- -
-
-
- -
-
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- - -
-
-
+ {{ partial('point/gift/edit_course') }} + {% elseif gift.type == 2 %} + {{ partial('point/gift/edit_goods') }} {% endif %} {% endblock %} diff --git a/app/Http/Admin/Views/point/gift/edit_course.volt b/app/Http/Admin/Views/point/gift/edit_course.volt new file mode 100644 index 00000000..e6c7fcd6 --- /dev/null +++ b/app/Http/Admin/Views/point/gift/edit_course.volt @@ -0,0 +1,34 @@ +
+
+ 编辑礼品 +
+
+ +
+ +
+
+
+ +
{{ gift.name }}
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ + +
+
+
\ No newline at end of file diff --git a/app/Http/Admin/Views/point/gift/edit_goods.volt b/app/Http/Admin/Views/point/gift/edit_goods.volt new file mode 100644 index 00000000..ecfbc919 --- /dev/null +++ b/app/Http/Admin/Views/point/gift/edit_goods.volt @@ -0,0 +1,59 @@ +
+
+ 编辑礼品 +
+
+ +
+ + +
+
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ + +
+
+
\ No newline at end of file diff --git a/app/Http/Admin/Views/point/gift/list.volt b/app/Http/Admin/Views/point/gift/list.volt index 2089f1bc..eba95255 100644 --- a/app/Http/Admin/Views/point/gift/list.volt +++ b/app/Http/Admin/Views/point/gift/list.volt @@ -5,6 +5,7 @@ {{ partial('macros/point') }} {% set add_url = url({'for':'admin.point_gift.add'}) %} + {% set search_url = url({'for':'admin.point_gift.search'}) %}
@@ -16,6 +17,9 @@ 添加礼品 + + 搜索礼品 +
diff --git a/app/Http/Admin/Views/point/gift/search.volt b/app/Http/Admin/Views/point/gift/search.volt index 9ce882e2..5663aca4 100644 --- a/app/Http/Admin/Views/point/gift/search.volt +++ b/app/Http/Admin/Views/point/gift/search.volt @@ -2,40 +2,27 @@ {% block content %} -
+
- 搜索群组 + 搜索礼品
- +
- +
- +
- -
-
-
- -
- -
-
-
- -
- +
- - +
diff --git a/app/Http/Api/Services/Account.php b/app/Http/Api/Services/Account.php index b10af251..bbe4cc90 100644 --- a/app/Http/Api/Services/Account.php +++ b/app/Http/Api/Services/Account.php @@ -2,13 +2,10 @@ namespace App\Http\Api\Services; -use App\Models\User as UserModel; use App\Repos\User as UserRepo; use App\Services\Auth\Api as AuthService; use App\Services\Logic\Account\Register as RegisterService; use App\Validators\Account as AccountValidator; -use Phalcon\Di as Di; -use Phalcon\Events\Manager as EventsManager; class Account extends Service { @@ -35,7 +32,7 @@ class Account extends Service $token = $this->auth->saveAuthInfo($user); - $this->fireAfterRegisterEvent($user); + $this->eventsManager->fire('Account:afterRegister', $this, $user); return $token; } @@ -59,7 +56,7 @@ class Account extends Service $token = $this->auth->saveAuthInfo($user); - $this->fireAfterLoginEvent($user); + $this->eventsManager->fire('Account:afterLogin', $this, $user); return $token; } @@ -83,7 +80,7 @@ class Account extends Service $token = $this->auth->saveAuthInfo($user); - $this->fireAfterLoginEvent($user); + $this->eventsManager->fire('Account:afterLogin', $this, $user); return $token; } @@ -94,37 +91,7 @@ class Account extends Service $this->auth->clearAuthInfo(); - $this->fireAfterLogoutEvent($user); - } - - protected function fireAfterRegisterEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('Account:afterRegister', $this, $user); - } - - protected function fireAfterLoginEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('Account:afterLogin', $this, $user); - } - - protected function fireAfterLogoutEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('Account:afterLogout', $this, $user); + $this->eventsManager->fire('Account:afterLogout', $this, $user); } } diff --git a/app/Http/Home/Services/Account.php b/app/Http/Home/Services/Account.php index d9f84206..da22f703 100644 --- a/app/Http/Home/Services/Account.php +++ b/app/Http/Home/Services/Account.php @@ -2,14 +2,11 @@ namespace App\Http\Home\Services; -use App\Models\User as UserModel; use App\Repos\User as UserRepo; use App\Services\Auth\Home as AuthService; use App\Services\Logic\Account\Register as RegisterService; use App\Validators\Account as AccountValidator; use App\Validators\Captcha as CaptchaValidator; -use Phalcon\Di as Di; -use Phalcon\Events\Manager as EventsManager; class Account extends Service { @@ -36,7 +33,7 @@ class Account extends Service $this->auth->saveAuthInfo($user); - $this->fireAfterRegisterEvent($user); + $this->eventsManager->fire('Account:afterRegister', $this, $user); return $user; } @@ -55,7 +52,7 @@ class Account extends Service $this->auth->saveAuthInfo($user); - $this->fireAfterLoginEvent($user); + $this->eventsManager->fire('Account:afterLogin', $this, $user); } public function loginByVerify() @@ -68,7 +65,7 @@ class Account extends Service $this->auth->saveAuthInfo($user); - $this->fireAfterLoginEvent($user); + $this->eventsManager->fire('Account:afterLogin', $this, $user); } public function logout() @@ -77,37 +74,7 @@ class Account extends Service $this->auth->clearAuthInfo(); - $this->fireAfterLogoutEvent($user); - } - - protected function fireAfterRegisterEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('Account:afterRegister', $this, $user); - } - - protected function fireAfterLoginEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('Account:afterLogin', $this, $user); - } - - protected function fireAfterLogoutEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('Account:afterLogout', $this, $user); + $this->eventsManager->fire('Account:afterLogout', $this, $user); } } diff --git a/app/Http/Home/Views/point/gift/show.volt b/app/Http/Home/Views/point/gift/show.volt index 6d2fc52a..fe28fb7f 100644 --- a/app/Http/Home/Views/point/gift/show.volt +++ b/app/Http/Home/Views/point/gift/show.volt @@ -18,7 +18,7 @@
-
礼品信息
+
物品信息
@@ -56,7 +56,7 @@
-
礼品详情
+
物品详情
{{ gift.details }}
diff --git a/app/Http/Home/Views/user/console/friends.volt b/app/Http/Home/Views/user/console/friends.volt index 0a45e4b6..8dcd4f61 100644 --- a/app/Http/Home/Views/user/console/friends.volt +++ b/app/Http/Home/Views/user/console/friends.volt @@ -12,13 +12,13 @@ 我的好友
{% if pager.total_pages > 0 %} - +
- + diff --git a/app/Http/Home/Views/user/console/groups.volt b/app/Http/Home/Views/user/console/groups.volt index 7716a31c..53d78c15 100644 --- a/app/Http/Home/Views/user/console/groups.volt +++ b/app/Http/Home/Views/user/console/groups.volt @@ -12,17 +12,19 @@
{{ partial('user/console/menu') }}
-
- 我的群组 - 参加的 - 管理的 -
-
- {% if scope == 'owned' %} - {{ partial('user/console/groups_owned') }} - {% else %} - {{ partial('user/console/groups_joined') }} - {% endif %} +
+
+ 我的群组 + 参加的 + 管理的 +
+
+ {% if scope == 'owned' %} + {{ partial('user/console/groups_owned') }} + {% else %} + {{ partial('user/console/groups_joined') }} + {% endif %} +
diff --git a/app/Http/Home/Views/user/console/orders.volt b/app/Http/Home/Views/user/console/orders.volt index 324139e3..c5c91c51 100644 --- a/app/Http/Home/Views/user/console/orders.volt +++ b/app/Http/Home/Views/user/console/orders.volt @@ -10,36 +10,38 @@
{{ partial('user/console/menu') }}
-
- 我的订单 - {% for key,value in status_types %} - {% set class = (status == key) ? 'layui-btn layui-btn-xs' : 'none' %} - {% set url = (key == '0') ? url({'for':'home.uc.orders'}) : url({'for':'home.uc.orders'},{'status':key}) %} - {{ value }} - {% endfor %} -
- {% if pager.total_pages > 0 %} -
- {% for item in pager.items %} - {% set order_info_url = url({'for':'home.order.info'},{'sn':item.sn}) %} -
-
- 编号:{{ item.sn }} - 时间:{{ date('Y-m-d H:i:s',item.create_time) }} -
-
-
{{ item.subject }}
-
{{ '¥%0.2f'|format(item.amount) }}
-
{{ order_status(item.status) }}
-
- -
-
-
+
+
+ 我的订单 + {% for key,value in status_types %} + {% set class = (status == key) ? 'layui-btn layui-btn-xs' : 'none' %} + {% set url = (key == '0') ? url({'for':'home.uc.orders'}) : url({'for':'home.uc.orders'},{'status':key}) %} + {{ value }} {% endfor %}
- {{ partial('partials/pager') }} - {% endif %} + {% if pager.total_pages > 0 %} +
+ {% for item in pager.items %} + {% set order_info_url = url({'for':'home.order.info'},{'sn':item.sn}) %} +
+
+ 编号:{{ item.sn }} + 时间:{{ date('Y-m-d H:i:s',item.create_time) }} +
+
+
{{ item.subject }}
+
{{ '¥%0.2f'|format(item.amount) }}
+
{{ order_status(item.status) }}
+
+ +
+
+
+ {% endfor %} +
+ {{ partial('partials/pager') }} + {% endif %} +
diff --git a/app/Http/Home/Views/user/console/point_history.volt b/app/Http/Home/Views/user/console/point_history.volt index c6c32d74..b84a8649 100644 --- a/app/Http/Home/Views/user/console/point_history.volt +++ b/app/Http/Home/Views/user/console/point_history.volt @@ -7,10 +7,10 @@
{{ partial('user/console/menu') }}
-
- 积分记录 -
-
+
+
+ 积分记录 +
{% if pager.total_pages > 0 %}
diff --git a/app/Http/Home/Views/user/console/point_redeems.volt b/app/Http/Home/Views/user/console/point_redeems.volt index 69ed5556..bb7c3a41 100644 --- a/app/Http/Home/Views/user/console/point_redeems.volt +++ b/app/Http/Home/Views/user/console/point_redeems.volt @@ -7,10 +7,10 @@
{{ partial('user/console/menu') }}
-
- 兑换记录 -
-
+
+
+ 兑换记录 +
{% if pager.total_pages > 0 %}
diff --git a/app/Http/Home/Views/user/console/refunds.volt b/app/Http/Home/Views/user/console/refunds.volt index 78c3be06..429477da 100644 --- a/app/Http/Home/Views/user/console/refunds.volt +++ b/app/Http/Home/Views/user/console/refunds.volt @@ -10,36 +10,38 @@
{{ partial('user/console/menu') }}
-
- 我的退款 - {% for key,value in status_types %} - {% set class = (status == key) ? 'layui-btn layui-btn-xs' : 'none' %} - {% set url = (key == 'all') ? url({'for':'home.uc.refunds'}) : url({'for':'home.uc.refunds'},{'status':key}) %} - {{ value }} - {% endfor %} -
- {% if pager.total_pages > 0 %} -
- {% for item in pager.items %} - {% set refund_info_url = url({'for':'home.refund.info'},{'sn':item.sn}) %} -
-
- 编号:{{ item.sn }} - 时间:{{ date('Y-m-d H:i:s',item.create_time) }} -
-
-
{{ item.subject }}
-
{{ '¥%0.2f'|format(item.amount) }}
-
{{ refund_status(item.status) }}
-
- -
-
-
+
+
+ 我的退款 + {% for key,value in status_types %} + {% set class = (status == key) ? 'layui-btn layui-btn-xs' : 'none' %} + {% set url = (key == 'all') ? url({'for':'home.uc.refunds'}) : url({'for':'home.uc.refunds'},{'status':key}) %} + {{ value }} {% endfor %}
- {{ partial('partials/pager') }} - {% endif %} + {% if pager.total_pages > 0 %} +
+ {% for item in pager.items %} + {% set refund_info_url = url({'for':'home.refund.info'},{'sn':item.sn}) %} +
+
+ 编号:{{ item.sn }} + 时间:{{ date('Y-m-d H:i:s',item.create_time) }} +
+
+
{{ item.subject }}
+
{{ '¥%0.2f'|format(item.amount) }}
+
{{ refund_status(item.status) }}
+
+ +
+
+
+ {% endfor %} +
+ {{ partial('partials/pager') }} + {% endif %} +
diff --git a/app/Library/AppInfo.php b/app/Library/AppInfo.php index 8283f49c..cfce4822 100644 --- a/app/Library/AppInfo.php +++ b/app/Library/AppInfo.php @@ -11,11 +11,13 @@ class AppInfo protected $link = 'https://koogua.com'; - protected $version = '1.2.5'; + protected $version = '1.2.6'; public function __get($name) { - return $this->{$name} ?? null; + if (isset($this->{$name})) { + return $this->{$name}; + } } } \ No newline at end of file diff --git a/app/Models/Audit.php b/app/Models/Audit.php index 2b23a82e..11389810 100644 --- a/app/Models/Audit.php +++ b/app/Models/Audit.php @@ -68,8 +68,6 @@ class Audit extends Model public function beforeCreate() { - $this->create_time = time(); - if (is_array($this->req_data) && !empty($this->req_data)) { foreach ($this->req_data as $key => $value) { if (!is_scalar($value)) { @@ -80,7 +78,11 @@ class Audit extends Model } } $this->req_data = kg_json_encode($this->req_data); + } else { + $this->req_data = ''; } + + $this->create_time = time(); } } \ No newline at end of file diff --git a/app/Models/PointGift.php b/app/Models/PointGift.php index a24e4313..f1c8bddf 100644 --- a/app/Models/PointGift.php +++ b/app/Models/PointGift.php @@ -24,8 +24,7 @@ class PointGift extends Model protected $_course_attrs = [ 'id' => 0, 'title' => '', - 'market_price' => 0, - 'study_expiry_time' => 0, + 'price' => 0, ]; /** diff --git a/app/Validators/PointGift.php b/app/Validators/PointGift.php index d764c537..8e7448e2 100644 --- a/app/Validators/PointGift.php +++ b/app/Validators/PointGift.php @@ -101,6 +101,17 @@ class PointGift extends Validator return kg_cos_img_style_trim($value); } + public function checkAttrs(PointGiftModel $gift, array $attrs) + { + $result = $gift->attrs; + + if ($gift->type == PointGiftModel::TYPE_GOODS) { + $result['url'] = $attrs['url']; + } + + return $result; + } + public function checkType($type) { $list = PointGiftModel::types(); diff --git a/public/static/home/css/common.css b/public/static/home/css/common.css index 2b86ebde..d30bd0c5 100644 --- a/public/static/home/css/common.css +++ b/public/static/home/css/common.css @@ -1683,7 +1683,7 @@ } .order-card { - padding: 15px 20px; + padding: 10px 0; margin-bottom: 20px; background-color: white; color: #666; @@ -1842,7 +1842,6 @@ .gift-meta .info { float: left; - width: 400px; } .gift-meta .info p {