mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2026-09-19 14:27:39 +08:00
增加通用skills
This commit is contained in:
@@ -1,33 +1,7 @@
|
|||||||
---
|
---
|
||||||
alwaysApply: false
|
name: dev
|
||||||
|
description: OpenAuth.Net开发规范
|
||||||
---
|
---
|
||||||
# OpenAuth.Net Cursor Rules
|
|
||||||
|
|
||||||
## 项目概述
|
|
||||||
OpenAuth.Net是一个基于.NET 9的企业级权限管理和快速开发框架,采用Martin Fowler企业级应用开发思想,集成了最新的技术栈。
|
|
||||||
|
|
||||||
## 技术栈
|
|
||||||
- **后端**: .NET 9, ASP.NET Core WebAPI
|
|
||||||
- **ORM**: SqlSugar (主要) + Entity Framework Core (兼容)
|
|
||||||
- **依赖注入**: Autofac
|
|
||||||
- **数据库**: 支持SqlServer、MySQL、Oracle、PostgreSQL
|
|
||||||
- **定时任务**: Quartz.NET
|
|
||||||
- **缓存**: Redis, MemoryCache
|
|
||||||
- **前端**: Vue2 + Element-UI
|
|
||||||
- **测试**: NUnit
|
|
||||||
- **文档**: Swagger
|
|
||||||
|
|
||||||
## 项目架构
|
|
||||||
```
|
|
||||||
📦OpenAuth.Net
|
|
||||||
┣ 📂Infrastructure # 基础设施层 - 工具类、扩展方法、帮助类
|
|
||||||
┣ 📂OpenAuth.Repository # 数据访问层 - 实体定义、数据访问
|
|
||||||
┣ 📂OpenAuth.App # 应用服务层 - 业务逻辑
|
|
||||||
┣ 📂OpenAuth.WebApi # 表示层 - WebAPI控制器
|
|
||||||
┣ 📂OpenAuth.Identity # 身份认证服务 - IdentityServer4
|
|
||||||
┣ 📂Vue2 # 前端项目
|
|
||||||
┗ 📂数据库脚本 # 数据库初始化脚本
|
|
||||||
```
|
|
||||||
|
|
||||||
## 编码规范
|
## 编码规范
|
||||||
|
|
||||||
@@ -56,6 +30,32 @@ OpenAuth.Net是一个基于.NET 9的企业级权限管理和快速开发框架
|
|||||||
- 参数使用/// <param name="参数名">说明</param>
|
- 参数使用/// <param name="参数名">说明</param>
|
||||||
- 返回值使用/// <returns>说明</returns>
|
- 返回值使用/// <returns>说明</returns>
|
||||||
|
|
||||||
|
## 项目概述
|
||||||
|
OpenAuth.Net是一个基于.NET 9的企业级权限管理和快速开发框架,采用Martin Fowler企业级应用开发思想,集成了最新的技术栈。
|
||||||
|
|
||||||
|
## 技术栈
|
||||||
|
- **后端**: .NET 9, ASP.NET Core WebAPI
|
||||||
|
- **ORM**: SqlSugar (主要) + Entity Framework Core (兼容)
|
||||||
|
- **依赖注入**: Autofac
|
||||||
|
- **数据库**: 支持SqlServer、MySQL、Oracle、PostgreSQL
|
||||||
|
- **定时任务**: Quartz.NET
|
||||||
|
- **缓存**: Redis, MemoryCache
|
||||||
|
- **前端**: Vue2 + Element-UI
|
||||||
|
- **测试**: NUnit
|
||||||
|
- **文档**: Swagger
|
||||||
|
|
||||||
|
## 项目架构
|
||||||
|
```
|
||||||
|
📦OpenAuth.Net
|
||||||
|
┣ 📂Infrastructure # 基础设施层 - 工具类、扩展方法、帮助类
|
||||||
|
┣ 📂OpenAuth.Repository # 数据访问层 - 实体定义、数据访问
|
||||||
|
┣ 📂OpenAuth.App # 应用服务层 - 业务逻辑
|
||||||
|
┣ 📂OpenAuth.WebApi # 表示层 - WebAPI控制器
|
||||||
|
┣ 📂OpenAuth.Identity # 身份认证服务 - IdentityServer4
|
||||||
|
┣ 📂Vue2 # 前端项目
|
||||||
|
┗ 📂数据库脚本 # 数据库初始化脚本
|
||||||
|
```
|
||||||
|
|
||||||
## 分层架构规则
|
## 分层架构规则
|
||||||
|
|
||||||
### Infrastructure层 (基础设施层)
|
### Infrastructure层 (基础设施层)
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"mcpServers": {
|
|
||||||
"PostgreSQL": {
|
|
||||||
"command": "npx",
|
|
||||||
"args": [
|
|
||||||
"-y",
|
|
||||||
"@modelcontextprotocol/server-postgres",
|
|
||||||
"postgresql://postgres:AwxBRx1_5kljfy@172.30.144.46/openauthpro"
|
|
||||||
],
|
|
||||||
"env": {}
|
|
||||||
},
|
|
||||||
"openauthpro": {
|
|
||||||
"command": "powershell",
|
|
||||||
"args": [
|
|
||||||
"-Command",
|
|
||||||
"npx -y @f4ww4z/mcp-mysql-server"
|
|
||||||
],
|
|
||||||
"env": {
|
|
||||||
"MYSQL_HOST": "localhost",
|
|
||||||
"MYSQL_PORT": "3306",
|
|
||||||
"MYSQL_USER": "root",
|
|
||||||
"MYSQL_PASSWORD": "000000",
|
|
||||||
"MYSQL_DATABASE": "openauthpro"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -65,7 +65,8 @@ namespace Infrastructure.Middleware
|
|||||||
// 启用倒带功能,就可以让 Request.Body 可以再次读取
|
// 启用倒带功能,就可以让 Request.Body 可以再次读取
|
||||||
request.EnableBuffering();
|
request.EnableBuffering();
|
||||||
// 文件上传 记录文件信息
|
// 文件上传 记录文件信息
|
||||||
if (path.Contains("/upload"))
|
var contentType = request.ContentType?? "";
|
||||||
|
if (path.Contains("/upload") || contentType.Contains("multipart/form-data"))
|
||||||
{
|
{
|
||||||
var content = string.Join(",", request.Form.Files.Select(item => item.FileName));
|
var content = string.Join(",", request.Form.Files.Select(item => item.FileName));
|
||||||
logData.Add("request.body", $"收到上传文件:{content}");
|
logData.Add("request.body", $"收到上传文件:{content}");
|
||||||
@@ -73,7 +74,6 @@ namespace Infrastructure.Middleware
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var sr = new StreamReader(request.Body, Encoding.UTF8);
|
var sr = new StreamReader(request.Body, Encoding.UTF8);
|
||||||
//string content = sr.ReadToEnd(); //.Net Core 3.0 默认不再支持
|
|
||||||
var content = sr.ReadToEndAsync().Result;
|
var content = sr.ReadToEndAsync().Result;
|
||||||
logData.Add("request.body", content);
|
logData.Add("request.body", content);
|
||||||
request.Body.Position = 0;
|
request.Body.Position = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user