diff --git a/biji-houdaun/pom.xml b/biji-houdaun/pom.xml index 8725ca7..6386854 100644 --- a/biji-houdaun/pom.xml +++ b/biji-houdaun/pom.xml @@ -71,11 +71,11 @@ org.springframework.boot spring-boot-starter-aop - + - org.xerial - sqlite-jdbc - 3.36.0.3 + com.mysql + mysql-connector-j + runtime cn.hutool @@ -110,6 +110,7 @@ + commons-codec diff --git a/biji-houdaun/src/main/resources/application-dev.yml b/biji-houdaun/src/main/resources/application-dev.yml index 70b646c..8529cab 100644 --- a/biji-houdaun/src/main/resources/application-dev.yml +++ b/biji-houdaun/src/main/resources/application-dev.yml @@ -1,18 +1,31 @@ spring: datasource: - driver-class-name: org.sqlite.JDBC - url: jdbc:sqlite:C:\it\houtaigunli\biji\mydatabase.db +# driver-class-name: org.sqlite.JDBC +# url: jdbc:sqlite:C:\it\houtaigunli\biji\mydatabase.db +# jpa: +# hibernate: +# ddl-auto: none +# show-sql: true +# properties: +# hibernate: +# format_sql: true +# dialect: org.hibernate.dialect.SQLiteDialect +# + + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://panel-jp.998521.xyz:37857/biji_db?useSSL=false&serverTimezone=UTC&characterEncoding=utf8 + username: root + password: Ll@12331100 jpa: hibernate: - ddl-auto: none + ddl-auto: update show-sql: true properties: hibernate: format_sql: true - dialect: org.hibernate.dialect.SQLiteDialect + dialect: org.hibernate.dialect.MySQLDialect - -# MyBatis-Plus?? +# MyBatis-Plus配置 mybatis-plus: mapper-locations: classpath:mapper/*.xml configuration: diff --git a/biji-houdaun/src/main/resources/application-prod.yml b/biji-houdaun/src/main/resources/application-prod.yml index 8222a95..edb6555 100644 --- a/biji-houdaun/src/main/resources/application-prod.yml +++ b/biji-houdaun/src/main/resources/application-prod.yml @@ -1,15 +1,17 @@ spring: - datasource: - driver-class-name: org.sqlite.JDBC - url: jdbc:sqlite:/data/mydatabase.db - jpa: - hibernate: - ddl-auto: none - show-sql: false - properties: - hibernate: - format_sql: false - dialect: org.hibernate.dialect.SQLiteDialect +# datasource: +# driver-class-name: org.sqlite.JDBC +# url: jdbc:sqlite:/data/mydatabase.db +# jpa: +# hibernate: +# ddl-auto: none +# show-sql: false +# properties: +# hibernate: +# format_sql: false +# dialect: org.hibernate.dialect.SQLiteDialect + + diff --git a/biji-qianduan/src/components/home/NoteEditor.vue b/biji-qianduan/src/components/home/NoteEditor.vue index 21f421b..4ebc5b1 100644 --- a/biji-qianduan/src/components/home/NoteEditor.vue +++ b/biji-qianduan/src/components/home/NoteEditor.vue @@ -117,6 +117,19 @@ onBeforeUnmount(() => { if (vditor.value) { vditor.value.destroy(); } + if (bijiId.value){ + // 发送完整的笔记对象,确保包含所有必要字段 + updateMarkdown({ + id: bijiId.value, + content: vditor.value.getValue(), + title: props.editData.title, + groupingId: props.editData.groupingId, + fileName: props.editData.fileName, + isPrivate: props.editData.isPrivate + }); + } + // 离开页面后清空 bijiId.value 变量 + bijiId.value = null; }); watch(() => props.editData, (newVal, oldVal) => { diff --git a/mydatabase.db b/mydatabase.db index 5aa95c3..327ee4d 100644 Binary files a/mydatabase.db and b/mydatabase.db differ diff --git a/sql/all.sql b/sql/all.sql new file mode 100644 index 0000000..5a357be --- /dev/null +++ b/sql/all.sql @@ -0,0 +1,183 @@ +/* + Navicat Premium Dump SQL + + Source Server : biji数据库 + Source Server Type : SQLite + Source Server Version : 3045000 (3.45.0) + Source Schema : main + + Target Server Type : SQLite + Target Server Version : 3045000 (3.45.0) + File Encoding : 65001 + + Date: 06/01/2026 20:48:23 +*/ + +PRAGMA foreign_keys = false; + +-- ---------------------------- +-- Table structure for grouping +-- ---------------------------- +DROP TABLE IF EXISTS "grouping"; +CREATE TABLE "grouping" ( + "id" INTEGER NOT NULL DEFAULT 0, + "grouping" TEXT NOT NULL, + "parentId" INTEGER, + "is_deleted" INTEGER DEFAULT 0, + "deleted_at" DATETIME, + "deleted_by" INTEGER, + PRIMARY KEY ("id") +); + +PRAGMA foreign_keys = true; + + + +PRAGMA foreign_keys = false; + +-- ---------------------------- +-- Table structure for image +-- ---------------------------- +DROP TABLE IF EXISTS "image"; +CREATE TABLE "image" ( + "id" INTEGER PRIMARY KEY AUTOINCREMENT, + "markdown_id" INTEGER, + "original_name" TEXT NOT NULL, + "stored_name" TEXT NOT NULL, + "url" TEXT NOT NULL, + "size" INTEGER NOT NULL, + "content_type" TEXT NOT NULL, + "created_at" DATETIME DEFAULT CURRENT_TIMESTAMP, + UNIQUE ("stored_name" ASC) +); + +-- ---------------------------- +-- Auto increment value for image +-- ---------------------------- +UPDATE "sqlite_sequence" SET seq = 25 WHERE name = 'image'; + +PRAGMA foreign_keys = true; + + + + +PRAGMA foreign_keys = false; + +-- ---------------------------- +-- Table structure for image_name +-- ---------------------------- +DROP TABLE IF EXISTS "image_name"; +CREATE TABLE "image_name" ( + "id" INTEGER NOT NULL, + "markdown_id" INTEGER NOT NULL, + "file_name" text NOT NULL, + PRIMARY KEY ("id") +); + +PRAGMA foreign_keys = true; + + + + + +PRAGMA foreign_keys = false; + +-- ---------------------------- +-- Table structure for markdown_file +-- ---------------------------- +DROP TABLE IF EXISTS "markdown_file"; +CREATE TABLE "markdown_file" ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "grouping_id" integer NOT NULL DEFAULT 1, + "title" TEXT NOT NULL, + "file_name" TEXT NOT NULL, + "content" TEXT NOT NULL, + "created_at" datetime DEFAULT CURRENT_TIMESTAMP, + "updated_at" datetime DEFAULT CURRENT_TIMESTAMP, + "is_deleted" INTEGER DEFAULT 0, + "deleted_at" DATETIME, + "deleted_by" INTEGER, + "is_private" integer DEFAULT 0 +); + +-- ---------------------------- +-- Auto increment value for markdown_file +-- ---------------------------- + +PRAGMA foreign_keys = true; + + + +PRAGMA foreign_keys = false; + +-- ---------------------------- +-- Table structure for registration_codes +-- ---------------------------- +DROP TABLE IF EXISTS "registration_codes"; +CREATE TABLE "registration_codes" ( + "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, + "code" TEXT NOT NULL, + "expiry_time" TEXT NOT NULL, + "created_by" TEXT, + "created_at" TEXT DEFAULT (datetime('now','localtime')) +); + +-- ---------------------------- +-- Auto increment value for registration_codes +-- ---------------------------- +UPDATE "sqlite_sequence" SET seq = 2 WHERE name = 'registration_codes'; + +-- ---------------------------- +-- Indexes structure for table registration_codes +-- ---------------------------- +CREATE UNIQUE INDEX "uk_code" + ON "registration_codes" ( + "code" ASC + ); + +PRAGMA foreign_keys = true; + + + + +PRAGMA foreign_keys = false; + +-- ---------------------------- +-- Table structure for system_settings +-- ---------------------------- +DROP TABLE IF EXISTS "system_settings"; +CREATE TABLE "system_settings" ( + "setting_key" TEXT NOT NULL, + "setting_value" TEXT, + "description" TEXT, + PRIMARY KEY ("setting_key") +); + +PRAGMA foreign_keys = true; + + + +PRAGMA foreign_keys = false; + +-- ---------------------------- +-- Table structure for user +-- ---------------------------- +DROP TABLE IF EXISTS "user"; +CREATE TABLE "user" ( + "id" INTEGER PRIMARY KEY AUTOINCREMENT, + "username" TEXT NOT NULL, + "password" TEXT NOT NULL, + "email" TEXT, + "created_at" DATETIME DEFAULT CURRENT_TIMESTAMP, + "updated_at" DATETIME DEFAULT CURRENT_TIMESTAMP, + "token" TEXT, + "token_enddata" DATETIME, + UNIQUE ("username" ASC) +); + +-- ---------------------------- +-- Auto increment value for user +-- ---------------------------- +UPDATE "sqlite_sequence" SET seq = 5 WHERE name = 'user'; + +PRAGMA foreign_keys = true; diff --git a/sql/mysql/all.sql b/sql/mysql/all.sql new file mode 100644 index 0000000..7516cec --- /dev/null +++ b/sql/mysql/all.sql @@ -0,0 +1,95 @@ +-- MySQL 5.7.44 建表脚本(由 SQLite 转换) +-- 统一字符集与引擎 +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- 1. 分组表 +DROP TABLE IF EXISTS `grouping`; +CREATE TABLE `grouping` ( + `id` bigintBIGINT(20) NOT NULL AUTO_INCREMENT, + `grouping` VARCHAR(255) NOT NULL, + `parentId` BIGINT(20) DEFAULT NULL, + `is_deleted` TINYINT(1) DEFAULT 0, + `deleted_at` DATETIME DEFAULT NULL, + `deleted_by` BIGINT(20) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- 2. 图片表 +DROP TABLE IF EXISTS `image`; +CREATE TABLE `image` ( + `id` BIGINT(20) NOT NULL AUTO_INCREMENT, + `markdown_id` BIGINT(20) DEFAULT NULL, + `original_name` VARCHAR(255) NOT NULL, + `stored_name` VARCHAR(255) NOT NULL, + `url` VARCHAR(500) NOT NULL, + `size` BIGINT NOT NULL, + `content_type` VARCHAR(100) NOT NULL, + `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_stored_name` (`stored_name`) +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4; + +-- 3. 图片名称映射表 +DROP TABLE IF EXISTS `image_name`; +CREATE TABLE `image_name` ( + `id` BIGINT(20) NOT NULL AUTO_INCREMENT, + `markdown_id` BIGINT(20) NOT NULL, + `file_name` TEXT NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- 4. Markdown 文件表 +DROP TABLE IF EXISTS `markdown_file`; +CREATE TABLE `markdown_file` ( + `id` BIGINT(20) NOT NULL AUTO_INCREMENT, + `grouping_id` BIGINT(20) NOT NULL DEFAULT 1, + `title` VARCHAR(255) NOT NULL, + `file_name` VARCHAR(255) NOT NULL, + `content` LONGTEXT NOT NULL, + `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, + `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `is_deleted` TINYINT(1) DEFAULT 0, + `deleted_at` DATETIME DEFAULT NULL, + `deleted_by` BIGINT(20) DEFAULT NULL, + `is_private` TINYINT(1) DEFAULT 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- 5. 注册邀请码表 +DROP TABLE IF EXISTS `registration_codes`; +CREATE TABLE `registration_codes` ( + `id` BIGINT(20) NOT NULL AUTO_INCREMENT, + `code` VARCHAR(255) NOT NULL, + `expiry_time` DATETIME NOT NULL, + `created_by` VARCHAR(100) DEFAULT NULL, + `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_code` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4; + +-- 6. 系统设置表 +DROP TABLE IF EXISTS `system_settings`; +CREATE TABLE `system_settings` ( + `setting_key` VARCHAR(100) NOT NULL, + `setting_value` TEXT, + `description` TEXT, + PRIMARY KEY (`setting_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- 7. 用户表 +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `id` BIGINT(20) NOT NULL AUTO_INCREMENT, + `username` VARCHAR(50) NOT NULL, + `password` VARCHAR(255) NOT NULL, + `email` VARCHAR(100) DEFAULT NULL, + `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, + `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `token` VARCHAR(255) DEFAULT NULL, + `token_enddata` DATETIME DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_username` (`username`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4; + +SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file