跳到主要内容

LinCMS.NET

😃 基于ASP.NET Core的简洁实用的CMS开发框架

项目介绍

Lin CMS .NET是Lin-CMS的.NET实现,采用ASP.NET Core 9.0构建,基于Vue.js的前后端分离CMS平台。项目实现了以下功能:

  • 核心权限管理系统
  • 基础字典项管理
  • 随笔专栏系统
  • 评论点赞功能
  • 消息通知中心
  • 标签管理系统
  • 仿掘金社区模块

LinCMS源于林间有风团队的项目实践,是一套内容管理系统解决方案。该项目是完全开源的.NET Core社区实现版本。

线上演示

开源地址

项目文档

核心特性

前后端分离架构

LinCMS采用前后端分离的开发模式:

  • 后端:ASP.NET Core API,提供数据和业务逻辑
  • 前端:基于Vue的单页面应用,提供交互界面

相比传统的服务端渲染方式(如Razor),前后端分离模式具有以下优势:

  • 前端开发者和后端开发者可以专注各自的领域
  • 更流畅的用户体验和更灵活的界面交互
  • 更好的可扩展性和可维护性

完整的权限解决方案

系统内置了完整的RBAC权限管理功能:

  • 基于角色的用户分组
  • 细粒度的API权限控制
  • 动态权限分配
  • 操作日志记录
  • 支持第三方OAuth登录(GitHub、Gitee等)

丰富的扩展功能

  • 文件上传系统:支持本地存储和七牛云
  • 内容管理系统:标签、分类、文章管理
  • 互动系统:评论、点赞、关注
  • 消息通知:系统消息、互动提醒

技术栈

后端技术

  • ASP.NET Core 9.0:Web框架
  • FreeSql:ORM框架,支持多种数据库
  • IdentityServer4:认证授权框架
  • AutoMapper:对象映射
  • Serilog:日志框架
  • CAP:分布式事务和事件总线

前端技术

  • Vue.js:渐进式JavaScript框架
  • Element Plus:UI组件库
  • Vuex:状态管理
  • Vue Router:前端路由
  • Axios:HTTP请求库

快速开始

环境要求

  • .NET SDK 9.0+
  • MySQL 5.7+ / SqlServer / PostgreSQL / Oracle / SQLite
  • Node.js 16+(前端开发)

后端启动

# 克隆项目
git clone https://github.com/luoyunchong/lin-cms-dotnetcore.git

# 进入项目目录
cd lin-cms-dotnetcore/src/LinCms.Web

# 修改数据库连接
# 编辑 appsettings.json 中的ConnectionStrings配置

# 运行项目
dotnet run

详细安装指南请参考后端快速入门

前端启动

# 克隆项目
git clone https://github.com/luoyunchong/lin-cms-vue.git

# 安装依赖
pnpm install

# 启动开发服务器
pnpm run serve

详细安装指南请参考前端快速入门

目录结构

├─ src
│ ├─ LinCms.Web // API层
│ ├─ LinCms.Application // 应用服务层
│ ├─ LinCms.Application.Contracts // 应用服务接口与DTO
│ ├─ LinCms.Infrastructure // 基础设施层
│ ├─ LinCms.Core // 核心领域层
│ └─ LinCms.Plugins // 插件扩展
├─ test
│ └─ LinCms.Test // 单元测试
└─ LinCms.Scaffolding // 代码生成器

社区贡献

欢迎加入LinCMS社区,您可以通过以下方式参与项目:

许可证

本项目采用MIT许可证