项目结构
本页详细介绍项目的目录结构。
根目录
wenyanwengongju/
├── src/ # 源代码
├── main/ # Electron 主进程
├── public/ # 静态资源
├── tests/ # 测试文件
├── config/ # 配置文件
├── .github/ # GitHub 配置
├── package.json # 项目配置
├── tsconfig.json # TypeScript 配置
├── next.config.js # Next.js 配置
└── vitest.config.ts # Vitest 配置src 目录
src/
├── app/ # Next.js App Router 页面
│ ├── page.tsx # 首页
│ ├── layout.tsx # 根布局
│ ├── import/ # 导入功能
│ │ └── page.tsx
│ ├── organize/ # 整理功能
│ │ └── page.tsx
│ ├── ai-organize/ # AI 整理
│ │ └── page.tsx
│ ├── exam/ # 自动出题
│ │ └── page.tsx
│ ├── manage/ # 管理功能
│ │ ├── definitions/ # 义项管理
│ │ ├── key-characters/# 重点字管理
│ │ └── concurrency-settings/
│ ├── settings/ # 设置页面
│ │ └── page.tsx
│ └── regex-generator/ # 正则生成器
│ └── page.tsx
│
├── components/ # 可复用组件
│ ├── Layout.tsx # 布局组件
│ ├── Layout.module.css
│ ├── MindMapCanvas.tsx # 思维导图画布
│ ├── SearchPage.tsx # 搜索组件
│ └── CustomMultiSelect.tsx
│
├── services/ # 业务逻辑服务
│ ├── storage.ts # 数据存储
│ ├── ai.ts # AI 服务
│ ├── examGenerator.ts # 出题引擎
│ ├── mindmap.ts # 思维导图
│ ├── aiOrganize.ts # AI 整理
│ ├── shortSentence.ts # 短句服务
│ ├── wordExport.ts # Word 导出
│ └── concurrencyConfig.ts
│
├── stores/ # Zustand 状态管理
│ └── ...
│
├── types/ # TypeScript 类型定义
│ └── ...
│
└── utils/ # 工具函数
└── ...main 目录
main/
├── index.js # Electron 入口
├── preload.js # 预加载脚本
└── ...tests 目录
tests/
├── unit/ # 单元测试
│ ├── storage.test.ts
│ ├── examGenerator.test.ts
│ └── ...
├── integration/ # 集成测试
│ └── ...
└── fixtures/ # 测试数据
└── ...配置文件
| 文件 | 说明 |
|---|---|
package.json | 项目依赖和脚本 |
tsconfig.json | TypeScript 配置 |
next.config.js | Next.js 配置 |
vitest.config.ts | 测试配置 |
config.example.json | 配置文件模板 |
命名规范
| 类型 | 命名方式 | 示例 |
|---|---|---|
| 组件 | PascalCase | SearchPage.tsx |
| 服务 | camelCase | examGenerator.ts |
| 样式 | 同组件名 | SearchPage.module.css |
| 测试 | 同源文件 + .test | storage.test.ts |
| 类型 | PascalCase | Definition.ts |