Initial commit of akmon project

This commit is contained in:
2026-01-20 08:04:15 +08:00
commit 77a2bab985
1309 changed files with 343305 additions and 0 deletions

View 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种内容类型文章、视频、音频、图片
- ✅ 统一的用户交互系统(点赞、收藏、分享)
- ✅ 完整的评论系统
- ✅ 弹幕系统(视频+音频)
- ✅ 智能标签系统(图片)
- ✅ 详细的用户行为追踪
- ✅ 灵活的权限控制
这为构建一个全功能的多媒体内容平台奠定了坚实的基础。