# BoYuanCore
**Repository Path**: MemoryFast/BoYuanCore
## Basic Information
- **Project Name**: BoYuanCore
- **Description**: 基于.Net Core 3.1或 .Net 5 框架简单2层架构,实现基于权限角色的页面级权限后台框架,并配套完善代码生成工具,可开箱即用,适用于中小型项目快速开发。使用的框架或工具:FineUICore FreeSql Serilog等。由于版权的问题,下载FineUICore或FineUIPro 需要移步到 https://t.zsxq.com/beiMfMB下载。
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 19
- **Created**: 2021-09-28
- **Last Updated**: 2021-09-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
> 说明文档备份地址: https://www.jianshu.com/p/a218d710bde6
欢迎加入Q群:275110998
### 0 介绍BoYuanCore框架
**项目介绍**
实现页面权限基于权限角色的后台框架,配套完善代码生成工具,可开箱即用,适用于中小型项目快速开发。
项目为.Net Core 3.1或.Net 5,使用简单的service分层架构,前端为FineUICore , 数据层使用FreeSql ORM+雪花算法实体模式,兼容各种不同的数据库迁移(支持的数据库:SqlServer, Mysql, Postgresql, Oracle 等),并有完善的异常拦截写入日志功能。
优秀的编码体验,层次分明,简单易学,从而实现快速开发的目的,或入门学习.Net Core。
建议使用vs2019以上版本开发工具 ,数据库随意。
###### 平时在工作或学习中,受到的FineUI和FreeSql帮助比较大,特此开源自己的项目底层架构,分享开源精神。如果对您有所有帮助,给项目点上星星,支持下开源作者。
**FineUI 特点**
企业级 ASP.NET UI 控件库,基于jquery实现。封装了很多常用的功能,少写很多js和css便于快速开发后台或软件管理等项目,是一个很不错的工具框架。
> 演示地址 https://core.fineui.com
**FreeSql 特点**
可能是史上最全面和稳定的ORM框架,个人认为没有之一。社区活跃,有bug不过夜,各种骚套路玩法可满足任何人不同的口味。强烈推荐大家了解下FreeSql
> 官网地址 https://github.com/dotnetcore/FreeSql (推荐大家看看wiki和issues)
### 1 下载FineUI相关框架组件。
由于版权限制,本框架需要到知识星球载FineUIPro.dll 和 FineUICore.dll这2个文件。注意知识星球是需要付费入场,入场后可以随意免费下载fineui基础版相关控件,并可以永久使用。
知识星球地址:
> https://t.zsxq.com/beiMfMB

知识星球首页置顶可以下载相关dll
### 2 下载BoYuanCore项目,并配置
如果有问题或建议欢迎到gitee上留言。gitee有联系方式,BoYuanCore项目地址如下:
> https://gitee.com/sundayisblue/BoYuanCore
下载项目后,需要重新引用FineUIPro.dll 和 FineUICore.dll。

[删除FineUICore引用,并重新引用FineUICore.dll]

[删除FineUICore引用,并重新引用FineUICore.dll]

[删除FineUIPro引用,并重新引用FineUIPro.dll]

[右键项目浏览添加引用FineUIPro.dll或引用FineUICore.dll]
加载完成后,重新生成解决方案。初次生成可能有些慢,需要从nuget下载相关组件dll。
接下来配置资源文件res文件相关。在项目doc文件夹里,解压res.7z。

[解压res.7z资源文件]
复制res到项目 BoYuanCore.Web\wwwroot 和 BoYuanCore.CodeGenerator 文件夹里

[BoYuanCore.Web\wwwroot]

[BoYuanCore.CodeGenerator]
至此项目配置完成。
**注意 res文件夹不要包含在项目里(由于res文件太多,编译会很慢),发布项目时候手动复制到服务器环境里。**
### 3 创建项目数据库
重新生成解决方案后没有异常后,先运行代码生成工具,如下图

[先启动BoYuanCore.CodeGenerator项目]
代码生成工具是fineuipro,webform架构,这种webform开发快,不影响主业务项目。
创建数据库,如下图选择数据库,填写连接字符串,点击即可完成创建。

[创建数据库基础表结构]
### 4 使用代码生成工具
作为示例创建一个新的表,以Sql server数据库为例创建news表。主键id设置为bigint(对应C#是long类型,雪花主键必须以long为主键,用雪花主键方便数据库做迁移),非自增。

[创建news表结构]
在代码生成工具中,先连接数据库,选择要生成实体的表news,最后点击**生成代码**。不建议直接把代码直接生成到项目里,怕不小心覆盖,默认在C盘code文件夹下,手动加入到项目里比较好。

[生成对应数据库的实体模型]

[手动加入entity模型]
同样选择数据库相关表,点击**生成简单代码**,在C盘生成相关页面代码。

[生成页面代码,也可以预览单页代码]

[把生成的页面代码复制到项目路径下]

[创建后的页面代码]
至此所有代码生成完成。
### 5 运行Core项目
这里我们选择core的启动项目方式(非iis方式,推荐core启动方式)

[选择core的启动]
启动后,会有登录页面 用户名admin 默认密码是123456。core启动方式会有控制台显示,方便查看运行时的日志,包括运行的sql等。

[登录页面显示]

[首页显示]
添加页面组件。右键顶点,是添加根目录。右键文件夹可以添加子页面。

[添加页面组件]

[添加子页面]
创建权限角色

[创建权限角色-新闻编辑角色]
添加用户,并给于**新闻编辑**权限角色

[添加用户]
用新用户登录后界面显示

自己试试CURD功能吧。
### 6 更改数据库类型
代码生成工具的数据库类型不需要更改,有下拉框选项自己设置即可。
如果是项目需要,更改数据库类型,比如说sqlserver 改成 oracle mysql pgsql 等(如下图),并在appsetting.json更改对应数据类的连接字符串即可。
### 7 如果页面提示错误码: xxxxxxxxxxxxxxxx ,请在项目根目录下logs文件里,找对应的错误log,即可知道bug。
#### 如果觉得对您有所帮助,欢迎您点亮star或您支持下作者
