diff --git a/extend/base/admin/controller/debug/LogClass.php b/extend/base/admin/controller/debug/LogClass.php
deleted file mode 100644
index 71ad073..0000000
--- a/extend/base/admin/controller/debug/LogClass.php
+++ /dev/null
@@ -1,27 +0,0 @@
- 'desc',
- 'id' => 'asc',
- ];
-
- use \app\admin\traits\Curd;
-
- public function __construct(App $app)
- {
- parent::__construct($app);
-
- $this->model = new \app\admin\model\DebugLog();
- }
-}
diff --git a/extend/base/admin/view/debug/log/index.html b/extend/base/admin/view/debug/log/index.html
index 6a1594f..b3f2501 100644
--- a/extend/base/admin/view/debug/log/index.html
+++ b/extend/base/admin/view/debug/log/index.html
@@ -1,25 +1,34 @@
\ No newline at end of file
diff --git a/extend/base/admin/view/debug/log/index.js b/extend/base/admin/view/debug/log/index.js
index e0961b3..9acad89 100644
--- a/extend/base/admin/view/debug/log/index.js
+++ b/extend/base/admin/view/debug/log/index.js
@@ -1,51 +1,79 @@
$(function () {
var init = {
- tableElem: '#currentTable',
- tableRenderId: 'currentTableRenderId',
indexUrl: 'debug.log/index',
- addUrl: 'debug.log/add',
- editUrl: 'debug.log/edit',
- deleteUrl: 'debug.log/delete',
- exportUrl: 'debug.log/export',
- modifyUrl: 'debug.log/modify',
};
- var uidList = [];
- ua.table.render({
- init: init,
- size: 'sm',
- limit: 50,
- cols: [[
- { type: 'checkbox' },
- { field: 'id', title: 'id', search: 'number_limit' },
- { field: 'id', title: 'id模糊匹配', trueHide: true, fieldAlias: '[id]like' },
- { field: 'id', title: '最大id', trueHide: true, fieldAlias: '[id]max', searchOp: 'max' },
- {
- field: 'uid', title: 'uid', minWidth: 120,
- },
- { field: 'level', title: 'level', minWidth: 70 },
- {
- field: 'content', title: '日志内容', minWidth: 450, align: 'left', templet: function (data) {
+ var page = 1,
+ limit = 50,
+ noMoreData = false;
+ var $logContainer = $('#log-container');
- if (uidList.indexOf(data.uid) < 0) {
- uidList.push(data.uid);
- }
- var currentUidIndex = uidList.indexOf(data.uid);
+ function loadLogs() {
+ if (noMoreData) {
+ return;
+ }
- var className = 'log-group log-group-' + (currentUidIndex % 2);
- return '' + data.content + '
';
+ ua.request.get({
+ url: ua.url(init.indexUrl),
+ data: {
+ page: page,
+ limit: limit,
+ sort:{
+ id:'desc'
}
- },
- { field: 'create_time', title: '记录时间', minWidth: 160, search: 'time_limit', defaultSearchValue: ua.getQueryVariable('create_time') },
- { field: 'app_name', title: 'app_name' },
- { field: 'controller_name', title: 'controller_name', },
- { field: 'action_name', title: 'action_name' },
- ]],
- toolbar: [
- 'refresh',
- 'export'
- ]
+ }
+ }, function (res) {
+ if (res.data && res.data.length > 0) {
+ var html = '';
+ var isFirstPage = (page === 1);
+ layui.each(res.data, function (index, item) {
+ html += '';
+ html += '[' + item.uid + '] ';
+ html += '[' + item.create_time + '] ';
+ html += '[' + item.level.toUpperCase() + '] ';
+ html += item.content;
+ html += '';
+ });
+
+ var oldScrollHeight = $logContainer[0].scrollHeight;
+ $logContainer.prepend(html);
+ var newScrollHeight = $logContainer[0].scrollHeight;
+
+ if (isFirstPage) {
+ // 首次加载,滚动到底部
+ $logContainer.scrollTop(newScrollHeight);
+ } else {
+ // 加载更多,保持滚动位置
+ $logContainer.scrollTop(newScrollHeight - oldScrollHeight);
+ }
+
+ page++;
+ } else {
+ noMoreData = true;
+ $logContainer.prepend('- The Beginning -
');
+ }
+ }, function () {
+ // complete
+ });
+ }
+
+ // 初始加载
+ loadLogs();
+
+ // 监听滚动事件
+ $logContainer.on('scroll', function () {
+ var $this = $(this);
+ // 滚动条到顶部时加载更多
+ if ($this.scrollTop() === 0) {
+ loadLogs();
+ }
});
- ua.listen();
+ // 监听刷新按钮
+ ua.listen.refresh(function () {
+ page = 1;
+ noMoreData = false;
+ $logContainer.empty();
+ loadLogs();
+ });
});
\ No newline at end of file