mqtt消息记录优化,控制台页面样式优化
This commit is contained in:
64
LogBook.md
64
LogBook.md
@@ -1,3 +1,67 @@
|
||||
## 2024-08-09 (全局样式优化 - 内容区域背景)
|
||||
|
||||
- **目标**: 为所有认证后页面的主要内容区域设置统一的淡灰色背景和内边距,以提升视觉一致性。
|
||||
- **问题**: 之前 `bg-gray-100` 和特定内边距仅应用于部分页面(如管理员控制台),其他页面(如MQTT日志页面)未使用此背景。
|
||||
- **解决方案**:
|
||||
- 修改 `charging_web_app/src/app/(authenticated)/layout.tsx` 文件。
|
||||
- 将 `<main>` 元素的类名从 `"flex-grow container mx-auto p-4 sm:p-6 lg:p-8"` 修改为 `"flex-grow container mx-auto bg-gray-100 py-8 px-4 md:px-6 lg:px-8"`。
|
||||
- 这使得所有通过 `AuthenticatedLayout` 渲染的子页面 (`{children}`) 的主内容区域都将继承 `bg-gray-100` 背景色和 `py-8 px-4 md:px-6 lg:px-8` 的内边距。
|
||||
- **状态**: 全局内容区域背景和内边距已统一。所有认证后的页面现在应具有一致的淡灰色背景和内边距。
|
||||
- **下一步**: 用户验证所有相关页面的视觉效果。
|
||||
|
||||
## 2024-08-09 (MQTT通信日志页面 - 对接真实API与UI增强)
|
||||
|
||||
- **目标**: 将 `charging_web_app/src/app/(authenticated)/admin/mqtt-logs/page.tsx` 从使用模拟数据改为对接真实的后端API,并使用Ant Design组件增强UI和功能。
|
||||
- **实施**:
|
||||
- **移除模拟数据**: 删除了页面中用于生成和显示模拟日志的逻辑。
|
||||
- **引入Ant Design**: 页面全面改用Ant Design组件,包括 `Table`, `Form`, `Input`, `Select`, `Button`, `DatePicker`, `Tag`, `Tooltip`, `Card`, `Row`, `Col`, `Space`。
|
||||
- **API对接**:
|
||||
- 导入了 `fetchMqttLogs` 服务 (来自 `logService.ts`) 和相关的类型定义 (`MqttCommunicationLog`, `MqttLogQueryRequest`, `PageResponse`, `BaseResponse` 来自 `log.types.ts`)。
|
||||
- `fetchData` 函数现在调用 `fetchMqttLogs`,并正确处理后端返回的数据结构,包括分页信息和错误处理。
|
||||
- 使用 `dayjs` 格式化时间戳。
|
||||
- **查询表单功能**:
|
||||
- 创建了一个包含多个筛选条件的表单 (客户端ID, 主题, 方向, Payload内容, 时间范围, 关联会话ID, 关联任务ID)。
|
||||
- 实现了查询和重置功能,查询时会重新获取数据并重置到第一页。
|
||||
- 时间范围选择器使用 AntD `RangePicker`。
|
||||
- **表格功能增强**:
|
||||
- 实现了服务器端分页和排序。
|
||||
- 表格列根据后端返回的数据模型 (`MqttCommunicationLog`) 进行定义,并对关键字段 (时间戳, 方向, Payload, Retained标记等) 进行了格式化和本地化显示。
|
||||
- Payload 列使用 `Tooltip` 展示完整内容,并通过 `pre` 标签保持格式。
|
||||
- 为表格启用了水平滚动条和边框。
|
||||
- **权限与加载状态**: 保留并优化了用户权限检查逻辑和加载状态的显示。
|
||||
- **状态**: MQTT通信日志页面现在能够从后端API获取、显示和筛选真实的日志数据,并拥有了基于Ant Design的完善的用户界面。与全局布局和导航保持一致。
|
||||
- **下一步**:
|
||||
- 用户进行全面测试,包括查询、分页、排序、错误处理等。
|
||||
- 根据反馈进行可能的微调。
|
||||
|
||||
## 2024-08-09 (MQTT通信日志页面 - 修复路径冲突)
|
||||
|
||||
- **问题**: Next.js 报错 "You cannot have two parallel pages that resolve to the same path",指向 `/src/app/admin`。
|
||||
- **原因**:
|
||||
- 先前在 `charging_web_app/src/app/admin/mqtt-logs/page.tsx` 创建了MQTT日志页面。
|
||||
- 之后为了应用认证布局,在 `charging_web_app/src/app/(authenticated)/admin/mqtt-logs/page.tsx` 又创建了同路径页面。
|
||||
- Next.js 的路由组 `(authenticated)` 不影响 URL 路径,导致两个文件都解析到 `/admin/mqtt-logs`,引发冲突。
|
||||
- **解决方案**:
|
||||
- 删除了位于 `charging_web_app/src/app/admin/mqtt-logs/` 目录下的旧 `page.tsx` 文件及其父目录(如果为空)。
|
||||
- 保留了 `charging_web_app/src/app/(authenticated)/admin/mqtt-logs/page.tsx`,因为它能正确应用期望的布局。
|
||||
- **状态**: 路径冲突已解决。MQTT日志页面现在由 `(authenticated)` 路由组内的文件唯一定义。
|
||||
|
||||
## 2024-08-09 (MQTT通信日志页面 - 布局优化)
|
||||
|
||||
- **目标**: 确保 `charging_web_app` 中新创建的MQTT通信日志页面 (`/admin/mqtt-logs`) 与应用的全局布局(特别是顶部导航栏)保持一致。
|
||||
- **分析**:
|
||||
- 全局的根布局 `charging_web_app/src/app/layout.tsx` 比较基础,主要提供全局样式和 `AuthProvider`。
|
||||
- 经过认证的用户界面布局(包括顶部导航栏、主内容区和页脚)定义在 `charging_web_app/src/app/(authenticated)/layout.tsx` 中。
|
||||
- `AuthenticatedLayout.tsx` 使用 Tailwind CSS,并包含了一个指向 `/admin/mqtt-logs` 的链接(仅管理员可见)。
|
||||
- **实施**:
|
||||
- 在 `charging_web_app/src/app/(authenticated)/admin/mqtt-logs/` 目录下创建了 `page.tsx` 文件。
|
||||
- `page.tsx` 中实现了一个基本的MQTT日志展示组件,包括模拟数据加载、分页、权限检查和基本的Tailwind CSS样式,使其内容区域风格与整体应用一致。
|
||||
- 由于页面嵌套在 `(authenticated)/admin/` 路径下,它自动继承了 `(authenticated)/layout.tsx` 的布局,因此顶部导航栏和整体页面结构符合预期。
|
||||
- **状态**: MQTT通信日志页面已创建,并成功融入了现有的全局布局和导航结构中。管理员用户可以通过导航栏的链接访问此页面。
|
||||
- **下一步**:
|
||||
- 将 `page.tsx` 中的模拟数据获取逻辑替换为真实的API调用(连接到先前开发的后端 `MqttCommunicationLogController`)。
|
||||
- 完善页面的筛选、排序和错误处理功能。
|
||||
|
||||
## 2024-08-08 (MQTT通信日志功能 - 开发完成)
|
||||
|
||||
- **概述**: MQTT通信日志功能模块开发完成。该模块旨在记录系统与MQTT代理之间的所有通信消息,并提供前端界面供管理员查询和审计。
|
||||
|
||||
Reference in New Issue
Block a user