Skip to content

Poetry App(诗词应用)

基于 Tauri 2.x 的桌面端中国古典诗词学习应用,支持 macOS / Windows / Linux。

技术栈

类别技术
桌面框架Tauri 2.x (Rust)
前端框架React 19 + TypeScript
构建工具Vite
样式Tailwind CSS
状态管理Zustand
图标Lucide React
本地数据库SQLite (rusqlite)
数据格式JSON (朝代/诗人/诗词)

功能特性

  • 🏠 首页:每日推荐诗词 + 快速操作入口
  • 📖 诗词浏览:按朝代/诗人分类浏览,支持全文搜索
  • ❤️ 收藏功能:收藏喜爱的诗词,本地持久化
  • 📜 阅读历史:自动记录阅读过的诗词
  • 📊 数据统计:展示诗词库中朝代/诗人/诗词的数量分布
  • 🔄 数据导入:支持从 JSON 批量导入朝代、诗人、诗词数据

项目结构

poetry-app/
├── src/                    # 前端源码
│   ├── App.tsx            # 主应用组件
│   ├── components/        # UI 组件
│   ├── hooks/             # 自定义 Hooks
│   ├── pages/             # 页面组件
│   ├── stores/            # Zustand 状态管理
│   ├── styles/            # 样式文件
│   └── types/             # TypeScript 类型定义
├── src-tauri/             # Tauri/Rust 后端
│   ├── src/
│   │   └── lib.rs         # 核心逻辑(SQLite CRUD + Tauri Commands)
│   ├── Cargo.toml         # Rust 依赖
│   └── tauri.conf.json    # Tauri 配置
├── data/                  # 预置数据
│   ├── dynasties.json     # 朝代数据
│   ├── poems.json         # 诗词数据
│   └── poets.json         # 诗人数据
├── docs/                  # 项目文档
│   ├── 最终产品原型定稿.md
│   ├── 最终技术方案设计.md
│   ├── 本地数据库.md
│   └── tests/             # 测试用例
└── _backup/               # Expo 旧版备份

开发

bash
# 安装前端依赖
npm install

# 启动开发模式(需要 Rust 工具链)
cargo tauri dev

# 打包构建
cargo tauri build

数据模型

应用使用 SQLite 本地数据库,包含以下核心表:

表名说明
dynasties朝代信息(名称、起止年份)
poets诗人信息(姓名、朝代、简介)
poems诗词内容(标题、作者、正文)
favorites用户收藏
reading_history阅读历史

进度

  • ✅ Tauri 2.x 骨架搭建
  • ✅ SQLite 数据库层 + JSON 导入
  • ✅ 前端 UI(首页/浏览/搜索/收藏/历史)
  • ✅ Tauri 命令层集成
  • 🔨 打包发布

致富经 — 项目开发 & 技术沉淀