项目概述
Lin CMS .NET Core 是一款基于.NET 8和FreeSql实现的前后端分离的内容管理系统(CMS)。该项目旨在提高CMS开发效率,内置了用户管理、权限管理、日志系统等常用功能,支持Docker部署、OAuth2授权登录等多种现代化技术栈。
应用场景
Lin CMS .NET Core 适用于需要快速搭建内容管理平台的场景,包括但不限于:
企业官网管理:快速搭建和定制企业官网,管理文章、新闻、产品等信息。 博客平台:构建个人或团队博客,支持多用户、多标签、评论点赞等功能。 技术社区:搭建技术交流社区,支持技术频道分类、插件式功能扩展等。 内部管理系统:作为企业内部的管理系统,如文档管理、知识库等。
功能模块
用户注册、登录、信息修改 第三方授权登录(GitHub、QQ、Gitee) 用户角色与权限管理 基于角色的访问控制(RBAC) 细粒度的权限控制,支持菜单、按钮级别的权限分配 文章/随笔管理:发布、编辑、删除、分类、标签 评论管理:支持文章评论、点赞、回复 关注系统:用户关注、标签关注 日志系统:记录系统操作日志,便于问题追踪 字典项管理:系统基础数据的维护 消息通知:站内信、系统通知 内置用户管理、权限管理、日志系统等CMS常用功能 提供代码生成器,减少重复编码工作
功能特点
前端使用Vue.js构建,后端提供RESTful API接口 前后端独立开发、部署,提高开发效率和系统可维护性 基于.NET 8构建,支持跨平台部署 使用FreeSql作为ORM框架,支持多种数据库(MySQL、MsSqlServer、Oracle、Sqlite、PostgreSQL) 支持Docker部署,实现环境标准化和快速部署
项目技术栈
后端技术栈
编程语言: C# (.NET 8) Web框架: ASP.NET Core + WebAPI + RESTful ORM框架: FreeSql 数据库: MySQL 5.6+/MsSqlServer/Oracle/Sqlite/PostgreSQL 对象映射: AutoMapper 身份认证: JWT 文档API: Swagger (Swashbuckle.AspNetCore), RapiDoc, Knife4jUI 序列化: Newtonsoft.Json 测试框架: Xunit 日志: Serilog 依赖注入: AutoFac 通用扩展方法: Z.ExtensionMethods 云存储: 七牛云 (MQiniu.Core) 分布式事务、EventBus: DotNeteCore.CAP 第三方授权登录: AspNet.Security.OAuth.GitHub, AspNet.Security.OAuth.QQ, AspNet.Security.OAuth.Gitee 部署: Docker, Azure DevOps, GitHub Action
前端技术栈
框架: Vue.js 状态管理: Vuex 路由: Vue-Router UI组件库: ElementUi HTTP请求: axios 模块打包: webpack 其他: ES6
功能演示
源码地址
https://gitee.com/igeekfan/lin-cms-dotnetcore