【图片商城】平台主要包含以下功能:
1、用户注册登录模块:含手机号、邮箱等方式注册;含账号、扫码、第三方平台等方式登录;登录不做校验,随意账号密码输入后,点击登录即可
2、个人信息设置模块
个人主页:含基本资料、作品、文章、收藏、我的关注、我的粉丝
个人隐私设置:基本信息(年龄、性别、手机等等)、密码重置
3、后台管理模块
基础配置:包含用户、角色、菜单的增删查改
公告管理:支持发布、编辑、删除公告
作品管理:支持对图片作品进行审核操作
社区管理:支持对社区发布的作品进行审核操作(后续可考虑AI自动审核)
活动管理:平台活动发布、编辑、删除
4、首页模块:精选图片轮播、最新活动卡片、平台热门图片分类、图片榜单(巅峰作品榜、优秀文章榜、人气作者榜)、社区精选
5、发现模块:按通用分类对图片集以瀑布流的形式呈现给用户,支持按最新和最热排序
6、榜单模块:半个月一期进行榜单排行,分为巅峰作品榜、优秀文章榜、人气作者榜
7、社区模块:按卡片的形式展示社区讨论话题集,分为最新和最热
8、活动模块:展示平台发布的所有活动,供用户自行参与,上传活动作品
9、详情模块
图片详情:展示图片的基础信息及发布人,可对作品发布人进行关注;可对作品进行点赞、评论、收藏等交互;根据图片风格及样式推荐相关的活动及其他作品,引导用户沉浸式浏览;支持对图片放大查阅
社区话题详情:展示用户自行发起的话题文章,可查阅文章互动情况,包含点赞、评论、收藏等;根据话题类型推荐其他相似的阅读话题
活动详情:展示活动发布时间及有效期、活动介绍;用户可参与活动,发布作品,参与的作品会展示在活动详情下方
10、搜索模块:支持按作品、文章、活动、用户等维度通过关键字进行搜索,平台支持根据热门搜索词展示top5热词在检索栏下方,供用户快速触达;点击搜索后跳转到检索结果页(作品、文章、活动、用户)
11、上传模块:支持上传作品、发布文章;作品上传需填写作品名称及分类;文章发布需对文章进行标签化
12、消息通知模块:包含公告通知、互动通知(点赞、评论、收藏、新粉丝);支持对通知“一键已读”
一、整体架构(三层架构)
表现层:采用 Vue3+Vite 构建前端页面,配合 Element Plus 组件库实现响应式设计,适配 PC / 移动端;通过 Vue Router 管理路由,Pinia 存储全局状态,确保页面交互流畅。
业务逻辑层:基于 Spring Boot 开发后端服务,按功能拆分 12 个微服务模块(对应 12 项核心功能),通过 Spring Cloud 实现服务注册与发现,Feign 实现服务间调用,保证业务解耦。
数据层:使用 MySQL 存储结构化数据(用户信息、公告、活动等),Redis 缓存热门数据(榜单、热搜词),MinIO 存储图片文件;通过 MyBatis-Plus 实现数据 CRUD,Elasticsearch 优化搜索功能,提升检索效率。
二、实现思路与功能模块量化
用户与个人信息模块(2 个子模块):注册登录模块(3 个接口:手机号 / 邮箱注册、多方式登录、免校验登录);个人信息模块(6 个接口:主页数据查询、隐私设置修改、密码重置等),2 周内完成开发。
后台管理模块(5 个子模块):基础配置(用户 / 角色 / 菜单 CRUD,6 个接口)、公告 / 作品 / 社区 / 活动管理(各 3 个接口:增删改查),3 周内完成,集成 AI 审核接口预留扩展位。
前端核心模块(6 个子模块):首页(轮播 / 活动 / 分类 / 榜单渲染,4 个接口)、发现(瀑布流 + 排序,2 个接口)、榜单(半月更新逻辑,1 个接口)、社区(卡片 + 互动,3 个接口)、活动(列表 + 参与,2 个接口)、详情(图片 / 话题 / 活动详情 + 推荐,5 个接口),4 周内完成页面开发与接口联调。
辅助功能模块(3 个子模块):搜索(多维度检索 + 热词展示,2 个接口)、上传(作品 / 文章上传 + 标签,2 个接口)、消息通知(2 个接口:通知推送、一键已读),2 周内完成,确保与核心模块联动。
三、关键技术点
图片放大:集成 Viewer.js 实现高清预览;
瀑布流:使用 vue-waterfall-easy 组件,优化加载性能;
消息通知:采用 WebSocket 实现实时推送,提升用户体验。