1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-07-13 20:09:11 +08:00

完善后台今日统计,增加权限白名单,增加后台首页菜单,调整后台登录页样式

This commit is contained in:
xiaochong0302 2020-10-08 17:17:10 +08:00
parent cc1c663917
commit 5784be5067
8 changed files with 51 additions and 47 deletions

View File

@ -1,3 +1,13 @@
### [v1.1.0](https://gitee.com/koogua/course-tencent-cloud/releases/v1.1.0)(2020-10-08)
- 增加运营统计功能
- 增加课程资料功能
- 增加changelog
- 忽略schema
- 账户安全页面调整
- 简化部分路由
- 修复相关课程列表undefined问题
### [v1.0.0-beta1](https://gitee.com/koogua/course-tencent-cloud/releases/v1.0.0-beta1)(2020-09-26) ### [v1.0.0-beta1](https://gitee.com/koogua/course-tencent-cloud/releases/v1.0.0-beta1)(2020-09-26)
前台功能: 前台功能:

View File

@ -2,8 +2,7 @@
namespace App\Caches; namespace App\Caches;
use App\Models\Order as OrderModel; use App\Repos\Stat as StatRepo;
use App\Models\User as UserModel;
class SiteTodayStat extends Cache class SiteTodayStat extends Cache
{ {
@ -22,42 +21,21 @@ class SiteTodayStat extends Cache
public function getContent($id = null) public function getContent($id = null)
{ {
$statRepo = new StatRepo();
$date = date('Y-m-d');
$saleCount = $statRepo->countDailySales($date);
$saleAmount = $statRepo->sumDailySales($date);
$refundAmount = $statRepo->sumDailyRefunds($date);
$registerCount = $statRepo->countDailyRegisteredUser($date);
return [ return [
'user_count' => $this->countUsers(), 'sale_count' => $saleCount,
'order_count' => $this->countOrders(), 'sale_amount' => $saleAmount,
'sale_amount' => $this->sumSales(), 'refund_amount' => $refundAmount,
'register_count' => $registerCount,
]; ];
} }
protected function countUsers()
{
return (int)UserModel::count([
'conditions' => 'create_time > :time:',
'bind' => ['time' => strtotime('today')],
]);
}
protected function countOrders()
{
return (int)OrderModel::count([
'conditions' => 'create_time > :time: AND status = :status:',
'bind' => [
'time' => strtotime('today'),
'status' => OrderModel::STATUS_FINISHED,
],
]);
}
protected function sumSales()
{
return (float)OrderModel::sum([
'column' => 'amount',
'conditions' => 'create_time > :time: AND status = :status:',
'bind' => [
'time' => strtotime('today'),
'status' => OrderModel::STATUS_FINISHED,
],
]);
}
} }

View File

@ -49,7 +49,7 @@ class Controller extends \Phalcon\Mvc\Controller
* 特例白名单 * 特例白名单
*/ */
$whitelist = [ $whitelist = [
'controllers' => ['public', 'index', 'vod', 'test', 'xm_course'], 'controllers' => ['public', 'index', 'vod', 'upload', 'test', 'xm_course'],
'routes' => ['admin.package.guiding'], 'routes' => ['admin.package.guiding'],
]; ];

View File

@ -11,7 +11,7 @@ class VodController extends Controller
{ {
/** /**
* @Post("/upload/sign", name="admin.vod.upload_sign") * @Get("/upload/sign", name="admin.vod.upload_sign")
*/ */
public function uploadSignatureAction() public function uploadSignatureAction()
{ {

View File

@ -13,11 +13,14 @@
<body class="layui-layout-body"> <body class="layui-layout-body">
<div class="layui-layout layui-layout-admin"> <div class="layui-layout layui-layout-admin">
<div class="layui-header"> <div class="layui-header">
<div class="layui-logo">COURSE ADMIN</div> <div class="layui-logo">酷瓜云课堂</div>
<div class="kg-side-menu-bar"> <div class="kg-side-menu-bar">
<a href="javascript:"><i class="layui-icon layui-icon-spread-left"></i></a> <a href="javascript:"><i class="layui-icon layui-icon-spread-left"></i></a>
</div> </div>
<ul class="layui-nav layui-layout-left kg-nav-module"> <ul class="layui-nav layui-layout-left kg-nav-module">
<li class="layui-nav-item">
<a href="/admin">首页</a>
</li>
{% for item in top_menus %} {% for item in top_menus %}
<li data-module="module-{{ item.id }}" class="layui-nav-item"> <li data-module="module-{{ item.id }}" class="layui-nav-item">
<a href="javascript:">{{ item.title }}</a> <a href="javascript:">{{ item.title }}</a>

View File

@ -2,22 +2,28 @@
<div class="layui-card-header">今日统计</div> <div class="layui-card-header">今日统计</div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row layui-col-space10"> <div class="layui-row layui-col-space10">
<div class="layui-col-md4"> <div class="layui-col-md3">
<div class="kg-stat-card"> <div class="kg-stat-card">
<div class="name">用户注册</div> <div class="name">用户注册</div>
<div class="count">{{ today_stat.user_count }}</div> <div class="count">{{ today_stat.register_count }}</div>
</div> </div>
</div> </div>
<div class="layui-col-md4"> <div class="layui-col-md3">
<div class="kg-stat-card"> <div class="kg-stat-card">
<div class="name">成交订单</div> <div class="name">成交订单</div>
<div class="count">{{ today_stat.order_count }}</div> <div class="count">{{ today_stat.sale_count }}</div>
</div> </div>
</div> </div>
<div class="layui-col-md4"> <div class="layui-col-md3">
<div class="kg-stat-card"> <div class="kg-stat-card">
<div class="name">销售金额</div> <div class="name">销售金额</div>
<div class="count">{{ today_stat.sale_amount }}</div> <div class="count">{{ '¥%0.2f'|format(today_stat.sale_amount) }}</div>
</div>
</div>
<div class="layui-col-md3">
<div class="kg-stat-card">
<div class="name">退款金额</div>
<div class="count">{{ '¥%0.2f'|format(today_stat.refund_amount) }}</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -60,10 +60,17 @@
} }
.kg-login-wrap { .kg-login-wrap {
width: 400px; width: 500px;
margin: 100px auto; margin: 100px auto;
} }
.kg-login-wrap .layui-card-header {
height: 50px;
line-height: 50px;
text-align: center;
font-size: 16px;
}
.kg-login-form { .kg-login-form {
padding: 15px 10px 5px 10px; padding: 15px 10px 5px 10px;
} }

View File

@ -6,7 +6,7 @@ layui.use(['jquery', 'element'], function () {
var getSignature = function () { var getSignature = function () {
var result = ''; var result = '';
$.ajax({ $.ajax({
type: 'POST', type: 'GET',
url: '/admin/vod/upload/sign', url: '/admin/vod/upload/sign',
async: false, async: false,
success: function (res) { success: function (res) {