4668 lines
439 KiB
Markdown
4668 lines
439 KiB
Markdown
# 直播平台双端交互逻辑设计报告
|
||
|
||
> 生成时间: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> │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ 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 界面设计规范汇总
|