Files
xianyan/docs/01_项目总览.md
Developer b6441a8919 api
2026-04-27 23:47:18 +08:00

11 KiB
Raw Permalink Blame History

📚 闲言APP — 项目总览

更新: 2026-04-27 | 版本: v0.23.0 | 当前阶段: Phase 1 核心完成 + Phase 2/5 已归档


一、项目概述

项目 说明
名称 闲言WordsLeisure
Slogan 文字阅读更纯粹
类型 句子阅读 + 壁纸制作 APP
原技术栈 Lua + AndroLua/AppLua 框架65 文件 15000+ 行)
目标技术栈 Flutter 3.24+ / Dart 3.9+ / Riverpod / Drift / go_router
设计规范 iOS 26 Liquid Glass
后端 Supabase迁移自 T1 后端云)

纲领约束

  • 暂不开发注册登录功能(优先级最低)
  • 暂不开消息通知功能(后续可能使用邮箱实现)
  • 所有页面必须使用统一设计系统变量
  • 修改布局必须整体重构,禁止只改局部组件

二、原项目摘要Lua 版)

项目 内容
应用名 字你太美应用程序 / 闲言APP
技术栈 Lua + AndroLua/AppLua65 文件 ~15000 行)
核心文件 soup.lua ≈5500 行(主页面,承载 80% 功能)
后端 T1 后端云aixinbiji.com

关键问题与 Flutter 解决方案

问题 方案
soup.lua 单文件 5500 行 拆分为独立页面 + Provider
爬虫依赖(搜索/句子源) 自建 RESTful API
无类型安全 Dart 强类型 + freezed
本地文件存储 Drift 数据库
无状态管理 Riverpod

Lua → Flutter 映射soup.lua→home+editor页 / str.lua→utils+theme / t1.lua→core/network / favorite.lua→inspiration页


三、关键决策 (ADR)

决策 选择 理由
状态管理 Riverpod 2.5+ 编译时安全 + 依赖注入
路由 go_router 14.0+ 声明式路由 + 深链接
数据库 Drift (SQLite) 类型安全 SQL + 响应式查询
网络层 Dio 5.4+ 拦截器 + 请求取消
UI 风格 iOS 26 Liquid Glass Cupertino 优先 + 液态玻璃效果
底部面板 StupidSimpleGlassSheet 弹簧动画 + 拖拽关闭
Hero 动画 Heroine 弹簧物理效果替代 Hero

四、架构分层

lib/
├── main.dart              # 入口
├── app/
│   ├── app.dart           # MaterialApp.router + GlassTheme + Riverpod
│   └── app_theme.dart     # AppThemeExtension + 日夜双主题
├── core/
│   ├── router/            # go_router + ShellRoute
│   ├── layout/            # AppShell + GlassBottomBar
│   ├── theme/             # 6 套设计令牌
│   ├── network/           # Dio + Interceptor + ApiException
│   ├── storage/           # KvStorage + SecureStorage + Database(4表)
│   └── utils/             # 动画/日志/扩展
├── features/
│   ├── home/              # 首页
│   ├── inspiration/       # 灵感/收藏
│   ├── editor/            # 编辑器 (核心模块)
│   ├── profile/           # 个人中心
│   ├── search/            # 搜索
│   ├── source/            # 来源
│   ├── member/            # 会员
│   └── settings/          # 设置/主题
└── shared/
    └── widgets/           # GlassContainer/Skeleton/EmptyState/BottomSheet

五、开发阶段总览

Phase 内容 状态 优先级
Phase 0 项目基础设施搭建 100% P0
Phase 1 编辑器完善 + 首页句子流 核心完成 P0
Phase 2 内容发现 + 搜索 + 灵感 🔲 未开始 P0
Phase 3 壁纸 + 会员 + 通知 🔲 未开始 P1
Phase 4 设置 + 小组件 + 辅助功能 🔲 未开始 P1
Phase 5 优化 + 测试 + 上线 🔲 未开始 P0

编辑器子Phase: 图层管理 | 3D引擎 核心归档 | 图片处理 核心归档 | 3D修复 (v0.23.0)


六、Phase 0 完成情况

# 任务 状态
0.1 项目目录树 (core/features/shared)
0.2 pubspec.yaml + 版本冲突解决
0.3 设计系统令牌 (颜色/间距/圆角/阴影/字体/Glass)
0.4 主题系统 (AppThemeExtension + 日夜双主题)
0.5 网络层 (Dio + Interceptor + ApiException)
0.6 路由配置 (go_router + ShellRoute)
0.7 本地存储 (KV + SecureStorage + Drift 4表)
0.8 共享组件 (GlassContainer/Skeleton/EmptyState/BottomSheet)
0.9 主入口 + App
0.10 动画库集成 (lottie/confetti/animate_do/custom_refresh)
0.11 Lint 全量修复
0.12 三端权限配置 (Android/HarmonyOS/iOS)

七、Phase 1 进行中 🔄

7.1 已完成

# 任务 状态
1.1 编辑器数据模型 (freezed)
1.2 编辑器 Provider (Riverpod StateNotifier)
1.3 编辑器主页面 (5Tab工具栏)
1.4 文字/背景/效果/水印/图层面板
1.5 模板选择弹窗 (6个预设)
1.6 首页句子流 + Hitokoto API
1.7 灵感/搜索/来源/会员页
1.8 液态玻璃全面迁移
1.9 导出功能 (保存相册/分享/.xycard)
1.10 主题个性化设置页
1.11 迷你编辑器 (极简6项 + 3种部署模式)
1.12 flex_color_picker 鸿蒙适配 (本地化)
1.13 全局黄色双下划线修复 (OHOS平台)
1.14 画布比例切换 (9:16/3:4/1:1/4:3/16:9)
1.15 网格参考线 (三等分法 + 点阵网格)
1.16 图层锁定 (locked字段 + 锁定UI + 拖拽拦截)
1.17 ProEditor重构 (pro_image_editor + FrostedGlass主题)
1.18 液态玻璃贴纸 (liquid_glass_widgets/easy 4种预设)
1.19 SVG贴纸 (flutter_svg 8种本地SVG)
1.20 Lottie动画贴纸 (6种本地动画)
1.21 Google Fonts (15种字体 中6+英9)
1.22 自适应主题色 (adaptive_palette 流体背景)
1.23 水印系统 (平铺/单点 4种预设)
1.24 一言API集成 (HitokotoService 12种类型)
1.25 .xycard导出 (archive压缩/解压)
1.26 自定义颜色选择器 (XianyanColorPicker + flex_color_picker)
1.27 网络贴纸 (6类36张 cached_network_image)
1.28 权限管理 (PermissionService 相机/相册/存储)
1.29 编辑器动画 (flutter_animate入场 + confetti庆祝)
1.30 主题切换 (EditorThemeService system/light/dark)
1.31 数据接收 (EditorDataReceiver)

7.2 进行中 / 待完成

# 任务 状态 优先级
1.32 智能对齐吸附 (SnapHelper + 辅助线) v0.16.0 P1
1.33 取色器 (EyeDropper + 像素读取) v0.16.0 P1
1.34 渐变自定义 (多节点 + 角度编辑器) v0.16.0 P1
1.35 玻璃卡片 WidgetLayer 导出渲染 (RepaintBoundary) v0.16.0 P1
1.36 image 库集成 (高级导出处理) v0.22.0 P2
1.37 flutter_shaders_ui 集成 (Shader 效果贴纸) v0.20.0 P2
1.38 首页句子卡片流完善 🔲 P0
1.39 收藏/历史 Drift 持久化 v0.15.0 P0
1.40 services 目录文件重组 (13 > 8) v0.14.3 P2

八、Phase 2-5 规划概要

Phase 2 — 内容发现 + 搜索 + 灵感

  • 自建句子 API (Supabase Edge Functions)
  • 搜索 API (MeiliSearch)
  • 灵感收藏本地持久化
  • 多句子源切换 + 离线句库

Phase 3 — 壁纸 + 会员 + 通知

  • 必应壁纸模块
  • 会员系统 (Supabase Auth)
  • 通知推送 (邮箱方案)

Phase 4 — 设置 + 小组件 + 辅助

  • 设置页完善
  • 桌面小组件 (home_widget)
  • 数据备份恢复

Phase 5 — 优化 + 测试 + 上线

  • 性能优化 / 全量测试 / 商店上架

九、可扩展功能

优先级 功能 提及次数
5 壁纸编辑器增强 8次
5 句子浏览/卡片流 7次
4 收藏管理 / 搜索 / 主题 / 分享 4-5次
3 会员系统 / 小组件 / 通知推送 3次
2 AI推荐 / 登录注册 2次

十、数据库表 (Drift/SQLite)

表名 用途 状态
sentences 句子缓存
favorites 收藏记录
reading_history 阅读历史
card_templates 卡片模板
user_quotes 个人语录 🔲
search_history 搜索历史 🔲

十一、版本历史 (CHANGELOG 详细记录)

版本 日期 关键变更
v0.23.0 04-27 3D修复统一flutter_3d_controller + 图层模型统一 + pro_editor_bridge拆分 + 3D模型扩展
v0.22.0 04-25 图片压缩+大图预览+裁剪编辑器+图片信息+内存优化
v0.21.0 04-24 3D模型贴纸+3D预览页+平台3D调度
v0.20.0 04-24 图层管理面板+撤销/重做增强+Shader效果
v0.16.0 04-24 WidgetLayer导出+智能对齐+取色器+渐变编辑+操作历史
v0.15.0 04-24 首页句子卡片流+收藏/历史持久化
v0.14.1 04-24 修复编译错误 + Lottie/SVG本地资源下载 + 文档更新
v0.14.0 04-23 ProEditor主编辑器重构 + FrostedGlass主题 + 跨平台适配

完整变更记录见 CHANGELOG.md


十二、归档列表

已完成/已归档的Phase和子功能便于交接和追溯

归档项 版本 完成日期 核心产出 状态
Phase 0 — 基础设施搭建 v0.1.0 2026-04 项目结构+设计系统+网络+存储+路由 100%
Phase 1 — 编辑器核心+首页 v0.9~v0.16 2026-04 ProEditor+贴纸系统+导出+句子流+收藏 核心
编辑器子Phase: 图层管理 v0.20.0 2026-04-24 LayerPanel+UndoRedo+图层CRUD+快照 92%
编辑器子Phase: 3D引擎 v0.21.0 2026-04-24 flutter_3d_controller集成+3D贴纸+预览页 核心71%
编辑器子Phase: 图片处理增强 v0.22.0 2026-04-25 压缩+预览+裁剪+信息读取+内存优化 95%
编辑器子Phase: 3D修复+架构优化 v0.23.0 2026-04-27 统一3D渲染+图层模型统一+bridge拆分+模型扩展 完成
flutter_advanced_canvas_editor 适配 v0.20.0 2026-04-24 LayerManagerService+LayerSnapshotService 已归档
flutter_scene 移除 v0.23.0 2026-04-27 移除useScene分支统一flutter_3d_controller 已归档
flutter_3d_controller 集成 v0.21.0 2026-04-24 Model3DPreviewPage+Sticker3DPanel 已归档
image_size_getter 集成 v0.22.0 2026-04-25 ImageInfoService+ImageInfoPanel 已归档
extended_image 集成 v0.22.0 2026-04-25 ImageCropPage+ExtendedResizeImage 已归档
photo_view 集成 v0.22.0 2026-04-25 ImagePreviewPage+ImageGalleryPage 已归档
flutter_image_compress 集成 v0.22.0 2026-04-25 ImageCompressService 已归档