闲言APP — 编辑器功能清单
创建时间: 2026-04-24
更新时间: 2026-04-27
版本: v0.23.0
关联文档: 07_三方库清单
说明: 本文档由 06_编辑器设计.md 合并而来,涵盖架构、功能、库关联、待开发分析
一、编辑器架构
二、现有功能清单
2.1 核心编辑功能 (8个子编辑器)
| # |
功能 |
用途 |
关联库 |
文件 |
| 1 |
🎨 画笔编辑 |
自由绘制/标注 |
pro_image_editor |
PaintEditor |
| 2 |
✏️ 文字编辑 |
添加/编辑文字层 |
google_fonts, flex_color_picker |
TextEditor |
| 3 |
✂️ 裁剪旋转 |
裁剪/旋转/比例 |
pro_image_editor |
CropRotateEditor |
| 4 |
🎛️ 色调调整 |
亮度/对比度/饱和度等 |
pro_image_editor |
TuneEditor |
| 5 |
🔍 滤镜 |
预设滤镜效果 |
pro_image_editor |
FilterEditor |
| 6 |
💨 模糊 |
高斯模糊调整 |
pro_image_editor |
BlurEditor |
| 7 |
😀 表情 |
Emoji选择器 |
pro_image_editor |
EmojiEditor |
| 8 |
🧩 贴纸 |
自定义贴纸面板 |
(见2.2) |
StickerEditor |
2.2 贴纸系统 (4类)
| # |
类型 |
数量 |
用途 |
关联库 |
文件 |
状态 |
| 1 |
🧊 液态玻璃 |
8种预设 |
毛玻璃卡片贴纸 |
liquid_glass_widgets |
glass_render_service.dart |
✅ |
| 2 |
🫧 轻量玻璃 |
4种预设 |
轻量玻璃形状贴纸 |
liquid_glass_easy |
glass_render_service.dart |
✅ |
| 3 |
🖼 SVG贴纸 |
8种 |
矢量图形贴纸 |
flutter_svg |
pro_editor_bridge.dart |
✅ |
| 4 |
✨ 动画贴纸 |
6种 |
Lottie动画贴纸 |
lottie |
pro_editor_bridge.dart |
✅ |
| 5 |
🌐 网络贴纸 |
6类36张 |
在线贴纸资源 |
cached_network_image |
network_sticker_service.dart |
✅ |
| 6 |
🎨 形状贴纸 |
4种 |
基础几何形状 |
flutter内置 |
pro_editor_bridge.dart |
✅ |
| 7 |
🧊 3D模型贴纸 |
5+种 |
3D模型贴纸+预览 |
flutter_3d_controller |
sticker_3d_panel.dart |
✅ v0.23.0 |
2.3 文字系统
| # |
功能 |
用途 |
关联库 |
文件 |
| 1 |
15种字体 |
中6+英9字体选择 |
google_fonts |
pro_editor_bridge.dart |
| 2 |
颜色选择器 |
色轮+色板+最近使用 |
flex_color_picker |
XianyanColorPicker |
| 3 |
文字样式 |
粗体/斜体/下划线/删除线 |
pro_image_editor |
TextEditor |
| 4 |
文字对齐 |
左/中/右对齐 |
pro_image_editor |
TextEditor |
2.4 导出链路
| # |
功能 |
用途 |
关联库 |
文件 |
| 1 |
保存相册 |
高分辨率PNG保存 |
gal |
export_service.dart |
| 2 |
社交分享 |
系统分享面板 |
share_plus |
export_service.dart |
| 3 |
.xycard导出 |
源文件ZIP格式 |
archive, crypto |
xycard_service.dart |
| 4 |
.xycard导入 |
恢复编辑项目 |
archive, file_picker |
xycard_service.dart |
| 5 |
草稿保存 |
SharedPreferences持久化 |
shared_preferences |
draft_service.dart |
| 6 |
Pro草稿 |
pro_image_editor状态序列化 |
pro_image_editor |
draft_service.dart |
| 7 |
🎬 GIF导出 |
RepaintBoundary逐帧截图→GifEncoder |
image |
gif_export_service.dart |
| 8 |
📸 动态照片导出 |
iOS=Live Photo/Android=Motion Photo |
image |
motion_photo_export_service.dart |
| 9 |
🗜️ 导出压缩 |
JPEG/WebP压缩+质量+尺寸控制 |
flutter_image_compress |
image_compress_service.dart |
2.5 主题与视觉
| # |
功能 |
用途 |
关联库 |
文件 |
| 1 |
3种主题模式 |
system/light/dark |
shared_preferences |
editor_theme_service.dart |
| 2 |
自适应主题色 |
从图片提取调色板 |
adaptive_palette |
adaptive_theme_service.dart |
| 3 |
流体背景 |
渐变背景生成 |
adaptive_palette |
adaptive_theme_service.dart |
| 4 |
Frosted Glass |
毛玻璃UI风格 |
pro_image_editor/frosted_glass |
pro_editor_bridge.dart |
| 5 |
入场动画 |
fade+scale入场 |
flutter_animate |
pro_editor_page.dart |
| 6 |
导出庆祝 |
confetti粒子效果 |
confetti |
pro_editor_page.dart |
2.6 内容与导入
| # |
功能 |
用途 |
关联库 |
文件 |
| 1 |
一言API |
随机句子一键添加 |
dio |
hitokoto_service.dart |
| 2 |
图片导入 |
相册/相机/文件选择+大图预处理+EXIF校正 |
image_picker, file_picker, extended_image |
image_import_service.dart |
| 3 |
权限管理 |
相机/相册/存储权限 |
permission_handler |
permission_service.dart |
| 4 |
水印系统 |
平铺/单点4种预设 |
flutter内置 |
watermark_service.dart |
| 5 |
数据接收 |
路由参数/共享内容 |
flutter内置 |
editor_data_receiver.dart |
2.7 UI交互
| # |
功能 |
用途 |
关联库 |
文件 |
| 1 |
屏幕适配 |
多端响应式 |
flutter_screenutil |
全局 |
| 2 |
Hero转场 |
页面切换动画 |
heroine |
路由层 |
| 3 |
底部面板 |
iOS风格弹窗 |
stupid_simple_sheet |
子面板 |
| 4 |
加载占位 |
shimmer骨架屏 |
shimmer |
加载状态 |
| 5 |
入场动画 |
多种动画效果 |
animate_do |
自定义widgets |
2.8 图片处理 (Phase 5)
| # |
功能 |
用途 |
关联库 |
文件 |
| 1 |
📐 图片尺寸读取 |
导入时读取宽高+EXIF旋转 |
image_size_getter |
image_info_service.dart |
| 2 |
🏷️ 图片格式检测 |
PNG/JPEG/GIF/WebP格式识别 |
image_size_getter |
image_info_service.dart |
| 3 |
🔄 EXIF旋转校正 |
自动检测并校正EXIF旋转 |
image_size_getter, flutter_image_compress |
image_import_service.dart |
| 4 |
ℹ️ 图片信息面板 |
尺寸+格式+旋转+文件大小展示 |
image_size_getter |
image_info_panel.dart |
| 5 |
📏 状态栏图片尺寸 |
编辑器状态栏显示当前图片信息 |
image_size_getter |
editor_status_bar.dart |
| 6 |
🔍 全屏大图预览 |
PhotoView缩放+旋转+双击循环+Hero |
photo_view |
image_preview_page.dart |
| 7 |
🖼️ 多图画廊 |
PhotoViewGallery多图浏览+页码 |
photo_view |
image_preview_page.dart |
| 8 |
✂️ 裁剪编辑器 |
裁剪/旋转/翻转/宽高比/undo/redo |
extended_image |
image_crop_page.dart |
| 9 |
🧠 大图内存优化 |
ExtendedResizeImage降采样+maxBytes |
extended_image |
image_import_service.dart |
| 10 |
🗜️ 导入预处理 |
大图压缩到4096px内+质量保持 |
flutter_image_compress |
image_compress_service.dart |
三、关联库一览
| 库 |
版本 |
编辑器用途 |
集成状态 |
跨平台 |
| pro_image_editor |
本地 |
核心编辑引擎 |
✅ |
全平台 |
| liquid_glass_widgets |
本地 |
液态玻璃贴纸 |
✅ |
全平台 |
| liquid_glass_easy |
本地 |
轻量玻璃贴纸 |
✅ |
全平台 |
| google_fonts |
^6.2.0 |
15种字体 |
✅ |
全平台 |
| flutter_svg |
^2.0.0 |
SVG贴纸 |
✅ |
全平台 |
| lottie |
^3.3.0 |
动画贴纸 |
✅ |
全平台+WASM |
| cached_network_image |
^3.3.0 |
网络贴纸 |
✅ |
全平台 |
| adaptive_palette |
^3.0.0 |
自适应主题色 |
✅ |
全平台 |
| flex_color_picker |
本地 |
颜色选择器 |
✅ |
全平台 |
| gal |
^2.3.0 |
保存相册 |
✅ |
全平台 |
| share_plus |
^8.0.0 |
社交分享 |
✅ |
全平台 |
| archive |
^3.4.0 |
.xycard导出 |
✅ |
全平台 |
| flutter_animate |
^4.5.0 |
入场动画 |
✅ |
全平台 |
| confetti |
^0.8.0 |
导出庆祝 |
✅ |
全平台+WASM |
| image_picker |
^1.2.1 |
相册/相机 |
✅ |
Android+iOS+Web |
| permission_handler |
^11.3.0 |
权限管理 |
✅ |
Android+iOS+Web+Win |
| image |
^4.1.0 |
图片处理 |
✅ |
全平台 |
| flutter_shaders_ui |
^0.1.0 |
Shader效果 |
✅ |
全平台 |
| flutter_scene |
^0.6.0 |
3D GPU渲染 |
❌ 已移除,统一flutter_3d_controller |
macOS+iOS |
| flutter_3d_controller |
^1.3.0 |
3D WebView渲染 |
✅ |
Android+iOS+Web |
| file_picker |
^8.0.7 |
文件选择 |
✅ 备用 |
全平台 |
| image_size_getter |
^2.4.1 |
图片尺寸/格式检测 |
✅ |
全平台 |
| photo_view |
^0.15.0 |
图片缩放查看器 |
✅ |
全平台 |
| extended_image |
^10.0.1 |
增强图片组件+裁剪+内存优化 |
✅ |
全平台 |
| flutter_image_compress |
^2.4.0 |
原生图片压缩 |
✅ |
全平台 |
四、待开发功能分析
4.1 P0 — 核心缺失 (影响基本体验)
| # |
功能 |
说明 |
需要的库 |
预估难度 |
状态 |
| 1 |
首页句子卡片流 |
APP入口核心功能 |
dio + drift |
⭐⭐⭐ |
✅ v0.15.0 |
| 2 |
收藏/历史持久化 |
用户数据保存 |
drift |
⭐⭐ |
✅ v0.15.0 |
4.2 P1 — 编辑器增强 (提升专业度)
| # |
功能 |
说明 |
需要的库 |
预估难度 |
状态 |
| 3 |
WidgetLayer导出渲染 |
玻璃/SVG/Lottie导出为图片 |
image + RepaintBoundary |
⭐⭐⭐⭐ |
✅ v0.16.0 |
| 4 |
智能对齐吸附 |
拖拽时自动对齐+辅助线 |
flutter内置 |
⭐⭐⭐ |
✅ v0.16.0 |
| 5 |
取色器 |
从图片取色+放大镜+HEX |
image库像素读取 |
⭐⭐ |
✅ v0.16.0 |
| 6 |
渐变自定义 |
多节点+角度编辑器 |
flutter内置 |
⭐⭐⭐ |
✅ v0.16.0 |
| 7 |
撤销/重做增强 |
无限撤销+操作历史+树形面板+导出 |
pro内置 |
⭐⭐ |
✅ v0.16.0 |
4.3 P2 — 进阶功能 (差异化竞争力)
| # |
功能 |
说明 |
需要的库 |
预估难度 |
状态 |
| 8 |
Shader效果贴纸 |
flutter_shaders_ui集成 |
flutter_shaders_ui |
⭐⭐⭐ |
✅ v0.20.0 |
| 9 |
高级导出后处理 |
缩放/裁剪/压缩/格式转换 |
image + flutter_image_compress |
⭐⭐ |
✅ v0.22.0 |
| 10 |
模板市场 |
预设模板浏览+一键使用 |
supabase |
⭐⭐⭐⭐ |
⏳ |
| 11 |
批量导出 |
多张卡片批量处理 |
isolate |
⭐⭐⭐ |
⏳ |
| 12 |
图层管理面板 |
可视化图层列表+排序 |
flutter内置 |
⭐⭐ |
✅ v0.20.0 |
| 13 |
🧊 3D模型贴纸 |
3D模型选择+添加到画布 |
flutter_3d_controller |
⭐⭐⭐⭐ |
✅ v0.23.0 统一WebView渲染+集成到编辑器 |
| 14 |
🎮 3D预览页面 |
独立3D模型查看+动画控制 |
flutter_3d_controller |
⭐⭐⭐ |
✅ v0.23.0 路由已注册+真实3D渲染 |
| 15 |
📐 平台3D调度 |
按平台选择3D引擎+降级 |
flutter内置 |
⭐⭐ |
✅ v0.23.0 统一flutter_3d_controller+低端设备检测 |
4.4 P3 — 锦上添花
| # |
功能 |
说明 |
需要的库 |
预估难度 |
状态 |
| 13 |
图片预览缩放 |
pinch-to-zoom预览 |
photo_view |
⭐ |
✅ v0.22.0 |
| 14 |
网络背景图高级缓存 |
大图缓存+手势 |
extended_image |
⭐⭐ |
✅ v0.22.0 |
| 15 |
自定义贴纸导入 |
用户上传本地图片 |
image_picker |
⭐ |
⏳ |
| 16 |
AI辅助排版 |
智能文字布局建议 |
AI API |
⭐⭐⭐⭐⭐ |
⏳ |
五、文件索引
services/ 目录结构 (v0.14.3 重组后)
presentation/ 关键文件
| 文件 |
用途 |
行数 |
| pro_editor_page.dart |
主编辑器页面 |
~800 |
| mini_editor_widget.dart |
迷你编辑器内嵌 |
~300 |
| mini_editor_sheet.dart |
迷你编辑器半屏 |
~250 |
| mini_editor_page.dart |
迷你编辑器全屏 |
~300 |
| draft_list_page.dart |
草稿箱列表 |
~200 |
domain/ 数据模型
| 文件 |
用途 |
| editor_models.dart |
所有编辑器数据模型 (TextLayer/GlassCardLayer/StickerLayer等) |
六、已完成的增强功能 (v0.9.3)
6.1 画布比例切换
CanvasAspectRatio 枚举: 5 种预设
updateCanvasRatio() 等比缩放文字层位置和字号
CanvasRatioBar UI 组件
6.2 网格参考线
showGrid / gridSize 字段
_GridPainter: 三等分线 (粗亮) + 交叉点圆点阵
- NavBar 网格开关按钮 (CupertinoIcons.grid, toggle 高亮)
6.3 图层锁定
TextLayer.locked 字段
toggleLayerLock() 方法
- 图层面板锁图标 (🔒橙色高亮)
- 拖拽拦截: locked 层 onPanUpdate/onPanEnd = null
6.4 首页句子卡片流 (v0.15.0 — Batch 1)
- Hitokoto API 接入 (12种类型筛选)
- Drift 数据库持久化 (收藏/历史/缓存)
- 分类筛选标签栏
- 无限滚动加载
- 离线模式提示
- 收藏页面 + 阅读历史页面
- 路由注册 + 个人中心入口
6.5 编辑器增强 (v0.16.0 — Batch 2)
- WidgetLayer导出渲染 — 玻璃/SVG/Lottie/水印/Emoji预渲染为PNG
- 智能对齐吸附 — 拖拽时自动对齐中心/边缘,支持Text/Glass/Sticker层
- 对齐辅助线 — 青色辅助线实时显示对齐位置
- 取色器增强 — 实时预览+放大镜+HEX色值显示+拖拽拾取
- 渐变编辑器 — 多节点渐变+角度旋转+实时预览+增删节点
- 操作历史记录 — UndoAction类+actionHistory列表+操作描述emoji
- 操作历史面板(树形) — 树形布局+撤销/重做/保存工具栏+点击回档+导出JSON
七、.xycard 卡片样式系统
格式 (ZIP)
设计原则
- 完整还原 — 所有图层属性均可序列化/反序列化
- 可再编辑 — .xycard导入后可继续编辑
- 跨平台 — ZIP格式,Android/iOS/Web通用
- 字体容错 — 缺失字体自动降级到系统字体
- 轻量传输 — 图片压缩 + hash去重
八、编辑器开发路线图
九、归档列表
已完成的功能模块和架构变更,记录版本、核心产出和状态
9.1 功能归档
| 归档项 |
版本 |
完成日期 |
核心产出 |
完成度 |
| 基础编辑器 (画布+文字+背景+导出+模板) |
v0.9.0 |
2026-04 |
EditorPage+Canvas+Export |
100% |
| 迷你编辑器 (3种部署模式) |
v0.9.1 |
2026-04 |
MiniEditorWidget/Sheet/Page |
100% |
| 画布比例+网格+图层锁定 |
v0.9.3 |
2026-04 |
CanvasRatioBar+GridPainter+LayerLock |
100% |
| ProEditor重构 |
v0.14.0 |
2026-04-23 |
ProImageEditor+FrostedGlass |
100% |
| 液态玻璃/SVG/Lottie/字体/水印/一言 |
v0.14.1 |
2026-04-24 |
贴纸系统+内容服务 |
100% |
| 服务目录重组 |
v0.14.3 |
2026-04-24 |
services/ 5个子目录 |
100% |
| WidgetLayer导出+智能对齐+取色器+渐变 |
v0.16.0 |
2026-04-24 |
WidgetLayerRenderer+SnapHelper+ColorPicker |
100% |
| 首页句子卡片流+收藏/历史 |
v0.15.0 |
2026-04-24 |
HitokotoService+Drift持久化 |
100% |
| 图层管理+撤销重做增强 |
v0.20.0 |
2026-04-24 |
LayerPanel+LayerSnapshotService |
92% |
| 3D模型贴纸+3D预览+平台调度 |
v0.21.0 |
2026-04-24 |
Sticker3DPanel+Model3DPreviewPage |
71% |
| 图片压缩+大图预览+裁剪+信息读取 |
v0.22.0 |
2026-04-25 |
ImageCompressService+ImagePreview+ImageCrop |
95% |
| 3D修复+架构优化 |
v0.23.0 |
2026-04-27 |
统一3D渲染+图层模型统一+bridge拆分 |
100% |
9.2 架构变更归档
| 变更 |
版本 |
说明 |
| flutter_scene → flutter_3d_controller |
v0.23.0 |
移除useScene双分支,统一WebView渲染路径 |
| StickerLayer → StickerLayerInfo/LayerInfo |
v0.23.0 |
sticker_picker迁移到统一图层模型 |
| pro_editor_bridge.dart 拆分 |
v0.23.0 |
992行→3文件: bridge+sticker_config_builder+widget_layer_factory |
| 3D贴纸导出渲染 |
v0.23.0 |
WidgetLayerRenderer支持3D层(静态快照) |
| decoration/nature 3D模型扩展 |
v0.23.0 |
model_catalog.json新增5个3D模型(在线CDN) |
| 低端设备检测 |
v0.23.0 |
Platform3DService自动检测+UI降级提示 |
9.3 待开发 (未归档)
| 功能 |
优先级 |
前置条件 |
| 模板市场 |
P2 |
Supabase后端 |
| 批量导出 |
P2 |
isolate |
| AI辅助排版 |
P3 |
AI API |
| 自定义贴纸导入 |
P3 |
image_picker |
| Windows/Linux 3D支持 |
P3 |
flutter_3d_controller桌面端 |