# 直播平台双端交互逻辑设计报告 > 生成时间:2024年12月29日 > 版本:V2.0 > 设计范围:Android移动端 + Vue管理端 > 重点优化:缘池(多板块社区)、许愿树(节日祝福留言板) --- ## 目录 1. [系统架构总览](#一系统架构总览) 2. [双端功能对照表](#二双端功能对照表) 3. [核心交互流程设计](#三核心交互流程设计) 4. [缘池重新设计方案](#四缘池重新设计方案多板块交流社区) 5. [许愿树重新设计方案](#五许愿树重新设计方案节日愿望祝福留言板) 6. [API接口设计规范](#六api接口设计规范) 7. [数据库设计](#七数据库设计) 8. [实时通信设计](#八实时通信设计) 9. [管理端配套功能](#九管理端配套功能) 10. [开发实施计划](#十开发实施计划) --- ## 一、系统架构总览 ### 1.1 整体架构图 ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ 用户层 (User Layer) │ ├─────────────────────────────────┬───────────────────────────────────────────┤ │ Android 移动端 (APP) │ Vue 管理端 (Admin) │ │ ┌─────────────────────────┐ │ ┌─────────────────────────────────┐ │ │ │ 首页 │ 缘池 │许愿树│消息│我的│ │ │ 仪表盘 │ 用户 │ 直播 │ 社区 │ 活动 │ │ │ └─────────────────────────┘ │ └─────────────────────────────────┘ │ └─────────────────────────────────┴───────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 网关层 (Gateway Layer) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ API网关 │ │ 负载均衡 │ │ 限流熔断 │ │ 统一认证 (JWT) │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 服务层 (Service Layer) │ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────────┐ │ │ │ 用户服务 │ │ 直播服务 │ │ 社区服务 │ │ 活动服务 │ │ 消息服务 │ │ │ │ (User) │ │ (Live) │ │(Community)│ │(Activity) │ │ (Message) │ │ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ └───────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 数据层 (Data Layer) │ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────────┐ │ │ │ MySQL │ │ Redis │ │ MongoDB │ │ OSS │ │ Elasticsearch│ │ │ │ (主数据) │ │ (缓存) │ │ (动态) │ │ (文件) │ │ (搜索) │ │ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ └───────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` ### 1.2 技术栈对照 | 层级 | 移动端 (Android) | 管理端 (Vue) | 后端 (Java) | |------|------------------|--------------|-------------| | 框架 | Android SDK | Vue 2.x + Element UI | Spring Boot | | 网络 | Retrofit2 + OkHttp | Axios | Spring MVC | | 状态 | SharedPreferences | Vuex | Redis Session | | 实时 | WebSocket | WebSocket | Netty | | 存储 | SQLite/Room | LocalStorage | MySQL + Redis | --- ## 二、双端功能对照表 ### 2.1 核心功能模块对照 | 功能模块 | 移动端功能 | 管理端功能 | 交互关系 | |----------|------------|------------|----------| | **用户认证** | 登录/注册/验证码 | 用户列表/封禁/等级 | 管理端管控用户状态 | | **直播观看** | 观看/弹幕/礼物 | 房间管理/弹幕审核 | 管理端可关闭直播间 | | **社交互动** | 好友/群组/私聊 | 好友关系/会话监管 | 管理端可解除关系 | | **缘池社区** | 板块浏览/发帖/互动 | 板块管理/内容审核 | 管理端配置板块 | | **许愿树** | 发布祝福/查看/互动 | 活动配置/内容审核 | 管理端配置节日活动 | | **礼物打赏** | 发送礼物/充值 | 礼物配置/打赏记录 | 管理端配置礼物 | | **消息通知** | 接收推送/消息列表 | 系统消息/推送管理 | 管理端发送通知 | | **个人中心** | 资料编辑/作品管理 | 用户详情/内容审核 | 管理端可修改资料 | ### 2.2 数据流向图 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 数据流向示意图 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 移动端 (APP) 后端服务 管理端 (Admin) │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ 用户 │ ──── 请求 ────▶ │ API │ ◀── 请求 ─── │ 运营 │ │ │ │ 操作 │ ◀─── 响应 ──── │ 服务 │ ─── 响应 ──▶ │ 操作 │ │ │ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ │ │ │ │ ▼ │ │ │ │ ┌─────────┐ │ │ │ │ │ 数据库 │ │ │ │ │ │ + 缓存 │ │ │ │ │ └─────────┘ │ │ │ │ │ │ │ │ │ ┌───────────────────┼───────────────────┐ │ │ │ │ ▼ ▼ ▼ │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐│ │ │ └───▶│WebSocket│◀──────▶│ 消息队列│◀───────▶│ 推送 │◀┘ │ │ │ 实时 │ │ (Redis) │ │ 服务 │ │ │ └─────────┘ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` --- ## 三、核心交互流程设计 ### 3.1 用户认证流程 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 用户认证交互流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 移动端 后端 管理端 │ │ │ │ │ │ │ │ 1. 发送验证码请求 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 2. 生成验证码 │ │ │ │ │ 存入Redis(5分钟) │ │ │ │ ◀───────────────────────── │ │ │ │ │ 3. 返回发送成功 │ │ │ │ │ │ │ │ │ │ 4. 提交登录/注册 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 5. 验证码校验 │ │ │ │ │ 用户状态检查 │ │ │ │ │ 生成JWT Token │ │ │ │ ◀───────────────────────── │ │ │ │ │ 6. 返回Token+用户信息 │ │ │ │ │ │ │ │ │ │ 7. 存储Token │ │ │ │ │ 进入首页 │ │ │ │ │ │ │ │ │ │ │ 8. 记录登录日志 ──────────▶ │ │ │ │ │ │ 9. 可查│ │ │ │ │ 看 │ │ │ │ │ 日志 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 3.2 直播观看交互流程 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 直播观看交互流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 移动端 后端 管理端 │ │ │ │ │ │ │ │ 1. 进入直播间 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 2. 获取房间信息 │ │ │ │ │ 获取播放地址 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 3. 返回房间详情 │ │ │ │ │ │ │ │ │ │ 4. 建立WebSocket连接 │ │ │ │ │ ═══════════════════════════│ │ │ │ │ │ 5. 加入房间 │ │ │ │ │ 更新在线人数 │ │ │ │ │ │ │ │ │ 6. 发送弹幕 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 7. 敏感词过滤 │ │ │ │ │ 广播给房间用户 │ │ │ │ ◀═══════════════════════════│ │ │ │ │ 8. 接收弹幕推送 │ │ │ │ │ │ │ │ │ │ │ ◀─────── │ 9. 关闭│ │ │ │ 10. 强制关闭直播 │ 直播 │ │ │ ◀═══════════════════════════│ │ │ │ │ 11. 收到关闭通知 │ │ │ │ │ 退出直播间 │ │ │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 3.3 礼物打赏交互流程 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 礼物打赏交互流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 移动端 后端 管理端 │ │ │ │ │ │ │ │ 1. 获取礼物列表 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 2. 查询礼物配置 │ │ │ │ ◀───────────────────────── │ (从Redis缓存) │ │ │ │ 3. 返回礼物列表 │ │ │ │ │ │ │ │ │ │ 4. 发送礼物 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 5. 校验余额 │ │ │ │ │ 扣除金币 │ │ │ │ │ 增加主播收益 │ │ │ │ │ 记录打赏流水 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 6. 返回发送成功 │ │ │ │ │ │ │ │ │ │ │ 7. 广播礼物特效 │ │ │ │ ◀═══════════════════════════│ (WebSocket) │ │ │ │ 8. 显示礼物动画 │ │ │ │ │ │ │ │ │ │ │ 9. 记录打赏日志 ──────────▶ │ │ │ │ │ │ 10.可查│ │ │ │ │ 看 │ │ │ │ │ 记录 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` --- ## 四、缘池重新设计方案(多板块交流社区) ### 4.1 设计理念 将原有的"附近用户匹配"功能升级为**多板块交流社区**,打造一个集内容分享、兴趣交流、社交互动于一体的综合社区平台。 ### 4.2 功能架构 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 缘池 - 多板块交流社区 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────────────┐ │ │ │ │ │ 搜索 │ │ 发布 │ │ 通知 │ │ 消息 │ │ 个人中心 │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ └────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 板块分类标签 │ │ │ │ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │ │ │ │ │推荐│ │热门│ │游戏│ │音乐│ │美食│ │旅行│ │情感│ │更多│ │ │ │ │ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 内容流区域 │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ │ │ 帖子卡片 │ │ │ │ │ │ ┌──────┐ ┌─────────────────────────────────────────┐ │ │ │ │ │ │ │ 头像 │ │ 用户名 · 板块标签 · 发布时间 │ │ │ │ │ │ │ └──────┘ └─────────────────────────────────────────┘ │ │ │ │ │ │ ┌─────────────────────────────────────────────────────┐│ │ │ │ │ │ │ 帖子内容文字... ││ │ │ │ │ │ └─────────────────────────────────────────────────────┘│ │ │ │ │ │ ┌─────────────────────────────────────────────────────┐│ │ │ │ │ │ │ 图片/视频区域 (九宫格/单图/视频) ││ │ │ │ │ │ └─────────────────────────────────────────────────────┘│ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────────────────┐│ │ │ │ │ │ │ 👍 点赞│ │ 💬 评论│ │ ↗ 分享│ │ ⭐ 收藏 ││ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────────────────┘│ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ │ │ 更多帖子卡片... │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 悬浮发布按钮 │ │ │ │ ┌───┐ │ │ │ │ │ + │ │ │ │ │ └───┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 4.3 板块分类设计 | 板块ID | 板块名称 | 图标 | 描述 | 排序 | |--------|----------|------|------|------| | 1 | 推荐 | 🔥 | 算法推荐热门内容 | 1 | | 2 | 热门 | 📈 | 24小时热度排行 | 2 | | 3 | 游戏 | 🎮 | 游戏攻略、组队、分享 | 3 | | 4 | 音乐 | 🎵 | 音乐分享、翻唱、原创 | 4 | | 5 | 美食 | 🍜 | 美食探店、食谱分享 | 5 | | 6 | 旅行 | ✈️ | 旅行攻略、风景分享 | 6 | | 7 | 情感 | 💕 | 情感交流、心情分享 | 7 | | 8 | 穿搭 | 👗 | 穿搭分享、时尚潮流 | 8 | | 9 | 宠物 | 🐱 | 萌宠分享、养宠经验 | 9 | | 10 | 运动 | ⚽ | 运动健身、赛事讨论 | 10 | | 11 | 学习 | 📚 | 学习交流、知识分享 | 11 | | 12 | 直播 | 📺 | 直播预告、主播互动 | 12 | ### 4.4 移动端页面设计 #### 4.4.1 社区首页 (CommunityActivity) ```java // 页面结构 CommunityActivity ├── TopBar (顶部栏) │ ├── SearchButton (搜索按钮) │ ├── TitleText (缘池) │ ├── NotificationButton (通知) │ └── PublishButton (发布) ├── CategoryTabs (板块标签) │ └── TabLayout (可滑动标签) ├── ContentList (内容列表) │ └── RecyclerView (瀑布流/列表) │ └── PostCardAdapter (帖子卡片适配器) ├── FloatingActionButton (悬浮发布按钮) └── BottomNavigation (底部导航) ``` #### 4.4.2 帖子详情页 (PostDetailActivity) ```java // 页面结构 PostDetailActivity ├── TopBar (顶部栏) │ ├── BackButton (返回) │ ├── TitleText (帖子详情) │ ├── ShareButton (分享) │ └── MoreButton (更多) ├── PostContent (帖子内容) │ ├── UserInfo (用户信息) │ ├── ContentText (文字内容) │ ├── MediaArea (图片/视频) │ ├── LocationTag (位置标签) │ └── TimeInfo (发布时间) ├── ActionBar (操作栏) │ ├── LikeButton (点赞) │ ├── CommentButton (评论) │ ├── ShareButton (分享) │ └── FavoriteButton (收藏) ├── CommentList (评论列表) │ └── RecyclerView │ └── CommentAdapter └── CommentInput (评论输入框) ├── EditText (输入框) ├── EmojiButton (表情) └── SendButton (发送) ``` #### 4.4.3 发布帖子页 (PublishPostActivity) ```java // 页面结构 PublishPostActivity ├── TopBar (顶部栏) │ ├── CloseButton (关闭) │ ├── TitleText (发布动态) │ └── PublishButton (发布) ├── ContentInput (内容输入) │ └── EditText (多行文本) ├── MediaPicker (媒体选择) │ ├── ImageGrid (图片网格) │ ├── AddImageButton (添加图片) │ └── VideoPreview (视频预览) ├── CategorySelector (板块选择) │ └── ChipGroup (标签组) ├── LocationPicker (位置选择) │ └── LocationText (位置文本) ├── TopicInput (话题输入) │ └── ChipGroup (话题标签) └── PrivacySelector (可见范围) └── RadioGroup (公开/好友可见/私密) ``` ### 4.5 交互流程设计 #### 4.5.1 发布帖子流程 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 发布帖子交互流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 移动端 后端 管理端 │ │ │ │ │ │ │ │ 1. 点击发布按钮 │ │ │ │ │ 打开发布页面 │ │ │ │ │ │ │ │ │ │ 2. 选择图片/视频 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 3. 上传文件到OSS │ │ │ │ ◀───────────────────────── │ 返回文件URL │ │ │ │ 4. 显示上传进度 │ │ │ │ │ │ │ │ │ │ 5. 填写内容 │ │ │ │ │ 选择板块 │ │ │ │ │ 添加话题 │ │ │ │ │ 选择位置 │ │ │ │ │ │ │ │ │ │ 6. 点击发布 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 7. 内容审核 │ │ │ │ │ 敏感词过滤 │ │ │ │ │ 图片审核 │ │ │ │ │ 保存到数据库 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 8. 发布成功 │ │ │ │ │ 跳转到帖子详情 │ │ │ │ │ │ │ │ │ │ │ 9. 推送给关注者 │ │ │ │ │ 更新热度排行 │ │ │ │ │ │ │ │ │ │ 10. 记录发布日志 ─────────▶ │ │ │ │ │ │ 11.可审│ │ │ │ │ 核 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` #### 4.5.2 浏览帖子流程 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 浏览帖子交互流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 移动端 后端 管理端 │ │ │ │ │ │ │ │ 1. 进入缘池页面 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 2. 获取板块列表 │ │ │ │ │ 获取推荐帖子 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 3. 显示板块和帖子 │ │ │ │ │ │ │ │ │ │ 4. 切换板块 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 5. 获取板块帖子 │ │ │ │ │ (分页加载) │ │ │ │ ◀───────────────────────── │ │ │ │ │ 6. 显示板块帖子 │ │ │ │ │ │ │ │ │ │ 7. 下拉刷新 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 8. 获取最新帖子 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 9. 更新列表 │ │ │ │ │ │ │ │ │ │ 10. 上拉加载更多 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 11. 获取下一页 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 12. 追加到列表 │ │ │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 4.6 缘池API接口设计 #### 4.6.1 移动端API (前台) ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 缘池社区 - 移动端API接口 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 板块管理 │ │ ├── GET /api/front/community/categories # 获取板块列表 │ │ └── GET /api/front/community/categories/{id} # 获取板块详情 │ │ │ │ 帖子管理 │ │ ├── GET /api/front/community/posts # 获取帖子列表 │ │ │ ?categoryId={id}&page={page}&pageSize={size}&sort={sort} │ │ ├── GET /api/front/community/posts/{id} # 获取帖子详情 │ │ ├── POST /api/front/community/posts # 发布帖子 │ │ ├── PUT /api/front/community/posts/{id} # 编辑帖子 │ │ └── DELETE /api/front/community/posts/{id} # 删除帖子 │ │ │ │ 互动功能 │ │ ├── POST /api/front/community/posts/{id}/like # 点赞帖子 │ │ ├── DELETE /api/front/community/posts/{id}/like # 取消点赞 │ │ ├── POST /api/front/community/posts/{id}/favorite # 收藏帖子 │ │ ├── DELETE /api/front/community/posts/{id}/favorite # 取消收藏 │ │ └── POST /api/front/community/posts/{id}/share # 分享帖子 │ │ │ │ 评论功能 │ │ ├── GET /api/front/community/posts/{id}/comments # 获取评论列表 │ │ ├── POST /api/front/community/posts/{id}/comments # 发表评论 │ │ ├── POST /api/front/community/comments/{id}/reply # 回复评论 │ │ ├── DELETE /api/front/community/comments/{id} # 删除评论 │ │ └── POST /api/front/community/comments/{id}/like # 点赞评论 │ │ │ │ 搜索功能 │ │ ├── GET /api/front/community/search # 搜索帖子 │ │ │ ?keyword={keyword}&categoryId={id}&page={page} │ │ └── GET /api/front/community/topics # 获取热门话题 │ │ │ │ 用户相关 │ │ ├── GET /api/front/community/users/{id}/posts # 获取用户帖子 │ │ ├── GET /api/front/community/my/posts # 我的帖子 │ │ ├── GET /api/front/community/my/favorites # 我的收藏 │ │ └── GET /api/front/community/my/likes # 我的点赞 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` #### 4.6.2 管理端API (后台) ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 缘池社区 - 管理端API接口 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 板块管理 │ │ ├── GET /api/admin/community/categories # 获取板块列表 │ │ ├── POST /api/admin/community/categories # 创建板块 │ │ ├── PUT /api/admin/community/categories/{id} # 编辑板块 │ │ ├── DELETE /api/admin/community/categories/{id} # 删除板块 │ │ └── PUT /api/admin/community/categories/sort # 板块排序 │ │ │ │ 帖子审核 │ │ ├── GET /api/admin/community/posts # 获取帖子列表 │ │ │ ?status={status}&categoryId={id}&page={page} │ │ ├── GET /api/admin/community/posts/{id} # 获取帖子详情 │ │ ├── PUT /api/admin/community/posts/{id}/audit # 审核帖子 │ │ │ body: {status: "approved"|"rejected", reason: ""} │ │ ├── PUT /api/admin/community/posts/{id}/top # 置顶帖子 │ │ ├── PUT /api/admin/community/posts/{id}/recommend # 推荐帖子 │ │ └── DELETE /api/admin/community/posts/{id} # 删除帖子 │ │ │ │ 评论管理 │ │ ├── GET /api/admin/community/comments # 获取评论列表 │ │ ├── PUT /api/admin/community/comments/{id}/audit # 审核评论 │ │ └── DELETE /api/admin/community/comments/{id} # 删除评论 │ │ │ │ 话题管理 │ │ ├── GET /api/admin/community/topics # 获取话题列表 │ │ ├── POST /api/admin/community/topics # 创建话题 │ │ ├── PUT /api/admin/community/topics/{id} # 编辑话题 │ │ └── DELETE /api/admin/community/topics/{id} # 删除话题 │ │ │ │ 数据统计 │ │ ├── GET /api/admin/community/statistics # 社区统计 │ │ ├── GET /api/admin/community/statistics/posts # 帖子统计 │ │ └── GET /api/admin/community/statistics/users # 用户活跃统计 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 4.7 数据模型设计 #### 4.7.1 帖子数据模型 ```json // Post (帖子) { "id": 10001, "userId": 1001, "userInfo": { "id": 1001, "nickname": "小明", "avatar": "https://xxx/avatar.jpg", "level": 5, "isVip": true }, "categoryId": 3, "categoryName": "游戏", "content": "今天吃鸡成功!分享一下我的游戏心得...", "images": [ "https://xxx/img1.jpg", "https://xxx/img2.jpg" ], "video": null, "location": { "name": "广西南宁", "latitude": 22.82, "longitude": 108.32 }, "topics": ["#吃鸡", "#游戏攻略"], "visibility": "public", "likeCount": 128, "commentCount": 32, "shareCount": 15, "favoriteCount": 45, "viewCount": 1024, "isLiked": false, "isFavorited": false, "isTop": false, "isRecommend": true, "status": "approved", "createdAt": "2024-12-29T10:30:00Z", "updatedAt": "2024-12-29T10:30:00Z" } ``` #### 4.7.2 评论数据模型 ```json // Comment (评论) { "id": 20001, "postId": 10001, "userId": 1002, "userInfo": { "id": 1002, "nickname": "小红", "avatar": "https://xxx/avatar2.jpg" }, "content": "写得太好了,学到了!", "parentId": null, "replyTo": null, "likeCount": 15, "isLiked": false, "status": "approved", "createdAt": "2024-12-29T11:00:00Z", "replies": [ { "id": 20002, "userId": 1001, "userInfo": {...}, "content": "谢谢支持!", "parentId": 20001, "replyTo": { "id": 1002, "nickname": "小红" }, "createdAt": "2024-12-29T11:05:00Z" } ] } ``` --- ## 五、许愿树重新设计方案(节日愿望祝福留言板) ### 5.1 设计理念 将许愿树打造为**节日愿望祝福留言板**,结合节日氛围,让用户可以发布祝福、许愿、互动,营造温馨的社区氛围。 ### 5.2 功能架构 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 许愿树 - 节日愿望祝福留言板 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 │ │ │ │ ┌────────────────────────────────────────────────────────────┐ │ │ │ │ │ 🌳 许愿树 🔔 通知 🔍 搜索 │ │ │ │ │ └────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 节日活动Banner │ │ │ │ ┌────────────────────────────────────────────────────────────┐ │ │ │ │ │ 🎄 元旦许愿活动 │ │ │ │ │ │ 许下新年愿望,赢取丰厚奖励! │ │ │ │ │ │ 活动时间:2024.12.31 - 2025.01.03 │ │ │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ 倒计时: 02:15:30:45 │ │ │ │ │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 节日分类标签 │ │ │ │ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │ │ │ │ │全部│ │元旦│ │春节│ │情人│ │生日│ │祝福│ │许愿│ │ │ │ │ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 许愿树3D展示区 │ │ │ │ ┌────────────────────────────────────────────────────────────┐ │ │ │ │ │ 🌳 │ │ │ │ │ │ /│\ │ │ │ │ │ │ / │ \ │ │ │ │ │ │ 🎀 / │ \ 🎁 │ │ │ │ │ │ / │ \ │ │ │ │ │ │ 🌟 / │ \ ⭐ │ │ │ │ │ │ / │ \ │ │ │ │ │ │ 💝 / │ \ 🎊 │ │ │ │ │ │ ───────────────── │ │ │ │ │ │ │ │ │ │ │ │ 点击树上的装饰物查看祝福 │ │ │ │ │ └────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 祝福留言瀑布流 │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ │ │ 祝福卡片 │ │ │ │ │ │ ┌──────┐ ┌─────────────────────────────────────────┐ │ │ │ │ │ │ │ 头像 │ │ 用户名 · 元旦祝福 · 1小时前 │ │ │ │ │ │ │ └──────┘ └─────────────────────────────────────────┘ │ │ │ │ │ │ ┌─────────────────────────────────────────────────────┐│ │ │ │ │ │ │ 🎉 新年快乐!愿新的一年万事如意,心想事成! ││ │ │ │ │ │ └─────────────────────────────────────────────────────┘│ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ ❤️ 128 │ │ 💬 32 │ │ 🎁 送礼│ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 发布祝福按钮 │ │ │ │ ┌─────────────────┐ │ │ │ │ │ ✨ 发布祝福 │ │ │ │ │ └─────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 5.3 节日活动分类 | 活动ID | 节日名称 | 图标 | 活动时间 | 主题色 | |--------|----------|------|----------|--------| | 1 | 元旦 | 🎉 | 12.31-01.03 | #FF6B6B | | 2 | 春节 | 🧧 | 农历除夕-正月十五 | #E74C3C | | 3 | 情人节 | 💕 | 02.13-02.15 | #FF69B4 | | 4 | 妇女节 | 🌸 | 03.07-03.09 | #FFB6C1 | | 5 | 清明节 | 🌿 | 清明前后3天 | #90EE90 | | 6 | 劳动节 | 💪 | 04.30-05.03 | #FFA500 | | 7 | 母亲节 | 🌹 | 5月第二个周日 | #FF1493 | | 8 | 儿童节 | 🎈 | 05.31-06.02 | #87CEEB | | 9 | 父亲节 | 👔 | 6月第三个周日 | #4169E1 | | 10 | 端午节 | 🐲 | 端午前后3天 | #228B22 | | 11 | 七夕 | 🌙 | 农历七月初七 | #9370DB | | 12 | 中秋节 | 🥮 | 中秋前后3天 | #FFD700 | | 13 | 国庆节 | 🇨🇳 | 09.30-10.07 | #FF0000 | | 14 | 圣诞节 | 🎄 | 12.24-12.26 | #228B22 | | 15 | 生日祝福 | 🎂 | 全年 | #FF69B4 | | 16 | 日常祝福 | ✨ | 全年 | #9B59B6 | ### 5.4 移动端页面设计 #### 5.4.1 许愿树首页 (WishTreeActivity) ```java // 页面结构 WishTreeActivity ├── TopBar (顶部栏) │ ├── TitleImage (许愿树Logo) │ ├── NotificationButton (通知) │ └── SearchButton (搜索) ├── ActivityBanner (活动Banner) │ ├── ActivityTitle (活动标题) │ ├── ActivityDesc (活动描述) │ ├── CountdownTimer (倒计时) │ └── JoinButton (参与按钮) ├── CategoryTabs (节日分类标签) │ └── TabLayout (可滑动标签) ├── WishTreeView (许愿树3D展示) │ ├── TreeImage (树图片) │ ├── DecorationItems (装饰物) │ │ └── 点击查看祝福详情 │ └── AnimationEffect (动画效果) ├── WishList (祝福列表) │ └── RecyclerView (瀑布流) │ └── WishCardAdapter (祝福卡片适配器) ├── PublishButton (发布祝福按钮) └── BottomNavigation (底部导航) ``` #### 5.4.2 发布祝福页 (PublishWishActivity) ```java // 页面结构 PublishWishActivity ├── TopBar (顶部栏) │ ├── CloseButton (关闭) │ ├── TitleText (发布祝福) │ └── PublishButton (发布) ├── WishTypeSelector (祝福类型选择) │ ├── WishType (许愿) │ ├── BlessingType (祝福) │ └── ThankType (感谢) ├── FestivalSelector (节日选择) │ └── ChipGroup (节日标签) ├── ContentInput (内容输入) │ ├── EditText (祝福文字) │ └── CharacterCount (字数统计) ├── BackgroundSelector (背景选择) │ └── HorizontalScrollView (背景模板) ├── DecorationSelector (装饰选择) │ └── GridView (装饰图标) ├── PrivacySelector (可见范围) │ └── RadioGroup (公开/好友/私密) └── PreviewArea (预览区域) └── WishCardPreview (祝福卡片预览) ``` #### 5.4.3 祝福详情页 (WishDetailActivity) ```java // 页面结构 WishDetailActivity ├── TopBar (顶部栏) │ ├── BackButton (返回) │ ├── TitleText (祝福详情) │ ├── ShareButton (分享) │ └── MoreButton (更多) ├── WishCard (祝福卡片) │ ├── Background (背景) │ ├── Decorations (装饰) │ ├── UserInfo (用户信息) │ ├── WishContent (祝福内容) │ ├── FestivalTag (节日标签) │ └── TimeInfo (发布时间) ├── ActionBar (操作栏) │ ├── LikeButton (点赞/送心) │ ├── CommentButton (评论) │ ├── GiftButton (送礼物) │ └── ShareButton (分享) ├── CommentList (评论列表) │ └── RecyclerView │ └── CommentAdapter └── CommentInput (评论输入框) ├── EditText (输入框) ├── EmojiButton (表情) └── SendButton (发送) ``` ### 5.5 交互流程设计 #### 5.5.1 发布祝福流程 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 发布祝福交互流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 移动端 后端 管理端 │ │ │ │ │ │ │ │ 1. 点击发布祝福 │ │ │ │ │ 打开发布页面 │ │ │ │ │ │ │ │ │ │ 2. 获取节日活动列表 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 3. 返回当前活动 │ │ │ │ ◀───────────────────────── │ 和节日列表 │ │ │ │ 4. 显示节日选项 │ │ │ │ │ │ │ │ │ │ 5. 选择祝福类型 │ │ │ │ │ 选择节日 │ │ │ │ │ 输入祝福内容 │ │ │ │ │ 选择背景和装饰 │ │ │ │ │ │ │ │ │ │ 6. 点击发布 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 7. 内容审核 │ │ │ │ │ 敏感词过滤 │ │ │ │ │ 保存到数据库 │ │ │ │ │ 挂到许愿树上 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 8. 发布成功 │ │ │ │ │ 显示祝福动画 │ │ │ │ │ │ │ │ │ │ │ 9. 更新许愿树装饰 │ │ │ │ │ 推送给关注者 │ │ │ │ │ │ │ │ │ │ 10. 记录发布日志 ─────────▶ │ │ │ │ │ │ 11.可审│ │ │ │ │ 核 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` #### 5.5.2 节日活动流程 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 节日活动交互流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 管理端 后端 移动端 │ │ │ │ │ │ │ │ 1. 创建节日活动 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 2. 保存活动配置 │ │ │ │ │ 设置活动时间 │ │ │ │ │ 配置奖励规则 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 3. 创建成功 │ │ │ │ │ │ │ │ │ │ 4. 配置活动Banner │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 5. 保存Banner配置 │ │ │ │ │ │ │ │ │ │ 6. 活动开始时 │ │ │ │ │ 推送通知 ──────────────▶ │ │ │ │ │ │ 7. 收到│ │ │ │ │ 通知 │ │ │ │ │ │ │ │ │ ◀─────── │ 8. 进入│ │ │ │ 9. 返回活动信息 │ 许愿 │ │ │ │ ──────────────────────────▶ │ 树 │ │ │ │ │ │ │ │ │ ◀─────── │ 10.参与│ │ │ │ 11. 记录参与 │ 活动 │ │ │ │ 发放奖励 │ │ │ │ │ ──────────────────────────▶ │ │ │ │ │ │ 12.收到│ │ │ │ │ 奖励 │ │ │ │ │ │ │ │ 13. 查看活动数据 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 14. 返回统计数据 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 15. 显示活动报表 │ │ │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 5.6 许愿树API接口设计 #### 5.6.1 移动端API (前台) ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 许愿树 - 移动端API接口 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 活动管理 │ │ ├── GET /api/front/wishtree/activities # 获取活动列表 │ │ ├── GET /api/front/wishtree/activities/current # 获取当前活动 │ │ └── GET /api/front/wishtree/activities/{id} # 获取活动详情 │ │ │ │ 节日分类 │ │ ├── GET /api/front/wishtree/festivals # 获取节日列表 │ │ └── GET /api/front/wishtree/festivals/{id} # 获取节日详情 │ │ │ │ 祝福管理 │ │ ├── GET /api/front/wishtree/wishes # 获取祝福列表 │ │ │ ?festivalId={id}&type={type}&page={page}&pageSize={size} │ │ ├── GET /api/front/wishtree/wishes/{id} # 获取祝福详情 │ │ ├── POST /api/front/wishtree/wishes # 发布祝福 │ │ ├── PUT /api/front/wishtree/wishes/{id} # 编辑祝福 │ │ └── DELETE /api/front/wishtree/wishes/{id} # 删除祝福 │ │ │ │ 互动功能 │ │ ├── POST /api/front/wishtree/wishes/{id}/like # 点赞祝福 │ │ ├── DELETE /api/front/wishtree/wishes/{id}/like # 取消点赞 │ │ ├── POST /api/front/wishtree/wishes/{id}/gift # 送礼物 │ │ └── POST /api/front/wishtree/wishes/{id}/share # 分享祝福 │ │ │ │ 评论功能 │ │ ├── GET /api/front/wishtree/wishes/{id}/comments # 获取评论列表 │ │ ├── POST /api/front/wishtree/wishes/{id}/comments # 发表评论 │ │ └── DELETE /api/front/wishtree/comments/{id} # 删除评论 │ │ │ │ 许愿树展示 │ │ ├── GET /api/front/wishtree/tree # 获取许愿树数据 │ │ │ 返回树上的装饰物和祝福位置 │ │ └── GET /api/front/wishtree/tree/decorations # 获取装饰物列表 │ │ │ │ 用户相关 │ │ ├── GET /api/front/wishtree/my/wishes # 我的祝福 │ │ ├── GET /api/front/wishtree/my/received # 收到的祝福 │ │ └── GET /api/front/wishtree/my/gifts # 收到的礼物 │ │ │ │ 背景和装饰 │ │ ├── GET /api/front/wishtree/backgrounds # 获取背景模板 │ │ └── GET /api/front/wishtree/decorations # 获取装饰素材 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` #### 5.6.2 管理端API (后台) ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 许愿树 - 管理端API接口 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 活动管理 │ │ ├── GET /api/admin/wishtree/activities # 获取活动列表 │ │ ├── POST /api/admin/wishtree/activities # 创建活动 │ │ ├── PUT /api/admin/wishtree/activities/{id} # 编辑活动 │ │ ├── DELETE /api/admin/wishtree/activities/{id} # 删除活动 │ │ ├── PUT /api/admin/wishtree/activities/{id}/status # 活动状态 │ │ └── GET /api/admin/wishtree/activities/{id}/stats # 活动统计 │ │ │ │ 节日管理 │ │ ├── GET /api/admin/wishtree/festivals # 获取节日列表 │ │ ├── POST /api/admin/wishtree/festivals # 创建节日 │ │ ├── PUT /api/admin/wishtree/festivals/{id} # 编辑节日 │ │ └── DELETE /api/admin/wishtree/festivals/{id} # 删除节日 │ │ │ │ 祝福审核 │ │ ├── GET /api/admin/wishtree/wishes # 获取祝福列表 │ │ │ ?status={status}&festivalId={id}&page={page} │ │ ├── GET /api/admin/wishtree/wishes/{id} # 获取祝福详情 │ │ ├── PUT /api/admin/wishtree/wishes/{id}/audit # 审核祝福 │ │ │ body: {status: "approved"|"rejected", reason: ""} │ │ ├── PUT /api/admin/wishtree/wishes/{id}/recommend # 推荐祝福 │ │ └── DELETE /api/admin/wishtree/wishes/{id} # 删除祝福 │ │ │ │ 评论管理 │ │ ├── GET /api/admin/wishtree/comments # 获取评论列表 │ │ ├── PUT /api/admin/wishtree/comments/{id}/audit # 审核评论 │ │ └── DELETE /api/admin/wishtree/comments/{id} # 删除评论 │ │ │ │ 素材管理 │ │ ├── GET /api/admin/wishtree/backgrounds # 获取背景列表 │ │ ├── POST /api/admin/wishtree/backgrounds # 上传背景 │ │ ├── DELETE /api/admin/wishtree/backgrounds/{id} # 删除背景 │ │ ├── GET /api/admin/wishtree/decorations # 获取装饰列表 │ │ ├── POST /api/admin/wishtree/decorations # 上传装饰 │ │ └── DELETE /api/admin/wishtree/decorations/{id} # 删除装饰 │ │ │ │ 数据统计 │ │ ├── GET /api/admin/wishtree/statistics # 许愿树统计 │ │ ├── GET /api/admin/wishtree/statistics/wishes # 祝福统计 │ │ └── GET /api/admin/wishtree/statistics/users # 用户参与统计 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 5.7 数据模型设计 #### 5.7.1 祝福数据模型 ```json // Wish (祝福) { "id": 30001, "userId": 1001, "userInfo": { "id": 1001, "nickname": "小明", "avatar": "https://xxx/avatar.jpg", "level": 5 }, "type": "blessing", // wish(许愿), blessing(祝福), thank(感谢) "festivalId": 1, "festivalName": "元旦", "activityId": 100, "content": "🎉 新年快乐!愿新的一年万事如意,心想事成!", "backgroundId": 5, "backgroundUrl": "https://xxx/bg5.jpg", "decorations": [ {"id": 1, "type": "star", "position": {"x": 10, "y": 20}}, {"id": 2, "type": "ribbon", "position": {"x": 80, "y": 30}} ], "treePosition": { "x": 150, "y": 200, "decorationType": "gift" }, "visibility": "public", "likeCount": 256, "commentCount": 48, "giftCount": 15, "shareCount": 32, "isLiked": false, "isRecommend": true, "status": "approved", "createdAt": "2024-12-29T10:30:00Z" } ``` #### 5.7.2 活动数据模型 ```json // Activity (活动) { "id": 100, "name": "元旦许愿活动", "description": "许下新年愿望,赢取丰厚奖励!", "festivalId": 1, "bannerUrl": "https://xxx/banner.jpg", "startTime": "2024-12-31T00:00:00Z", "endTime": "2025-01-03T23:59:59Z", "rules": [ "每人每天可发布3条祝福", "获赞最多的祝福可获得奖励", "分享活动可获得额外金币" ], "rewards": [ {"rank": 1, "prize": "1000金币", "icon": "🥇"}, {"rank": 2, "prize": "500金币", "icon": "🥈"}, {"rank": 3, "prize": "300金币", "icon": "🥉"} ], "participantCount": 12580, "wishCount": 35680, "status": "active", "createdAt": "2024-12-25T10:00:00Z" } ``` --- ## 六、API接口设计规范 ### 6.1 接口规范总览 #### 6.1.1 URL命名规范 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ API URL命名规范 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 基础路径 │ │ ├── 移动端API: /api/front/... │ │ └── 管理端API: /api/admin/... │ │ │ │ 资源命名 │ │ ├── 使用复数名词: /users, /posts, /wishes │ │ ├── 使用小写字母: /community/posts │ │ ├── 使用连字符: /wish-tree (不推荐), /wishtree (推荐) │ │ └── 避免动词: /getUsers (错误), /users (正确) │ │ │ │ HTTP方法 │ │ ├── GET - 查询资源 │ │ ├── POST - 创建资源 │ │ ├── PUT - 更新资源 (全量) │ │ ├── PATCH - 更新资源 (部分) │ │ └── DELETE - 删除资源 │ │ │ │ 示例 │ │ ├── GET /api/front/community/posts # 获取帖子列表 │ │ ├── GET /api/front/community/posts/123 # 获取帖子详情 │ │ ├── POST /api/front/community/posts # 创建帖子 │ │ ├── PUT /api/front/community/posts/123 # 更新帖子 │ │ ├── DELETE /api/front/community/posts/123 # 删除帖子 │ │ └── POST /api/front/community/posts/123/like # 点赞帖子 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` #### 6.1.2 响应格式规范 ```json // 成功响应 { "code": 200, "message": "success", "data": { // 业务数据 } } // 分页响应 { "code": 200, "message": "success", "data": { "list": [...], "total": 100, "page": 1, "pageSize": 20, "totalPages": 5 } } // 错误响应 { "code": 400, "message": "参数错误", "data": null, "errors": [ {"field": "content", "message": "内容不能为空"} ] } ``` #### 6.1.3 错误码规范 | 错误码 | 说明 | 场景 | |--------|------|------| | 200 | 成功 | 请求成功 | | 400 | 参数错误 | 请求参数不合法 | | 401 | 未授权 | 未登录或Token过期 | | 403 | 禁止访问 | 无权限访问 | | 404 | 资源不存在 | 请求的资源不存在 | | 409 | 冲突 | 资源已存在 | | 422 | 业务错误 | 业务逻辑错误 | | 429 | 请求过多 | 触发限流 | | 500 | 服务器错误 | 服务器内部错误 | ### 6.2 认证授权规范 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 认证授权流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ Token格式 (JWT) │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ Header: Authorization: Bearer │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ Token结构 │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ { │ │ │ │ "userId": 1001, │ │ │ │ "nickname": "小明", │ │ │ │ "role": "user", │ │ │ │ "exp": 1735488000, │ │ │ │ "iat": 1735401600 │ │ │ │ } │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ 权限级别 │ │ ├── public - 无需登录 (直播列表、帖子列表) │ │ ├── user - 需要登录 (发帖、评论、点赞) │ │ ├── vip - VIP用户 (特殊功能) │ │ └── admin - 管理员 (后台管理) │ │ │ │ Token刷新 │ │ ├── Access Token: 有效期2小时 │ │ ├── Refresh Token: 有效期7天 │ │ └── 刷新接口: POST /api/front/auth/refresh │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` --- ## 七、数据库设计 ### 7.1 缘池社区数据表 ```sql -- 板块分类表 CREATE TABLE `community_category` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '板块ID', `name` varchar(50) NOT NULL COMMENT '板块名称', `icon` varchar(50) DEFAULT NULL COMMENT '板块图标', `description` varchar(200) DEFAULT NULL COMMENT '板块描述', `sort` int DEFAULT 0 COMMENT '排序', `status` tinyint DEFAULT 1 COMMENT '状态: 0-禁用, 1-启用', `post_count` int DEFAULT 0 COMMENT '帖子数量', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社区板块表'; -- 帖子表 CREATE TABLE `community_post` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '帖子ID', `user_id` bigint NOT NULL COMMENT '用户ID', `category_id` bigint NOT NULL COMMENT '板块ID', `content` text NOT NULL COMMENT '帖子内容', `images` json DEFAULT NULL COMMENT '图片列表', `video` varchar(500) DEFAULT NULL COMMENT '视频URL', `location` json DEFAULT NULL COMMENT '位置信息', `topics` json DEFAULT NULL COMMENT '话题标签', `visibility` varchar(20) DEFAULT 'public' COMMENT '可见范围', `like_count` int DEFAULT 0 COMMENT '点赞数', `comment_count` int DEFAULT 0 COMMENT '评论数', `share_count` int DEFAULT 0 COMMENT '分享数', `favorite_count` int DEFAULT 0 COMMENT '收藏数', `view_count` int DEFAULT 0 COMMENT '浏览数', `is_top` tinyint DEFAULT 0 COMMENT '是否置顶', `is_recommend` tinyint DEFAULT 0 COMMENT '是否推荐', `status` varchar(20) DEFAULT 'pending' COMMENT '状态: pending/approved/rejected', `reject_reason` varchar(200) DEFAULT NULL COMMENT '拒绝原因', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_user_id` (`user_id`), KEY `idx_category_id` (`category_id`), KEY `idx_status` (`status`), KEY `idx_created_at` (`created_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社区帖子表'; -- 帖子评论表 CREATE TABLE `community_comment` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '评论ID', `post_id` bigint NOT NULL COMMENT '帖子ID', `user_id` bigint NOT NULL COMMENT '用户ID', `content` varchar(500) NOT NULL COMMENT '评论内容', `parent_id` bigint DEFAULT NULL COMMENT '父评论ID', `reply_to_user_id` bigint DEFAULT NULL COMMENT '回复用户ID', `like_count` int DEFAULT 0 COMMENT '点赞数', `status` varchar(20) DEFAULT 'approved' COMMENT '状态', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_post_id` (`post_id`), KEY `idx_user_id` (`user_id`), KEY `idx_parent_id` (`parent_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='帖子评论表'; -- 帖子点赞表 CREATE TABLE `community_post_like` ( `id` bigint NOT NULL AUTO_INCREMENT, `post_id` bigint NOT NULL COMMENT '帖子ID', `user_id` bigint NOT NULL COMMENT '用户ID', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_post_user` (`post_id`, `user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='帖子点赞表'; -- 帖子收藏表 CREATE TABLE `community_post_favorite` ( `id` bigint NOT NULL AUTO_INCREMENT, `post_id` bigint NOT NULL COMMENT '帖子ID', `user_id` bigint NOT NULL COMMENT '用户ID', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_post_user` (`post_id`, `user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='帖子收藏表'; -- 话题表 CREATE TABLE `community_topic` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '话题ID', `name` varchar(50) NOT NULL COMMENT '话题名称', `description` varchar(200) DEFAULT NULL COMMENT '话题描述', `cover` varchar(500) DEFAULT NULL COMMENT '话题封面', `post_count` int DEFAULT 0 COMMENT '帖子数量', `view_count` int DEFAULT 0 COMMENT '浏览数量', `is_hot` tinyint DEFAULT 0 COMMENT '是否热门', `status` tinyint DEFAULT 1 COMMENT '状态', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='话题表'; ``` ### 7.2 许愿树数据表 ```sql -- 节日表 CREATE TABLE `wishtree_festival` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '节日ID', `name` varchar(50) NOT NULL COMMENT '节日名称', `icon` varchar(50) DEFAULT NULL COMMENT '节日图标', `description` varchar(200) DEFAULT NULL COMMENT '节日描述', `theme_color` varchar(20) DEFAULT NULL COMMENT '主题色', `start_date` varchar(20) DEFAULT NULL COMMENT '开始日期(MM-DD)', `end_date` varchar(20) DEFAULT NULL COMMENT '结束日期(MM-DD)', `is_lunar` tinyint DEFAULT 0 COMMENT '是否农历', `sort` int DEFAULT 0 COMMENT '排序', `status` tinyint DEFAULT 1 COMMENT '状态', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节日表'; -- 活动表 CREATE TABLE `wishtree_activity` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '活动ID', `name` varchar(100) NOT NULL COMMENT '活动名称', `description` text COMMENT '活动描述', `festival_id` bigint DEFAULT NULL COMMENT '关联节日ID', `banner_url` varchar(500) DEFAULT NULL COMMENT 'Banner图片', `start_time` datetime NOT NULL COMMENT '开始时间', `end_time` datetime NOT NULL COMMENT '结束时间', `rules` json DEFAULT NULL COMMENT '活动规则', `rewards` json DEFAULT NULL COMMENT '奖励配置', `participant_count` int DEFAULT 0 COMMENT '参与人数', `wish_count` int DEFAULT 0 COMMENT '祝福数量', `status` varchar(20) DEFAULT 'draft' COMMENT '状态: draft/active/ended', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_festival_id` (`festival_id`), KEY `idx_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='许愿树活动表'; -- 祝福表 CREATE TABLE `wishtree_wish` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '祝福ID', `user_id` bigint NOT NULL COMMENT '用户ID', `type` varchar(20) NOT NULL COMMENT '类型: wish/blessing/thank', `festival_id` bigint DEFAULT NULL COMMENT '节日ID', `activity_id` bigint DEFAULT NULL COMMENT '活动ID', `content` varchar(500) NOT NULL COMMENT '祝福内容', `background_id` bigint DEFAULT NULL COMMENT '背景ID', `decorations` json DEFAULT NULL COMMENT '装饰配置', `tree_position` json DEFAULT NULL COMMENT '树上位置', `visibility` varchar(20) DEFAULT 'public' COMMENT '可见范围', `like_count` int DEFAULT 0 COMMENT '点赞数', `comment_count` int DEFAULT 0 COMMENT '评论数', `gift_count` int DEFAULT 0 COMMENT '礼物数', `share_count` int DEFAULT 0 COMMENT '分享数', `is_recommend` tinyint DEFAULT 0 COMMENT '是否推荐', `status` varchar(20) DEFAULT 'pending' COMMENT '状态', `reject_reason` varchar(200) DEFAULT NULL COMMENT '拒绝原因', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_user_id` (`user_id`), KEY `idx_festival_id` (`festival_id`), KEY `idx_activity_id` (`activity_id`), KEY `idx_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='祝福表'; -- 祝福评论表 CREATE TABLE `wishtree_comment` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '评论ID', `wish_id` bigint NOT NULL COMMENT '祝福ID', `user_id` bigint NOT NULL COMMENT '用户ID', `content` varchar(500) NOT NULL COMMENT '评论内容', `parent_id` bigint DEFAULT NULL COMMENT '父评论ID', `like_count` int DEFAULT 0 COMMENT '点赞数', `status` varchar(20) DEFAULT 'approved' COMMENT '状态', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_wish_id` (`wish_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='祝福评论表'; -- 祝福点赞表 CREATE TABLE `wishtree_wish_like` ( `id` bigint NOT NULL AUTO_INCREMENT, `wish_id` bigint NOT NULL COMMENT '祝福ID', `user_id` bigint NOT NULL COMMENT '用户ID', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_wish_user` (`wish_id`, `user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='祝福点赞表'; -- 背景模板表 CREATE TABLE `wishtree_background` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '背景ID', `name` varchar(50) NOT NULL COMMENT '背景名称', `url` varchar(500) NOT NULL COMMENT '背景图片URL', `thumbnail` varchar(500) DEFAULT NULL COMMENT '缩略图', `festival_id` bigint DEFAULT NULL COMMENT '关联节日', `is_free` tinyint DEFAULT 1 COMMENT '是否免费', `price` int DEFAULT 0 COMMENT '价格(金币)', `sort` int DEFAULT 0 COMMENT '排序', `status` tinyint DEFAULT 1 COMMENT '状态', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='背景模板表'; -- 装饰素材表 CREATE TABLE `wishtree_decoration` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '装饰ID', `name` varchar(50) NOT NULL COMMENT '装饰名称', `type` varchar(20) NOT NULL COMMENT '类型: star/ribbon/gift/heart等', `url` varchar(500) NOT NULL COMMENT '装饰图片URL', `festival_id` bigint DEFAULT NULL COMMENT '关联节日', `is_free` tinyint DEFAULT 1 COMMENT '是否免费', `price` int DEFAULT 0 COMMENT '价格(金币)', `sort` int DEFAULT 0 COMMENT '排序', `status` tinyint DEFAULT 1 COMMENT '状态', `created_at` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='装饰素材表'; ``` --- ## 八、实时通信设计 ### 8.1 WebSocket连接管理 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ WebSocket连接架构 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 连接地址 │ │ ├── 直播弹幕: ws://host/ws/live/chat/{roomId} │ │ ├── 私聊消息: ws://host/ws/chat/{userId} │ │ ├── 社区通知: ws://host/ws/community/{userId} │ │ └── 许愿树通知: ws://host/ws/wishtree/{userId} │ │ │ │ 消息格式 │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ { │ │ │ │ "type": "chat|like|comment|gift|system", │ │ │ │ "action": "send|receive|notify", │ │ │ │ "data": {...}, │ │ │ │ "timestamp": 1735488000000 │ │ │ │ } │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ 心跳机制 │ │ ├── 心跳间隔: 30秒 │ │ ├── 心跳消息: {"type": "ping"} │ │ ├── 心跳响应: {"type": "pong"} │ │ └── 超时断开: 90秒无响应 │ │ │ │ 重连机制 │ │ ├── 最大重连次数: 5次 │ │ ├── 重连间隔: 递增 (5s, 10s, 15s, 20s, 25s) │ │ └── 重连成功后: 重新订阅消息 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 8.2 消息类型定义 ```json // 社区帖子点赞通知 { "type": "like", "action": "notify", "data": { "postId": 10001, "userId": 1002, "nickname": "小红", "avatar": "https://xxx/avatar.jpg", "message": "赞了你的帖子" }, "timestamp": 1735488000000 } // 社区帖子评论通知 { "type": "comment", "action": "notify", "data": { "postId": 10001, "commentId": 20001, "userId": 1002, "nickname": "小红", "content": "写得太好了!", "message": "评论了你的帖子" }, "timestamp": 1735488000000 } // 许愿树祝福通知 { "type": "wish", "action": "notify", "data": { "wishId": 30001, "userId": 1002, "nickname": "小红", "type": "like", "message": "为你的祝福点赞" }, "timestamp": 1735488000000 } // 许愿树礼物通知 { "type": "gift", "action": "notify", "data": { "wishId": 30001, "userId": 1002, "nickname": "小红", "giftId": 5, "giftName": "爱心", "giftIcon": "❤️", "message": "送了你一个爱心" }, "timestamp": 1735488000000 } // 系统通知 { "type": "system", "action": "notify", "data": { "title": "活动开始", "content": "元旦许愿活动已开始,快来参与吧!", "link": "/wishtree/activity/100" }, "timestamp": 1735488000000 } ``` --- ## 九、管理端配套功能 ### 9.1 缘池社区管理模块 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 缘池社区管理 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 路由: /communityManage │ │ │ │ ├── /communityManage/category/list # 板块管理 │ │ │ ├── 板块列表 (表格展示) │ │ │ ├── 新增板块 (弹窗表单) │ │ │ ├── 编辑板块 (弹窗表单) │ │ │ ├── 删除板块 (确认弹窗) │ │ │ └── 板块排序 (拖拽排序) │ │ │ │ │ ├── /communityManage/post/list # 帖子管理 │ │ │ ├── 帖子列表 (表格展示) │ │ │ │ ├── 筛选: 板块/状态/时间 │ │ │ │ ├── 搜索: 内容/用户 │ │ │ │ └── 操作: 审核/置顶/推荐/删除 │ │ │ ├── 帖子详情 (抽屉展示) │ │ │ └── 批量审核 (多选操作) │ │ │ │ │ ├── /communityManage/comment/list # 评论管理 │ │ │ ├── 评论列表 (表格展示) │ │ │ ├── 评论审核 (通过/拒绝) │ │ │ └── 评论删除 (确认弹窗) │ │ │ │ │ ├── /communityManage/topic/list # 话题管理 │ │ │ ├── 话题列表 (表格展示) │ │ │ ├── 新增话题 (弹窗表单) │ │ │ ├── 编辑话题 (弹窗表单) │ │ │ └── 设为热门 (开关操作) │ │ │ │ │ └── /communityManage/statistics # 数据统计 │ │ ├── 帖子统计 (折线图) │ │ ├── 用户活跃 (柱状图) │ │ ├── 板块热度 (饼图) │ │ └── 话题排行 (排行榜) │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 9.2 许愿树管理模块 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 许愿树管理 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 路由: /wishtreeManage │ │ │ │ ├── /wishtreeManage/festival/list # 节日管理 │ │ │ ├── 节日列表 (表格展示) │ │ │ ├── 新增节日 (弹窗表单) │ │ │ │ ├── 节日名称 │ │ │ │ ├── 节日图标 │ │ │ │ ├── 主题颜色 │ │ │ │ ├── 日期范围 │ │ │ │ └── 是否农历 │ │ │ ├── 编辑节日 (弹窗表单) │ │ │ └── 删除节日 (确认弹窗) │ │ │ │ │ ├── /wishtreeManage/activity/list # 活动管理 │ │ │ ├── 活动列表 (表格展示) │ │ │ ├── 新增活动 (页面表单) │ │ │ │ ├── 基本信息 (名称/描述/时间) │ │ │ │ ├── 关联节日 │ │ │ │ ├── Banner配置 │ │ │ │ ├── 活动规则 │ │ │ │ └── 奖励配置 │ │ │ ├── 编辑活动 (页面表单) │ │ │ ├── 活动状态 (开启/关闭) │ │ │ └── 活动统计 (数据报表) │ │ │ │ │ ├── /wishtreeManage/wish/list # 祝福管理 │ │ │ ├── 祝福列表 (表格展示) │ │ │ │ ├── 筛选: 节日/活动/状态/时间 │ │ │ │ ├── 搜索: 内容/用户 │ │ │ │ └── 操作: 审核/推荐/删除 │ │ │ ├── 祝福详情 (抽屉展示) │ │ │ └── 批量审核 (多选操作) │ │ │ │ │ ├── /wishtreeManage/comment/list # 评论管理 │ │ │ ├── 评论列表 (表格展示) │ │ │ ├── 评论审核 (通过/拒绝) │ │ │ └── 评论删除 (确认弹窗) │ │ │ │ │ ├── /wishtreeManage/material/list # 素材管理 │ │ │ ├── 背景管理 │ │ │ │ ├── 背景列表 (卡片展示) │ │ │ │ ├── 上传背景 (弹窗表单) │ │ │ │ └── 删除背景 (确认弹窗) │ │ │ └── 装饰管理 │ │ │ ├── 装饰列表 (卡片展示) │ │ │ ├── 上传装饰 (弹窗表单) │ │ │ └── 删除装饰 (确认弹窗) │ │ │ │ │ └── /wishtreeManage/statistics # 数据统计 │ │ ├── 祝福统计 (折线图) │ │ ├── 活动效果 (柱状图) │ │ ├── 节日热度 (饼图) │ │ └── 用户参与 (排行榜) │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 9.3 管理端菜单配置 ```json // 新增菜单配置 (eb_system_menu表) [ { "id": 200, "pid": 0, "name": "缘池社区", "icon": "el-icon-chat-dot-round", "path": "/communityManage", "sort": 5, "children": [ {"id": 201, "name": "板块管理", "path": "/communityManage/category/list"}, {"id": 202, "name": "帖子管理", "path": "/communityManage/post/list"}, {"id": 203, "name": "评论管理", "path": "/communityManage/comment/list"}, {"id": 204, "name": "话题管理", "path": "/communityManage/topic/list"}, {"id": 205, "name": "数据统计", "path": "/communityManage/statistics"} ] }, { "id": 300, "pid": 0, "name": "许愿树", "icon": "el-icon-present", "path": "/wishtreeManage", "sort": 6, "children": [ {"id": 301, "name": "节日管理", "path": "/wishtreeManage/festival/list"}, {"id": 302, "name": "活动管理", "path": "/wishtreeManage/activity/list"}, {"id": 303, "name": "祝福管理", "path": "/wishtreeManage/wish/list"}, {"id": 304, "name": "评论管理", "path": "/wishtreeManage/comment/list"}, {"id": 305, "name": "素材管理", "path": "/wishtreeManage/material/list"}, {"id": 306, "name": "数据统计", "path": "/wishtreeManage/statistics"} ] } ] ``` --- ## 十、开发实施计划 ### 10.1 开发阶段规划 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 开发实施计划 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 第一阶段: 基础架构 (1周) │ │ ├── 数据库表创建 │ │ ├── 后端基础接口开发 │ │ ├── API文档编写 │ │ └── 接口联调测试 │ │ │ │ 第二阶段: 缘池社区 (2周) │ │ ├── 移动端 │ │ │ ├── 社区首页UI │ │ │ ├── 帖子详情页 │ │ │ ├── 发布帖子页 │ │ │ ├── 评论功能 │ │ │ └── 点赞/收藏/分享 │ │ └── 管理端 │ │ ├── 板块管理页面 │ │ ├── 帖子管理页面 │ │ ├── 评论管理页面 │ │ └── 话题管理页面 │ │ │ │ 第三阶段: 许愿树 (2周) │ │ ├── 移动端 │ │ │ ├── 许愿树首页UI │ │ │ ├── 许愿树3D展示 │ │ │ ├── 发布祝福页 │ │ │ ├── 祝福详情页 │ │ │ └── 节日活动页 │ │ └── 管理端 │ │ ├── 节日管理页面 │ │ ├── 活动管理页面 │ │ ├── 祝福管理页面 │ │ └── 素材管理页面 │ │ │ │ 第四阶段: 实时通信 (1周) │ │ ├── WebSocket服务搭建 │ │ ├── 消息推送实现 │ │ ├── 通知系统集成 │ │ └── 心跳重连机制 │ │ │ │ 第五阶段: 测试优化 (1周) │ │ ├── 功能测试 │ │ ├── 性能优化 │ │ ├── Bug修复 │ │ └── 上线准备 │ │ │ │ 总计: 7周 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 10.2 技术要点清单 | 模块 | 技术要点 | 优先级 | |------|----------|--------| | 缘池社区 | 瀑布流布局、图片压缩上传、内容审核 | 高 | | 许愿树 | 3D展示效果、节日主题切换、活动倒计时 | 高 | | 实时通信 | WebSocket连接管理、消息推送、心跳重连 | 高 | | 内容审核 | 敏感词过滤、图片审核、人工复审 | 高 | | 数据统计 | 实时统计、图表展示、数据导出 | 中 | | 性能优化 | 列表分页、图片懒加载、缓存策略 | 中 | ### 10.3 风险评估 | 风险项 | 影响程度 | 应对措施 | |--------|----------|----------| | 内容审核压力大 | 高 | 引入AI审核+人工复审 | | 实时通信稳定性 | 高 | 心跳检测+断线重连 | | 图片上传慢 | 中 | 压缩+分片上传+CDN | | 数据量增长快 | 中 | 分表分库+归档策略 | | 节日活动并发高 | 中 | 限流+缓存+队列 | --- ## 十一、总结 本报告详细设计了直播平台双端(Android移动端 + Vue管理端)的交互逻辑,重点对**缘池**和**许愿树**两个模块进行了重新设计: ### 缘池 - 多板块交流社区 - 从单一的"附近用户匹配"升级为综合性社区平台 - 支持12+个兴趣板块,满足不同用户需求 - 完整的帖子发布、评论、点赞、收藏、分享功能 - 管理端配套板块管理、内容审核、数据统计功能 ### 许愿树 - 节日愿望祝福留言板 - 结合节日氛围,打造温馨的祝福互动平台 - 支持16+个节日主题,全年覆盖 - 创新的许愿树3D展示效果 - 完整的活动配置、祝福管理、素材管理功能 ### 核心价值 1. **提升用户粘性**:丰富的社区内容和节日活动 2. **增强社交属性**:多维度的互动方式 3. **运营灵活性**:管理端可配置板块、活动、素材 4. **数据可视化**:完整的统计分析功能 --- ## 十二、详细界面设计描述 本章节提供所有界面的详细视觉设计描述,包括布局、颜色、组件、交互效果等,为UI设计和前端开发提供精确参考。 ### 12.1 移动端界面设计 #### 12.1.1 缘池社区 - 首页界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 (系统状态栏,深色/浅色自适应) │ ├────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 (高度: 56dp, 背景: #FFFFFF) │ │ │ │ ┌────┐ ┌────┬────┐│ │ │ │ │ ☰ │ 🎣 缘池 │ 🔔 │ ✏️ ││ │ │ │ │菜单│ (标题, 字号18sp, 加粗, #333333) │通知│发布││ │ │ │ └────┘ └────┴────┘│ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 搜索栏 (高度: 44dp, 圆角: 22dp, 背景: #F5F5F5) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 🔍 搜索帖子、话题、用户... │ │ │ │ │ │ (提示文字, 字号14sp, #999999) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 板块分类标签栏 (高度: 48dp, 可横向滑动) │ │ │ │ ┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐ │ │ │ │ │推荐││热门││游戏││音乐││美食││旅行││情感││更多│ │ │ │ │ │ 🔥 ││ 📈 ││ 🎮 ││ 🎵 ││ 🍜 ││ ✈️ ││ 💕 ││ ··· │ │ │ │ │ └────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘ │ │ │ │ (选中: #FF6B6B, 未选中: #666666, 字号13sp) │ │ │ │ (选中标签下方有3dp圆角指示条) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 内容列表区域 (瀑布流/列表切换, 支持下拉刷新上拉加载) │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ │ │ 帖子卡片 (圆角: 12dp, 阴影: 2dp, 背景: #FFFFFF) │ │ │ │ │ │ 内边距: 12dp │ │ │ │ │ │ │ │ │ │ │ │ ┌────┐ 用户名 · 游戏 · 2小时前 │ │ │ │ │ │ │头像│ (头像: 40dp圆形, 用户名: 14sp #333333) │ │ │ │ │ │ │40dp│ (板块标签: 12sp #FF6B6B, 时间: 12sp #999999) │ │ │ │ │ │ └────┘ │ │ │ │ │ │ │ │ │ │ │ │ 今天吃鸡成功!分享一下我的游戏心得,希望对大家 │ │ │ │ │ │ 有帮助... │ │ │ │ │ │ (正文: 15sp, #333333, 最多显示3行, 超出显示...) │ │ │ │ │ │ │ │ │ │ │ │ ┌─────────┬─────────┬─────────┐ │ │ │ │ │ │ │ 图片1 │ 图片2 │ 图片3 │ (九宫格布局) │ │ │ │ │ │ │ 圆角8dp │ 圆角8dp │ 圆角8dp │ (间距: 4dp) │ │ │ │ │ │ └─────────┴─────────┴─────────┘ │ │ │ │ │ │ │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │👍 128 │ │💬 32 │ │↗ 分享 │ │⭐ 收藏 │ │ │ │ │ │ │ │(点赞) │ │(评论) │ │ │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ (操作按钮: 12sp, #666666, 点击态: #FF6B6B) │ │ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (更多帖子卡片...) │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 悬浮发布按钮 (右下角, 距边缘16dp) │ │ │ │ ┌──────────┐ │ │ │ │ │ ✚ │ │ │ │ │ │ 56dp │ │ │ │ │ │ 圆形按钮 │ │ │ │ │ │ #FF6B6B │ │ │ │ │ │ 阴影6dp │ │ │ │ │ └──────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────────────┤ │ 底部导航栏 (高度: 56dp, 背景: #FFFFFF, 顶部1px分割线) │ │ ┌──────────┬──────────┬──────────┬──────────┬──────────┐ │ │ │ 🏠 │ 🎣 │ 🌳 │ 💬 │ 👤 │ │ │ │ 首页 │ 缘池 │ 许愿树 │ 消息 │ 我的 │ │ │ │ #999999 │ #FF6B6B │ #999999 │ #999999 │ #999999 │ │ │ └──────────┴──────────┴──────────┴──────────┴──────────┘ │ │ (选中: #FF6B6B, 未选中: #999999, 图标24dp, 文字10sp) │ └────────────────────────────────────────────────────────────────┘ ``` **界面设计规范:** | 元素 | 规格 | 颜色 | 说明 | |------|------|------|------| | 状态栏 | 系统默认 | 自适应 | 支持沉浸式 | | 顶部导航 | 高度56dp | 背景#FFFFFF | 标题居中 | | 搜索栏 | 高度44dp, 圆角22dp | 背景#F5F5F5 | 点击跳转搜索页 | | 板块标签 | 高度48dp | 选中#FF6B6B | 可横向滑动 | | 帖子卡片 | 圆角12dp, 阴影2dp | 背景#FFFFFF | 内边距12dp | | 用户头像 | 40dp圆形 | - | 点击进入主页 | | 图片区域 | 九宫格/单图/视频 | 圆角8dp | 点击查看大图 | | 悬浮按钮 | 56dp圆形 | #FF6B6B | 阴影6dp | | 底部导航 | 高度56dp | 背景#FFFFFF | 5个Tab | **交互效果:** - 下拉刷新:显示加载动画,刷新成功后列表回到顶部 - 上拉加载:显示"加载中...",无更多数据显示"没有更多了" - 帖子卡片:点击进入详情,长按显示操作菜单 - 图片:单击查看大图,支持手势缩放 - 点赞:点击后图标变红,数字+1,有心跳动画 - 悬浮按钮:点击展开发布选项(图文/视频) #### 12.1.2 缘池社区 - 帖子详情界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 (高度: 56dp) │ │ │ │ ┌────┐ ┌────┬────┐│ │ │ │ │ ← │ 帖子详情 │ ↗ │ ··· ││ │ │ │ │返回│ │分享│更多││ │ │ │ └────┘ └────┴────┘│ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 帖子内容区域 (可滚动) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 用户信息区 │ │ │ │ │ │ ┌────┐ ┌──────┐ │ │ │ │ │ │ │头像│ 小明 │+ 关注│ │ │ │ │ │ │ │48dp│ Lv.5 · 游戏达人 │ 按钮 │ │ │ │ │ │ │ │圆形│ (等级标签: 渐变背景, 圆角10dp) │#FF6B6B│ │ │ │ │ │ │ └────┘ └──────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 帖子正文 │ │ │ │ │ │ │ │ │ │ │ │ 今天吃鸡成功!分享一下我的游戏心得,希望对大家有 │ │ │ │ │ │ 帮助。首先要选择合适的落点,建议新手选择偏远地区 │ │ │ │ │ │ 先发育,等装备成型后再参与战斗... │ │ │ │ │ │ │ │ │ │ │ │ (正文: 16sp, 行高1.6, #333333) │ │ │ │ │ │ │ │ │ │ │ │ #吃鸡攻略 #游戏心得 #新手教程 │ │ │ │ │ │ (话题标签: 14sp, #FF6B6B, 可点击) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 图片/视频区域 │ │ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 图片1 (宽度100%) │ │ │ │ │ │ │ │ 圆角: 8dp │ │ │ │ │ │ │ │ 点击查看大图 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │ │ │ │ │ 图片2 │ │ 图片3 │ │ │ │ │ │ │ └─────────────────┘ └─────────────────┘ │ │ │ │ │ │ (多图: 第一张大图, 其余小图排列) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 位置和时间 │ │ │ │ │ │ 📍 广西南宁 · 2024-12-29 10:30 │ │ │ │ │ │ (字号: 13sp, 颜色: #999999) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 互动数据栏 (分割线上方) │ │ │ │ │ │ 👁 1024浏览 · 👍 128点赞 · ⭐ 45收藏 │ │ │ │ │ │ (字号: 13sp, 颜色: #666666) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ════════════════════════════════════════════════════════ │ │ │ │ (分割线: 8dp高度, 背景#F5F5F5) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 评论区标题 │ │ │ │ │ │ 全部评论 (32) 按热度 ▼ │ │ │ │ │ │ (标题: 16sp加粗, 排序: 14sp #666666) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 评论项 │ │ │ │ │ │ ┌────┐ 小红 · 1小时前 │ │ │ │ │ │ │头像│ 写得太好了,学到了! │ │ │ │ │ │ │36dp│ 👍 15 │ │ │ │ │ │ └────┘ │ │ │ │ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ │ │ 回复区 (背景: #F8F8F8, 圆角: 8dp) │ │ │ │ │ │ │ │ 小明 回复 小红: 谢谢支持! │ │ │ │ │ │ │ │ 小红 回复 小明: 期待更多分享~ │ │ │ │ │ │ │ │ 查看全部3条回复 > │ │ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (更多评论...) │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 底部操作栏 (高度: 56dp, 背景: #FFFFFF, 顶部阴影) │ │ │ │ ┌────────────────────────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │ │ │ │ │ 说点什么... │ │ 👍 │ │ 💬 │ │ ⭐ │ │ ↗ │ │ │ │ │ │ (输入框, 圆角20dp) │ │128 │ │ 32 │ │ 45 │ │分享│ │ │ │ │ └────────────────────────┘ └────┘ └────┘ └────┘ └────┘ │ │ │ │ (输入框点击弹出键盘和完整输入界面) │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` **评论输入弹窗设计:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ (半透明遮罩层, 点击关闭) │ │ │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 评论输入面板 (从底部弹出, 圆角顶部16dp) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 多行输入框 (最小高度100dp, 最大高度200dp) │ │ │ │ │ │ │ │ │ │ │ │ 输入评论内容... │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 工具栏 │ │ │ │ │ │ ┌────┐ ┌────┐ ┌────┐ ┌──────────────┐ │ │ │ │ │ │ │ 😊 │ │ @ │ │ # │ │ 发送 │ │ │ │ │ │ │ │表情│ │艾特│ │话题│ │ #FF6B6B │ │ │ │ │ │ │ └────┘ └────┘ └────┘ └──────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (键盘区域) │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` #### 12.1.3 缘池社区 - 发布帖子界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 │ │ │ │ ┌────┐ ┌────────┐ │ │ │ │ │ ✕ │ 发布动态 │ 发布 │ │ │ │ │ │关闭│ │ #FF6B6B│ │ │ │ │ └────┘ └────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 内容输入区域 │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 文本输入框 (最小高度: 150dp) │ │ │ │ │ │ │ │ │ │ │ │ 分享你的想法... │ │ │ │ │ │ (提示文字: 16sp, #CCCCCC) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 500/500 │ │ │ │ │ │ (字数统计, 右下角)│ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 媒体选择区域 │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ 图片1 │ │ 图片2 │ │ 图片3 │ │ + │ │ │ │ │ │ │ │ ┌──┐ │ │ │ │ │ │ 添加 │ │ │ │ │ │ │ │ │✕│ │ │ │ │ │ │ 图片 │ │ │ │ │ │ │ │ └──┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 80x80dp│ │ 80x80dp│ │ 80x80dp│ │ 80x80dp│ │ │ │ │ │ │ │ 圆角8dp│ │ 圆角8dp│ │ 圆角8dp│ │虚线边框│ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ (最多9张图片, 右上角有删除按钮) │ │ │ │ │ │ (支持拖拽排序) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 选项设置区域 (列表形式) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 📂 选择板块 游戏 > │ │ │ │ │ │ (左侧图标24dp, 标题16sp, 右侧值14sp #666666) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ ───────────────────────────────────────────────────── │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ # 添加话题 #吃鸡 #游戏 > │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ ───────────────────────────────────────────────────── │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 📍 添加位置 广西南宁 > │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ ───────────────────────────────────────────────────── │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 👁 谁可以看 公开 > │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 草稿提示 (如有草稿) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 📝 有一篇未发布的草稿 恢复 | 删除│ │ │ │ │ │ (背景: #FFF9E6, 边框: #FFE082) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────┘ ``` **板块选择弹窗:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ (半透明遮罩) │ │ │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 选择板块 (底部弹窗, 最大高度60%) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 标题栏 │ │ │ │ │ │ ──────────── 选择板块 ──────────── │ │ │ │ │ │ (居中标题, 16sp加粗, 顶部有拖拽指示条) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 板块网格 (3列, 间距12dp) │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ │ 🔥 │ │ 📈 │ │ 🎮 │ │ │ │ │ │ │ │ 推荐 │ │ 热门 │ │ 游戏 │ │ │ │ │ │ │ │ (选中态) │ │ │ │ │ │ │ │ │ │ │ │ 边框红色 │ │ │ │ │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ │ 🎵 │ │ 🍜 │ │ ✈️ │ │ │ │ │ │ │ │ 音乐 │ │ 美食 │ │ 旅行 │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ │ 💕 │ │ 👗 │ │ 🐱 │ │ │ │ │ │ │ │ 情感 │ │ 穿搭 │ │ 宠物 │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ (每个板块: 圆角12dp, 背景#F5F5F5, 高度80dp) │ │ │ │ │ │ (选中: 边框2dp #FF6B6B, 背景#FFF0F0) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` #### 12.1.4 许愿树 - 首页界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 (渐变背景: #FF6B6B → #FF8E8E) │ │ │ │ ┌────┐ ┌────┬────┐│ │ │ │ │ ☰ │ 🌳 许愿树 │ 🔔 │ 🔍 ││ │ │ │ │ │ (白色文字, 带阴影) │ │ ││ │ │ │ └────┘ └────┴────┘│ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 活动Banner区域 (高度: 180dp, 圆角: 16dp, 边距: 16dp) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ╔════════════════════════════════════════════════╗ │ │ │ │ │ │ ║ 🎄 元旦许愿活动 ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ 许下新年愿望,赢取丰厚奖励! ║ │ │ │ │ │ │ ║ (描述文字: 14sp, 白色, 80%透明度) ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ ┌─────────────────────────────────────────┐ ║ │ │ │ │ │ │ ║ │ ⏰ 距活动结束: 02天 15:30:45 │ ║ │ │ │ │ │ │ ║ │ (倒计时: 背景半透明黑, 圆角8dp) │ ║ │ │ │ │ │ │ ║ └─────────────────────────────────────────┘ ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ ┌──────────────┐ ║ │ │ │ │ │ │ ║ │ 立即参与 → │ (按钮: 白色背景, 红色文字) ║ │ │ │ │ │ │ ║ └──────────────┘ ║ │ │ │ │ │ │ ╚════════════════════════════════════════════════╝ │ │ │ │ │ │ (背景: 节日主题渐变色, 可配置) │ │ │ │ │ │ (支持轮播, 底部有指示点) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 节日分类标签 (高度: 44dp, 可横向滑动) │ │ │ │ ┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐ │ │ │ │ │全部││元旦││春节││情人││生日││祝福││许愿│ │ │ │ │ │ ✨ ││ 🎉 ││ 🧧 ││ 💕 ││ 🎂 ││ 🙏 ││ ⭐ │ │ │ │ │ └────┘└────┘└────┘└────┘└────┘└────┘└────┘ │ │ │ │ (选中: 背景#FF6B6B, 白色文字, 圆角16dp) │ │ │ │ (未选中: 背景#F5F5F5, #666666文字) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 许愿树3D展示区域 (高度: 280dp) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ ⭐ │ │ │ │ │ │ / \ │ │ │ │ │ │ / \ │ │ │ │ │ │ 🎀 / \ 🎁 │ │ │ │ │ │ / 🌳 \ │ │ │ │ │ │ 🌟 / /|\ \ ⭐ │ │ │ │ │ │ / / | \ \ │ │ │ │ │ │ 💝 / / | \ \ 🎊 │ │ │ │ │ │ / / | \ \ │ │ │ │ │ │ ───────────────────── │ │ │ │ │ │ │ │ │ │ │ │ (树上装饰物可点击, 显示对应祝福) │ │ │ │ │ │ (装饰物有呼吸灯动画效果) │ │ │ │ │ │ (支持左右滑动旋转树) │ │ │ │ │ │ │ │ │ │ │ │ ┌─────────────────────────┐ │ │ │ │ │ │ │ 点击装饰物查看祝福详情 │ │ │ │ │ │ │ │ (提示文字, 渐隐动画) │ │ │ │ │ │ │ └─────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ (背景: 渐变色, 与节日主题匹配) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 祝福列表区域 (瀑布流布局) │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ │ │ 祝福卡片 (圆角: 16dp, 有节日主题背景) │ │ │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ │ │ 背景图/渐变色 (节日主题) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ │ │头像│ 小明 · 元旦祝福 · 1小时前 │ │ │ │ │ │ │ │ │36dp│ (白色文字, 带阴影) │ │ │ │ │ │ │ │ └────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 🎉 新年快乐! │ │ │ │ │ │ │ │ 愿新的一年万事如意,心想事成! │ │ │ │ │ │ │ │ (祝福内容: 16sp, 白色, 最多3行) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ │ │ ❤️ 128 │ │ 💬 32 │ │ 🎁 送礼│ │ │ │ │ │ │ │ │ │ (送心) │ │ (评论) │ │ │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ │ │ (操作按钮: 白色, 半透明背景) │ │ │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (更多祝福卡片...) │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 发布祝福按钮 (底部居中, 距底部导航16dp) │ │ │ │ ┌──────────────────────────┐ │ │ │ │ │ ✨ 发布祝福 │ │ │ │ │ │ (渐变背景, 圆角24dp) │ │ │ │ │ │ (宽度: 200dp, 高度: 48dp)│ │ │ │ │ │ (阴影: 8dp) │ │ │ │ │ └──────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────────────┤ │ 底部导航栏 │ └────────────────────────────────────────────────────────────────┘ ``` **许愿树装饰物点击弹窗:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ (点击树上装饰物后, 显示祝福预览卡片) │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 祝福预览卡片 (居中显示, 宽度80%, 圆角16dp) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 背景: 节日主题渐变 │ │ │ │ │ │ │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │头像│ 小红 │ │ │ │ │ │ │48dp│ 元旦祝福 │ │ │ │ │ │ └────┘ │ │ │ │ │ │ │ │ │ │ │ │ 🎉 祝大家新年快乐,万事如意! │ │ │ │ │ │ 希望新的一年大家都能实现自己的愿望~ │ │ │ │ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ │ │ 查看详情 → │ │ │ │ │ │ │ │ (按钮: 白色背景, 主题色文字) │ │ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ (点击卡片外区域关闭) │ │ │ │ (卡片有缩放弹出动画) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────┘ ``` #### 12.1.5 许愿树 - 发布祝福界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 │ │ │ │ ┌────┐ ┌────────┐ │ │ │ │ │ ✕ │ 发布祝福 │ 发布 │ │ │ │ │ │ │ │ #FF6B6B│ │ │ │ │ └────┘ └────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 祝福类型选择 (高度: 80dp) │ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ │ │ ⭐ │ │ 🙏 │ │ 💝 │ │ │ │ │ │ 许愿 │ │ 祝福 │ │ 感谢 │ │ │ │ │ │ (选中态) │ │ │ │ │ │ │ │ │ │ 边框#FF6B6B│ │ │ │ │ │ │ │ │ └────────────┘ └────────────┘ └────────────┘ │ │ │ │ (每个类型: 圆角12dp, 背景#F8F8F8) │ │ │ │ (选中: 边框2dp, 背景#FFF5F5) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 节日选择 (横向滚动) │ │ │ │ 选择节日: │ │ │ │ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │ │ │ │ │ 🎉 │ │ 🧧 │ │ 💕 │ │ 🎂 │ │ ✨ │ │ ··· │ │ │ │ │ │元旦│ │春节│ │情人│ │生日│ │日常│ │更多│ │ │ │ │ │选中│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ │ │ │ │ (选中: 背景主题色, 白色文字) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 祝福内容输入 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 输入框 (高度: 120dp, 圆角: 12dp, 背景: #F8F8F8) │ │ │ │ │ │ │ │ │ │ │ │ 写下你的祝福... │ │ │ │ │ │ (提示文字: 16sp, #CCCCCC) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 200/200 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 背景选择 │ │ │ │ 选择背景: │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ 背景1 │ │ 背景2 │ │ 背景3 │ │ 背景4 │ │ 背景5 │ │ │ │ │ │ 渐变红 │ │ 渐变金 │ │ 星空 │ │ 烟花 │ │ 雪花 │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ │ │ │ │ │ ✓勾选 │ │ │ │ │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ (每个背景: 60x80dp, 圆角8dp) │ │ │ │ (选中: 右下角显示白色勾选图标) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 装饰选择 │ │ │ │ 添加装饰: │ │ │ │ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │ │ │ │ │ ⭐ │ │ 🎀 │ │ 🎁 │ │ 💝 │ │ 🌟 │ │ 🎊 │ │ ❄️ │ │ │ │ │ │星星│ │蝴蝶│ │礼物│ │爱心│ │闪光│ │彩带│ │雪花│ │ │ │ │ │ ✓ │ │ ✓ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ │ │ │ │ (可多选, 选中显示勾选标记) │ │ │ │ (每个装饰: 48x48dp, 圆角8dp, 背景#F5F5F5) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 预览区域 │ │ │ │ 预览效果: │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ╔════════════════════════════════════════════════╗ │ │ │ │ │ │ ║ (实时预览祝福卡片效果) ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ ⭐ 🎀 ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ 🎉 新年快乐! ║ │ │ │ │ │ │ ║ 愿新的一年万事如意... ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ ⭐ 🎀 ║ │ │ │ │ │ │ ╚════════════════════════════════════════════════╝ │ │ │ │ │ │ (背景和装饰实时更新) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 可见范围 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 👁 谁可以看 公开 > │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────┘ ``` #### 12.1.6 许愿树 - 祝福详情界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 (透明, 沉浸式) │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 祝福卡片大图展示区域 (高度: 50%屏幕) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ╔════════════════════════════════════════════════╗ │ │ │ │ │ │ ║ (节日主题背景) ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ ⭐ 装饰物动画效果 🎀 ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ ┌────┐ ║ │ │ │ │ │ │ ║ │头像│ 小明 ║ │ │ │ │ │ │ ║ │56dp│ Lv.5 · 元旦祝福 ║ │ │ │ │ │ │ ║ └────┘ ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ 🎉 新年快乐! ║ │ │ │ │ │ │ ║ 愿新的一年万事如意,心想事成! ║ │ │ │ │ │ │ ║ 希望大家都能实现自己的愿望, ║ │ │ │ │ │ │ ║ 新的一年加油! ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ 🌟 💝 ║ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ ║ 2024-12-29 10:30 ║ │ │ │ │ │ │ ╚════════════════════════════════════════════════╝ │ │ │ │ │ │ │ │ │ │ │ │ ┌────┐ ┌────┐ │ │ │ │ │ │ │ ← │ (返回按钮, 白色, 左上角) │ ↗ │ │ │ │ │ │ │ │返回│ │分享│ │ │ │ │ │ │ └────┘ └────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 互动数据区域 (白色背景, 圆角顶部16dp) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ │ ❤️ 256 │ │ 💬 48 │ │ 🎁 15 │ │ │ │ │ │ │ │ 送心 │ │ 评论 │ │ 礼物 │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ (三等分布局, 点击有动画效果) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 评论区域 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 全部评论 (48) 按热度 ▼ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 评论项 │ │ │ │ │ │ ┌────┐ 小红 · 30分钟前 │ │ │ │ │ │ │头像│ 新年快乐!祝福收到啦~ │ │ │ │ │ │ │36dp│ ❤️ 12 │ │ │ │ │ │ └────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (更多评论...) │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 底部操作栏 │ │ │ │ ┌────────────────────────┐ ┌────┐ ┌────┐ ┌────────────┐ │ │ │ │ │ 写下你的祝福... │ │ ❤️ │ │ 💬 │ │ 🎁 送礼 │ │ │ │ │ │ (输入框) │ │256 │ │ 48 │ │ (渐变按钮)│ │ │ │ │ └────────────────────────┘ └────┘ └────┘ └────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` **送礼物弹窗:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ (半透明遮罩) │ │ │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 送礼物面板 (底部弹窗, 高度50%) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 标题栏 │ │ │ │ │ │ ──────────── 送礼物 ──────────── │ │ │ │ │ │ 余额: 💰 1280 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 礼物列表 (网格布局, 4列) │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ ❤️ │ │ 🌹 │ │ 🎁 │ │ 💎 │ │ │ │ │ │ │ │ 爱心 │ │ 玫瑰 │ │ 礼盒 │ │ 钻石 │ │ │ │ │ │ │ │ 1金币 │ │ 5金币 │ │ 10金币 │ │ 50金币 │ │ │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ 🚀 │ │ 🏆 │ │ 👑 │ │ 🎆 │ │ │ │ │ │ │ │ 火箭 │ │ 奖杯 │ │ 皇冠 │ │ 烟花 │ │ │ │ │ │ │ │100金币 │ │200金币 │ │500金币 │ │999金币 │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ (选中: 边框#FF6B6B, 背景#FFF5F5) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 数量选择 │ │ │ │ │ │ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────────────┐ │ │ │ │ │ │ │ 1 │ │ 10 │ │ 66 │ │ 99 │ │520 │ │ 自定义 │ │ │ │ │ │ │ │选中│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────┘ └────┘ └────┘ └────┘ └────┘ └────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 发送按钮 │ │ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ │ │ │ │ 赠送 ❤️ x1 (1金币) │ │ │ │ │ │ │ │ (渐变背景, 圆角24dp) │ │ │ │ │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` ### 12.2 管理端界面设计 #### 12.2.1 缘池社区 - 板块管理界面 ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 缘池社区 - 板块管理 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 页面标题栏 │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 📂 板块管理 ┌──────────┐ │ │ │ │ │ │ 管理社区板块分类,支持排序和状态控制 │ + 新增板块│ │ │ │ │ │ │ │ (蓝色) │ │ │ │ │ │ │ └──────────┘ │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 搜索筛选栏 │ │ │ │ ┌────────────────┐ ┌────────────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ 板块名称 │ │ 状态 ▼ │ │ 搜索 │ │ 重置 │ │ │ │ │ │ 请输入板块名称 │ │ 全部 │ │ (蓝色) │ │ (灰色) │ │ │ │ │ └────────────────┘ └────────────────┘ └────────┘ └────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 数据表格 (Element UI Table) │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ ☐ │ 排序 │ 图标 │ 板块名称 │ 描述 │ 帖子数 │ 状态 │ 操作 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ ☐ │ ≡ │ 🔥 │ 推荐 │ 算法推荐热门 │ 1280 │ 启用 │ 编辑 │ │ │ │ │ │ │ (拖拽)│ │ │ 内容 │ │ (绿) │ 禁用 │ │ │ │ │ │ │ │ │ │ │ │ │ 删除 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ ☐ │ ≡ │ 📈 │ 热门 │ 24小时热度 │ 856 │ 启用 │ 编辑 │ │ │ │ │ │ │ │ │ │ 排行 │ │ (绿) │ 禁用 │ │ │ │ │ │ │ │ │ │ │ │ │ 删除 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ ☐ │ ≡ │ 🎮 │ 游戏 │ 游戏攻略、 │ 2340 │ 启用 │ 编辑 │ │ │ │ │ │ │ │ │ │ 组队、分享 │ │ (绿) │ 禁用 │ │ │ │ │ │ │ │ │ │ │ │ │ 删除 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ ☐ │ ≡ │ 🎵 │ 音乐 │ 音乐分享、 │ 1120 │ 禁用 │ 编辑 │ │ │ │ │ │ │ │ │ │ 翻唱、原创 │ │ (灰) │ 启用 │ │ │ │ │ │ │ │ │ │ │ │ │ 删除 │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (表格支持拖拽排序, 拖拽时显示蓝色指示线) │ │ │ │ (状态列: 启用-绿色标签, 禁用-灰色标签) │ │ │ │ (操作列: 文字按钮, 蓝色-编辑, 橙色-禁用/启用, 红色-删除) │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 分页组件 │ │ │ │ 共 12 条记录 < 1 2 3 ... 5 > 每页 10 条 ▼ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` **新增/编辑板块弹窗:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 新增板块 (Dialog, 宽度500px) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ✕ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 表单内容 │ │ │ │ │ │ │ │ │ │ │ │ 板块名称 * │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ │ │ 请输入板块名称 │ │ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ 板块图标 * │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ │ │ 🔥 ▼ (Emoji选择器) │ │ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ 板块描述 │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ │ │ 请输入板块描述 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ 排序 │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ │ │ 0 ▲ ▼ │ │ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ 状态 │ │ │ │ │ │ ○ 启用 ● 禁用 │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ 取消 │ │ 确定 │ │ │ │ │ │ │ │ (灰色) │ │ (蓝色) │ │ │ │ │ │ │ └────────┘ └────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────┘ ``` #### 12.2.2 缘池社区 - 帖子管理界面 ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 缘池社区 - 帖子管理 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 页面标题栏 │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 📝 帖子管理 │ │ │ │ │ │ 审核和管理社区帖子内容 │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 数据统计卡片 (4列) │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ 全部帖子 │ │ 待审核 │ │ 已通过 │ │ 已拒绝 │ │ │ │ │ │ 12,580 │ │ 128 │ │ 11,892 │ │ 560 │ │ │ │ │ │ (蓝色) │ │ (橙色) │ │ (绿色) │ │ (红色) │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 搜索筛选栏 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────────┐ │ │ │ │ │ 板块 ▼ │ │ 状态 ▼ │ │ 时间范围 │ │ 搜索内容/用户 │ │ │ │ │ │ 全部 │ │ 全部 │ │ 选择日期 │ │ 🔍 │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └────────────────────┘ │ │ │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌──────────────────────────────────────────────┐ │ │ │ │ │ 搜索 │ │ 重置 │ │ ☐ 只看置顶 ☐ 只看推荐 ☐ 只看有图/视频 │ │ │ │ │ └────────┘ └────────┘ └──────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 批量操作栏 │ │ │ │ 已选择 3 项 ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │批量通过│ │批量拒绝│ │批量置顶│ │批量删除│ │ │ │ │ │ (绿色) │ │ (橙色) │ │ (蓝色) │ │ (红色) │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 数据表格 │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │☐│ID │用户 │板块│内容预览 │图片│互动数据 │状态│时间 │操作│ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│10001 │┌────┐ │游戏│今天吃鸡成功!│3张 │👍128 │待审│12-29 │查看│ │ │ │ │ │ │ ││头像│ │ │分享一下我的 │ │💬32 │核 │10:30 │通过│ │ │ │ │ │ │ │└────┘ │ │游戏心得... │ │⭐45 │(橙)│ │拒绝│ │ │ │ │ │ │ │小明 │ │ │ │ │ │ │删除│ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│10002 │┌────┐ │美食│周末探店!发现│5张 │👍256 │已通│12-29 │查看│ │ │ │ │ │ │ ││头像│ │ │一家超好吃的 │ │💬48 │过 │09:15 │置顶│ │ │ │ │ │ │ │└────┘ │ │火锅店... │ │⭐89 │(绿)│ │推荐│ │ │ │ │ │ │ │小红 │ │ │ │ │📌 │ │删除│ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│10003 │┌────┐ │情感│最近心情不太好│0张 │👍12 │已拒│12-28 │查看│ │ │ │ │ │ │ ││头像│ │ │想找人聊聊... │ │💬5 │绝 │22:30 │恢复│ │ │ │ │ │ │ │└────┘ │ │ │ │⭐2 │(红)│ │删除│ │ │ │ │ │ │ │小李 │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (内容预览: 最多显示30字, 超出显示...) │ │ │ │ (图片列: 显示图片数量, 点击可预览) │ │ │ │ (状态标签: 待审核-橙色, 已通过-绿色, 已拒绝-红色) │ │ │ │ (置顶帖子显示📌图标) │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 分页组件 │ │ │ │ 共 12,580 条记录 < 1 2 3 ... 629 > 每页 20 条 ▼ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` **帖子详情抽屉:** ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ ┌─────────┐│ │ │帖子详情 ││ │ │ (抽屉) ││ │ (主页面内容, 半透明遮罩) │ 宽400px ││ │ │ ││ │ │ ┌─────┐ ││ │ │ │ ✕ │ ││ │ │ └─────┘ ││ │ │ ││ │ │ 用户信息 ││ │ │ ┌─────┐ ││ │ │ │头像 │ ││ │ │ │小明 │ ││ │ │ │ID: │ ││ │ │ │1001 │ ││ │ │ └─────┘ ││ │ │ ││ │ │ 帖子内容 ││ │ │ ────── ││ │ │ 今天吃鸡││ │ │ 成功! ││ │ │ 分享... ││ │ │ ││ │ │ 图片预览 ││ │ │ ┌─┬─┬─┐ ││ │ │ │1│2│3│ ││ │ │ └─┴─┴─┘ ││ │ │ ││ │ │ 互动数据 ││ │ │ 👍128 ││ │ │ 💬32 ││ │ │ ⭐45 ││ │ │ ││ │ │ 审核操作 ││ │ │ ┌─────┐ ││ │ │ │通过 │ ││ │ │ └─────┘ ││ │ │ ┌─────┐ ││ │ │ │拒绝 │ ││ │ │ └─────┘ ││ │ │ ││ │ └─────────┘│ └────────────────────────────────────────────────────────────────────────────────┘ ``` #### 12.2.3 许愿树 - 活动管理界面 ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 许愿树 - 活动管理 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 页面标题栏 │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 🎉 活动管理 ┌──────────┐ │ │ │ │ │ │ 配置和管理许愿树节日活动 │ + 新增活动│ │ │ │ │ │ │ │ (蓝色) │ │ │ │ │ │ │ └──────────┘ │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 活动状态Tab │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ 全部 (8) │ │进行中 (2)│ │未开始 (3)│ │已结束 (3)│ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 活动卡片列表 (卡片式布局, 3列) │ │ │ │ │ │ │ │ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐ │ │ │ │ │ 🎄 元旦许愿活动 │ │ 🧧 春节祝福活动 │ │ 💕 情人节活动 │ │ │ │ │ │ ┌─────────────────┐ │ │ ┌─────────────────┐ │ │ ┌─────────────────┐ │ │ │ │ │ │ │ (Banner预览图) │ │ │ │ (Banner预览图) │ │ │ │ (Banner预览图) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─────────────────┘ │ │ └─────────────────┘ │ │ └─────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 状态: 🟢 进行中 │ │ 状态: 🟡 未开始 │ │ 状态: ⚫ 已结束 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 时间: │ │ 时间: │ │ 时间: │ │ │ │ │ │ 12.31 - 01.03 │ │ 01.28 - 02.12 │ │ 02.13 - 02.15 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 参与: 12,580人 │ │ 参与: 0人 │ │ 参与: 8,920人 │ │ │ │ │ │ 祝福: 35,680条 │ │ 祝福: 0条 │ │ 祝福: 25,430条 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌─────┐ ┌─────┐ │ │ ┌─────┐ ┌─────┐ │ │ ┌─────┐ ┌─────┐ │ │ │ │ │ │ │编辑 │ │统计 │ │ │ │编辑 │ │开启 │ │ │ │查看 │ │统计 │ │ │ │ │ │ │ └─────┘ └─────┘ │ │ └─────┘ └─────┘ │ │ └─────┘ └─────┘ │ │ │ │ │ │ ┌─────┐ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │ │ │ │ │ │ │关闭 │ │删除 │ │ │ │删除 │ │ │ │复制 │ │ │ │ │ │ │ └─────┘ └─────┘ │ │ └─────┘ │ │ └─────┘ │ │ │ │ │ └─────────────────────┘ └─────────────────────┘ └─────────────────────┘ │ │ │ │ │ │ │ │ (进行中: 绿色状态点, 未开始: 黄色状态点, 已结束: 灰色状态点) │ │ │ │ (卡片hover时显示阴影效果) │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` **新增/编辑活动页面:** ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 许愿树 - 新增活动 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 页面标题栏 │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ ← 返回 新增活动 ┌────────────────┐│ │ │ │ │ │ │ 保存并发布 ││ │ │ │ │ │ │ (蓝色按钮) ││ │ │ │ │ │ └────────────────┘│ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 表单内容 (两列布局) │ │ │ │ │ │ │ │ ┌─────────────────────────────┐ ┌─────────────────────────────┐ │ │ │ │ │ 基本信息 │ │ Banner配置 │ │ │ │ │ │ ─────────────────────────── │ │ ─────────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ │ │ 活动名称 * │ │ Banner图片 * │ │ │ │ │ │ ┌───────────────────────┐ │ │ ┌───────────────────────┐ │ │ │ │ │ │ │ 元旦许愿活动 │ │ │ │ ┌─────────────────┐ │ │ │ │ │ │ │ └───────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 点击上传图片 │ │ │ │ │ │ │ │ 关联节日 │ │ │ │ 建议尺寸: │ │ │ │ │ │ │ │ ┌───────────────────────┐ │ │ │ │ 750x300px │ │ │ │ │ │ │ │ │ 🎉 元旦 ▼ │ │ │ │ │ │ │ │ │ │ │ │ │ └───────────────────────┘ │ │ │ └─────────────────┘ │ │ │ │ │ │ │ │ │ └───────────────────────┘ │ │ │ │ │ │ 活动时间 * │ │ │ │ │ │ │ │ ┌───────────┐ 至 ┌───────┐ │ │ 主题颜色 │ │ │ │ │ │ │ 2024-12-31│ │01-03 │ │ │ ┌───────────────────────┐ │ │ │ │ │ │ └───────────┘ └───────┘ │ │ │ #FF6B6B 🎨 选择颜色 │ │ │ │ │ │ │ │ │ └───────────────────────┘ │ │ │ │ │ │ 活动描述 │ │ │ │ │ │ │ │ ┌───────────────────────┐ │ └─────────────────────────────┘ │ │ │ │ │ │ 许下新年愿望,赢取丰 │ │ │ │ │ │ │ │ 厚奖励! │ │ ┌─────────────────────────────┐ │ │ │ │ │ │ │ │ │ 奖励配置 │ │ │ │ │ │ └───────────────────────┘ │ │ ─────────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ │ └─────────────────────────────┘ │ ┌───────────────────────┐ │ │ │ │ │ │ │ + 添加奖励项 │ │ │ │ │ │ ┌─────────────────────────────┐ │ └───────────────────────┘ │ │ │ │ │ │ 活动规则 │ │ │ │ │ │ │ │ ─────────────────────────── │ │ 🥇 第1名: 1000金币 │ │ │ │ │ │ │ │ 🥈 第2名: 500金币 │ │ │ │ │ │ ┌───────────────────────┐ │ │ 🥉 第3名: 300金币 │ │ │ │ │ │ │ + 添加规则 │ │ │ │ │ │ │ │ │ └───────────────────────┘ │ │ (可拖拽排序, 可删除) │ │ │ │ │ │ │ │ │ │ │ │ │ │ • 每人每天可发布3条祝福 │ └─────────────────────────────┘ │ │ │ │ │ • 获赞最多的祝福可获得奖励 │ │ │ │ │ │ • 分享活动可获得额外金币 │ │ │ │ │ │ │ │ │ │ │ │ (可拖拽排序, 可删除) │ │ │ │ │ └─────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` #### 12.2.4 许愿树 - 祝福管理界面 ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 许愿树 - 祝福管理 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 页面标题栏 │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ ✨ 祝福管理 │ │ │ │ │ │ 审核和管理用户发布的祝福内容 │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 数据统计卡片 │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ 全部祝福 │ │ 待审核 │ │ 已通过 │ │ 已拒绝 │ │ │ │ │ │ 35,680 │ │ 256 │ │ 34,892 │ │ 532 │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 搜索筛选栏 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────┐ │ │ │ │ │ 节日 ▼ │ │ 活动 ▼ │ │ 类型 ▼ │ │ 状态 ▼ │ │ 搜索内容/用户 │ │ │ │ │ │ 全部 │ │ 全部 │ │ 全部 │ │ 全部 │ │ 🔍 │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └────────────────┘ │ │ │ │ │ │ │ │ ┌────────┐ ┌────────┐ │ │ │ │ │ 搜索 │ │ 重置 │ │ │ │ │ └────────┘ └────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 祝福卡片列表 (卡片式布局, 可切换为表格) │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ ☐ 祝福卡片 │ │ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ ╔═══════════════════════════════════════════════════════════╗ │ │ │ │ │ │ │ │ ║ (节日主题背景预览) ║ │ │ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ │ │ ║ ┌────┐ 小明 · 元旦祝福 · 许愿 ║ │ │ │ │ │ │ │ │ ║ │头像│ 2024-12-29 10:30 ║ │ │ │ │ │ │ │ │ ║ └────┘ ║ │ │ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ │ │ ║ 🎉 新年快乐!愿新的一年万事如意,心想事成! ║ │ │ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ │ │ ╚═══════════════════════════════════════════════════════════╝ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 互动数据: ❤️ 256 💬 48 🎁 15 │ │ │ │ │ │ │ │ 状态: 🟢 已通过 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ │ │ 查看 │ │ 推荐 │ │ 拒绝 │ │ 删除 │ │ │ │ │ │ │ │ │ │ (蓝色) │ │ (绿色) │ │ (橙色) │ │ (红色) │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (更多祝福卡片...) │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 分页组件 │ │ │ │ 共 35,680 条记录 < 1 2 3 ... 1784 > 每页 20 条 ▼ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` #### 12.2.5 许愿树 - 素材管理界面 ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 许愿树 - 素材管理 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ Tab切换 │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ │ │ 🖼️ 背景模板 (24) │ │ ✨ 装饰素材 (48) │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ └──────────────────┘ └──────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 操作栏 │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐│ │ │ │ │ 节日筛选 ▼ │ │ 状态筛选 ▼ │ │ + 上传背景模板 ││ │ │ │ │ 全部 │ │ 全部 │ │ (蓝色按钮) ││ │ │ │ └──────────────┘ └──────────────┘ └──────────────────┘│ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 素材卡片网格 (4列) │ │ │ │ │ │ │ │ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ ┌────────────┐ │ │ │ │ │ ┌────────────┐ │ │ ┌────────────┐ │ │ ┌────────────┐ │ │ ┌────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 背景预览 │ │ │ │ 背景预览 │ │ │ │ 背景预览 │ │ │ │ 背景 │ │ │ │ │ │ │ │ (渐变红) │ │ │ │ (渐变金) │ │ │ │ (星空) │ │ │ │ 预览 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────┘ │ │ └────────────┘ │ │ └────────────┘ │ │ └────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 新年红 │ │ 金色祝福 │ │ 星空许愿 │ │ 烟花绽放 │ │ │ │ │ │ 🎉 元旦 │ │ 🧧 春节 │ │ ✨ 通用 │ │ 🎉 元旦 │ │ │ │ │ │ 免费 │ │ 免费 │ │ 10金币 │ │ 20金币 │ │ │ │ │ │ 🟢 启用 │ │ 🟢 启用 │ │ 🟢 启用 │ │ ⚫ 禁用 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌────┐ ┌────┐ │ │ ┌────┐ ┌────┐ │ │ ┌────┐ ┌────┐ │ │ ┌────┐ │ │ │ │ │ │ │编辑│ │删除│ │ │ │编辑│ │删除│ │ │ │编辑│ │删除│ │ │ │启用│ │ │ │ │ │ │ └────┘ └────┘ │ │ └────┘ └────┘ │ │ └────┘ └────┘ │ │ └────┘ │ │ │ │ │ └────────────────┘ └────────────────┘ └────────────────┘ └────────────┘ │ │ │ │ │ │ │ │ (更多素材卡片...) │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` **上传素材弹窗:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 上传背景模板 (Dialog, 宽度600px) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 图片上传区域 │ │ │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 📤 点击或拖拽上传 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 支持 JPG、PNG 格式 │ │ │ │ │ │ │ │ 建议尺寸: 750x1200px │ │ │ │ │ │ │ │ 最大: 2MB │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 素材名称 * │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 请输入素材名称 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 关联节日 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 请选择节日 ▼ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 价格设置 │ │ │ │ ○ 免费 ● 付费 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 10 金币 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 排序 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 0 ▲ ▼ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ 取消 │ │ 确定 │ │ │ │ │ │ │ └────────┘ └────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────┘ ``` ### 12.2.6 直播模块界面设计(核心功能) 由于直播是平台的核心业务,本节详细描述直播相关的所有界面设计。 --- ## 十三、直播模块详细界面设计(核心) 直播功能是整个平台的核心,包括直播首页、直播间观看、开播推流、礼物打赏、弹幕互动等完整功能链路。 ### 13.1 移动端直播界面 #### 13.1.1 直播首页界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 (沉浸式, 透明) │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 (高度: 56dp, 背景: #FFFFFF) │ │ │ │ ┌────┐ ┌──────────────────────────────┐ ┌────┐ ┌────┐ │ │ │ │ │ ☰ │ │ 🔍 搜索主播、房间... │ │ 📷 │ │ 👤 │ │ │ │ │ │菜单│ │ (搜索框, 圆角20dp, #F5F5F5) │ │扫码│ │头像│ │ │ │ │ └────┘ └──────────────────────────────┘ └────┘ └────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部Tab切换 (高度: 44dp) │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ 关注 │ │ 推荐 │ │ 附近 │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ │ #FF6B6B │ │ #666666 │ │ #666666 │ │ │ │ │ │ ════════ │ │ │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ (选中Tab下方有3dp红色指示条) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 分类标签栏 (高度: 40dp, 可横向滑动) │ │ │ │ ┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐ │ │ │ │ │全部││热门││游戏││才艺││户外││音乐││聊天││更多│ │ │ │ │ │选中││ ││ 🎮 ││ 🎤 ││ 🏕️ ││ 🎵 ││ 💬 ││ ··· │ │ │ │ │ └────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘ │ │ │ │ (选中: 背景#FF6B6B, 白色文字, 圆角12dp) │ │ │ │ (未选中: 背景透明, #666666文字) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 直播间列表 (瀑布流布局, 2列) │ │ │ │ │ │ │ │ ┌─────────────────────┐ ┌─────────────────────┐ │ │ │ │ │ 直播间卡片 │ │ 直播间卡片 │ │ │ │ │ │ ┌─────────────────┐ │ │ ┌─────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 封面图片 │ │ │ │ 封面图片 │ │ │ │ │ │ │ │ (圆角12dp) │ │ │ │ (圆角12dp) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌─────────────┐ │ │ │ │ ┌─────────────┐ │ │ │ │ │ │ │ │ │🔴 直播中 │ │ │ │ │ │👁 12.5万 │ │ │ │ │ │ │ │ │ │(左上角标签) │ │ │ │ │ │(右上角人数) │ │ │ │ │ │ │ │ │ └─────────────┘ │ │ │ │ └─────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─────────────────┘ │ │ └─────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 王者荣耀五排上分 │ │ 深夜唱歌陪伴 │ │ │ │ │ │ (标题: 14sp, 最多2行)│ │ (标题: 14sp) │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌────┐ 小明 │ │ ┌────┐ 小红 │ │ │ │ │ │ │头像│ (主播名) │ │ │头像│ (主播名) │ │ │ │ │ │ │24dp│ │ │ │24dp│ │ │ │ │ │ │ └────┘ │ │ └────┘ │ │ │ │ │ └─────────────────────┘ └─────────────────────┘ │ │ │ │ │ │ │ │ ┌─────────────────────┐ ┌─────────────────────┐ │ │ │ │ │ (更多直播间卡片...) │ │ (更多直播间卡片...) │ │ │ │ │ └─────────────────────┘ └─────────────────────┘ │ │ │ │ │ │ │ │ (支持下拉刷新, 上拉加载更多) │ │ │ │ (卡片点击进入直播间) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 开播悬浮按钮 (右下角, 距边缘16dp) │ │ │ │ ┌──────────┐ │ │ │ │ │ 📹 │ │ │ │ │ │ 开播 │ │ │ │ │ │ 56dp │ │ │ │ │ │ #FF6B6B │ │ │ │ │ │ 阴影6dp │ │ │ │ │ └──────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────────────┤ │ 底部导航栏 (高度: 56dp) │ │ ┌──────────┬──────────┬──────────┬──────────┬──────────┐ │ │ │ 🏠 │ 🎣 │ 🌳 │ 💬 │ 👤 │ │ │ │ 首页 │ 缘池 │ 许愿树 │ 消息 │ 我的 │ │ │ │ #FF6B6B │ #999999 │ #999999 │ #999999 │ #999999 │ │ │ └──────────┴──────────┴──────────┴──────────┴──────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` **直播间卡片设计规范:** | 元素 | 规格 | 说明 | |------|------|------| | 卡片宽度 | (屏幕宽度-48dp)/2 | 两列瀑布流 | | 封面比例 | 3:4 | 竖版封面 | | 封面圆角 | 12dp | 顶部圆角 | | 直播标签 | 左上角, 背景#FF4D4F | 显示"直播中" | | 观看人数 | 右上角, 半透明黑背景 | 显示观看人数 | | 标题字号 | 14sp | 最多显示2行 | | 主播头像 | 24dp圆形 | 左下角 | | 主播名称 | 12sp, #666666 | 头像右侧 | #### 13.1.2 直播间观看界面(竖屏模式) ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 (透明, 沉浸式) │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 视频播放区域 (全屏背景) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 直播视频流画面 │ │ │ │ │ │ (ExoPlayer/IjkPlayer) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 顶部信息栏 (半透明渐变背景, 从上到下) │ │ │ │ │ │ ┌────┐ ┌────┐ │ │ │ │ │ │ │ ← │ │ ✕ │ │ │ │ │ │ │ │返回│ │关闭│ │ │ │ │ │ │ └────┘ └────┘ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ │ │ │ │ 主播信息卡片 (圆角20dp, 半透明黑背景) │ │ │ │ │ │ │ │ ┌────┐ ┌──────┐ │ │ │ │ │ │ │ │ │头像│ 小明 │+ 关注│ │ │ │ │ │ │ │ │ │48dp│ 🔴 直播中 · 👁 12.5万 │ 按钮 │ │ │ │ │ │ │ │ │ │圆形│ (在线人数实时更新) │ │ │ │ │ │ │ │ │ │ └────┘ └──────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ │ │ │ │ 房间标题: 王者荣耀五排上分,来一起玩! │ │ │ │ │ │ │ │ (白色文字, 16sp, 带阴影) │ │ │ │ │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 功能按钮区 (右侧垂直排列) │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ 🔊 │ │ │ │ │ │ │ │音量│ │ │ │ │ │ │ └────┘ │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ ⛶ │ │ │ │ │ │ │ │全屏│ │ │ │ │ │ │ └────┘ │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ ↗ │ │ │ │ │ │ │ │分享│ │ │ │ │ │ │ └────┘ │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ ··· │ │ │ │ │ │ │ │更多│ │ │ │ │ │ │ └────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 弹幕显示区域 (覆盖在视频上方, 从下往上滚动) │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ 🎁 小红 送出 火箭x1 │ │ │ │ │ │ (礼物消息: 金色背景, 特殊样式) │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ 小明: 主播打得真好! │ │ │ │ │ │ (普通弹幕: 白色文字, 半透明黑背景, 圆角16dp) │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ 👑 VIP用户: 支持主播! │ │ │ │ │ │ (VIP弹幕: 金色边框, 特殊标识) │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ 🎉 欢迎 小李 进入直播间 │ │ │ │ │ │ (系统消息: 蓝色文字) │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (弹幕从底部进入, 向上滚动, 最多显示10条) │ │ │ │ (新弹幕有淡入动画, 旧弹幕淡出) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 礼物特效层 (全屏覆盖, 播放礼物动画) │ │ │ │ │ │ │ │ ┌─────────────────────────┐ │ │ │ │ │ 🚀 │ │ │ │ │ │ 火箭特效动画 │ │ │ │ │ │ (Lottie/SVGA动画) │ │ │ │ │ └─────────────────────────┘ │ │ │ │ │ │ │ │ (大礼物: 全屏动画, 持续3-5秒) │ │ │ │ (小礼物: 右侧飘过动画) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 底部互动栏 (高度: 56dp, 半透明黑背景) │ │ │ │ ┌────────────────────────┐ ┌────┐ ┌────┐ ┌────────────┐ │ │ │ │ │ 说点什么... │ │ 💬 │ │ 🎁 │ │ 💰 1280 │ │ │ │ │ │ (弹幕输入框) │ │弹幕│ │礼物│ │ (余额) │ │ │ │ │ │ (圆角20dp, 半透明) │ │开关│ │面板│ │ 充值入口 │ │ │ │ │ └────────────────────────┘ └────┘ └────┘ └────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` #### 12.3.1 移动端设计规范 | 设计元素 | 规格 | 说明 | |----------|------|------| | **颜色规范** | | | | 主题色 | #FF6B6B | 用于按钮、选中状态、强调元素 | | 辅助色 | #FF8E8E | 用于渐变、hover状态 | | 成功色 | #52C41A | 用于成功提示、通过状态 | | 警告色 | #FAAD14 | 用于警告提示、待审核状态 | | 错误色 | #FF4D4F | 用于错误提示、拒绝状态 | | 文字主色 | #333333 | 用于标题、正文 | | 文字次色 | #666666 | 用于次要文字、描述 | | 文字辅助色 | #999999 | 用于提示文字、时间 | | 背景色 | #F5F5F5 | 用于页面背景、分割区域 | | 卡片背景 | #FFFFFF | 用于卡片、弹窗背景 | | **字体规范** | | | | 大标题 | 18sp, 加粗 | 页面标题 | | 标题 | 16sp, 加粗 | 卡片标题、区块标题 | | 正文 | 15sp, 常规 | 帖子内容、祝福内容 | | 次要文字 | 14sp, 常规 | 用户名、标签 | | 辅助文字 | 13sp, 常规 | 时间、位置、统计数据 | | 小文字 | 12sp, 常规 | 标签、按钮文字 | | 底部导航 | 10sp, 常规 | Tab文字 | | **间距规范** | | | | 页面边距 | 16dp | 左右边距 | | 卡片间距 | 12dp | 卡片之间的间距 | | 内容间距 | 8dp | 元素之间的间距 | | 紧凑间距 | 4dp | 紧密排列的元素 | | **圆角规范** | | | | 大圆角 | 16dp | 卡片、弹窗 | | 中圆角 | 12dp | 按钮、输入框 | | 小圆角 | 8dp | 图片、标签 | | 全圆角 | 50% | 头像、圆形按钮 | | **阴影规范** | | | | 轻阴影 | 2dp | 卡片默认阴影 | | 中阴影 | 4dp | 悬浮按钮、弹窗 | | 重阴影 | 8dp | 底部操作栏 | #### 12.3.2 管理端设计规范 | 设计元素 | 规格 | 说明 | |----------|------|------| | **颜色规范** | | | | 主题色 | #409EFF | Element UI默认蓝色 | | 成功色 | #67C23A | 通过、启用状态 | | 警告色 | #E6A23C | 待审核、警告状态 | | 危险色 | #F56C6C | 拒绝、删除操作 | | 信息色 | #909399 | 禁用、次要信息 | | 文字主色 | #303133 | 标题、正文 | | 文字次色 | #606266 | 次要文字 | | 文字辅助色 | #909399 | 提示文字 | | 边框色 | #DCDFE6 | 输入框、表格边框 | | 背景色 | #F5F7FA | 页面背景 | | **字体规范** | | | | 页面标题 | 20px, 加粗 | 页面主标题 | | 卡片标题 | 16px, 加粗 | 卡片、区块标题 | | 正文 | 14px, 常规 | 表格内容、表单 | | 辅助文字 | 12px, 常规 | 提示、描述 | | **组件规范** | | | | 表格行高 | 48px | 数据表格 | | 按钮高度 | 32px/36px/40px | 小/中/大按钮 | | 输入框高度 | 32px/36px/40px | 小/中/大输入框 | | 卡片圆角 | 4px | Element UI默认 | | 弹窗宽度 | 500px/600px/800px | 小/中/大弹窗 | #### 12.3.3 动画效果规范 | 动画类型 | 时长 | 缓动函数 | 应用场景 | |----------|------|----------|----------| | 页面切换 | 300ms | ease-in-out | Activity切换 | | 弹窗显示 | 250ms | ease-out | 底部弹窗、对话框 | | 弹窗隐藏 | 200ms | ease-in | 关闭弹窗 | | 按钮点击 | 150ms | ease | 按钮缩放反馈 | | 列表项 | 200ms | ease | 列表项进入动画 | | 点赞动画 | 300ms | spring | 心跳效果 | | 加载动画 | 1000ms | linear | 循环加载 | | 刷新动画 | 500ms | ease-out | 下拉刷新 | | 许愿树装饰 | 2000ms | ease-in-out | 呼吸灯效果 | | 祝福卡片 | 400ms | spring | 弹出缩放 | #### 12.3.4 交互反馈规范 | 交互类型 | 反馈方式 | 说明 | |----------|----------|------| | 按钮点击 | 缩放+颜色变化 | 0.95缩放,颜色加深 | | 列表点击 | 背景色变化 | 显示#F5F5F5背景 | | 长按操作 | 震动+菜单 | 50ms震动,显示操作菜单 | | 下拉刷新 | 加载动画+文字 | 显示"正在刷新..." | | 上拉加载 | 加载动画+文字 | 显示"加载中..." | | 操作成功 | Toast提示 | 显示2秒后消失 | | 操作失败 | Toast提示 | 显示错误信息 | | 网络错误 | 空状态页面 | 显示重试按钮 | | 无数据 | 空状态页面 | 显示引导文字 | --- > 界面设计描述完成 > > 本章节提供了移动端和管理端所有核心界面的详细设计描述,包括布局结构、颜色规范、字体规范、间距规范、动画效果等,可作为UI设计和前端开发的参考依据。 --- > 报告完成 > > 建议按照开发计划分阶段实施,优先完成核心功能 #### 13.1.3 直播间观看界面(横屏全屏模式) ``` ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ ┌────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ 直播视频流画面 (全屏) │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 顶部控制栏 (半透明渐变, 自动隐藏) │ │ │ │ │ │ ┌────┐ ┌────┐ │ │ │ │ │ │ │ ← │ 王者荣耀五排上分 │ ✕ │ │ │ │ │ │ │ │返回│ 小明 · 👁 12.5万 │关闭│ │ │ │ │ │ │ └────┘ └────┘ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 弹幕显示区域 (左侧, 宽度40%) │ │ │ │ │ │ │ │ │ │ │ │ ┌────────────────────────────────────┐ │ │ │ │ │ │ │ 小明: 主播打得真好! │ │ │ │ │ │ │ └────────────────────────────────────┘ │ │ │ │ │ │ ┌────────────────────────────────────┐ │ │ │ │ │ │ │ 小红: 666666 │ │ │ │ │ │ │ └────────────────────────────────────┘ │ │ │ │ │ │ ┌────────────────────────────────────┐ │ │ │ │ │ │ │ 🎁 小李 送出 爱心x10 │ │ │ │ │ │ │ └────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 底部控制栏 (半透明, 自动隐藏) │ │ │ │ │ │ ┌──────────────────────────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────────┐ │ │ │ │ │ │ │ 说点什么... │ │ 💬 │ │ 🎁 │ │ 🔊 │ │ ⛶ │ │ ↗ │ │ + 关注 │ │ │ │ │ │ │ │ (弹幕输入) │ │弹幕│ │礼物│ │音量│ │竖屏│ │分享│ │ │ │ │ │ │ │ │ └──────────────────────────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────────┘ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────┘ ``` **横屏模式交互说明:** - 点击屏幕中央:显示/隐藏控制栏(3秒后自动隐藏) - 双击屏幕:暂停/播放 - 左右滑动:调节进度(仅回放模式) - 上下滑动左侧:调节亮度 - 上下滑动右侧:调节音量 - 弹幕区域可拖拽调整位置 #### 13.1.4 礼物面板界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ (直播间画面, 半透明遮罩) │ │ │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 礼物面板 (底部弹窗, 高度55%, 圆角顶部16dp) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 顶部信息栏 │ │ │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ │ │ 🎁 礼物 💰 余额: 1280 │ │ │ │ │ │ │ │ ┌──────────┐ │ │ │ │ │ │ │ │ │ 充值 > │ │ │ │ │ │ │ │ │ └──────────┘ │ │ │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 礼物分类Tab │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ 热门 │ │ 浪漫 │ │ 豪华 │ │ 特效 │ │ │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 礼物列表 (网格布局, 4列, 可滚动) │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ ❤️ │ │ 🌹 │ │ 💋 │ │ 🍭 │ │ │ │ │ │ │ │ 爱心 │ │ 玫瑰 │ │ 么么 │ │ 棒棒糖│ │ │ │ │ │ │ │ 1金币 │ │ 5金币 │ │ 10金币│ │ 20金币│ │ │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ │ │ │ │ │边框红色│ │ │ │ │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ 🎁 │ │ 🚗 │ │ 🚀 │ │ 🏆 │ │ │ │ │ │ │ │ 礼盒 │ │ 跑车 │ │ 火箭 │ │ 奖杯 │ │ │ │ │ │ │ │ 50金币│ │ 100金币│ │ 500金币│ │1000金币│ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ 👑 │ │ 🏰 │ │ 🎆 │ │ 🌈 │ │ │ │ │ │ │ │ 皇冠 │ │ 城堡 │ │ 烟花 │ │ 彩虹 │ │ │ │ │ │ │ │2000金币│ │5000金币│ │9999金币│ │ 52000 │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ │ │ │ │ │ │ (每个礼物: 80x100dp, 圆角8dp, 背景#F8F8F8) │ │ │ │ │ │ (选中: 边框2dp #FF6B6B, 背景#FFF5F5) │ │ │ │ │ │ (礼物图标: 48dp, 居中显示) │ │ │ │ │ │ (礼物名称: 12sp, #333333) │ │ │ │ │ │ (礼物价格: 11sp, #FF6B6B) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 数量选择和发送 │ │ │ │ │ │ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌─────────┐ │ │ │ │ │ │ │ 1 │ │ 10 │ │ 66 │ │ 99 │ │520 │ │ 赠送 │ │ │ │ │ │ │ │选中│ │ │ │ │ │ │ │ │ │ ❤️ x1 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ (1金币) │ │ │ │ │ │ │ └────┘ └────┘ └────┘ └────┘ └────┘ │ #FF6B6B │ │ │ │ │ │ │ └─────────┘ │ │ │ │ │ │ (数量选择: 圆角16dp, 选中背景#FF6B6B白色文字) │ │ │ │ │ │ (赠送按钮: 渐变背景, 圆角24dp, 宽度120dp) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` **礼物连送效果:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ 连送礼物时, 在屏幕左侧显示连击效果: │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 连击显示区 (左侧, 距顶部30%) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────┐ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │头像│ 小明 送出 │ │ │ │ │ │ │32dp│ │ │ │ │ │ │ └────┘ ❤️ 爱心 │ │ │ │ │ │ │ │ │ │ │ │ x 10 │ │ │ │ │ │ (连击数字, 放大动画) │ │ │ │ │ │ (金色渐变, 字号48sp) │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (连击卡片: 半透明黑背景, 圆角12dp) │ │ │ │ (连击数字有缩放弹跳动画) │ │ │ │ (3秒无操作后淡出消失) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────┘ ``` #### 13.1.5 开播准备界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 │ │ │ │ ┌────┐ ┌────────┐ │ │ │ │ │ ← │ 开始直播 │ 开播 │ │ │ │ │ │返回│ │ #FF6B6B│ │ │ │ │ └────┘ └────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 摄像头预览区域 (高度: 50%屏幕) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 摄像头实时预览画面 │ │ │ │ │ │ (前置/后置摄像头) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌────┐ ┌────┐ │ │ │ │ │ │ │ 🔄 │ │ ✨ │ │ │ │ │ │ │ │翻转│ │美颜│ │ │ │ │ │ │ │摄像│ │滤镜│ │ │ │ │ │ │ └ #### 13.1.5 开播准备界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 │ │ │ │ ┌────┐ ┌────────┐ │ │ │ │ │ ← │ 开始直播 │ 开播 │ │ │ │ │ │返回│ │ #FF6B6B│ │ │ │ │ └────┘ └────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 摄像头预览区域 (高度: 280dp, 圆角: 16dp) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 摄像头实时预览画面 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌────┐ ┌────┐ │ │ │ │ │ │ │ 🔄 │ │ ✨ │ │ │ │ │ │ │ │翻转│ │美颜│ │ │ │ │ │ │ │摄像│ │滤镜│ │ │ │ │ │ │ └────┘ └────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 直播设置表单 │ │ │ │ │ │ │ │ 直播封面 * │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ┌──────────┐ │ │ │ │ │ │ │ │ 点击上传封面图片 │ │ │ │ │ │ │ 📷 + │ 建议尺寸: 750x1000 │ │ │ │ │ │ │ │ 支持JPG、PNG格式 │ │ │ │ │ │ │ 120x160 │ │ │ │ │ │ │ │ 圆角8dp │ │ │ │ │ │ │ └──────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 直播标题 * │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 请输入直播标题,吸引更多观众 │ │ │ │ │ │ (最多30字) 0/30 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 直播分类 * │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 请选择分类 ▼ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 直播标签 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ #王者 │ │ #五排 │ │ #上分 │ │ + 添加│ │ │ │ │ │ │ │ 荣耀 │ │ │ │ │ │ 标签 │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ (标签: 圆角16dp, 背景#F5F5F5, 可删除) │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 直播公告 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 输入直播间公告,让观众了解直播内容 │ │ │ │ │ │ │ │ │ │ │ │ 0/200 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 直播设置 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 🔒 仅粉丝可看 ○ 关闭 │ │ │ │ │ ├────────────────────────────────────────────────────┤ │ │ │ │ │ 📍 显示位置 ● 开启 │ │ │ │ │ ├────────────────────────────────────────────────────┤ │ │ │ │ │ 💬 开启弹幕 ● 开启 │ │ │ │ │ ├────────────────────────────────────────────────────┤ │ │ │ │ │ 🎁 开启礼物 ● 开启 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 底部开播按钮 (固定底部) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ 🎬 开始直播 │ │ │ │ │ │ (渐变背景, 圆角24dp) │ │ │ │ │ │ (宽度: 100%-32dp, 高度: 48dp) │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────┘ ``` **分类选择弹窗:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 选择直播分类 (底部弹窗) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ──────────── 选择分类 ──────────── │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 分类网格 (3列) │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ │ 🎮 │ │ 🎤 │ │ 🎵 │ │ │ │ │ │ │ │ 游戏 │ │ 才艺 │ │ 音乐 │ │ │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ │ 🏕️ │ │ 💬 │ │ 📚 │ │ │ │ │ │ │ │ 户外 │ │ 聊天 │ │ 学习 │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ │ 🍳 │ │ 💪 │ │ 🎨 │ │ │ │ │ │ │ │ 美食 │ │ 健身 │ │ 绘画 │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` #### 13.1.6 主播开播中界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 (透明) │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 摄像头画面 (全屏) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 顶部状态栏 (半透明渐变背景) │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ │ │ │ │ 直播信息卡片 │ │ │ │ │ │ │ │ ┌────┐ ┌────────┐ │ │ │ │ │ │ │ │ │头像│ 我的直播间 │ 🔴 LIVE│ │ │ │ │ │ │ │ │ │48dp│ 👁 1,280 在线 │ 02:35:18│ │ │ │ │ │ │ │ │ └────┘ │(直播时长)│ │ │ │ │ │ │ │ │ └────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ │ │ │ │ 实时数据 │ │ │ │ │ │ │ │ 💰 收益: 2,580 │ 👥 新增粉丝: 128 │ │ │ │ │ │ │ │ (半透明背景, 圆角8dp) │ │ │ │ │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 右侧工具栏 (垂直排列) │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ 🔄 │ │ │ │ │ │ │ │翻转│ │ │ │ │ │ │ └────┘ │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ ✨ │ │ │ │ │ │ │ │美颜│ │ │ │ │ │ │ └────┘ │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ 🎵 │ │ │ │ │ │ │ │音乐│ │ │ │ │ │ │ └────┘ │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ 📢 │ │ │ │ │ │ │ │公告│ │ │ │ │ │ │ └────┘ │ │ │ │ │ │ ┌────┐ │ │ │ │ │ │ │ ⚙️ │ │ │ │ │ │ │ │设置│ │ │ │ │ │ │ └────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 弹幕显示区域 (左侧) │ │ │ │ │ │ │ │ │ │ │ │ ┌────────────────────────────────────┐ │ │ │ │ │ │ │ 🎉 欢迎 小明 进入直播间 │ │ │ │ │ │ │ └────────────────────────────────────┘ │ │ │ │ │ │ ┌────────────────────────────────────┐ │ │ │ │ │ │ │ 小红: 主播好漂亮! │ │ │ │ │ │ │ └────────────────────────────────────┘ │ │ │ │ │ │ ┌────────────────────────────────────┐ │ │ │ │ │ │ │ 🎁 小李 送出 玫瑰x10 │ │ │ │ │ │ │ └────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 底部控制栏 (高度: 80dp, 半透明黑背景) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 弹幕输入框 │ │ │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ │ │ 和观众互动一下吧... │ │ │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 功能按钮 │ │ │ │ │ │ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌──────────────────┐ │ │ │ │ │ │ │ 💬 │ │ 🎁 │ │ 👥 │ │ 📊 │ │ 结束直播 │ │ │ │ │ │ │ │弹幕│ │礼物│ │观众│ │数据│ │ (红色按钮) │ │ │ │ │ │ │ │开关│ │记录│ │列表│ │统计│ │ │ │ │ │ │ │ │ └────┘ └────┘ └────┘ └────┘ └──────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` **美颜滤镜面板:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 美颜滤镜面板 (底部弹窗, 高度40%) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ Tab切换 │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ │ 美颜 │ │ 滤镜 │ │ 贴纸 │ │ │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 美颜选项 │ │ │ │ │ │ │ │ │ │ │ │ 磨皮 │ │ │ │ │ │ ○────────────────────●──────────────────○ │ │ │ │ │ │ 0 70 100 │ │ │ │ │ │ │ │ │ │ │ │ 美白 │ │ │ │ │ │ ○──────────────●────────────────────────○ │ │ │ │ │ │ 0 50 100 │ │ │ │ │ │ │ │ │ │ │ │ 瘦脸 │ │ │ │ │ │ ○────────●──────────────────────────────○ │ │ │ │ │ │ 0 30 100 │ │ │ │ │ │ │ │ │ │ │ │ 大眼 │ │ │ │ │ │ ○──────────────────●────────────────────○ │ │ │ │ │ │ 0 60 100 │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ 重置 │ │ 确定 │ │ │ │ │ │ │ └────────┘ └────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` #### 13.1.7 直播结束统计界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 直播结束页面 (背景: 渐变色) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 顶部信息 │ │ │ │ │ │ │ │ │ │ │ │ ┌────────┐ │ │ │ │ │ │ │ 头像 │ │ │ │ │ │ │ │ 80dp │ │ │ │ │ │ │ │ 圆形 │ │ │ │ │ │ │ └────────┘ │ │ │ │ │ │ │ │ │ │ │ │ 本场直播已结束 │ │ │ │ │ │ (标题: 20sp, 白色, 加粗) │ │ │ │ │ │ │ │ │ │ │ │ 直播时长: 02:35:18 │ │ │ │ │ │ (副标题: 14sp, 白色80%) │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 数据统计卡片 (白色背景, 圆角16dp, 阴影) │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ │ │ │ │ 核心数据 (4列) │ │ │ │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ │ │ 12,580 │ │ 2,580 │ │ 128 │ │ 3,560 │ │ │ │ │ │ │ │ │ │ 观看人数│ │ 礼物收益│ │ 新增粉丝│ │ 弹幕数 │ │ │ │ │ │ │ │ │ │ (蓝色) │ │ (金色) │ │ (红色) │ │ (绿色) │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ ───────────────────────────────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ │ │ │ │ 详细数据 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 最高在线人数 1,280 │ │ │ │ │ │ │ │ 平均观看时长 8分32秒 │ │ │ │ │ │ │ │ 点赞数 5,680 │ │ │ │ │ │ │ │ 分享次数 256 │ │ │ │ │ │ │ │ 新增关注 128 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ ───────────────────────────────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────────────┐ │ │ │ │ │ │ │ 礼物榜单 TOP3 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 🥇 小明 送出 1,280 金币 │ │ │ │ │ │ │ │ 🥈 小红 送出 680 金币 │ │ │ │ │ │ │ │ 🥉 小李 送出 320 金币 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 查看完整榜单 > │ │ │ │ │ │ │ └──────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 底部按钮 │ │ │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ │ │ │ │ 分享战绩 │ │ 返回首页 │ │ │ │ │ │ │ │ (白色边框) │ │ (白色背景) │ │ │ │ │ │ │ └──────────────────┘ └──────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` #### 13.1.8 充值界面 ``` ┌────────────────────────────────────────────────────────────────┐ │ 状态栏 │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 顶部导航栏 │ │ │ │ ┌────┐ │ │ │ │ │ ← │ 充值中心 │ │ │ │ │返回│ │ │ │ │ └────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 余额显示卡片 (渐变背景, 圆角16dp) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ 💰 我的金币 │ │ │ │ │ │ │ │ │ │ │ │ 1,280 │ │ │ │ │ │ (余额: 36sp, 白色, 加粗) │ │ │ │ │ │ │ │ │ │ │ │ ┌────────────────────┐ │ │ │ │ │ │ │ 查看明细 > │ │ │ │ │ │ │ └────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 充值选项 (网格布局, 3列) │ │ │ │ │ │ │ │ 选择充值金额: │ │ │ │ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ 60 │ │ 300 │ │ 680 │ │ │ │ │ │ 金币 │ │ 金币 │ │ 金币 │ │ │ │ │ │ ¥6.00 │ │ ¥30.00 │ │ ¥68.00 │ │ │ │ │ │ (选中) │ │ │ │ 🔥 热门 │ │ │ │ │ │ 边框红色 │ │ │ │ │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ 1280 │ │ 3280 │ │ 6480 │ │ │ │ │ │ 金币 │ │ 金币 │ │ 金币 │ │ │ │ │ │ ¥128.00 │ │ ¥328.00 │ │ ¥648.00 │ │ │ │ │ │ 送 100 │ │ 送 300 │ │ 送 680 │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ │ │ │ │ (每个选项: 圆角12dp, 背景#F8F8F8) │ │ │ │ (选中: 边框2dp #FF6B6B, 背景#FFF5F5) │ │ │ │ (热门标签: 右上角, 红色背景) │ │ │ │ (赠送标签: 底部, 金色文字) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 支付方式 │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ┌────┐ ○ │ │ │ │ │ │ │微信│ 微信支付 │ │ │ │ │ │ │支付│ 推荐使用 ● │ │ │ │ │ │ └────┘ │ │ │ │ │ ├────────────────────────────────────────────────────┤ │ │ │ │ │ ┌────┐ ○ │ │ │ │ │ │ │支付│ 支付宝 │ │ │ │ │ │ │ 宝 │ │ │ │ │ │ │ └────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 充值说明 │ │ │ │ • 充值金币仅限平台内使用 │ │ │ │ • 充值后不支持退款 │ │ │ │ • 如有问题请联系客服 │ │ │ │ (说明文字: 12sp, #999999) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────────────┤ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 底部支付按钮 (固定底部) │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ 立即充值 ¥6.00 │ │ │ │ │ │ (渐变背景, 圆角24dp) │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` ### 13.2 管理端直播界面 #### 13.2.1 直播间管理界面 ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 直播管理 - 直播间列表 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 页面标题栏 │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 📺 直播间管理 │ │ │ │ │ │ 管理平台所有直播间,支持实时监控和管理操作 │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 数据统计卡片 │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ 正在直播 │ │ 今日开播 │ │ 总直播间 │ │ 今日收益 │ │ │ │ │ │ 128 │ │ 356 │ │ 12,580 │ │ ¥25,680 │ │ │ │ │ │ 🔴 实时 │ │ │ │ │ │ │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 状态Tab + 搜索筛选 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │全部(12580)│ │直播中(128)│ │已结束 │ │已封禁 │ │ │ │ │ │ (选中) │ │ 🔴 │ │ │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────────┐ │ │ │ │ │ 分类 ▼ │ │ 时间范围 │ │ 主播等级 │ │ 搜索房间/主播 │ │ │ │ │ │ 全部 │ │ 选择日期 │ │ 全部 ▼ │ │ 🔍 │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 直播间卡片列表 (卡片式布局, 4列) │ │ │ │ │ │ │ │ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ ┌────────────┐ │ │ │ │ │ ┌────────────┐ │ │ ┌────────────┐ │ │ ┌────────────┐ │ │ ┌────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 封面预览 │ │ │ │ 封面预览 │ │ │ │ 封面预览 │ │ │ │ 封面 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 预览 │ │ │ │ │ │ │ │ 🔴 直播中 │ │ │ │ 🔴 直播中 │ │ │ │ ⚫ 已结束 │ │ │ │ │ │ │ │ │ │ │ │ 👁 12,580 │ │ │ │ 👁 8,560 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────┘ │ │ └────────────┘ │ │ └────────────┘ │ │ └────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 王者五排上分 │ │ 深夜唱歌陪伴 │ │ 户外探险 │ │ 美食制作 │ │ │ │ │ │ ┌────┐ 小明 │ │ ┌────┐ 小红 │ │ ┌────┐ 小李 │ │ ┌────┐ │ │ │ │ │ │ │头像│ 游戏 │ │ │头像│ 才艺 │ │ │头像│ 户外 │ │ │头像│ │ │ │ │ │ │ └────┘ │ │ └────┘ │ │ └────┘ │ │ └────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌────┐ ┌────┐ │ │ ┌────┐ ┌────┐ │ │ ┌────┐ ┌────┐ │ │ ┌────┐ │ │ │ │ │ │ │进入│ │关闭│ │ │ │进入│ │关闭│ │ │ │查看│ │删除│ │ │ │查看│ │ │ │ │ │ │ └────┘ └────┘ │ │ └────┘ └────┘ │ │ └────┘ └────┘ │ │ └────┘ │ │ │ │ │ └────────────────┘ └────────────────┘ └────────────────┘ └────────────┘ │ │ │ │ │ │ │ │ (直播中: 封面左上角显示红色直播标签和观看人数) │ │ │ │ (已结束: 封面显示灰色遮罩) │ │ │ │ (操作按钮: 进入-蓝色, 关闭-红色, 查看-灰色) │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 分页组件 │ │ │ │ 共 12,580 条记录 < 1 2 3 ... 629 > 每页 20 条 ▼ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` #### 13.2.2 直播监控大屏界面 ``` ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 直播监控大屏 │ ├──────────────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ 顶部状态栏 (深色背景) │ │ │ │ ┌────────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 📺 直播监控中心 2024-12-29 15:30:45 ┌──────────────┐ │ │ │ │ │ │ (实时时间) │ 🔴 监控中 │ │ │ │ │ │ │ └──────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ 实时数据面板 (顶部横向排列) │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌────────────┐│ │ │ │ │ 正在直播 │ │ 总观看人数 │ │ 实时弹幕 │ │ 今日礼物 │ │ 今日收益 ││ │ │ │ │ 128 │ │ 156,890 │ │ 2,580/分 │ │ 12,580 │ │ ¥125,680 ││ │ │ │ │ 🔴 +5 │ │ ↑ 12.5% │ │ ↑ 8.2% │ │ ↑ 15.3% │ │ ↑ 18.6% ││ │ │ │ │ (实时更新) │ │ (对比昨日) │ │ (对比昨日) │ │ (对比昨日) │ │ (对比昨日)││ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └────────────┘│ │ │ └────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────┐ ┌──────────────────────────────────────────┐ │ │ │ 热门直播间监控 (左侧, 宽度60%) │ │ 数据图表区 (右侧, 宽度40%) │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────┐ │ │ ┌──────────────────────────────────────┐ │ │ │ │ │ 直播间视频网格 (2x3) │ │ │ │ 实时观看趋势 (折线图) │ │ │ │ │ │ ┌────────────┐ ┌────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 📈 │ │ │ │ │ │ │ 直播画面1 │ │ 直播画面2 │ │ │ │ │ / \ /\ │ │ │ │ │ │ │ 小明 │ │ 小红 │ │ │ │ │ / \ / \ │ │ │ │ │ │ │ 👁 12,580 │ │ 👁 8,560 │ │ │ │ │ / \ / \ │ │ │ │ │ │ │ │ │ │ │ │ │ │ / \/ \___ │ │ │ │ │ │ └────────────┘ └────────────┘ │ │ │ │ │ │ │ │ │ │ ┌────────────┐ ┌────────────┐ │ │ │ │ 14:00 14:30 15:00 15:30 │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────┘ │ │ │ │ │ │ 直播画面3 │ │ 直播画面4 │ │ │ │ │ │ │ │ │ │ 小李 │ │ 小王 │ │ │ │ ┌──────────────────────────────────────┐ │ │ │ │ │ │ 👁 6,230 │ │ 👁 5,120 │ │ │ │ │ 分类占比 (饼图) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────────┘ └────────────┘ │ │ │ │ 游戏 35% │ │ │ │ │ │ ┌────────────┐ ┌────────────┐ │ │ │ │ ████ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 才艺 ████ 28% │ │ │ │ │ │ │ 直播画面5 │ │ 直播画面6 │ │ │ │ │ 音乐 ███ 20% │ │ │ │ │ │ │ 小张 │ │ 小陈 │ │ │ │ │ 其他 ██ 17% │ │ │ │ │ │ │ 👁 4,890 │ │ 👁 4,560 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────┘ │ │ │ │ │ └────────────┘ └────────────┘ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────────┐ │ │ │ │ │ (点击可放大查看, 双击进入详情) │ │ │ │ 礼物排行榜 │ │ │ │ │ │ (实时显示观看人数) │ │ │ │ │ │ │ │ │ └──────────────────────────────────┘ │ │ │ 🥇 火箭 2,580 个 ¥25,800 │ │ │ │ │ │ │ │ 🥈 跑车 1,280 个 ¥12,800 │ │ │ │ │ ┌──────────────────────────────────┐ │ │ │ 🥉 玫瑰 8,560 个 ¥8,560 │ │ │ │ │ │ 实时弹幕监控 │ │ │ │ 4 爱心 12,580 个 ¥1,258 │ │ │ │ │ │ ┌────────────────────────────┐ │ │ │ │ 5 棒棒糖 6,230 个 ¥1,246 │ │ │ │ │ │ │ 小明: 主播打得好! │ │ │ │ │ │ │ │ │ │ │ │ 小红: 666666 │ │ │ │ └──────────────────────────────────────┘ │ │ │ │ │ │ 小李: 支持主播 │ │ │ │ │ │ │ │ │ │ ⚠️ 小王: [敏感词已过滤] │ │ │ └──────────────────────────────────────────┘ │ │ │ │ │ 小张: 新人求关注 │ │ │ │ │ │ │ │ (实时滚动, 敏感词标红) │ │ │ │ │ │ │ └────────────────────────────┘ │ │ │ │ │ └──────────────────────────────────┘ │ │ │ └──────────────────────────────────────┘ │ │ │ │ ┌────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ 底部告警区域 │ │ │ │ ┌────────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ ⚠️ 告警信息 (3) │ │ │ │ │ │ • 15:28:30 直播间[小明]检测到敏感词,已自动过滤 [查看] [处理]│ │ │ │ │ │ • 15:25:12 直播间[小红]观看人数异常增长,疑似刷量 [查看] [处理]│ │ │ │ │ │ • 15:20:45 直播间[小李]收到多次举报,请及时处理 [查看] [处理]│ │ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────┘ ``` #### 13.2.3 礼物管理界面 ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 直播管理 - 礼物配置 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 页面标题栏 │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 🎁 礼物管理 ┌──────────┐ │ │ │ │ │ │ 配置直播间礼物,包括价格、特效、分成比例 │ + 新增礼物│ │ │ │ │ │ │ └──────────┘ │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 礼物分类Tab │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │全部 (48) │ │热门 (12) │ │浪漫 (10) │ │豪华 (8) │ │特效 (18) │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 礼物列表 (表格形式) │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ ☐ │图标│礼物名称│价格(金币)│分类 │特效类型│主播分成│状态│排序│操作│ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ ☐ │ ❤️ │ 爱心 │ 1 │热门 │ 无 │ 70% │启用│ 1 │编辑│ │ │ │ │ │ │ │ │ │ │ │ │(绿)│ │删除│ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ ☐ │ 🌹 │ 玫瑰 │ 5 │浪漫 │ 飘屏 │ 70% │启用│ 2 │编辑│ │ │ │ │ │ │ │ │ │ │ │ │(绿)│ │删除│ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ ☐ │ 🚀 │ 火箭 │ 500 │豪华 │ 全屏 │ 60% │启用│ 3 │编辑│ │ │ │ │ │ │ │ │ │ │ 动画 │ │(绿)│ │删除│ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ ☐ │ 🏰 │ 城堡 │ 5000 │豪华 │ 全屏 │ 50% │启用│ 4 │编辑│ │ │ │ │ │ │ │ │ │ │ 特效 │ │(绿)│ │删除│ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │ ☐ │ 🎆 │ 烟花 │ 9999 │特效 │ 全屏 │ 50% │禁用│ 5 │编辑│ │ │ │ │ │ │ │ │ │ │ 烟花 │ │(灰)│ │启用│ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (表格支持拖拽排序) │ │ │ │ (特效类型: 无/飘屏/全屏动画/全屏特效) │ │ │ │ (主播分成: 根据礼物价格档位设置不同比例) │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 分页组件 │ │ │ │ 共 48 条记录 < 1 2 3 > 每页 20 条 ▼ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` **新增/编辑礼物弹窗:** ``` ┌────────────────────────────────────────────────────────────────┐ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ 新增礼物 (Dialog, 宽度600px) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 基本信息 │ │ │ │ │ │ │ │ │ │ │ │ 礼物名称 * │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ │ │ 请输入礼物名称 │ │ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ 礼物图标 * │ │ │ │ │ │ ┌──────────┐ │ │ │ │ │ │ │ │ 点击上传礼物图标 │ │ │ │ │ │ │ 📷 + │ 建议尺寸: 200x200 │ │ │ │ │ │ │ │ 支持PNG格式(透明背景) │ │ │ │ │ │ └──────────┘ │ │ │ │ │ │ │ │ │ │ │ │ 礼物价格 * 礼物分类 * │ │ │ │ │ │ ┌────────────────────┐ ┌────────────┐ │ │ │ │ │ │ │ 100 金币│ │ 热门 ▼ │ │ │ │ │ │ │ └────────────────────┘ └────────────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 特效配置 │ │ │ │ │ │ │ │ │ │ │ │ 特效类型 * │ │ │ │ │ │ ○ 无特效 ○ 飘屏 ● 全屏动画 ○ 全屏特效 │ │ │ │ │ │ │ │ │ │ │ │ 特效文件 │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ │ │ 点击上传特效文件 (支持SVGA/Lottie) │ │ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ 特效时长 │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ │ │ 3 秒 │ │ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 分成配置 │ │ │ │ │ │ │ │ │ │ │ │ 主播分成比例 │ │ │ │ │ │ ○────────────────────●──────────────────○ │ │ │ │ │ │ 0% 70% 100% │ │ │ │ │ │ │ │ │ │ │ │ 平台收益: 30% │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ 其他设置 │ │ │ │ │ │ │ │ │ │ │ │ 排序 状态 │ │ │ │ │ │ ┌────────────────┐ ○ 启用 ● 禁用 │ │ │ │ │ │ │ 0 ▲ ▼│ │ │ │ │ │ │ └────────────────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ │ │ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ 取消 │ │ 确定 │ │ │ │ │ │ │ └────────┘ └────────┘ │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────┘ ``` #### 13.2.4 主播管理界面 ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 直播管理 - 主播管理 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 页面标题栏 │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 👤 主播管理 │ │ │ │ │ │ 管理平台主播,包括认证审核、等级管理、收益查看 │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 数据统计卡片 │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ 总主播数 │ │ 认证主播 │ │ 待审核 │ │ 今日新增 │ │ │ │ │ │ 5,680 │ │ 3,280 │ │ 56 │ │ 28 │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 搜索筛选栏 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────┐ │ │ │ │ │ 认证状态 │ │ 主播等级 │ │ 直播分类 │ │ 注册时间 │ │ 搜索主播 │ │ │ │ │ │ 全部 ▼ │ │ 全部 ▼ │ │ 全部 ▼ │ │ 选择日期 │ │ 🔍 │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 主播列表 (表格形式) │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │☐│头像│主播昵称│ID │等级│分类│粉丝数 │总收益 │认证状态│操作 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│┌──┐│小明 │100001│Lv.5│游戏│125,680│¥58,900│✅ 已认证│查看 │ │ │ │ │ │ ││头││ │ │ │ │ │ │ │编辑 │ │ │ │ │ │ │└──┘│ │ │ │ │ │ │ │封禁 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│┌──┐│小红 │100002│Lv.4│才艺│89,560 │¥32,500│✅ 已认证│查看 │ │ │ │ │ │ ││头││ │ │ │ │ │ │ │编辑 │ │ │ │ │ │ │└──┘│ │ │ │ │ │ │ │封禁 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│┌──┐│小李 │100003│Lv.2│音乐│12,580 │¥5,680 │⏳ 待审核│查看 │ │ │ │ │ │ ││头││ │ │ │ │ │ │ │审核 │ │ │ │ │ │ │└──┘│ │ │ │ │ │ │ │ │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│┌──┐│小王 │100004│Lv.1│聊天│5,680 │¥1,280 │❌ 未认证│查看 │ │ │ │ │ │ ││头││ │ │ │ │ │ │ │编辑 │ │ │ │ │ │ │└──┘│ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ (认证状态: 已认证-绿色, 待审核-橙色, 未认证-灰色, 已封禁-红色) │ │ │ │ (等级: Lv.1-Lv.10, 根据直播时长和收益计算) │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` #### 13.2.5 弹幕管理界面 ``` ┌────────────────────────────────────────────────────────────────────────────────┐ │ 管理端 - 直播管理 - 弹幕管理 │ ├────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ Tab切换 │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ │ │ │ │ 💬 弹幕记录 │ │ 🚫 敏感词管理 │ │ ⚙️ 弹幕设置 │ │ │ │ │ │ (选中) │ │ │ │ │ │ │ │ │ └──────────────────┘ └──────────────────┘ └──────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 弹幕记录列表 │ │ │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────────┐ │ │ │ │ │ 直播间 │ │ 时间范围 │ │ 状态 │ │ 搜索弹幕内容 │ │ │ │ │ │ 全部 ▼ │ │ 选择日期 │ │ 全部 ▼ │ │ 🔍 │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └────────────────────┘ │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │☐│时间 │直播间 │用户 │弹幕内容 │状态 │操作 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│15:30:25 │小明直播间│小红 │主播打得真好! │正常 │删除 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│15:30:18 │小明直播间│小李 │666666 │正常 │删除 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│15:29:55 │小红直播间│小王 │[已过滤]*** │已过滤│恢复 │ │ │ │ │ │ │ │ │ │(原文: xxx) │(红色)│删除 │ │ │ │ │ ├────────────────────────────────────────────────────────────────────┤ │ │ │ │ │☐│15:29:30 │小红直播间│小张 │支持主播! │正常 │删除 │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ 敏感词管理 (切换Tab后显示) │ │ │ │ │ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ 敏感词列表 ┌──────────┐ │ │ │ │ │ │ │ + 添加 │ │ │ │ │ │ │ ┌────────────────────────────────────────────────┐ └──────────┘ │ │ │ │ │ │ │ 敏感词 │ 替换为 │ 类型 │ 操作 │ │ │ │ │ │ │ ├────────────────────────────────────────────────┤ │ │ │ │ │ │ │ xxx │ *** │ 违规词 │ 编辑 | 删除 │ │ │ │ │ │ │ │ yyy │ *** │ 广告词 │ 编辑 | 删除 │ │ │ │ │ │ │ │ zzz │ [已屏蔽] │ 政治敏感 │ 编辑 | 删除 │ │ │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ 批量导入: ┌────────────────────────────────────────┐ │ │ │ │ │ │ │ 点击上传敏感词文件 (支持txt, 每行一个) │ │ │ │ │ │ │ └────────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────────────┘ ``` ### 13.3 直播模块交互流程 #### 13.3.1 观众观看直播流程 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 观众观看直播交互流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 移动端 后端 管理端 │ │ │ │ │ │ │ │ 1. 点击直播间卡片 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 2. 获取房间详情 │ │ │ │ │ 获取播放地址 │ │ │ │ │ 检查用户权限 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 3. 返回房间信息+播放地址 │ │ │ │ │ │ │ │ │ │ 4. 初始化播放器 │ │ │ │ │ 连接视频流 │ │ │ │ │ 显示直播画面 │ │ │ │ │ │ │ │ │ │ 5. 建立WebSocket连接 │ │ │ │ │ ═══════════════════════════│ │ │ │ │ │ 6. 加入房间 │ │ │ │ │ 更新在线人数 │ │ │ │ │ 推送进入消息 │ │ │ │ ◀═══════════════════════════│ │ │ │ │ 7. 收到欢迎消息 │ │ │ │ │ 显示在弹幕区 │ │ │ │ │ │ │ │ │ │ 8. 发送弹幕 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 9. 敏感词过滤 │ │ │ │ │ 广播给房间用户 │ │ │ │ ◀═══════════════════════════│ │ │ │ │ 10. 收到弹幕推送 │ │ │ │ │ 显示弹幕动画 │ │ │ │ │ │ │ │ │ │ 11. 发送礼物 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 12. 校验余额 │ │ │ │ │ 扣除金币 │ │ │ │ │ 增加主播收益 │ │ │ │ │ 记录流水 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 13. 返回发送成功 │ │ │ │ │ │ │ │ │ │ │ 14. 广播礼物特效 │ │ │ │ ◀═══════════════════════════│ (WebSocket) │ │ │ │ 15. 播放礼物动画 │ │ │ │ │ │ │ │ │ │ 16. 退出直播间 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 17. 离开房间 │ │ │ │ │ 更新在线人数 │ │ │ │ │ 断开WebSocket │ │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` #### 13.3.2 主播开播流程 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 主播开播交互流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 移动端 后端 管理端 │ │ │ │ │ │ │ │ 1. 点击开播按钮 │ │ │ │ │ 进入开播准备页 │ │ │ │ │ │ │ │ │ │ 2. 请求摄像头权限 │ │ │ │ │ 开启摄像头预览 │ │ │ │ │ │ │ │ │ │ 3. 上传直播封面 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 4. 保存封面到OSS │ │ │ │ ◀───────────────────────── │ 返回封面URL │ │ │ │ 5. 显示封面预览 │ │ │ │ │ │ │ │ │ │ 6. 填写直播信息 │ │ │ │ │ 标题/分类/标签 │ │ │ │ │ │ │ │ │ │ 7. 点击开始直播 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 8. 创建直播间 │ │ │ │ │ 生成推流地址 │ │ │ │ │ 初始化房间状态 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 9. 返回推流地址 │ │ │ │ │ │ │ │ │ │ 10. 初始化推流SDK │ │ │ │ │ 开始推流 │ │ │ │ │ 进入直播中状态 │ │ │ │ │ │ │ │ │ │ 11. 建立WebSocket连接 │ │ │ │ │ ═══════════════════════════│ │ │ │ │ │ 12. 主播上线 │ │ │ │ │ 更新房间状态 │ │ │ │ │ │ │ │ │ │ 13. 推送开播通知 ─────────▶ │ │ │ │ │ 给关注的粉丝 │ 14.可查│ │ │ │ │ 看 │ │ │ │ │ 直播 │ │ │ 15. 收到弹幕/礼物 │ │ │ │ │ ◀═══════════════════════════│ │ │ │ │ 16. 显示弹幕/礼物动画 │ │ │ │ │ │ │ │ │ │ 17. 点击结束直播 │ │ │ │ │ ─────────────────────────▶ │ │ │ │ │ │ 18. 停止推流 │ │ │ │ │ 关闭房间 │ │ │ │ │ 统计直播数据 │ │ │ │ ◀───────────────────────── │ │ │ │ │ 19. 显示直播统计页面 │ │ │ │ │ │ │ │ │ │ │ 20. 记录直播日志 ─────────▶ │ │ │ │ │ │ 21.可查│ │ │ │ │ 看 │ │ │ │ │ 记录 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ ``` ### 12.3 界面设计规范汇总