开源项目 new-api
使用教程
new-api基于One API的二次开发版本,仅供学习使用!项目地址:https://gitcode.com/gh_mirrors/ne/new-api
1. 项目的目录结构及介绍
new-api/
├── common/
├── constant/
├── controller/
├── dto/
├── i18n/
├── middleware/
├── model/
├── relay/
├── router/
├── service/
├── web/
├── .gitignore
├── Dockerfile
├── LICENSE
├── Midjourney.md
├── README.md
├── Rerank.md
├── Suno.md
├── VERSION
├── docker-compose.yml
├── go.mod
├── go.sum
├── main.go
├── Makefile
└── one-api-service
目录结构介绍
common/
: 包含项目通用功能的代码。constant/
: 包含项目常量定义。controller/
: 包含处理HTTP请求的控制器代码。dto/
: 包含数据传输对象的定义。i18n/
: 包含国际化相关文件。middleware/
: 包含中间件代码。model/
: 包含数据模型定义。relay/
: 包含中继相关代码。router/
: 包含路由定义。service/
: 包含业务逻辑服务代码。web/
: 包含前端相关文件。.gitignore
: Git忽略文件配置。Dockerfile
: Docker镜像构建文件。LICENSE
: 项目许可证。Midjourney.md
: 项目相关文档。README.md
: 项目介绍文档。Rerank.md
: 项目相关文档。Suno.md
: 项目相关文档。VERSION
: 项目版本文件。docker-compose.yml
: Docker Compose配置文件。go.mod
: Go模块依赖管理文件。go.sum
: Go模块依赖校验文件。main.go
: 项目主入口文件。Makefile
: 项目构建脚本。one-api-service
: 项目服务相关文件。
2. 项目的启动文件介绍
main.go
main.go
是项目的启动文件,负责初始化并启动整个应用程序。以下是 main.go
的基本结构:
package main
import (
"fmt"
"net/http"
"new-api/router"
)
func main() {
// 初始化路由
r := router.InitRouter()
// 启动HTTP服务器
err := http.ListenAndServe(":8080", r)
if err != nil {
fmt.Println("Failed to start server:", err)
}
}
启动步骤
- 初始化路由: 调用
router.InitRouter()
函数初始化路由。 - 启动HTTP服务器: 使用
http.ListenAndServe
函数启动HTTP服务器,监听端口8080
。
3. 项目的配置文件介绍
docker-compose.yml
docker-compose.yml
文件用于定义和运行多容器 Docker 应用程序。以下是 docker-compose.yml
的基本结构:
version: '3'
services:
new-api:
image: new-api:latest
ports:
- "8080:8080"
volumes:
- ./config:/app/config
environment:
- ENV_VAR=value
配置项介绍
version
: 指定 Docker Compose 文件格式版本。services
: 定义服务。new-api
: 服务名称。image
: 指定使用的 Docker 镜像。ports
: 映射端口,将主机的8080
端口映射到容器的8080
端口。volumes
: 挂载卷,将主机的./config
目录挂载到容器的/app/config
目录。environment
: 设置环境变量。
config
目录
config
目录包含项目的配置文件,例如数据库配置、日志配置等。以下是一个示例配置文件 config.yaml
:
database:
new-api基于One API的二次开发版本,仅供学习使用!项目地址:https://gitcode.com/gh_mirrors/ne/new-api