Files
mokeeText/docs/superpowers/specs/2026-06-23-mokeetext-design.md
2026-07-15 16:08:17 +08:00

5.3 KiB
Raw Permalink Blame History

MoKeeText Web 记事本 — 设计文档

日期: 2026-06-23 状态: 已确认


项目概述

一个 Web 记事本工具,包含两个核心模块:

  1. Markdown 笔记 — 增强型编辑器,类似飞书文档体验
  2. 网站账号管理 — 网站密码本,智能导入功能

数据存储到 MySQL。


技术选型

层级 技术 理由
后端框架 Python FastAPI 高性能异步Python 操作 MySQL 成熟
模板引擎 Jinja2 FastAPI 内置支持,服务端渲染
ORM SQLAlchemy 最成熟的 Python ORMMySQL 支持好
数据库 MySQL 用户指定
编辑器 Tiptap 增强型富文本编辑器,支持颜色/图片/表情/表格
前端交互 原生 JS + CDN 库 无构建步骤,快速迭代
样式 手写 CSS飞书风格 简洁现代,大量留白

数据库设计

文件夹表 (folders)

字段 类型 说明
id INT PK 主键
name VARCHAR(100) 文件夹名
type ENUM('note','website') 文件夹类型
parent_id INT FK 父文件夹NULL为根
sort_order INT 排序
created_at DATETIME 创建时间

笔记表 (notes)

字段 类型 说明
id INT PK 主键
title VARCHAR(500) 标题
content LONGTEXT Tiptap JSON/HTML
folder_id INT FK 所属文件夹
created_at DATETIME 创建时间
updated_at DATETIME 更新时间

标签表 (tags)

字段 类型 说明
id INT PK 主键
name VARCHAR(50) 标签名
color VARCHAR(20) 颜色

笔记-标签关联 (note_tags)

字段 类型 说明
note_id INT FK 笔记ID
tag_id INT FK 标签ID

网站表 (websites)

字段 类型 说明
id INT PK 主键
name VARCHAR(200) 网站名
url VARCHAR(500) 网址
folder_id INT FK 所属文件夹
created_at DATETIME 创建时间

账号表 (accounts)

字段 类型 说明
id INT PK 主键
website_id INT FK 所属网站
username VARCHAR(500) 账号
password VARCHAR(500) 密码(明文,后续加密)
remark TEXT 登录说明/备注
created_at DATETIME 创建时间

页面路由

路由 页面
/ 重定向到 /notes
/notes 笔记主页
/websites 网站管理主页
/api/notes/* 笔记 CRUD API
/api/websites/* 网站 CRUD API
/api/accounts/* 账号 CRUD API
/api/folders/* 文件夹 CRUD API
/api/tags/* 标签 CRUD API
/api/import/parse 智能导入解析
/api/import/save 智能导入保存

智能导入解析逻辑

输入格式:

https://github.com 代码网站
zhangsan_new@qq.com
Xyz789!@#
新注册的开发账号

解析规则:

  • 第1行按第一个空格分割 → 前半为URL后半为网站名
  • 第2行账号
  • 第3行密码
  • 第4行备注可选
  • 根据URL匹配已有网站 → 存在则返回匹配信息,不存在则标记新建

UI 布局

┌──────────────────────────────────────────────┐
│  📝 MoKeeText     [笔记] [网站管理]   个人版 │
├────────────┬─────────────────────────────────┤
│ 搜索...    │  标题        编辑/预览/分屏  标签│
│ + 新建     │  ─────────────────────────────  │
│            │                                 │
│ 📁 文件夹  │   Tiptap 增强编辑器             │
│  ├ 工作    │   (支持颜色/图片/表情/表格)     │
│  ├ 个人    │                                 │
│  └ 学习    │                                 │
│            │                                 │
│ 🏷️ 标签   │                                 │
│ python     │                                 │
│ mysql      │                                 │
└────────────┴─────────────────────────────────┘

项目结构

mokeeText/
├── app.py              # FastAPI 入口
├── config.py           # 数据库配置
├── models.py           # SQLAlchemy 模型
├── routes/
│   ├── notes.py        # 笔记相关路由
│   ├── websites.py     # 网站相关路由
│   └── import_api.py   # 智能导入 API
├── templates/
│   ├── base.html       # 基础布局
│   ├── notes.html      # 笔记页
│   └── websites.html   # 网站管理页
├── static/
│   ├── css/
│   │   └── style.css   # 飞书风格样式
│   └── js/
│       ├── editor.js   # Tiptap 初始化
│       ├── notes.js    # 笔记交互
│       └── websites.js # 网站管理交互
├── requirements.txt
└── docs/
    └── superpowers/
        └── specs/
            └── 2026-06-23-mokeetext-design.md