MD编辑器更新

UI更新
This commit is contained in:
2026-09-23 14:07:19 +08:00
parent 429e8a7bb7
commit ec21ba0876
379 changed files with 15504 additions and 606 deletions
@@ -0,0 +1,31 @@
-- ===========================================================================
-- 笔记目录(文件夹)功能
--
-- 执行方式:
-- mysql -uroot -p accounting_db < migration_add_note_folder.sql
--
-- 目录是树形的:parent_id 为 NULL 表示根目录。
-- 笔记通过 note.folder_id 归属到某个目录,folder_id 为 NULL 表示未分类。
-- ===========================================================================
CREATE TABLE IF NOT EXISTS `note_folder` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '目录ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`parent_id` BIGINT DEFAULT NULL COMMENT '父目录ID,NULL 表示根目录',
`name` VARCHAR(100) NOT NULL COMMENT '目录名',
`sort_order` INT NOT NULL DEFAULT 0 COMMENT '同级排序,越小越靠前',
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0正常 1已删除',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
INDEX `idx_user_parent` (`user_id`, `deleted`, `parent_id`),
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='笔记目录表';
-- 笔记归属目录。OnDelete 用 SET NULL:目录被物理删除时笔记退回未分类,
-- 而不是跟着消失(业务上目录删除走的是"笔记上移到父目录",这里是兜底)
ALTER TABLE `note`
ADD COLUMN `folder_id` BIGINT DEFAULT NULL COMMENT '所属目录ID,NULL 表示未分类' AFTER `user_id`,
ADD INDEX `idx_user_folder` (`user_id`, `deleted`, `folder_id`),
ADD CONSTRAINT `fk_note_folder` FOREIGN KEY (`folder_id`)
REFERENCES `note_folder` (`id`) ON DELETE SET NULL;
+19 -1
View File
@@ -123,10 +123,26 @@ CREATE TABLE IF NOT EXISTS `gold_price` (
INDEX `idx_gold_date` (`gold_id`, `price_date`) COMMENT '索引:用于按日期查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='黄金价格记录表';
-- 笔记目录表
CREATE TABLE IF NOT EXISTS `note_folder` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '目录ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`parent_id` BIGINT DEFAULT NULL COMMENT '父目录ID,NULL 表示根目录',
`name` VARCHAR(100) NOT NULL COMMENT '目录名',
`sort_order` INT NOT NULL DEFAULT 0 COMMENT '同级排序',
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0正常 1已删除',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
INDEX `idx_user_parent` (`user_id`, `deleted`, `parent_id`),
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='笔记目录表';
-- 笔记表
CREATE TABLE IF NOT EXISTS `note` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '笔记ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`folder_id` BIGINT DEFAULT NULL COMMENT '所属目录ID,NULL 表示未分类',
`title` VARCHAR(200) NOT NULL COMMENT '标题',
`content` LONGTEXT COMMENT 'Markdown正文',
`summary` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '摘要(列表页展示,避免查询正文)',
@@ -138,7 +154,9 @@ CREATE TABLE IF NOT EXISTS `note` (
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
INDEX `idx_user_updated` (`user_id`, `deleted`, `update_time`),
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
INDEX `idx_user_folder` (`user_id`, `deleted`, `folder_id`),
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE,
FOREIGN KEY (`folder_id`) REFERENCES `note_folder` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='笔记表';
-- 插入预设分类(支出)