Initial commit of akmon project
This commit is contained in:
222
MULTIMEDIA_SYSTEM_EXTENSION.md
Normal file
222
MULTIMEDIA_SYSTEM_EXTENSION.md
Normal file
@@ -0,0 +1,222 @@
|
||||
# 多媒体内容管理系统扩展说明
|
||||
|
||||
## 新增功能概述
|
||||
|
||||
在原有视频系统基础上,现已扩展支持音频和图片内容,形成完整的多媒体内容管理系统。
|
||||
|
||||
## 内容类型支持
|
||||
|
||||
### 1. 视频 (video)
|
||||
- ✅ 视频播放和控制
|
||||
- ✅ 弹幕系统
|
||||
- ✅ 播放记录追踪
|
||||
- ✅ 多画质支持
|
||||
|
||||
### 2. 音频 (audio) 🆕
|
||||
- ✅ 音频播放和控制
|
||||
- ✅ 弹幕系统(支持音频弹幕)
|
||||
- ✅ 播放记录追踪
|
||||
- ✅ 音质和编码信息
|
||||
- ✅ 音频封面图
|
||||
|
||||
### 3. 图片 (image) 🆕
|
||||
- ✅ 图片展示和缩放
|
||||
- ✅ 智能标签系统
|
||||
- ✅ 浏览记录追踪
|
||||
- ✅ 多格式支持
|
||||
- ✅ 无障碍访问支持
|
||||
|
||||
### 4. 文章 (article)
|
||||
- ✅ 原有文章功能保持不变
|
||||
|
||||
## 新增数据库表结构
|
||||
|
||||
### 图片标签表 (ak_image_tags)
|
||||
```sql
|
||||
-- 用于图片分类和搜索
|
||||
CREATE TABLE ak_image_tags (
|
||||
content_id UUID, -- 关联图片内容
|
||||
tag_name VARCHAR(50), -- 标签名称
|
||||
tag_type VARCHAR(20), -- 标签来源:user/auto/ai
|
||||
confidence DECIMAL(3,2), -- AI标签置信度
|
||||
created_at TIMESTAMPTZ
|
||||
);
|
||||
```
|
||||
|
||||
### 图片浏览记录表 (ak_image_view_records)
|
||||
```sql
|
||||
-- 图片浏览行为记录
|
||||
CREATE TABLE ak_image_view_records (
|
||||
content_id UUID, -- 关联图片内容
|
||||
user_id UUID, -- 用户ID
|
||||
view_duration INTEGER, -- 浏览时长
|
||||
zoom_level DECIMAL(4,2), -- 缩放级别
|
||||
device_type VARCHAR(20), -- 设备类型
|
||||
created_at TIMESTAMPTZ
|
||||
);
|
||||
```
|
||||
|
||||
## 扩展字段说明
|
||||
|
||||
### ak_contents 表新增字段
|
||||
|
||||
#### 音频相关
|
||||
- `audio_url` - 音频文件URL
|
||||
- `audio_duration` - 音频时长(秒)
|
||||
- `audio_size` - 文件大小(字节)
|
||||
- `audio_format` - 音频格式(mp3, wav, flac等)
|
||||
- `audio_bitrate` - 比特率(kbps)
|
||||
- `audio_sample_rate` - 采样率(Hz)
|
||||
- `audio_cover` - 音频封面图
|
||||
|
||||
#### 图片相关
|
||||
- `image_url` - 图片文件URL
|
||||
- `image_width` - 图片宽度
|
||||
- `image_height` - 图片高度
|
||||
- `image_size` - 文件大小(字节)
|
||||
- `image_format` - 图片格式(jpg, png, webp等)
|
||||
- `image_quality` - 图片质量(original, compressed, thumbnail)
|
||||
- `image_alt_text` - Alt文本(无障碍访问)
|
||||
|
||||
#### 通用字段
|
||||
- `media_metadata` - JSONB格式的额外元数据
|
||||
|
||||
## 查询视图更新
|
||||
|
||||
### 1. 通用多媒体视图
|
||||
```sql
|
||||
-- 查询所有类型内容
|
||||
SELECT * FROM vw_media_content_detail;
|
||||
|
||||
-- 查询特定类型内容
|
||||
SELECT * FROM vw_video_content_detail; -- 视频
|
||||
SELECT * FROM vw_audio_content_detail; -- 音频
|
||||
SELECT * FROM vw_image_content_detail; -- 图片(包含标签)
|
||||
```
|
||||
|
||||
### 2. 新增专用视图
|
||||
```sql
|
||||
-- 热门图片标签
|
||||
SELECT * FROM vw_popular_image_tags;
|
||||
|
||||
-- 用户多媒体消费统计
|
||||
SELECT * FROM vw_user_media_stats;
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
### 音频内容插入
|
||||
```sql
|
||||
INSERT INTO ak_contents (
|
||||
title, content_type, audio_url, audio_duration,
|
||||
audio_format, audio_bitrate, audio_cover
|
||||
) VALUES (
|
||||
'示例音频', 'audio', 'https://example.com/audio.mp3',
|
||||
180, 'mp3', 320, 'https://example.com/cover.jpg'
|
||||
);
|
||||
```
|
||||
|
||||
### 图片内容插入
|
||||
```sql
|
||||
INSERT INTO ak_contents (
|
||||
title, content_type, image_url, image_width,
|
||||
image_height, image_format, image_alt_text
|
||||
) VALUES (
|
||||
'示例图片', 'image', 'https://example.com/image.jpg',
|
||||
1920, 1080, 'jpg', '美丽的风景照片'
|
||||
);
|
||||
```
|
||||
|
||||
### 添加图片标签
|
||||
```sql
|
||||
INSERT INTO ak_image_tags (content_id, tag_name, tag_type)
|
||||
VALUES
|
||||
('image-uuid', '风景', 'user'),
|
||||
('image-uuid', '自然', 'ai');
|
||||
```
|
||||
|
||||
## 前端集成建议
|
||||
|
||||
### 1. 音频播放器页面
|
||||
```typescript
|
||||
// 参考video-player.uvue,创建audio-player.uvue
|
||||
// 支持音频弹幕、播放控制、音质选择等功能
|
||||
```
|
||||
|
||||
### 2. 图片查看器页面
|
||||
```typescript
|
||||
// 创建image-viewer.uvue
|
||||
// 支持缩放、标签展示、浏览记录等功能
|
||||
```
|
||||
|
||||
### 3. 统一媒体播放器
|
||||
```typescript
|
||||
// 创建media-player.uvue
|
||||
// 根据content_type自动选择合适的播放器组件
|
||||
```
|
||||
|
||||
## 多语言支持
|
||||
|
||||
需要在现有i18n文件中添加:
|
||||
|
||||
```typescript
|
||||
// 音频相关
|
||||
"audio": {
|
||||
"play": "播放",
|
||||
"pause": "暂停",
|
||||
"quality": "音质",
|
||||
"bitrate": "比特率"
|
||||
}
|
||||
|
||||
// 图片相关
|
||||
"image": {
|
||||
"zoom": "缩放",
|
||||
"tags": "标签",
|
||||
"addTag": "添加标签",
|
||||
"download": "下载"
|
||||
}
|
||||
```
|
||||
|
||||
## 性能优化建议
|
||||
|
||||
### 1. 图片懒加载
|
||||
- 实现图片懒加载和预加载
|
||||
- 根据设备和网络条件选择合适的图片质量
|
||||
|
||||
### 2. 音频预加载
|
||||
- 实现音频预加载机制
|
||||
- 支持音频格式自适应
|
||||
|
||||
### 3. 缓存策略
|
||||
- 多媒体文件CDN缓存
|
||||
- 标签和元数据本地缓存
|
||||
|
||||
## 扩展功能建议
|
||||
|
||||
### 1. AI功能
|
||||
- 图片自动标签识别
|
||||
- 音频内容转录和搜索
|
||||
- 智能推荐系统
|
||||
|
||||
### 2. 社交功能
|
||||
- 图片/音频评论
|
||||
- 多媒体内容分享
|
||||
- 用户创建的播放列表
|
||||
|
||||
### 3. 管理功能
|
||||
- 批量上传和处理
|
||||
- 内容审核系统
|
||||
- 存储空间管理
|
||||
|
||||
## 总结
|
||||
|
||||
通过这次扩展,系统现在支持:
|
||||
- ✅ 4种内容类型(文章、视频、音频、图片)
|
||||
- ✅ 统一的用户交互系统(点赞、收藏、分享)
|
||||
- ✅ 完整的评论系统
|
||||
- ✅ 弹幕系统(视频+音频)
|
||||
- ✅ 智能标签系统(图片)
|
||||
- ✅ 详细的用户行为追踪
|
||||
- ✅ 灵活的权限控制
|
||||
|
||||
这为构建一个全功能的多媒体内容平台奠定了坚实的基础。
|
||||
Reference in New Issue
Block a user