Files
SmartisanNote.Remake/IFLOW.md
2025-10-17 09:19:33 +08:00

4.5 KiB
Raw Blame History

SmartisanNote.Remake - IFLOW 上下文

项目简介

这是一个基于 Vue 3 (Composition API) 和 Ionic Vue 的移动端便签应用,仿照锤子便签的设计风格。该应用支持富文本编辑、图片插入、便签管理(加星、置顶、删除至回收站)、文件夹分类以及 PWA 离线功能。

核心技术栈

  • Vue 3: 使用 Composition API 构建用户界面。
  • Vue Router: 实现页面路由管理,采用 Hash 模式以支持静态部署。
  • Pinia: 用于全局状态管理(便签、文件夹、设置)。
  • Vite: 作为构建工具,提供快速的开发和构建体验。
  • Vite Plugin PWA: 支持将应用打包为 PWA实现离线使用。
  • Ionic Vue: 提供移动端 UI 组件。
  • localStorage: 用于本地数据存储。

项目结构

SmartisanNote.Remake/
├── android/                 # Android 原生项目 (Capacitor)
├── public/                  # 静态资源
│   ├── assets/              # 应用图标、图片等资源
│   └── icons/               # PWA 图标
├── src/                     # 源代码目录
│   ├── App.vue              # 根组件
│   ├── main.js              # 应用入口文件
│   ├── common/              # 公共样式
│   ├── components/          # 可复用的 UI 组件
│   ├── pages/               # 页面组件
│   ├── stores/              # Pinia 状态管理
│   └── utils/               # 工具函数 (日期处理、本地存储)
├── index.html               # 主页面模板
├── package.json             # 项目依赖和脚本
├── vite.config.js           # Vite 配置文件
└── capacitor.config.json    # Capacitor 配置文件

核心功能模块

  1. 便签列表页 (NoteListPage.vue):
    • 展示所有便签,支持按全部、加星、回收站分类查看。
    • 支持搜索便签标题和内容。
    • 支持对便签进行加星、置顶、删除操作。
    • 点击便签可进入编辑页面。
    • 点击创建按钮可进入新建便签页面。
  2. 便签编辑页 (NoteEditorPage.vue):
    • 使用自定义富文本编辑器 (RichTextEditor.vue) 进行内容编辑。
    • 支持加粗、居中、待办事项、列表、标题、引用等格式。
    • 支持插入和拖拽排序图片。
    • 支持删除图片。
  3. 富文本编辑器 (RichTextEditor.vue):
    • 核心功能组件,提供富文本编辑能力。
    • 工具栏包含加粗、居中、待办事项、列表、标题、引用等按钮。
    • 支持插入图片并调整尺寸。
    • 支持长按拖拽图片进行排序。
    • 支持点击图片右上角按钮删除图片。
    • 支持待办事项的添加、完成/未完成状态切换。
  4. 文件夹管理页 (FolderPage.vue):
    • 管理自定义文件夹。
    • 可创建、重命名、删除文件夹。
  5. 设置页 (SettingsPage.vue):
    • 应用设置,如云同步开关(目前仅是 UI未实现逻辑、深色模式开关目前仅是 UI未实现逻辑
  6. 状态管理 (stores/useAppStore.js):
    • 使用 Pinia 管理应用所有状态(便签数据、文件夹数据、设置)。
    • 提供操作便签、文件夹和设置的 actions。
    • 负责与 localStorage 进行数据交互。
  7. 工具函数 (utils/):
    • dateUtils.js: 处理日期格式化。
    • storage.js: 封装 localStorage 操作。

开发与构建

前置条件

  • Node.js (推荐 LTS 版本)
  • npm 或 yarn

安装依赖

npm install

启动开发服务器

npm run dev

这将在 http://localhost:3000 启动开发服务器。

构建标准版本

npm run build

构建产物位于 dist/standard 目录。

构建 PWA 离线版本

npm run build:all
# 或者只构建 PWA
npm run deploy:pwa

PWA 构建产物位于 dist/offline 目录。

在 Android 设备上运行

npm run android

这需要配置好 Android 开发环境 (Android Studio, SDK 等)。

代码规范与约定

  • 组件化: 应用遵循组件化开发模式,将 UI 拆分为可复用的组件。
  • 状态管理: 使用 Pinia 进行全局状态管理,确保数据流清晰。
  • 本地存储: 便签、文件夹和设置数据存储在浏览器的 localStorage 中。
  • 样式: 使用 CSS 变量定义主题色和尺寸,便于维护和主题切换。
  • 路由: 使用 Vue Router 管理页面导航。