项目描述:
本项目是一款基于 Spring Boot 3 + Vue3 开发的企业级 SaaS 智能问答平台。系统采用多租户架构设计,支持不同企业间的数据严格隔离,旨在通过 AI 技术降低人工客服成本,实现 7×24 小时自动化响应。
核心功能模块:
多租户管理体系:支持租户自助注册、个性化配置(欢迎语、行业分类)及状态管理;基于 tenant_id 实现底层数据隔离。
三级权限控制:构建超级管理员、普通管理员、操作员三级角色体系,结合 JWT Token 认证与 BCrypt 加密,确保访问安全。
知识库管理引擎:支持知识条目的增删改查、Excel 批量导入/导出模板下载、关键词检索及浏览次数自动统计。
智能问答交互:集成 GLM 大模型 API,提供语义匹配问答、对话历史记录、满意度评价及转人工标记功能。
基础数据统计:实时展示今日咨询量、问题解决率、热门问题 TOP10 及用户满意度分布。
**灵活部署**:支持SaaS云端部署和私有化部署
本项目采用前后端分离的 SaaS 多租户架构。后端基于 Spring Boot 3 构建 RESTful API,通过 tenant_id 实现不同企业间的数据逻辑隔离;前端采用 Vue3 + Element Plus 打造响应式交互界面。设计核心在于“安全与智能并重”,通过 RBAC 模型实现三级权限控制,并集成 GLM 大模型实现知识库的智能语义检索。
技术栈选型:
后端: Java 17, Spring Boot 3.0, MyBatis-Plus, MySQL 8.0, Redis (缓存/会话), JWT (认证)。
前端: Vue 3 (Composition API), Vite, Axios, Element Plus。
AI 集成: 智谱 GLM API (用于智能问答与语义匹配)。
工具链: Maven, Git, Swagger/Knife4j (接口文档)。
我负责的模块与成果:
作为独立开发者,我全权负责了从数据库建模到前后端联调的全过程:
多租户权限体系: 设计了基于拦截器的租户校验机制,实现了超级管理员、租户管理员、操作员的精细化权限控制。
智能问答引擎: 完成了 GLM 大模型的 API 对接,实现了基于知识库内容的精准问答,并开发了对话历史与满意度评价功能。
知识库管理: 实现了 Excel 批量导入功能,通过 EasyExcel 优化了大批量数据的处理效率。
安全审计: 封装了 IpUtil 工具类,解决了 Nginx 反向代理下客户端真实 IP 获取难题,完善了登录日志记录。
遇到的问题:
复杂 Excel 文件兼容性与解析效率问题:
问题描述: 初期使用 Apache POI 处理批量导入时,发现对 WPS 生成的非标准格式文件兼容性极差,且处理千行以上数据时内存占用高、响应慢。
解决方案: 调研并迁移至阿里巴巴开源的 EasyExcel 框架。通过其流式读取模式(SAX)显著降低了内存压力;同时优化了表头识别逻辑,解决了因手动跳过行导致的测试数据偏差问题,最终实现了大批量知识条目的秒级导入。
前端上传组件交互冲突与体验优化:
问题描述: 在实现知识库文件上传时,Element Plus 的 el-upload 组件与手动创建的隐藏 Input 标签产生事件冲突,导致上传动画丢失且出现重复弹窗。
解决方案: 重构前端交互逻辑,彻底移除冗余的手动 DOM 操作,完全依托 el-upload 的原生回调钩子(on-success, on-error)管理状态。同时引入全局加载锁(Loading Lock),在上传期间禁用页面其他交互,确保了用户体验的流畅性与一致性。