# note-manage **Repository Path**: nachao/note-manage ## Basic Information - **Project Name**: note-manage - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-18 - **Last Updated**: 2025-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Note Manager Go 一个轻量级的笔记应用 - Go语言实现 ## 特性 - ⚡ **高性能**: Go语言实现,启动速度快,内存占用低 - 📝 **富文本编辑**: 集成WangEditor编辑器,支持丰富的文本格式 - 💾 **实时保存**: 自动保存功能,内容实时存储到后端 - 🔄 **跨端同步**: 支持多设备同时编辑,版本冲突处理 - 🌐 **Web界面**: 现代化的Web管理界面 - 🚀 **跨平台**: 支持Windows、Linux、macOS - 📱 **响应式设计**: 支持桌面和移动设备 - 🔧 **易于部署**: 单文件部署,无需运行时环境 ## 快速开始 ### 方式一: 使用发布版本 (推荐) 1. **创建发布版本** ```bash # Linux/macOS ./scripts/build-go.sh # Windows scripts\build-go.bat ``` 2. **选择平台目录** ```bash # Linux cd build/ ./start-linux.sh # macOS cd build/ ./start-macos.sh # Windows cd build/ start-windows.bat ``` 3. **访问应用** - 访问: http://localhost:6903 ### 方式二: 从源码编译 1. **安装Go环境** **下载Go:** - 访问: https://golang.org/dl/ - 下载Go 1.21或更高版本 - 按照官方文档安装 2. **编译** ```bash # 下载依赖 go mod tidy # 直接运行 go run main.go # 或者编译 go build -o note-manager-go main.go ./note-manager-go ``` 3. **运行** ```bash # Linux/macOS ./note-manager-go # Windows note-manager-go.exe ``` ## 功能说明 ### 笔记管理 - 创建、编辑、删除笔记 - 富文本编辑器支持 - 实时自动保存 - 版本控制 ### 用户界面 - 简洁的侧边栏笔记列表 - 全功能富文本编辑器 - 实时状态指示器 - 响应式设计 ### 技术特性 - 文件存储,快速访问 - RESTful API接口 - 跨平台支持 - 轻量级架构 ## API 接口 ### 创建笔记 ```http POST /api/notes/create Content-Type: text/plain 笔记内容 ``` ### 获取笔记列表 ```http GET /api/notes ``` ### 获取单个笔记 ```http POST /api/notes/get Content-Type: application/x-www-form-urlencoded database=notes¬e_id=1 ``` ### 更新笔记 ```http POST /api/notes/update Content-Type: application/x-www-form-urlencoded database=notes¬e_id=1&title=新标题&content=新内容 ``` ### 删除笔记 ```http POST /api/notes/delete Content-Type: application/x-www-form-urlencoded database=notes¬e_id=1 ``` ## 配置 默认配置: - 端口: 6903 - 数据目录: `./databases` - 最大笔记数: 100 - 最大笔记大小: 10MB 配置文件 `config.conf`: ```ini # Note Manager Go 配置文件 # 服务器配置 port=6903 host=localhost # 数据存储配置 data_dir=./databases max_note_size=10485760 # 日志配置 log_level=INFO log_file=./logs/note-manager.log # 应用配置 app_name="Note Manager Go" version=1.0.0 max_notes=100 storage_mode=file # 安全配置 enable_cors=true allowed_origins=* # 性能配置 max_connections=100 request_timeout=30 auto_save_interval=1000 # 开发配置 debug_mode=false verbose_logging=false ``` ## 目录结构 ``` note-manager-go/ ├── main.go # 主程序入口 ├── go.mod # Go模块依赖 ├── go.sum # 依赖校验和 ├── config.conf # 配置文件 ├── internal/ # 内部包 │ ├── config/ # 配置管理 │ │ └── config.go │ ├── server/ # HTTP服务器 │ │ └── server.go │ ├── api/ # API路由处理 │ │ └── api.go │ ├── database/ # 笔记存储 │ │ └── database.go │ └── utils/ # 工具函数 │ └── utils.go ├── static/ # 静态文件 │ └── index.html # 前端页面 ├── databases/ # 数据存储目录 ├── logs/ # 日志文件目录 ├── scripts/ # 脚本文件目录 │ ├── build-go.sh # Linux/macOS构建脚本 │ └── build-go.bat # Windows构建脚本 └── README.md # 项目说明文档 ``` ## 文件大小对比 | 实现方式 | 文件大小 | 启动速度 | 内存占用 | 依赖 | |---------|---------|---------|---------|------| | **Go 版本** | **~8MB** | **快** | **低** | **无** | | C 版本 | ~300KB | 极快 | 极低 | 无 | | Java JAR | ~15MB | 慢 | 高 | JRE | | Node.js | ~50MB | 中等 | 高 | Node.js | ## 技术栈 - **语言**: Go 1.21+ - **前端**: HTML5 + CSS3 + JavaScript + WangEditor - **网络**: net/http (标准库) - **并发**: goroutines - **构建**: go build ## 使用说明 1. **启动服务**: 运行可执行文件,服务将在6903端口启动 2. **访问应用**: 在浏览器中打开 http://localhost:6903 3. **创建笔记**: 在富文本编辑器中编写内容,支持自动保存 4. **管理笔记**: 实时保存,支持跨设备同步 ## 快捷键 - `Ctrl+S`: 手动保存当前笔记 - `Ctrl+N`: 创建新笔记 ## 开发说明 ### 项目结构 - `main.go`: 程序入口点 - `internal/config`: 配置管理模块 - `internal/server`: HTTP服务器模块 - `internal/api`: API路由处理模块 - `internal/database`: 笔记存储模块 - `internal/utils`: 工具函数模块 ### 构建说明 ```bash # 开发模式运行 go run main.go # 构建可执行文件 go build -o note-manager-go main.go # 交叉编译 GOOS=linux GOARCH=amd64 go build -o note-manager-go-linux main.go GOOS=windows GOARCH=amd64 go build -o note-manager-go.exe main.go GOOS=darwin GOARCH=amd64 go build -o note-manager-go-macos main.go ``` ### 依赖管理 ```bash # 添加依赖 go get github.com/package/name # 更新依赖 go mod tidy # 查看依赖 go list -m all ``` ## 许可证 MIT License ## 更新日志 ### v1.0.0 (Go版本) - 从C语言重构为Go语言 - 保持原有功能不变 - 改进错误处理和日志记录 - 优化内存管理 - 增强跨平台支持 - 简化部署流程 ### v2.0.0 (C版本) - 重构为纯笔记应用 - 移除SQLite依赖 - 集成WangEditor富文本编辑器 - 添加实时自动保存功能 - 优化用户界面设计 - 支持跨端同时编辑 ### v1.0.0 (C版本) - 初始版本 - SQLite数据库管理 - 基础Web界面