新增:管理后台前端页面,以及openspec内容。

This commit is contained in:
2025-12-24 20:15:28 +08:00
parent 6d7ed38105
commit 845f1c6618
64 changed files with 9017 additions and 6 deletions

View File

@@ -0,0 +1,93 @@
# 会话管理和用户管理页面优化
## 1. 优化conversations模块的发送方式显示
### 实现方案
- 修改 `ConversationList.vue` 中的发送方式列将其重构为tag标签形式
-`sendMethod` 为文字类型时显示success样式的tag标签内容为"text"
-`sendMethod` 为语音类型时显示默认样式的tag标签内容为"voice"
### 代码修改点
- `src/views/ConversationList.vue:98-104`修改发送方式列的实现添加tag标签模板
## 2. 实现手机号脱敏与时间格式化功能
### 实现方案
- 创建工具函数处理手机号脱敏和时间格式化
- 实现手机号自动脱敏默认隐藏中间4-8位数字
- 添加点击交互,支持显示/隐藏完整手机号
- 实现时间格式转换,将时间数据中的"T"字符替换为空格
### 代码修改点
- 创建 `src/utils/formatters.js`:添加手机号脱敏和时间格式化工具函数
- `src/views/ConversationList.vue`:应用手机号脱敏和时间格式化
- `src/views/UserList.vue`:应用手机号脱敏和时间格式化
## 3. 重构表格组件与实现无限滚动分页
### 实现方案
- 将现有el-table组件包装在el-scrollbar中实现滚动加载
- 修改 `fetchConversations` 方法,添加分页参数
- 实现滚动到底部自动加载下一页数据
- 添加加载状态提示,避免重复请求
- 设置固定分页大小为20条/页
### 代码修改点
- `src/views/ConversationList.vue`
- 添加el-scrollbar组件包装el-table
- 修改fetchConversations方法添加分页逻辑
- 实现滚动加载功能
- 移除传统分页控件
## 4. 优化用户管理页面
### 实现方案
- 移除UserList页面的分页控件及相关逻辑
- 调整表格配置,不分页加载所有用户数据
- 应用时间格式转换,将时间数据中的"T"字符替换为空格
### 代码修改点
- `src/views/UserList.vue`
- 移除分页控件和相关数据
- 修改fetchUsers方法移除分页逻辑
- 应用时间格式化
## 5. 文档记录
### 实现方案
- 在openspec目录下创建详细的修改记录文档
- 记录修改内容、原因及影响范围
### 代码修改点
- 创建 `openspec/changes/optimize-conversation-user-management/` 目录
- 创建 `proposal.md`:描述问题和解决方案
- 创建 `tasks.md`:列出具体实现任务
- 创建 `implementation.md`:详细记录技术实现和最佳实践
## 实现顺序
1. 创建工具函数文件 `src/utils/formatters.js`
2. 优化ConversationList.vue的发送方式显示
3. 实现手机号脱敏与时间格式化功能
4. 重构表格组件与实现无限滚动分页
5. 优化用户管理页面
6. 创建修改记录文档
## 预期效果
- 会话记录页面:
- 发送方式以tag标签形式显示
- 手机号自动脱敏,支持点击显示/隐藏完整号码
- 时间格式统一为"YYYY-MM-DD HH:mm:ss"
- 表格实现无限滚动加载,提升用户体验
- 用户管理页面:
- 移除分页控件,加载所有用户数据
- 时间格式统一为"YYYY-MM-DD HH:mm:ss"
- 手机号自动脱敏,支持点击显示/隐藏完整号码
- 代码质量:
- 工具函数复用性高
- 代码结构清晰,易于维护
- 符合openspec开发规范
- 详细的修改记录文档

View File

@@ -0,0 +1,106 @@
# 后台管理网站开发计划
## 1. 项目初始化
* 初始化Vue 3.x + Element Plus + Vite项目
* 配置项目目录结构
* 安装必要依赖vue-router、Pinia、axios
## 2. 项目基础配置
* 创建路由配置文件:`src/router/index.js`
* 创建Pinia状态管理`src/store/index.js``src/store/auth.js``src/store/theme.js`
* 配置axios拦截器`src/utils/request.js`
* 创建全局样式文件:`src/styles/main.scss``src/styles/variables.scss``src/styles/responsive.scss`
## 3. 登录功能实现
* 创建登录页面:`src/views/Login.vue`
* 实现登录验证逻辑固定账号密码Admin/Admin
* 实现登录状态管理
* 配置路由守卫,保护受保护页面
## 4. 主题切换功能
* 创建主题切换组件:`src/components/ThemeSwitcher.vue`
* 实现深色/浅色模式切换逻辑
* 实现主题状态持久化localStorage
## 5. 响应式布局和菜单
* 创建布局组件:`src/components/Layout/Layout.vue``src/components/Layout/Sidebar.vue``src/components/Layout/Header.vue`
* 实现侧边栏菜单(桌面/平板端)
* 实现抽屉式菜单(手机端)
* 实现响应式布局适配
## 6. 会话记录管理页面
* 创建会话记录管理页面:`src/views/ConversationList.vue`
* 实现会话记录查询功能
* 实现多条件筛选功能(时间范围、用户、消息类型、部门)
* 实现会话记录表格展示
## 7. 用户管理页面
* 创建用户管理页面:`src/views/UserList.vue`
* 实现用户列表查询功能
* 实现用户表格展示
## 8. 首页实现
* 创建首页:`src/views/Home.vue`
* 实现系统概览和统计信息展示
## 9. 测试和优化
* 测试所有功能模块
* 优化响应式布局
* 优化页面性能
* 完善错误处理
## 10. 文档更新
* 更新项目文档
* 记录开发过程中的变更
## 技术规范遵循
* 使用Vue 3.x Composition API和`<script setup>`语法
* 遵循Element Plus组件库规范
* 实现响应式设计,优先适配手机宽度
* 采用模块化设计思路
* 严格遵循openspec文档中规定的API接口和数据模型
## 变更记录要求
* 所有代码修改、功能调整或配置变更均需在changes文档中进行详细记录
* 记录内容包括:变更时间、变更人、变更模块、变更类型(新增/修改/删除、变更具体内容、关联需求ID及变更原因