祀梦 40eb2dadb0 fix: configure Element Plus Chinese locale (zh-cn)
Add zh-cn locale to Element Plus globally via app.use() and el-config-provider wrapper, and apply :locale prop to all el-date-picker components in dialogs to ensure correct Chinese display in date pickers, calendars, and other locale-aware UI.

Made-with: Cursor
2026-03-16 15:47:15 +08:00
2026-03-14 22:21:26 +08:00
2026-03-14 22:21:26 +08:00
2026-03-14 22:21:26 +08:00
2026-03-16 15:06:24 +08:00
2026-03-14 22:21:26 +08:00
2026-03-14 22:21:26 +08:00
2026-03-14 22:21:26 +08:00

Elysia ToDo - 爱莉希雅待办事项

一款全栈个人信息管理应用,集待办任务、习惯打卡、纪念日提醒、资产总览于一体。

功能概览

任务管理

  • 待办列表 — 创建、编辑、删除任务,支持分类、标签、优先级
  • 四象限视图 — 基于艾森豪威尔矩阵(重要/紧急)的四象限优先级模型
  • 日历视图 — 按月/周/日查看任务排布
  • 拼音搜索 — 支持中文拼音快速检索任务和分类

习惯打卡

  • 习惯分组管理(学习、运动、生活等)
  • 每日打卡记录,支持周期配置与休息日
  • 周视图打卡进度展示,一目了然

纪念日管理

  • 自定义纪念日分类
  • 支持农历/公历日期
  • 倒计时提醒,不错过重要日子

资产总览

  • 财务账户管理(现金、银行卡、电子钱包等)
  • 收支记录与历史查询
  • 分期还款跟踪
  • 资产汇总统计

系统功能

  • 偏好设置(站点名称、默认视图等)
  • 可折叠侧边栏
  • 响应式布局
  • SPA 单页应用History 路由模式

技术栈

层级 技术
前端框架 Vue 3 + TypeScript
UI 组件库 Element Plus
状态管理 Pinia
路由 Vue Router 4
构建工具 Vite
后端框架 FastAPI
ORM SQLAlchemy
数据库 SQLite
ASGI 服务器 Uvicorn

项目结构

ToDoList/
├── main.py                  # 启动入口(编译前端 + 启动后端)
├── requirements.txt         # Python 依赖
├── .gitignore
├── api/                     # 后端
│   └── app/
│       ├── config.py        # 配置端口、路径、CORS 等)
│       ├── database.py      # 数据库引擎与会话管理
│       ├── main.py          # FastAPI 应用(路由、中间件、静态文件)
│       ├── models/          # SQLAlchemy 数据模型
│       ├── schemas/         # Pydantic 请求/响应模型
│       ├── routers/         # API 路由
│       └── utils/           # 工具函数CRUD、日志、日期
├── WebUI/                   # 前端
│   ├── package.json
│   ├── vite.config.ts
│   └── src/
│       ├── api/             # Axios 接口封装
│       ├── components/      # 通用组件
│       ├── views/           # 页面视图
│       ├── stores/          # Pinia 状态管理
│       ├── router/          # 路由配置
│       ├── styles/          # 全局样式 (SCSS)
│       └── utils/           # 前端工具(拼音、优先级、日期)
└── tests/                   # 测试

快速开始

环境要求

  • Python 3.10+
  • Node.js 18+
  • npm

安装与运行

# 1. 克隆项目
git clone <your-repo-url>
cd ToDoList

# 2. 安装 Python 依赖
pip install -r requirements.txt

# 3. 一键启动(自动编译前端 + 启动后端)
python main.py

启动后访问:

前端开发模式

如果需要前后端分离开发(热更新):

# 终端 1 — 启动后端
cd api
uvicorn app.main:app --host 0.0.0.0 --port 23994

# 终端 2 — 启动前端开发服务器
cd WebUI
npm install
npm run dev

前端开发服务器运行在 http://localhost:5173已配置 API 代理到后端。

API 概览

所有接口均以 /api 为前缀,详细的请求/响应格式参见 API_DOCS.md 或访问 /docs 查看 Swagger 文档。

模块 前缀 说明
任务 /api/tasks 任务 CRUD、状态切换、批量操作
分类 /api/categories 分类 CRUD
标签 /api/tags 标签 CRUD
习惯 /api/habits 习惯、习惯组、打卡记录
纪念日 /api/anniversaries 纪念日、纪念日分类
资产 /api/accounts 账户、交易记录、分期还款
设置 /api/user-settings 用户偏好设置
健康检查 /health 服务状态检查

数据模型关系

Category ──< Task >── Tag
            │
         HabitGroup ──< Habit ──< HabitCheckin
                                
AnniversaryCategory ──< Anniversary

FinancialAccount ──< AccountHistory
                  ──< DebtInstallment

UserSettings (单例)

配置说明

api/app/config.py 中可以修改:

配置项 默认值 说明
HOST 0.0.0.0 监听地址
PORT 23994 服务端口
DATABASE_PATH api/data/todo.db SQLite 数据库路径
WEBUI_PATH api/webui 前端静态文件目录
CORS_ORIGINS localhost:5173, 23994 允许的跨域来源

数据库文件和日志文件会在首次运行时自动创建,无需手动初始化。

部署

项目支持在 Windows 和 Linux 上运行。main.py 会自动处理平台差异npm 命令、端口占用检测等)。

对于生产环境部署,建议:

  • 使用 gunicorn + uvicorn worker 替代直接运行
  • 配置反向代理Nginx
  • 数据库可替换为 PostgreSQL 或 MySQL修改 config.py 中的 DATABASE_URL
Description
祀梦的 ToDoList
Readme 208 KiB
Languages
Vue 58%
Python 26.9%
TypeScript 12.9%
SCSS 1.9%
HTML 0.2%
Other 0.1%