Files
akmon/pages/info/README.md
2026-01-20 08:04:15 +08:00

15 KiB
Raw Blame History

多语言AI资讯系统 (Multilingual AI Information System)

基于 uni-app-x (UTS Android) 平台开发的多语言AI资讯系统严格遵循 UTS Android 开发规范。

系统特性

核心功能

  • 多语言支持: 支持中文、英文、日文、韩文等多种语言
  • AI助手: 集成智能聊天助手,提供内容推荐和分析
  • 智能搜索: 支持关键词搜索、分类筛选、高级过滤
  • 响应式设计: 兼容大屏和小屏设备,自适应布局
  • 高性能: 基于 UTSJSONObject 优化,确保流畅体验
  • 数据分析: 内容质量评分、用户行为分析

技术特点

  • 严格遵循 UTS Android 开发规范
  • 全部使用 UTSJSONObject 作为核心数据结构
  • 与 Supabase 数据库深度集成
  • 支持实时数据同步和离线缓存
  • 模块化设计,易于扩展和维护

文件结构

pages/info/
├── index.uvue          # 主页面 - 资讯列表、分类导航、精选推荐
├── detail.uvue         # 详情页面 - 内容展示、多语言切换、相关推荐、评论互动
├── search.uvue         # 搜索页面 - 智能搜索、筛选、历史记录
├── chat.uvue           # AI助手页面 - 智能对话、内容推荐
├── settings.uvue       # 设置页面 - 个人偏好、语言设置、通知配置
├── topics.uvue         # 专题列表页面 - 专题分类、精选专题、热门专题
├── topic-detail.uvue   # 专题详情页面 - 专题内容、时间轴、相关推荐、评论互动
├── comments.uvue       # 评论组件 - 多层级评论、回复、点赞、举报功能
├── types.uts           # 类型定义 - 所有数据结构和工具函数
├── test-utils.uts      # 测试工具 - 功能验证和性能测试
├── index-backup.uvue   # 原始备份文件
└── README.md          # 项目文档

页面功能详解

1. 主页面 (index.uvue)

  • 分类导航: 水平滚动的分类标签,支持全部/各分类切换
  • 内容列表: 瀑布流式布局,展示标题、摘要、作者等信息
  • 精选推荐: 高质量内容推荐区域
  • 语言选择: 弹窗式语言选择器
  • 实时统计: 显示总内容数、发布数、趋势等统计信息
  • 响应式布局: 大屏2列小屏1列自适应

2. 详情页面 (detail.uvue)

  • 内容展示: 支持原文和多语言翻译切换
  • 质量指标: 显示内容质量评分和可视化指示器
  • 交互功能: 点赞、分享、收藏等社交功能
  • 相关推荐: 基于内容相似度的智能推荐
  • 标签导航: 点击标签跳转到相关搜索
  • AI助手入口: 浮动按钮快速访问AI助手

3. 搜索页面 (search.uvue)

  • 智能搜索: 支持标题、内容、标签等多维度搜索
  • 高级筛选: 分类、语言、质量、时间等多条件筛选
  • 搜索建议: 实时搜索建议和自动补全
  • 历史记录: 搜索历史管理和快速重用
  • 热门搜索: 展示热门搜索词和趋势
  • 结果排序: 支持相关度、时间、质量等多种排序

4. AI助手页面 (chat.uvue)

  • 智能对话: 支持自然语言交互
  • 内容推荐: 基于用户偏好的个性化推荐
  • 快速操作: 预设常用问题和快捷操作
  • 会话管理: 支持多会话和历史记录
  • 消息操作: 复制、点赞、反馈等消息交互
  • 上下文理解: 结合当前浏览内容提供相关建议

5. 设置页面 (settings.uvue)

  • 语言偏好: 界面语言和内容语言偏好设置
  • 内容偏好: 感兴趣的分类、阅读模式、字体大小
  • 通知设置: 推送通知、提醒频率等配置
  • 隐私安全: 数据使用、隐私保护相关设置
  • 账户管理: 个人信息编辑和账户设置
  • 应用信息: 版本信息、用户协议、反馈渠道

6. 专题列表页面 (topics.uvue)

  • 专题分类: 按类型筛选专题(突发事件、热门话题、系列专题等)
  • 精选专题: 编辑推荐的高质量专题展示
  • 专题预览: 专题封面、标题、描述、内容数量等信息
  • 排序筛选: 支持按更新时间、热门度、内容数量等排序
  • 快速导航: 一键跳转到专题详情或搜索页面

7. 专题详情页面 (topic-detail.uvue)

  • 专题概览: 专题标题、描述、统计信息、封面展示
  • 内容组织: 提供时间轴、分类、精选三种内容展示模式
  • 时间轴视图: 按时间顺序展示专题相关内容发展脉络
  • 分类视图: 按内容类别组织专题文章
  • 精选视图: 展示专题中高质量内容
  • 相关推荐: 推荐相关专题和扩展阅读
  • 互动功能: 分享、订阅、意见反馈等操作
  • 评论系统: 专题评论、讨论互动

8. 评论组件 (comments.uvue)

  • 多层级评论: 支持评论和回复的树形结构显示
  • 评论互动: 点赞、回复、举报、删除等完整功能
  • 排序筛选: 支持按时间、热度、回复数等多种排序方式
  • 实时更新: 评论数据实时同步,支持分页加载
  • 内容审核: 评论状态管理和内容过滤机制
  • 用户权限: 根据用户身份显示不同操作权限
  • 响应式设计: 适配不同屏幕尺寸的评论界面

数据结构

核心数据类型 (基于 UTSJSONObject)

// 内容数据
export type InfoContent = UTSJSONObject
// 字段: id, title, content, summary, author, published_at, quality_score, 
//       view_count, like_count, share_count, original_language, source_url, tags

// 翻译数据
export type TranslationData = UTSJSONObject
// 字段: id, content_id, language_id, title, content, summary, 
//       human_verified, quality_score, created_at

// 分类数据
export type CategoryData = UTSJSONObject
// 字段: id, name_key, display_order, is_active, icon, color

// 专题数据
export type TopicData = UTSJSONObject
// 字段: id, title, description, topic_type, status, cover_image_url,
//       content_count, view_count, created_at, updated_at

// 专题内容关联
export type TopicContentData = UTSJSONObject
// 字段: id, topic_id, content_id, display_order, editor_note, created_at

// 评论数据
export type CommentData = UTSJSONObject
// 字段: id, target_type, target_id, parent_id, author_id, author_name, 
//       author_avatar, content, status, like_count, reply_count, level,
//       thread_path, is_liked, is_author, created_at, updated_at

// 评论回复数据
export type CommentReplyData = UTSJSONObject
// 字段: id, comment_id, author_id, author_name, target_name, content,
//       like_count, is_liked, is_author, created_at

// 聊天消息
export type ChatMessageData = UTSJSONObject
// 字段: id, session_id, type, content, created_at, metadata

// 用户设置
export type UserSettingsData = UTSJSONObject
// 字段: user_id, interface_language, preferred_languages, preferred_categories,
//       auto_translate, notification_enabled, reading_mode, font_size, theme

工具函数

// 内容数据获取
getContentId(), getContentTitle(), getContentSummary(), getContentContent()
getContentAuthor(), getContentPublishedAt(), getContentQualityScore()
getContentViewCount(), getContentLikeCount(), getContentShareCount()
getContentOriginalLanguage(), getContentSourceUrl(), getContentTags()

// 时间格式化
formatDateTime(), formatRelativeTime()

// 质量评分
getQualityScoreText(), getQualityScoreColor()

// 分类和语言
getCategoryDisplayName(), getLanguageName()

技术规范

UTS Android 开发规范遵循

  1. 变量声明: 使用 letconst,避免 var
  2. 类型系统: 使用 type 而非 interface,避免复杂类型嵌套
  3. 数据结构: 全部基于 UTSJSONObject,避免 safeGet 等函数
  4. 循环遍历: 使用 for 循环,避免 forEachmap
  5. 条件判断: 使用 !== null 而非 ! 操作符
  6. 空值处理: 使用 ?? 而非 || 进行默认值设置
  7. CSS限制: 只支持 display: flex,不支持 gridgapcalc()

数据交互规范

  1. Supabase集成: 使用 supadb 组件进行数据交互
  2. 响应式状态: 使用 ref()computed() 管理状态
  3. 生命周期: 合理使用 onMounted()onUnmounted()
  4. 错误处理: 统一的错误处理和用户反馈机制

UI/UX 设计规范

  1. 响应式设计: 大屏(>768px)和小屏(<768px)自适应
  2. 色彩系统: 统一的色彩规范和主题支持
  3. 交互反馈: 加载状态、错误提示、成功反馈
  4. 无障碍支持: 语义化标签和清晰的视觉层次

性能优化

数据处理优化

  • 使用 UTSJSONObject 避免类型转换开销
  • 实现数据分页和虚拟滚动
  • 合理的缓存策略和数据预加载

渲染性能优化

  • 使用 v-if 而非 v-show 控制渲染
  • 避免深层嵌套和复杂计算属性
  • 合理使用 key 优化列表渲染

内存管理

  • 及时清理事件监听器和定时器
  • 避免内存泄漏和循环引用
  • 合理的组件生命周期管理

测试验证

功能测试

  • 使用 test-utils.uts 进行单元测试
  • 验证数据结构和工具函数正确性
  • 模拟用户操作和边界条件测试

性能测试

  • 大数据量处理性能测试
  • 内存使用和渲染性能监控
  • 网络请求和响应时间优化

兼容性测试

  • 不同屏幕尺寸适配测试
  • Android 版本兼容性验证
  • 多语言显示和交互测试

部署和维护

开发环境

  • HBuilderX 3.8+
  • uni-app-x 框架
  • Supabase 数据库

构建和部署

  • Android APK 打包
  • 性能监控和错误报告
  • 版本更新和热修复机制

数据库维护

  • Supabase 表结构管理
  • 数据备份和恢复
  • 性能监控和优化

扩展计划

功能扩展

  • 离线阅读支持
  • 音频朗读功能
  • 内容评论系统
  • 社交分享集成
  • 个性化推荐算法优化

技术升级

  • PWA 支持
  • 深色模式完善
  • 无障碍功能增强
  • 性能监控仪表板

评论系统架构

评论数据模型

评论系统采用树形结构设计,支持多层级嵌套回复:

-- 评论表 (ak_comments)
CREATE TABLE ak_comments (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    target_type VARCHAR(20) NOT NULL,  -- 'content' | 'topic'
    target_id UUID NOT NULL,           -- 目标内容/专题ID
    parent_id UUID,                    -- 父评论ID (NULL表示顶级评论)
    author_id UUID NOT NULL,           -- 评论作者ID
    author_name VARCHAR(100) NOT NULL, -- 作者显示名称
    author_avatar TEXT,                -- 作者头像URL
    content TEXT NOT NULL,             -- 评论内容
    status VARCHAR(20) DEFAULT 'active', -- 评论状态
    like_count INTEGER DEFAULT 0,      -- 点赞数
    reply_count INTEGER DEFAULT 0,     -- 回复数
    level INTEGER DEFAULT 0,           -- 评论层级 (0=顶级, 1=一级回复, ...)
    thread_path TEXT,                  -- 线程路径 (如: "1/5/12")
    created_at TIMESTAMP DEFAULT NOW(),
    updated_at TIMESTAMP DEFAULT NOW()
);

评论功能特性

1. 多层级结构

  • 顶级评论: 直接针对内容/专题的评论
  • 嵌套回复: 支持对评论的回复,形成对话链
  • 层级限制: 最多支持3层嵌套避免过深结构
  • 线程追踪: 通过thread_path字段追踪评论关系

2. 交互功能

  • 点赞系统: 支持评论点赞/取消点赞
  • 回复机制: @用户回复,保持对话连贯性
  • 删除权限: 作者可删除自己的评论
  • 举报功能: 支持6种举报类型的内容审核

3. 内容管理

  • 状态控制: active/hidden/deleted/pending_review/rejected
  • 自动审核: 关键词过滤和AI内容检测
  • 人工审核: 举报内容的人工复审机制
  • 批量操作: 管理员批量处理评论功能

4. 排序和展示

  • 时间排序: 最新/最早评论优先
  • 热度排序: 按点赞数排序
  • 回复排序: 按回复数排序
  • 智能排序: 综合质量和时间的算法排序

评论组件设计

组件特点

  • 高度复用: 同时支持内容评论和专题评论
  • 响应式设计: 适配不同屏幕尺寸
  • 性能优化: 虚拟滚动和分页加载
  • UTS规范: 严格遵循UTS Android开发规范

接口设计

interface CommentProps {
    targetType: 'content' | 'topic'  // 评论目标类型
    targetId: string                 // 目标ID
    userId?: string                  // 当前用户ID
    userName?: string                // 当前用户名
}

状态管理

// 评论列表状态
const commentsList = ref<Array<CommentData>>([])
const loading = ref<boolean>(false)
const hasMore = ref<boolean>(true)

// 交互状态  
const activeReplyId = ref<string>('')      // 当前回复的评论ID
const showCommentInput = ref<boolean>(false) // 显示评论输入框
const commentContent = ref<string>('')      // 评论内容

// 排序和筛选
const currentSort = ref<string>('created_at_desc')
const showSortModal = ref<boolean>(false)

评论业务流程

发表评论流程

  1. 用户点击"写评论"按钮
  2. 显示评论输入框,验证登录状态
  3. 输入评论内容,实时字数统计
  4. 提交评论调用API进行内容检测
  5. 评论状态为pending_review或active
  6. 刷新评论列表,显示新评论

回复评论流程

  1. 点击评论的"回复"按钮
  2. 显示回复输入框,显示@目标用户
  3. 输入回复内容,支持@提及功能
  4. 提交回复建立parent_id关系
  5. 更新父评论的reply_count
  6. 在评论树中正确显示回复

评论审核流程

  1. 自动审核: 关键词过滤、长度检查
  2. AI检测: 违规内容、垃圾信息识别
  3. 人工审核: 举报内容的人工复审
  4. 状态更新: 根据审核结果更新评论状态
  5. 通知机制: 审核结果通知评论作者

评论数据库优化

索引策略

-- 复合索引优化查询性能
CREATE INDEX idx_comments_target ON ak_comments(target_type, target_id, status, created_at);
CREATE INDEX idx_comments_parent ON ak_comments(parent_id, created_at);
CREATE INDEX idx_comments_author ON ak_comments(author_id, created_at);
CREATE INDEX idx_comments_thread ON ak_comments(thread_path);

查询优化

  • 分页查询: 使用cursor-based pagination
  • 预加载: 评论作者信息和点赞状态预加载
  • 缓存策略: 热门评论Redis缓存
  • 读写分离: 评论读取和写入分离优化

评论系统集成

与内容系统集成

  • 内容详情页自动加载评论组件
  • 评论数统计实时更新到内容表
  • 评论质量影响内容推荐算法
  • 热门评论作为内容推荐依据

与用户系统集成

  • 用户评论历史和统计
  • 评论行为分析和画像构建
  • 评论权限和等级管理
  • 评论通知和消息推送

与AI系统集成

  • AI自动生成评论摘要
  • 智能评论推荐和排序
  • 评论情感分析和标签
  • AI辅助内容审核和过滤

联系和支持

如有问题或建议,请联系开发团队:

  • 技术支持: [支持邮箱]
  • 问题反馈: [反馈渠道]
  • 文档更新: [文档地址]

最后更新: 2025年6月 版本: v1.0.0 开发团队: AI资讯系统开发组