mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-07-13 20:09:11 +08:00
完善后台今日统计,增加权限白名单,增加后台首页菜单,调整后台登录页样式
This commit is contained in:
parent
cc1c663917
commit
5784be5067
10
CHANGELOG.md
10
CHANGELOG.md
@ -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)
|
||||||
|
|
||||||
前台功能:
|
前台功能:
|
||||||
|
@ -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,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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'],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -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()
|
||||||
{
|
{
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user