Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

yabo083/webnovel

Repository files navigation

小说写作系统

一个专注于核心码字功能的Web小说写作系统,提供简洁高效的创作体验。

功能特色

核心功能

  • 用户认证:注册、登录、安全的JWT身份验证
  • 我的书架:管理您的所有小说作品
  • 章节目录:清晰的章节结构管理
  • 写作编辑器:专业的码字环境,支持自动保存和实时字数统计

编辑器特性

  • 自动保存:2秒防抖自动保存,防止内容丢失
  • 实时字数统计:精确的中文字数统计
  • 快捷键支持:Ctrl+S快速保存
  • 离开确认:未保存时离开页面会提醒
  • 移动端适配:响应式设计,支持手机写作

技术栈

后端

  • Node.js + Express:高性能的服务器框架
  • SQLite:轻量级数据库(可切换至MySQL/PostgreSQL)
  • Sequelize:强大的ORM工具
  • JWT:安全的身份验证
  • bcryptjs:密码加密

前端

  • Vue 3:现代化的前端框架
  • Element Plus:美观的UI组件库
  • Vue Router:路由管理
  • Pinia:状态管理
  • Axios:HTTP客户端
  • Vite:快速的构建工具

快速开始

环境要求

  • Node.js >= 16.0.0
  • npm >= 8.0.0

安装依赖

# 安装所有依赖
npm run install:all

启动开发服务器

# 同时启动前后端开发服务器
npm run dev

服务器将在以下地址启动:

单独启动服务

# 只启动后端
npm run server:dev
# 只启动前端
npm run client:dev

项目结构

webnovel-writing-system/
├── server/ # 后端代码
│ ├── models/ # 数据模型
│ ├── routes/ # API路由
│ ├── middleware/ # 中间件
│ └── server.js # 服务器入口
├── client/ # 前端代码
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── stores/ # 状态管理
│ │ ├── utils/ # 工具函数
│ │ └── router/ # 路由配置
│ └── index.html # 前端入口
└── README.md # 项目说明

使用指南

1. 注册/登录

首次使用需要注册账号,支持用户名和邮箱登录。

2. 创建小说

在书架页面点击"创建新书",填写小说信息。

3. 添加章节

进入小说详情页,点击"新建章节"开始创作。

4. 写作体验

  • 编辑器支持大文本编写
  • 自动保存功能确保内容安全
  • 实时字数统计帮助掌控进度
  • 支持章节发布状态管理

API接口

认证相关

  • POST /api/auth/register - 用户注册
  • POST /api/auth/login - 用户登录
  • GET /api/auth/me - 获取用户信息

小说管理

  • GET /api/novels - 获取用户小说列表
  • POST /api/novels - 创建新小说
  • PUT /api/novels/:id - 更新小说信息
  • DELETE /api/novels/:id - 删除小说

章节管理

  • GET /api/novels/:id/chapters - 获取章节列表
  • POST /api/chapters - 创建新章节
  • GET /api/chapters/:id - 获取章节内容
  • PUT /api/chapters/:id - 更新章节
  • PUT /api/chapters/:id/autosave - 自动保存
  • DELETE /api/chapters/:id - 删除章节

数据库设计

用户表 (users)

  • id, username, email, password, avatar, bio
  • created_at, updated_at

小说表 (novels)

  • id, user_id, title, description, category, status
  • total_words, total_chapters, last_updated
  • created_at, updated_at

章节表 (chapters)

  • id, novel_id, title, content, word_count
  • order_index, status, publish_time
  • created_at, updated_at

开发说明

环境配置

复制 server/.env.exampleserver/.env 并修改配置:

PORT=3000
JWT_SECRET=your_jwt_secret
DB_DIALECT=sqlite
DB_STORAGE=./database.sqlite

生产部署

  1. 构建前端:cd client && npm run build
  2. 配置生产环境变量
  3. 启动后端服务器:cd server && npm start

许可证

MIT License

贡献

欢迎提交Issue和Pull Request来改进这个项目!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /