# ls-picture-backend **Repository Path**: Linkating/ls-picture-backend ## Basic Information - **Project Name**: ls-picture-backend - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-10 - **Last Updated**: 2025-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: WebSocket, AI, SpringBoot, MySQL, Redis ## README # 华彩联云图 后端服务 ## 简介 本项目是一个基于Spring Boot构建的智能云图库的后端服务,主要功能包括: - 用户注册/登录/权限控制/账号安全(支持邮箱绑定) - 空间分为三大板块 公共/个人/团队 - 图片上传(支持文件上传或Url上传)/下载/编辑/删除 - 用户空间管理(团队协作) - 图片智能搜索 - 阿里云AI图片处理集成 - 数据统计分析 - WebSocket实时协作编辑 ## 技术栈 - Spring Boot - MyBatis Plus - MySQL - Redis - 阿里云AI开放平台 - COS(腾讯云对象存储) - WebSocket + Disruptor高性能事件处理 ## 功能特性 ### 用户系统 - 注册/登录/忘记密码 - 角色权限管理(管理员/普通用户) - 用户信息编辑(包括但不限于能绑定或解绑邮箱,修改密码) ### 空间管理 - 创建/编辑/删除用户空间 - 空间成员管理 - 多级空间权限控制 - 空间类型区分 - 使用情况统计分析 ### 图片处理 - 本地/URL图片上传 - 批量图片处理 - 图片信息编辑 - 图片审核机制 - AI智能扩图任务创建 - 实时协作编辑 ### 搜索功能 - 图片相似搜索 - 多条件图片查询 - 分页/排序支持 ### 安全控制 - 多层级权限控制(@AuthCheck, @PictureAuthCheck, @SpaceAuthCheck) - 拦截器实现权限校验 - 邮箱验证码安全机制 ## 模块结构 ``` ├── controller // API控制器 ├── service // 业务逻辑 ├── mapper // 数据库映射 ├── model // 数据模型(实体/VO/DTO) ├── api // 第三方API封装 ├── config // 系统配置 ├── exception // 异常处理 ├── manger // 通用管理类 │ ├── upload // 上传处理模板 │ └── websocket // WebSocket相关实现 └── aspect // AOP切面处理 ``` ## 部署要求 - JDK 1.8+(最好用JDK17,因为项目引入了Caffeine 3.x的Maven依赖,它JDK要求最低不低于JDK11) - MySQL 5.7+ - Redis 6.0+ - 腾讯云COS配置 - 阿里云AI平台API配置 - 邮箱服务配置 ### 部署步骤 1. 执行sql文件夹内脚本 2. 修改数据库配置 ``` spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: 改为你数据库的url username: 改为你数据库的用户名 password: 改为你数据库的密码 redis: database: 0 host: 127.0.0.1 port: 6379 timeout: 5000 ``` 3. 修改COS(对象存储的配置) ``` # 对象存储配置(需要从腾讯云获取) cos: client: host: xxx secretId: xxx secretKey: xxx region: xxx bucket: xxx ``` 4. 修改阿里云AI的配置 ``` # 阿里云 AI 配置 aliYunAi: apiKey: xxx ``` 5. 修改盐值 ``` salt: your_salt ``` ## 安全策略 - 所有敏感操作均有权限验证 - 使用Redis进行验证码管理 - 文件上传路径白名单控制 - WebSocket连接身份校验 - 图片AI处理任务加密签名 ## 接口文档 基础响应封装:`BaseResponse` 常用接口: - `/picture/upload` - 图片上传 - `/picture/delete` - 图片删除 - `/picture/edit` - 图片信息编辑 - `/space/add` - 创建空间 - `/spaceUser/add` - 空间成员管理 - `/user/login` - 用户登录 - `/aliyun/ai` - 阿里云AI图片处理 - `/websocket` - 实时协作通信 ## 扩展功能 - 使用Disruptor实现高性能图片编辑事件处理 - COS对象存储抽象管理层 - 多租户空间管理体系 - 图片智能标签/分类 - 可扩展的权限验证模块 ## 版本控制 使用MyBatis Plus进行数据库操作,所有实体包含逻辑删除字段和时间戳管理。 ## 事件处理 通过WebSocket和Disruptor实现图片实时协作编辑功能,支持多人在线编辑状态同步和操作广播。 ## 错误处理 统一异常处理机制,通过`GlobalExceptionHandler`捕获所有异常,返回标准化错误码和消息。 ## 缓存机制 对图片列表查询进行多级缓存优化,提高高频访问效率。