# Canroc.Net
**Repository Path**: boaro/canroc-net
## Basic Information
- **Project Name**: Canroc.Net
- **Description**: 一款开源的后台管理系统基础框架
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 76
- **Forks**: 29
- **Created**: 2024-07-02
- **Last Updated**: 2026-04-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 📖 项目介绍
**Canroc.Net** 是一套基于最新技术栈构建的企业级后台管理系统。后端采用 **.NET 10**、**Furion** 和 **SqlSugar** 作为核心架构,前端采用 **Vue 3**、**Vite 5**、**TypeScript** 和 **Element Plus**。
项目结构清晰,代码规范,内置了丰富的基础功能模块,能够帮助开发者快速搭建企业级应用。
- **默认管理员**:`canroc`
- **默认密码**:`123456`
## ✨ 功能特性
- **用户管理**:用户是系统操作者,支持多维度的用户配置 (SysUserService)。
- **角色管理**:支持菜单权限分配、数据范围权限划分 (SysRoleService)。
- **菜单管理**:可视化配置系统菜单、操作权限、按钮权限标识 (SysMenuService)。
- **机构管理**:配置系统组织机构(公司、部门、小组),支持树形结构 (SysOrgService)。
- **资源管理**:系统资源(API、按钮等)统一管理与权限控制 (SysResourceService)。
- **字典管理**:维护系统中经常使用的固定数据,如类型、状态等 (SysDictService)。
- **参数管理**:动态配置系统常用参数,无需重启即可生效 (SysParamService)。
- **单据规则**:支持自定义业务单据流水号生成规则 (SysSequenceRuleService)。
- **定时任务**:基于 Furion 的任务调度,支持在线管理任务及查看日志 (SysJobService)。
- **文件管理**:支持本地及多种云存储的文件上传与管理 (SysFileService)。
- **邮件服务**:内置邮件发送服务,支持发送记录查询 (SysMailService)。
- **模板管理**:系统各类业务模板的统一配置与管理 (SysTemplateService)。
- **认证服务**:基于 JWT 的用户登录、鉴权及登录日志记录 (AuthenticationService)。
- **应用服务**:核心业务逻辑聚合与应用级服务接口 (ApplicationService)。
- **外部回调**:统一处理第三方系统的回调请求 (ExternalCallback)。
## 🛠️ 技术架构
### 后端技术
- **开发框架**:[.NET 10](https://dotnet.microsoft.com/)
- **应用框架**:[Furion](https://furion.net/)
- **ORM 框架**:[SqlSugar](https://www.donet5.com/Home/Doc)
- **缓存支持**:Redis
- **定时任务**:Furion.Schedule
- **对象映射**:Mapster
- **API 文档**:Swagger (Knife4jUI)
### 前端技术
- **核心框架**:Vue 3
- **开发语言**:TypeScript
- **构建工具**:Vite 5
- **UI 组件库**:Element Plus
- **状态管理**:Pinia
- **路由管理**:Vue Router
- **HTTP 请求**:Axios
## 📂 项目结构
```text
/
├── Canroc.Net.Application/ # 应用层 (业务逻辑服务)
├── Canroc.Net.Core/ # 核心层 (通用工具、基类、扩展)
├── Canroc.Net.Event/ # 事件总线层
├── Canroc.Net.Memory/ # 缓存层 (Redis 实现)
├── Canroc.Net.RemoteHttp/ # 远程请求层 (微信、支付等)
├── Canroc.Net.Repository/ # 仓储层 (SqlSugar 配置与实现)
├── Canroc.Net.SystemService/ # 系统服务层 (核心业务实现)
├── Canroc.Net.TaskScheduler/ # 任务调度层
├── Canroc.Net.Web/ # 前端项目 (Vue 3)
├── Canroc.Net.Web.Core/ # Web 核心层 (过滤器、中间件)
├── Canroc.Net.Web.Entry/ # 后端启动入口 (Web Host)
└── Canroc.Net.WebSocket/ # WebSocket 服务
```
## 📋 准备工作
在启动项目之前,请确保您的开发环境满足以下要求:
1. **开发工具**:Visual Studio 2022 / VS Code / JetBrains Rider
2. **运行环境**:
- [.NET 10 SDK](https://dotnet.microsoft.com/download/dotnet/10.0)
- [Node.js](https://nodejs.org/) (推荐 LTS 版本)
3. **中间件**:
- **Redis**:必须安装并启动 Redis 服务。
- **数据库**:支持 SqlServer / MySql / PgSql / Oracle / 达梦 / 人大金仓等(SqlSugar 支持的均可)。
## 🚀 快速开始
### 1. 克隆项目
```bash
git clone https://gitee.com/canroc/canroc-net.git
```
### 2. 后端启动
1. 定位到 **`Canroc.Net.Web.Entry`** 目录。
2. 配置 `Config` 目录下的配置文件:
- 修改 `DbConfig.json` 中的 **ConnectionConfigs** 节点(数据库连接字符串)。
- 修改 `RedisConfig.json` 中的 **Redis** 节点(连接配置)。
- 修改 `WebSiteConfig.json` 可配置启动端口及 SSL 证书(支持独立部署 SSL,无需依赖 Nginx)。
3. 运行项目:
- 系统会自动根据配置的实体生成数据库表结构(Code First)。
- 启动成功后,访问 `http://localhost:1314/` 查看 API 文档。
### 3. 前端启动
```bash
# 进入前端目录
cd Canroc.Net.Web
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
## 🍎 效果截图
## 💐 特别鸣谢
- 👉 Furion:[https://gitee.com/dotnetchina/Furion](https://gitee.com/dotnetchina/Furion)
- 👉 SqlSugar:[https://gitee.com/dotnetchina/SqlSugar](https://gitee.com/dotnetchina/SqlSugar)
- 👉 Lazy.Captcha.Core:[https://gitee.com/pojianbing/lazy-captcha](https://gitee.com/pojianbing/lazy-captcha)
- 👉 Geeker-Admin:[https://github.com/HalseySpicy/Geeker-Admin](https://github.com/HalseySpicy/Geeker-Admin)
- 👉 Admin.NET:[https://gitee.com/zuohuaijun/Admin.NET](https://gitee.com/zuohuaijun/Admin.NET)