diff --git a/.amazonq/prompts/openspec-apply.md b/.amazonq/prompts/openspec-apply.md
new file mode 100644
index 0000000..5cc55ae
--- /dev/null
+++ b/.amazonq/prompts/openspec-apply.md
@@ -0,0 +1,26 @@
+---
+description: Implement an approved OpenSpec change and keep tasks in sync.
+---
+
+The user wants to apply the following change. Use the openspec instructions to implement the approved change.
+
+
+ $ARGUMENTS
+
+
+**Guardrails**
+- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
+- Keep changes tightly scoped to the requested outcome.
+- Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
+
+**Steps**
+Track these steps as TODOs and complete them one by one.
+1. Read `changes//proposal.md`, `design.md` (if present), and `tasks.md` to confirm scope and acceptance criteria.
+2. Work through tasks sequentially, keeping edits minimal and focused on the requested change.
+3. Confirm completion before updating statuses—make sure every item in `tasks.md` is finished.
+4. Update the checklist after all work is done so each task is marked `- [x]` and reflects reality.
+5. Reference `openspec list` or `openspec show - ` when additional context is required.
+
+**Reference**
+- Use `openspec show --json --deltas-only` if you need additional context from the proposal while implementing.
+
diff --git a/.amazonq/prompts/openspec-archive.md b/.amazonq/prompts/openspec-archive.md
new file mode 100644
index 0000000..33bff97
--- /dev/null
+++ b/.amazonq/prompts/openspec-archive.md
@@ -0,0 +1,30 @@
+---
+description: Archive a deployed OpenSpec change and update specs.
+---
+
+The user wants to archive the following deployed change. Use the openspec instructions to archive the change and update specs.
+
+
+ $ARGUMENTS
+
+
+**Guardrails**
+- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
+- Keep changes tightly scoped to the requested outcome.
+- Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
+
+**Steps**
+1. Determine the change ID to archive:
+ - If this prompt already includes a specific change ID (for example inside a `` block populated by slash-command arguments), use that value after trimming whitespace.
+ - If the conversation references a change loosely (for example by title or summary), run `openspec list` to surface likely IDs, share the relevant candidates, and confirm which one the user intends.
+ - Otherwise, review the conversation, run `openspec list`, and ask the user which change to archive; wait for a confirmed change ID before proceeding.
+ - If you still cannot identify a single change ID, stop and tell the user you cannot archive anything yet.
+2. Validate the change ID by running `openspec list` (or `openspec show `) and stop if the change is missing, already archived, or otherwise not ready to archive.
+3. Run `openspec archive --yes` so the CLI moves the change and applies spec updates without prompts (use `--skip-specs` only for tooling-only work).
+4. Review the command output to confirm the target specs were updated and the change landed in `changes/archive/`.
+5. Validate with `openspec validate --strict` and inspect with `openspec show ` if anything looks off.
+
+**Reference**
+- Use `openspec list` to confirm change IDs before archiving.
+- Inspect refreshed specs with `openspec list --specs` and address any validation issues before handing off.
+
diff --git a/.amazonq/prompts/openspec-proposal.md b/.amazonq/prompts/openspec-proposal.md
new file mode 100644
index 0000000..b49e491
--- /dev/null
+++ b/.amazonq/prompts/openspec-proposal.md
@@ -0,0 +1,31 @@
+---
+description: Scaffold a new OpenSpec change and validate strictly.
+---
+
+The user has requested the following change proposal. Use the openspec instructions to create their change proposal.
+
+
+ $ARGUMENTS
+
+
+**Guardrails**
+- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
+- Keep changes tightly scoped to the requested outcome.
+- Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
+- Identify any vague or ambiguous details and ask the necessary follow-up questions before editing files.
+- Do not write any code during the proposal stage. Only create design documents (proposal.md, tasks.md, design.md, and spec deltas). Implementation happens in the apply stage after approval.
+
+**Steps**
+1. Review `openspec/project.md`, run `openspec list` and `openspec list --specs`, and inspect related code or docs (e.g., via `rg`/`ls`) to ground the proposal in current behaviour; note any gaps that require clarification.
+2. Choose a unique verb-led `change-id` and scaffold `proposal.md`, `tasks.md`, and `design.md` (when needed) under `openspec/changes//`.
+3. Map the change into concrete capabilities or requirements, breaking multi-scope efforts into distinct spec deltas with clear relationships and sequencing.
+4. Capture architectural reasoning in `design.md` when the solution spans multiple systems, introduces new patterns, or demands trade-off discussion before committing to specs.
+5. Draft spec deltas in `changes//specs//spec.md` (one folder per capability) using `## ADDED|MODIFIED|REMOVED Requirements` with at least one `#### Scenario:` per requirement and cross-reference related capabilities when relevant.
+6. Draft `tasks.md` as an ordered list of small, verifiable work items that deliver user-visible progress, include validation (tests, tooling), and highlight dependencies or parallelizable work.
+7. Validate with `openspec validate --strict` and resolve every issue before sharing the proposal.
+
+**Reference**
+- Use `openspec show --json --deltas-only` or `openspec show --type spec` to inspect details when validation fails.
+- Search existing requirements with `rg -n "Requirement:|Scenario:" openspec/specs` before writing new ones.
+- Explore the codebase with `rg `, `ls`, or direct file reads so proposals align with current implementation realities.
+
diff --git a/.gitignore b/.gitignore
index fa4363e..39690b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
WxCheckMvc/obj
WxCheckMvc/.vs
WxCheckMvc/bin
+node_modules
diff --git a/.trae/documents/会话管理和用户管理页面优化.md b/.trae/documents/会话管理和用户管理页面优化.md
new file mode 100644
index 0000000..a4bd38a
--- /dev/null
+++ b/.trae/documents/会话管理和用户管理页面优化.md
@@ -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开发规范
+ - 详细的修改记录文档
\ No newline at end of file
diff --git a/.trae/documents/后台管理网站开发计划.md b/.trae/documents/后台管理网站开发计划.md
new file mode 100644
index 0000000..011247b
--- /dev/null
+++ b/.trae/documents/后台管理网站开发计划.md
@@ -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和`
+