7.5 KiB
多语言AI资讯系统 (Multilingual AI Information System)
基于 uni-app-x (UTS Android) 平台开发的多语言AI资讯系统,严格遵循 UTS Android 开发规范。 页面生成到 /pages/mt/下面,可以按照 普通用户,admin,方式分类,普通用户也具有编辑自己作品功能,admin更具备全局掌控功能。重要的是,必须要支持i18n,支持大小屏处理。 i18n 可以参考/pages/admin/user-management.uvue下的使用 大小屏的设计也可以参考/pages/admin/user-management.uvue下的使用,不过,我觉得你应该有更科学的方法更好
系统特性
核心功能
- 🌍 多语言支持: 支持中文、英文、日文、韩文等多种语言
- 🤖 AI助手: 集成智能聊天助手,提供内容推荐和分析
- 🔍 智能搜索: 支持关键词搜索、分类筛选、高级过滤
- 📱 响应式设计: 兼容大屏和小屏设备,自适应布局
- ⚡ 高性能: 基于 UTSJSONObject 优化,确保流畅体验
- 📊 数据分析: 内容质量评分、用户行为分析
技术特点
-
严格遵循 UTS Android 开发规范
-
全部使用 supa.executeAs(T) 作为核心数据结构 参考aksupa.uts
-
与 Supabase 数据库深度集成
-
支持实时数据同步和离线缓存
-
模块化设计,易于扩展和维护
Uts生成规则
表单优先用form. 跟template交互的变量尽量用1维的变量 不要用foreach,不要用map,不要用safeget,只要utsjsonobject就好了 都用utsjsonobject 了,把safeget 这些必要性不大的函数都去掉,以utsjsonobject为核心 用for解析的数组,最好用Array .不要用简写[] uts android不支持picker,用picker-view,或者uni.showactionsheet.一维的优先用uni.showactionsheet. uts android不支持undefined uts 中的变量声明使用 let 和 const,不能使用 var。 uts 对判断只接受boolean类型,所以要用 !==null之类的来判断空 uts不支持 Intersection Type is not supported. uts 中,只适合转 type,不适合使用 interface。因为 interface 在 kotlin 和 swift 中另有不同。 for 循环里面的i要指定类型为Int ,如:for (let i:Int = 0; i < byteLen; i++) ||表示逻辑或,&&表示逻辑与,!表示逻辑非,??表示空值合并运算符(当左侧为null或undefined时返回右侧值) uts在 if里面只接受 boolean类型的值,不能是其他类型的值,否则会报错。 Index Signature is not supported uts不支持undefined类型,undefined类型的变量会被当做null处理。 uts android对map的支持不够好,用for这种方式来代替。 uts android 对类型要求比较严格,对属性的推断也比较严格,多重推断用as ...来确认类型, css只支持部分属性,不能使用复杂的选择器和伪类。 只支持display: flex; 不支持gap; 不支持 display:grid; 不支持 calc(); scroll-view 在 uni-app-x中不是用 scroll-y=true 。而是要用 direction="vertical"
不支持table,grid,grid-template-columns;
property value calc(33.33% - 10px) is not supported for min-width (supported values are: number|pixel)
ts的 为空则使用默认值的语法在uts中不能用 ||,要用 ?? 来代替,但不要直接全部替换,因为逻辑与还是 ||。
uts android不支持!在变量前面的判断空方式,要用 != null 来代替。
picker-view的事件 UniPickerViewChangeEvent
css:
[APP-ANDROID] 不支持伪类选择器
[APP-IOS] 不支持伪类选择器
[APP-ANDROID] 不支持的单位: 'vh'
[APP-IOS] 不支持的单位: 'vh'
css不支持 gap;
WARNING: backdrop-filter is not a standard property name (may not be supported)
ERROR: Selector .login-button[disabled] is not supported. uvue only support classname selector
ERROR: property value 100% is not supported for min-height (supported values are: number|pixel)
[plugin:uni:app-uvue-css] ERROR: property value all is not supported for transition-property (supported values are: css property)
用 utils/utis 下的 UTSJSONObject 做类型转换
时间获取用uni_modules/lime-date-time-picker
页面功能详解
1. 主页面 (index.uvue)
- 分类导航: 水平滚动的分类标签,支持全部/各分类切换
- 内容列表: 瀑布流式布局,展示标题、摘要、作者等信息
- 精选推荐: 高质量内容推荐区域
- 语言选择: 弹窗式语言选择器
- 实时统计: 显示总内容数、发布数、趋势等统计信息
- 响应式布局: 大屏2列,小屏1列自适应
2. 详情页面 (detail.uvue)
- 内容展示: 支持原文和多语言翻译切换
- 质量指标: 显示内容质量评分和可视化指示器
- 交互功能: 点赞、分享、收藏等社交功能
- 相关推荐: 基于内容相似度的智能推荐
- 标签导航: 点击标签跳转到相关搜索
- AI助手入口: 浮动按钮快速访问AI助手
视频页面
仿抖音的swiper方式,支持弹幕
3. 搜索页面 (search.uvue)
- 智能搜索: 支持标题、内容、标签等多维度搜索
- 高级筛选: 分类、语言、质量、时间等多条件筛选
- 搜索建议: 实时搜索建议和自动补全
- 历史记录: 搜索历史管理和快速重用
- 热门搜索: 展示热门搜索词和趋势
- 结果排序: 支持相关度、时间、质量等多种排序
4. AI助手页面 (chat.uvue)
- 智能对话: 支持自然语言交互
- 内容推荐: 基于用户偏好的个性化推荐
- 快速操作: 预设常用问题和快捷操作
- 会话管理: 支持多会话和历史记录
- 消息操作: 复制、点赞、反馈等消息交互
- 上下文理解: 结合当前浏览内容提供相关建议
5. 设置页面 (settings.uvue)
- 语言偏好: 界面语言和内容语言偏好设置
- 内容偏好: 感兴趣的分类、阅读模式、字体大小
- 通知设置: 推送通知、提醒频率等配置
- 隐私安全: 数据使用、隐私保护相关设置
- 账户管理: 个人信息编辑和账户设置
- 应用信息: 版本信息、用户协议、反馈渠道
6. 专题列表页面 (topics.uvue)
- 专题分类: 按类型筛选专题(突发事件、热门话题、系列专题等)
- 精选专题: 编辑推荐的高质量专题展示
- 专题预览: 专题封面、标题、描述、内容数量等信息
- 排序筛选: 支持按更新时间、热门度、内容数量等排序
- 快速导航: 一键跳转到专题详情或搜索页面
7. 专题详情页面 (topic-detail.uvue)
- 专题概览: 专题标题、描述、统计信息、封面展示
- 内容组织: 提供时间轴、分类、精选三种内容展示模式
- 时间轴视图: 按时间顺序展示专题相关内容发展脉络
- 分类视图: 按内容类别组织专题文章
- 精选视图: 展示专题中高质量内容
- 相关推荐: 推荐相关专题和扩展阅读
- 互动功能: 分享、订阅、意见反馈等操作
- 评论系统: 专题评论、讨论互动
8. 评论组件 (comments.uvue)
- 多层级评论: 支持评论和回复的树形结构显示
- 评论互动: 点赞、回复、举报、删除等完整功能
- 排序筛选: 支持按时间、热度、回复数等多种排序方式
- 实时更新: 评论数据实时同步,支持分页加载
- 内容审核: 评论状态管理和内容过滤机制
- 用户权限: 根据用户身份显示不同操作权限
- 响应式设计: 适配不同屏幕尺寸的评论界面