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

1.优化后台数据统计日期问题

2.优化内容图片放大查看
This commit is contained in:
xiaochong0302 2025-02-07 18:35:39 +08:00
parent c3c443f164
commit 73d01d62dc
9 changed files with 64 additions and 54 deletions

View File

@ -23,11 +23,11 @@ class Stat extends Service
return [ return [
[ [
'title' => "{$year}-{$month}", 'title' => sprintf('%02d-%02d', $year, $month),
'sales' => $this->handleHotSales($type, $year, $month), 'sales' => $this->handleHotSales($type, $year, $month),
], ],
[ [
'title' => "{$prev['year']}-{$prev['month']}", 'title' => sprintf('%02d-%02d', $prev['year'], $prev['month']),
'sales' => $this->handleHotSales($type, $prev['year'], $prev['month']), 'sales' => $this->handleHotSales($type, $prev['year'], $prev['month']),
], ],
]; ];
@ -42,12 +42,13 @@ class Stat extends Service
$currSales = $this->handleSales($year, $month); $currSales = $this->handleSales($year, $month);
$prevSales = $this->handleSales($prev['year'], $prev['month']); $prevSales = $this->handleSales($prev['year'], $prev['month']);
$currMonth = sprintf('%02d-%02d', $year, $month);
$prevMonth = sprintf('%02d-%02d', $prev['year'], $prev['month']);
$items = []; $items = [];
foreach (range(1, 31) as $day) { foreach (range(1, 31) as $day) {
$date = sprintf('%02d', $day); $date = sprintf('%02d', $day);
$prevMonth = "{$prev['year']}-{$prev['month']}";
$currMonth = "{$year}-{$month}";
$items[] = [ $items[] = [
'date' => $date, 'date' => $date,
$currMonth => $currSales[$date] ?? 0, $currMonth => $currSales[$date] ?? 0,
@ -67,12 +68,13 @@ class Stat extends Service
$currRefunds = $this->handleRefunds($year, $month); $currRefunds = $this->handleRefunds($year, $month);
$prevRefunds = $this->handleRefunds($prev['year'], $prev['month']); $prevRefunds = $this->handleRefunds($prev['year'], $prev['month']);
$currMonth = sprintf('%02d-%02d', $year, $month);
$prevMonth = sprintf('%02d-%02d', $prev['year'], $prev['month']);
$items = []; $items = [];
foreach (range(1, 31) as $day) { foreach (range(1, 31) as $day) {
$date = sprintf('%02d', $day); $date = sprintf('%02d', $day);
$prevMonth = "{$prev['year']}-{$prev['month']}";
$currMonth = "{$year}-{$month}";
$items[] = [ $items[] = [
'date' => $date, 'date' => $date,
$currMonth => $currRefunds[$date] ?? 0, $currMonth => $currRefunds[$date] ?? 0,
@ -92,12 +94,13 @@ class Stat extends Service
$currUsers = $this->handleRegisteredUsers($year, $month); $currUsers = $this->handleRegisteredUsers($year, $month);
$prevUsers = $this->handleRegisteredUsers($prev['year'], $prev['month']); $prevUsers = $this->handleRegisteredUsers($prev['year'], $prev['month']);
$currMonth = sprintf('%02d-%02d', $year, $month);
$prevMonth = sprintf('%02d-%02d', $prev['year'], $prev['month']);
$items = []; $items = [];
foreach (range(1, 31) as $day) { foreach (range(1, 31) as $day) {
$date = sprintf('%02d', $day); $date = sprintf('%02d', $day);
$prevMonth = "{$prev['year']}-{$prev['month']}";
$currMonth = "{$year}-{$month}";
$items[] = [ $items[] = [
'date' => $date, 'date' => $date,
$currMonth => $currUsers[$date] ?? 0, $currMonth => $currUsers[$date] ?? 0,
@ -117,12 +120,13 @@ class Stat extends Service
$currUsers = $this->handleOnlineUsers($year, $month); $currUsers = $this->handleOnlineUsers($year, $month);
$prevUsers = $this->handleOnlineUsers($prev['year'], $prev['month']); $prevUsers = $this->handleOnlineUsers($prev['year'], $prev['month']);
$currMonth = sprintf('%02d-%02d', $year, $month);
$prevMonth = sprintf('%02d-%02d', $prev['year'], $prev['month']);
$items = []; $items = [];
foreach (range(1, 31) as $day) { foreach (range(1, 31) as $day) {
$date = sprintf('%02d', $day); $date = sprintf('%02d', $day);
$prevMonth = "{$prev['year']}-{$prev['month']}";
$currMonth = "{$year}-{$month}";
$items[] = [ $items[] = [
'date' => $date, 'date' => $date,
$currMonth => $currUsers[$date] ?? 0, $currMonth => $currUsers[$date] ?? 0,
@ -154,7 +158,10 @@ class Stat extends Service
protected function isCurrMonth($year, $month) protected function isCurrMonth($year, $month)
{ {
return date('Y-m') == "{$year}-{$month}"; $yearOk = date('Y') == $year;
$monthOk = date('m') == $month;
return $yearOk && $monthOk;
} }
protected function getLifetime() protected function getLifetime()

View File

@ -34,8 +34,8 @@
<th>用户IP</th> <th>用户IP</th>
<th>请求路由</th> <th>请求路由</th>
<th>请求路径</th> <th>请求路径</th>
<th>请求时间</th> <th>创建时间</th>
<th>请求内容</th> <th>操作</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -91,4 +91,4 @@
</script> </script>
{% endblock %} {% endblock %}

View File

@ -13,9 +13,9 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">用户名称</label> <label class="layui-form-label">用户IP</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input class="layui-input" type="text" name="user_name" placeholder="用户名称精确匹配"> <input class="layui-input" type="text" name="user_ip" placeholder="用户IP精确匹配">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
@ -31,7 +31,7 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">请求时间</label> <label class="layui-form-label">创建时间</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input class="layui-input time-range" type="text" name="start_time" autocomplete="off"> <input class="layui-input time-range" type="text" name="start_time" autocomplete="off">
</div> </div>
@ -70,4 +70,4 @@
</script> </script>
{% endblock %} {% endblock %}

View File

@ -44,12 +44,7 @@ class Trade extends Listener
$task = new TaskModel(); $task = new TaskModel();
$itemInfo = [
'order' => ['id' => $order->id]
];
$task->item_id = $order->id; $task->item_id = $order->id;
$task->item_info = $itemInfo;
$task->item_type = TaskModel::TYPE_DELIVER; $task->item_type = TaskModel::TYPE_DELIVER;
$task->create(); $task->create();
@ -69,4 +64,4 @@ class Trade extends Listener
} }
} }
} }

View File

@ -84,18 +84,8 @@ class GiftRedeem extends LogicService
$task = new TaskModel(); $task = new TaskModel();
$itemInfo = [
'point_gift_redeem' => [
'id' => $redeem->id,
'user_id' => $redeem->user_id,
'gift_id' => $redeem->gift_id,
]
];
$task->item_id = $redeem->id; $task->item_id = $redeem->id;
$task->item_type = TaskModel::TYPE_POINT_GIFT_DELIVER; $task->item_type = TaskModel::TYPE_POINT_GIFT_DELIVER;
$task->item_info = $itemInfo;
$result = $task->create(); $result = $task->create();
if ($result === false) { if ($result === false) {

View File

@ -183,7 +183,7 @@ class Chapter extends Validator
public function checkPublishStatus($status) public function checkPublishStatus($status)
{ {
if (!in_array($status, [0, 1])) { if (!in_array($status, [0, 1])) {
throw new BadRequestException('course.invalid_publish_status'); throw new BadRequestException('chapter.invalid_publish_status');
} }
return $status; return $status;

View File

@ -78,9 +78,33 @@
height: 100px; height: 100px;
} }
.img-viewer {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 1000;
}
.img-viewer img {
position: absolute;
top: 50%;
left: 50%;
max-width: 90%;
max-height: 90%;
background-color: white;
transform: translate(-50%, -50%);
transition: transform 0.3s ease-in-out;
padding: 5px;
cursor: zoom-out;
}
.kg-zoom img { .kg-zoom img {
max-width: 100%; max-width: 100%;
cursor: pointer; cursor: zoom-in;
} }
.breadcrumb { .breadcrumb {
@ -2245,4 +2269,4 @@
.gift-details { .gift-details {
min-height: 450px; min-height: 450px;
} }

View File

@ -12,7 +12,6 @@
.ke-content img { .ke-content img {
max-width: 100%; max-width: 100%;
cursor: pointer;
} }
.ke-content a:hover { .ke-content a:hover {
@ -244,4 +243,4 @@
.ke-content pre:hover > span.kg-copy { .ke-content pre:hover > span.kg-copy {
display: block; display: block;
} }

View File

@ -129,20 +129,15 @@ layui.use(['jquery', 'form', 'element', 'layer', 'helper'], function () {
* 内容图片放大 * 内容图片放大
*/ */
$('body').on('click', '.kg-zoom img', function () { $('body').on('click', '.kg-zoom img', function () {
var width = $(window).width() * 0.8 + 'px'; var src = $(this).attr('src').replace('!content_800', '');
var height = $(window).height() * 0.8 + 'px'; if ($('#img-viewer').length === 0) {
var src = $(this).attr('src'); $('body').append('<div class="img-viewer" id="img-viewer"></div>');
var style = 'max-width:' + width + ';max-height:' + height; }
var content = '<img alt="preview" src="' + src + '" style="' + style + '">'; $('#img-viewer').append('<img alt="preview" src="' + src + '">').fadeIn();
layer.open({ });
type: 1,
title: false, $('body').on('click', '#img-viewer', function () {
closeBtn: 0, $(this).empty().fadeOut();
area: ['auto'],
skin: 'layui-layer-nobg',
shadeClose: true,
content: content,
});
}); });
/** /**
@ -195,4 +190,4 @@ layui.use(['jquery', 'form', 'element', 'layer', 'helper'], function () {
}); });
}); });
}); });