API/PROJECT_OVERVIEW.md
chenpei 08dd1c7f75 初始提交:添加充值记录和发票管理功能
功能特性:
- 用户端充值记录页面,从使用日志中分离
- 充值记录中的去开发票功能
- 管理员发票管理页面
- 发票申请、处理、邮件通知功能
- 侧边栏菜单更新
- UI优化和控制台清理
- Docker部署配置
- 生产环境安全配置
2025-09-04 18:07:16 +08:00

158 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 📋 项目简介
NewAPI 是一个新一代大模型网关与AI资产管理系统,基于 One API 项目进行二次开发。它是一个开源的AI模型接口管理与分发系统,主要用于个人学习和内部管理。
## 🏗️ 项目结构
```
new-api/
├── main.go # 主程序入口
├── go.mod # Go模块配置
├── go.sum # 依赖版本锁定
├── docker-compose.yml # Docker Compose配置
├── Dockerfile # Docker镜像构建文件
├── makefile # 构建脚本
├── README.md # 项目说明文档
├── .env.example # 环境变量配置示例
│
├── controller/ # 控制器层 - 处理HTTP请求
│ ├── user.go # 用户管理
│ ├── channel.go # 渠道管理
│ ├── relay.go # 中继服务
│ ├── token.go # 令牌管理
│ ├── topup.go # 充值功能
│ └── ...
│
├── model/ # 数据模型层
│ ├── main.go # 数据库初始化
│ ├── user.go # 用户模型
│ ├── channel.go # 渠道模型
│ ├── token.go # 令牌模型
│ ├── log.go # 日志模型
│ └── ...
│
├── service/ # 业务逻辑层
├── router/ # 路由配置
├── middleware/ # 中间件
├── common/ # 公共工具
├── constant/ # 常量定义
├── types/ # 类型定义
├── dto/ # 数据传输对象
├── relay/ # 中继服务实现
├── setting/ # 设置相关
├── i18n/ # 国际化
│
├── web/ # 前端项目
│ ├── src/ # 源代码
│ ├── public/ # 静态资源
│ ├── package.json # 前端依赖配置
│ ├── vite.config.js # Vite配置
│ └── ...
│
└── docs/ # 文档目录
```
## 🛠️ 技术栈
### 后端技术
- **语言**: Go 1.23.4
- **Web框架**: Gin
- **数据库**: SQLite (默认) / MySQL / PostgreSQL
- **缓存**: Redis / 内存缓存
- **ORM**: GORM
- **认证**: JWT / Session
- **部署**: Docker / Docker Compose
### 前端技术
- **框架**: React 18
- **构建工具**: Vite
- **UI组件库**: Semi UI
- **样式**: Tailwind CSS
- **状态管理**: React Hooks
- **路由**: React Router
- **国际化**: i18next
## ✨ 主要功能
1. **🎨 全新UI界面** - 现代化的用户界面设计
2. **🌍 多语言支持** - 支持多种语言
3. **💰 在线充值功能** - 支持易支付等支付方式
4. **🔍 Key查询功能** - 支持用key查询使用额度
5. **💵 按次数收费** - 支持模型按次数收费
6. **⚖️ 渠道加权随机** - 智能负载均衡
7. **📈 数据看板** - 详细的使用统计和控制台
8. **🔒 令牌分组** - 灵活的权限管理
9. **🤖 多种登录方式** - 支持LinuxDO、Telegram、OIDC等
10. **🔄 多种模型支持** - 支持OpenAI、Claude、Midjourney、Suno等
## 🚀 快速开始
### 环境要求
- Go 1.23.4+
- Node.js 18+ (用于前端构建)
- Docker (可选)
### 本地开发
1. **克隆项目**
```bash
git clone https://github.com/Calcium-Ion/new-api.git
cd new-api
```
2. **配置环境变量**
```bash
cp .env.example .env
# 编辑 .env 文件配置数据库等
```
3. **构建前端**
```bash
cd web
bun install
bun run build
cd ..
```
4. **运行后端**
```bash
go mod tidy
go run main.go
```
### Docker部署
```bash
# 使用Docker Compose
docker-compose up -d
# 或直接使用Docker镜像
docker run --name new-api -d --restart always -p 3000:3000 \
-e TZ=Asia/Shanghai \
-v /path/to/data:/data \
calciumion/new-api:latest
```
## 📚 文档
- **官方文档**: https://docs.newapi.pro/
- **API文档**: https://docs.newapi.pro/api
- **安装指南**: https://docs.newapi.pro/installation
## ⚠️ 重要声明
- 本项目仅供个人学习使用,不保证稳定性
- 不提供任何技术支持
- 必须遵循OpenAI使用条款和法律法规
- 不得用于非法用途
- 根据中国相关法规,请勿对中国地区公众提供未经备案的生成式人工智能服务
## 🤝 贡献
欢迎提交Issue和Pull Request来改进项目。
## 📄 许可证
本项目基于开源许可证发布,详见 [LICENSE](LICENSE) 文件。