"优化页面切换动画效果,实现无缝滑动过渡"

This commit is contained in:
yuantao
2025-10-23 16:20:15 +08:00
parent 508db9e9ae
commit c1217185f3
5 changed files with 307 additions and 71 deletions

View File

@@ -14,6 +14,8 @@
* **PWA 支持**: vite-plugin-pwa
* **本地存储**: IndexedDB (通过 `src/utils/indexedDBStorage.js` 封装)
* **CSS 预处理器**: Less
* **动画库**: @oku-ui/motion
* **拖拽库**: vue-draggable-plus
## 项目结构
@@ -21,17 +23,41 @@
.
├── android/ # Capacitor Android 项目文件
├── public/ # 静态资源目录 (图标等)
│ ├── assets/ # 应用资源文件
│ │ └── icons/ # 图标文件
│ │ ├── drawable-xxhdpi/ # Android 图标资源
│ │ └── drawable-xxxhdpi/ # Android 图标资源
│ └── icons/ # PWA 图标
│ ├── icon-192.png
│ └── icon-512.png
├── src/ # 源代码目录
│ ├── App.vue # 根组件
│ ├── main.js # 应用入口文件
│ ├── common/ # 通用样式
│ │ └── base.css # 基础样式文件
│ ├── components/ # 可复用的 UI 组件
│ │ ├── FolderItem.vue # 文件夹项组件
│ │ ├── FolderManage.vue # 文件夹管理组件
│ │ ├── Header.vue # 头部组件
│ │ ├── Modal.vue # 模态框组件
│ │ ├── NoteItem.vue # 便签项组件
│ │ ├── RichTextEditor.vue # 富文本编辑器组件
│ │ ├── Search.vue # 搜索组件
│ │ ├── SettingGroup.vue # 设置组组件
│ │ └── SwitchButton.vue # 开关按钮组件
│ ├── pages/ # 页面组件
│ │ ├── FolderPage.vue # 文件夹页面
│ │ ├── NoteEditorPage.vue # 便签编辑页面
│ │ ├── NoteListPage.vue # 便签列表页面
│ │ └── SettingsPage.vue # 设置页面
│ ├── stores/ # Pinia 状态管理
│ │ ├── useAppStore.js # 应用状态管理
│ │ └── useAppStore.test.js # 应用状态管理测试
│ └── utils/ # 工具函数
│ ├── dateUtils.js # 日期工具函数
│ └── indexedDBStorage.js # IndexedDB 存储封装
├── index.html # 应用入口 HTML 文件
├── .nvmdrc # node.js 版本
├── update.txt # 更新日志
├── package.json # 项目依赖和脚本
├── vite.config.js # Vite 配置文件
└── capacitor.config.json # Capacitor 配置文件
@@ -46,6 +72,9 @@
* **多种排序方式**: 按更新时间、标题、星标状态排序。
* **PWA 支持**: 可安装为独立应用,支持离线使用。
* **本地存储**: 所有数据存储在浏览器的 `IndexedDB` 中。
* **富文本编辑**: 支持标题、待办事项、列表、加粗、引用、图片等多种格式。
* **动画效果**: 使用 Oku Motion 实现流畅的动画效果。
* **拖拽排序**: 支持图片拖拽排序。
* **深色模式**: (计划中) 支持切换深色/浅色主题。
* **云同步**: (计划中) 支持多设备间数据同步。
@@ -123,6 +152,8 @@ npm run android
* **CSS 命名**: 使用 BEM 命名规范,部分使用原子化 CSS 类名(以 `code-fun-` 开头)
* **响应式设计**: 使用 viewport 单位 (vw/vh) 和 CSS 变量实现响应式布局
* **图标**: 使用 PNG 图片作为图标,存储在 `public/assets/icons/` 目录下
* **动画**: 使用 Oku Motion 实现动画效果
* **拖拽**: 使用 vue-draggable-plus 实现拖拽功能
### 命名规范