# 常见问题管理模块 - 部署文档 ## 功能概述 常见问题管理模块用于管理系统中的FAQ内容,支持问题的增删改查、排序、状态管理等功能。 ## 部署步骤 ### 1. 数据库配置 #### 1.1 创建数据表 执行SQL脚本创建常见问题表: ```bash # 路径:mx_charging_pile/sql/20260625_faq_management.sql ``` 该脚本会创建: - `sys_faq` 表:存储常见问题数据 - 包含3条示例数据 #### 1.2 配置菜单权限 执行菜单配置脚本: ```bash # 路径:mx_charging_pile/sql/20260625_faq_menu.sql ``` **重要提示**: 1. 执行前需要查询 `sys_menu` 表,找到"系统管理"的 `menu_id` 2. 将脚本中的 `parent_id` 修改为实际的系统管理菜单ID 3. 执行主菜单插入后,查询新插入的菜单ID 4. 将脚本中的 `@@faqMenuId@@` 替换为实际的菜单ID 5. 然后执行按钮权限的插入语句 ### 2. 后端部署 #### 2.1 已创建的文件清单 ``` mx_charging_pile/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/ ├── domain/ │ └── SysFaq.java # 实体类 ├── mapper/ │ └── SysFaqMapper.java # Mapper接口 ├── service/ │ ├── ISysFaqService.java # Service接口 │ └── impl/ │ └── SysFaqServiceImpl.java # Service实现 └── controller/ └── SysFaqController.java # Controller控制器 mx_charging_pile/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ └── SysFaqMapper.xml # MyBatis映射文件 ``` #### 2.2 重启服务 重启 `ruoyi-system` 模块: ```bash cd mx_charging_pile # 根据实际部署方式重启服务 ``` ### 3. 前端部署 #### 3.1 已创建的文件清单 ``` mx_charging_pile/ruoyi-ui/src/ ├── api/system/ │ └── faq.js # API接口 └── views/system/faq/ └── index.vue # 页面组件 ``` #### 3.2 构建前端 ```bash cd mx_charging_pile/ruoyi-ui npm run build:prod ``` ### 4. 功能验证 #### 4.1 登录系统 使用管理员账号登录系统 #### 4.2 菜单访问 导航到:系统管理 -> 常见问题管理 #### 4.3 功能测试 - [ ] 查看列表:验证示例数据是否显示 - [ ] 搜索功能:按问题标题搜索 - [ ] 新增问题:添加新的常见问题 - [ ] 编辑问题:修改已有问题 - [ ] 删除问题:删除单个或批量删除 - [ ] 状态切换:正常/停用状态切换 - [ ] 排序功能:修改排序号验证排序 - [ ] 导出功能:导出Excel文件 ## 数据表结构 ### sys_faq 表字段说明 | 字段名 | 类型 | 说明 | |--------|------|------| | faq_id | bigint | 问题ID(主键,自增) | | question | varchar(500) | 问题标题 | | answer | text | 问题答案 | | sort_order | int | 排序号 | | status | char(1) | 状态(0正常 1停用) | | create_by | varchar(64) | 创建者 | | create_time | datetime | 创建时间 | | update_by | varchar(64) | 更新者 | | update_time | datetime | 更新时间 | | remark | varchar(500) | 备注 | | del_flag | char(1) | 删除标志(0存在 2删除) | ## API接口说明 ### 基础路径 ``` /system/faq ``` ### 接口列表 | 接口 | 方法 | 说明 | 权限 | |------|------|------|------| | /list | GET | 查询列表 | system:faq:list | | /{faqId} | GET | 查询详情 | system:faq:query | | / | POST | 新增 | system:faq:add | | / | PUT | 修改 | system:faq:edit | | /{faqIds} | DELETE | 删除 | system:faq:remove | | /export | POST | 导出 | system:faq:export | ## 权限标识 ``` system:faq:list # 列表查询 system:faq:query # 详情查询 system:faq:add # 新增 system:faq:edit # 修改 system:faq:remove # 删除 system:faq:export # 导出 ``` ## 注意事项 1. **数据库执行顺序**:先执行表结构SQL,再执行菜单SQL 2. **菜单ID替换**:务必替换菜单SQL中的占位符为实际ID 3. **权限分配**:执行完菜单SQL后,需要为相应角色分配权限 4. **服务重启**:后端代码修改后需要重启对应服务 5. **前端构建**:前端代码修改后需要重新构建部署 ## 常见问题 ### Q1: 菜单不显示? A: 检查以下几点: - 菜单SQL是否正确执行 - 当前角色是否有对应菜单权限 - 前端路由配置是否正确 ### Q2: 接口调用失败? A: 检查以下几点: - 后端服务是否正常启动 - 网关配置是否正确 - 权限标识是否配置 ### Q3: 列表无数据? A: 检查以下几点: - 数据表SQL是否执行成功 - 示例数据是否插入 - del_flag字段是否为'0' ## 开发者信息 - 开发日期:2026-06-25 - 模块位置:ruoyi-system - 数据库:charging_pile_other(根据实际情况)