1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-07-12 19:39:10 +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)
前台功能:

View File

@ -2,8 +2,7 @@
namespace App\Caches;
use App\Models\Order as OrderModel;
use App\Models\User as UserModel;
use App\Repos\Stat as StatRepo;
class SiteTodayStat extends Cache
{
@ -22,42 +21,21 @@ class SiteTodayStat extends Cache
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 [
'user_count' => $this->countUsers(),
'order_count' => $this->countOrders(),
'sale_amount' => $this->sumSales(),
'sale_count' => $saleCount,
'sale_amount' => $saleAmount,
'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 = [
'controllers' => ['public', 'index', 'vod', 'test', 'xm_course'],
'controllers' => ['public', 'index', 'vod', 'upload', 'test', 'xm_course'],
'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()
{

View File

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

View File

@ -2,22 +2,28 @@
<div class="layui-card-header">今日统计</div>
<div class="layui-card-body">
<div class="layui-row layui-col-space10">
<div class="layui-col-md4">
<div class="layui-col-md3">
<div class="kg-stat-card">
<div class="name">用户注册</div>
<div class="count">{{ today_stat.user_count }}</div>
<div class="count">{{ today_stat.register_count }}</div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-col-md3">
<div class="kg-stat-card">
<div class="name">成交订单</div>
<div class="count">{{ today_stat.order_count }}</div>
<div class="count">{{ today_stat.sale_count }}</div>
</div>
</div>
<div class="layui-col-md4">
<div class="layui-col-md3">
<div class="kg-stat-card">
<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>

View File

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

View File

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