# YellowJApi
**Repository Path**: xiaoyi1314/yellow-japi
## Basic Information
- **Project Name**: YellowJApi
- **Description**: YellowJApi后台框架,Web API 开发框架,开箱即用
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2022-04-14
- **Last Updated**: 2026-02-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: WebApi
## README
# 🚀 YellowJApi
**一个基于 .NET 9 的现代化 Web API 开发框架**
[](https://dotnet.microsoft.com/download/dotnet/9.0)
[](https://gitee.com/xiaoyi1314/yellow-jhelp)
[](LICENSE)
[](https://furion.baiqian.ltd/)
✨ 高性能 · 易扩展 · 企业级 · 开箱即用
---
## 📖 简介
YellowJApi 是一个基于 **.NET 9** 和 **Furion** 框架构建的现代化 Web API 开发框架。它集成了企业级应用开发所需的核心功能,包括身份验证、多数据库支持、后台任务调度、API 文档自动生成等,帮助开发者快速构建稳定、高效的 API 服务。
---
## ✨ 核心特性
### 🔐 安全认证
- **JWT 身份验证** - 基于 Token 的安全认证机制
- **DES 加密** - 数据库连接字符串等敏感信息加密存储
- **流量保护** - 接口防刷和限流机制
- **权限管理** - 细粒度的权限控制系统
### 💾 数据存储
- **多数据库支持** - SQLite、SQL Server、MySQL、Oracle、PostgreSQL
- **自动注入** - 仓储模式自动依赖注入
- **租户隔离** - 多租户数据隔离支持
### 🛠️ 开发工具
- **Swagger 文档** - 自动生成 API 接口文档
- **Hangfire 任务** - 强大的后台任务调度系统
- **自动注入** - 简化依赖注入配置
- **日志记录** - 完善的日志追踪机制
### 🎯 架构设计
- **分层架构** - 清晰的代码分层(DAL、Service、Controller)
- **仓储模式** - 统一的数据访问抽象
- **AOP 拦截** - 面向切面编程支持
- **异常处理** - 全局异常捕获和处理
---
## 🏗️ 项目结构
```
YellowJApi_2026/
├── YellowJApi/ # 主项目(Web API)
├── YellowJApiEntitry/ # 实体模型层
├── YellowJApiIDAL/ # 数据访问接口层
├── YellowJApiDAL/ # 数据访问实现层
├── YellowJApiIService/ # 业务逻辑接口层
├── YellowJApiService/ # 业务逻辑实现层
├── YellowJApiIHelp/ # 辅助工具接口层
└── YellowJApiHelp/ # 辅助工具实现层
```
---
## 🚀 快速开始
### 环境要求
- **.NET 9.0 SDK** 或更高版本
- **Visual Studio 2022** 或 **VS Code**
- **SQLite**(默认)或其他支持的数据库
### 安装步骤
1. **克隆项目**
```bash
git clone https://gitee.com/xiaoyi1314/yellow-japi.git
cd YellowJApi_2026
```
2. **还原依赖**
```bash
dotnet restore
```
3. **配置数据库**
编辑 `YellowJApi/appsettings.json` 文件:
```json
{
"db": {
"Type": "SQLite",
"Config": "Data Source=./DB/YellowJApi.db;Pooling=True;",
"AdminConnString": "Data Source=./DB/YellowJApiAdmin.db;Pooling=True;",
"YelowJ": "Data Source=./DB/YellowJ.db;Pooling=True;"
}
}
```
支持的数据库类型:
- `SQLite` - 轻量级文件数据库(默认)
- `SqlServer` - Microsoft SQL Server
- `MySql` - MySQL 数据库
- `Oracle` - Oracle 数据库
- `Postgresql` - PostgreSQL 数据库
4. **运行项目**
```bash
dotnet run --project YellowJApi
```
5. **访问 API 文档**
项目启动后,访问 Swagger 文档:
```
https://localhost:5001/swagger
```
---
## 📝 配置说明
### JWT 配置
```json
{
"JWTSettings": {
"ValidateIssuerSigningKey": true,
"IssuerSigningKey": "如果伤痕是个勋章,那我肯定是个将领",
"ValidateIssuer": true,
"ValidIssuer": "YellowJApi",
"ValidateAudience": true,
"ValidAudience": "HelloWorld",
"ValidateLifetime": true,
"ExpiredTime": 20,
"ClockSkew": 5,
"Algorithm": "HS256"
}
}
```
### 管理中心账号
```json
{
"YellowJApiAdmin": {
"UserId": "你好,世界",
"Account": "administrator",
"Password": "888888"
}
}
```
### DES 加密配置
```json
{
"DES": {
"DBA": "DBA88888",
"KEY": "CSL66666",
"IV": "YellowJ6"
}
}
```
---
## 🔌 API 使用示例
### 登录接口
```bash
POST /api/Login/GetLogin
Content-Type: application/json
{
"account": "administrator",
"pwd": "888888",
"tenantID": "YJLessee2014095533689409536",
"menuType": 1
}
```
**响应示例:**
```json
{
"code": 200,
"message": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "refresh_token_here",
"data": {
"userId": "你好,世界",
"account": "administrator"
}
}
```
### 数据库连接字符串加密
```bash
POST /api/Login/GetLogin?text=Server=localhost;Database=MyDB;User ID=sa;Password=123456
```
---
## 🎨 技术栈
| 技术 | 版本 | 说明 |
|------|------|------|
| .NET | 9.0 | 开发框架 |
| Furion | Latest | Web 应用框架 |
| SqlSugar | Latest | ORM 框架 |
| Hangfire | 1.8.22 | 后台任务调度 |
| Swashbuckle | Latest | Swagger 文档生成 |
| JWT | - | 身份验证 |
---
## 📚 核心模块
### 🎯 管理中心
- 用户管理
- 角色权限
- 菜单配置
- 日志查看
### 🔧 基础资料
- 用户信息
- 组织架构
- 数据字典
### 🚀 功能模块
- 登录认证
- 权限验证
- 数据加密
- 流量控制
---
## 🤝 贡献指南
欢迎提交 Issue 和 Pull Request!
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 提交 Pull Request
---
## 📄 开源协议
本项目采用 [MIT](LICENSE) 协议开源。
---
## 📮 联系方式
- **作者**: YellowJ
- **邮箱**: 943324305@qq.com
- **仓库**: https://gitee.com/xiaoyi1314/yellow-japi
---
**如果这个项目对你有帮助,请给个 ⭐ Star 支持一下!**
Made with ❤️ by YellowJ