首页 > 其他分享 >前后端分离中台框架 Admin.Core 学习-介绍与配置说明

前后端分离中台框架 Admin.Core 学习-介绍与配置说明

时间:2023-08-20 18:11:50浏览次数:33  
标签:Core false 框架 Admin 配置 默认 json ZhonTai

中台框架后端项目 Admin.Core 的介绍与配置说明

中台admin是前后端分离权限管理系统,Admin.Core为后端项目,基于.NET 7.0开发。
支持多租户、数据权限、动态 Api、任务调度、OSS 文件上传、滑块拼图验证、多数据库,分布式缓存、分布式事务等

  • 项目地址
  • 技术栈
    • dotnet7
    • FreeSql
    • Autofac
    • CAP
    • Mapster
  • 特点
    • 快速启动,上手简单
    • 系统模块化
    • Swagger的模块化封装
    • 读写分离
    • 分库分表
    • 分布式事务 TCC/ SAGA
    • 动态API
    • 系统权限封装基本满足大部分项目
    • 多租户实现
  • 开发环境
    • Vs2022
    • dotnet7
  • 项目结构
    • hosts
      • ZhonTai.Host:默认启动项目,添加对 ZhonTai.Admin.Dev,模块的引用,并将程序集配置到 assemblyNames
    • platform
      • ZhonTai.Admin 核心服务
      • ZhonTai.ApiUI 接口文档封装,分模块加载
      • zhonTai.Common 通用库封装
      • ZhonTai.DynamicApi 动态WebApi库
      • ZhonTai.Admin.Dev 代码生成器添加
    • tests
      • ZhonTai.Tests 测试库
    • modules
      • XX.XX 我准备放自己的模块

框架的使用

1. 从GitHub 克隆/下载项目

  • 后端:git clone https://github.com/zhontai/Admin.Core.git
  • 前端:git clone https://github.com/zhontai/admin.ui.plus.git

2. 后端项目的启动

使用新下的VS2022打开后,默认启动项目 ZhonTai.Host ,直接Ctrl+F5运行即可
系统将会根据实体生成数据库及表,并根据 Configs/dbconfig.json 配置将 initData/*.json 的数据生成到本地Sqlite中
(ps:第一次搞dotnet7的项目,vs2019+自己下SDK折腾半天搞不了一点,需要vs2022 17.4+)

3. 配置文件说明

  • launchSettings.json

    • 默认本地启动配置
      • 配置项
        • 运行环境
          • ASPNETCORE_ENVIRONMENT:Development
        • 启动端口
          • 默认:8000
          • 优先级低于appconfig.urls的配置
  • appsettings.{Env}.json

    • 默认的应用配置文件
    • 配置项
      • 日志等级
        • 默认:Information
      • 跨域
        • 默认:*
      • CAP配置
        • 默认:未启用
      • 滑动验证码
        • 默认:300s有效期
        • 是否开启在appconfig.json配置varifyCode.enable
  • Configs*.{Env}.json

    • 自定义的应用配置文件
    • dbconfig.json
      • 数据库配置
      • 绑定模型
        • 单例:DbConfig
      • 配置项
        • 支持类型:type
          • 默认:Sqlite
            MySql = 0, SqlServer = 1, PostgreSQL = 2,Oracle = 3, Sqlite = 4, OdbcOracle = 5,OdbcSqlServer = 6, OdbcMySql = 7,OdbcPostgreSQL = 8, Odbc = 9, OdbcDameng =10, MsAccess = 11, Dameng = 12,OdbcKingbaseES = 13, ShenTong = 14,KingbaseES = 15, Firebird = 16
        • 连接字符串:connectionString
          • 默认:admindb.db
        • 同步结构
          • syncStructure:true
            • 默认启用
            • 分布式部署需要注意关闭
          • 监听同步结构脚本 syncStructureSql:false

          将会输出codeFirst执行的脚本
          将 assemblyNames 配置的所有实体执行结构移 db.CodeFirst.SyncStructure 
          1.创建临时表
          2.插入历史数据,修改字段名称情况注意
          3.删除旧表,重命名临时表为新表
          生产上该自己执行脚本的还是自己执行

        • 同步数据
          • syncData:true
          • sysUpdateData:false
            • 同步更新数据
            • 确定要修改表数据是最新数据再开启,除localdb测试就不要使用
          • syncDataIncludeTables:[]
            • 同步数据包含表,指定表同步,不填同步所有表
          • syncDataExcludeTables:[]
            • 同步数据排除表,指定表不同步
          • syncDataUser
            • 同步数据操作用户
          • syncDataPath
            • 不配置默认为  项目目录/InitData/Admin
            • 默认会将文件夹下的所有 表名.json 添加到数库中,默认新增所有数据
            • 如果是租户数据,格式为 表.tenant.json
          • syncDataCurd:false
            • 监听同步数据Curd操作

          设置是否将syncDataPath文件夹下的 表名.json 加/修改到数据库中

        • 生成数据
          • generateData:true
            默认开启但无效,需要将禁用创建数据库及禁用步:createDb:false && syncData:false
          • 加了视图菜单就可以使用这个功能来创建生成默认数据
  • cacheconfig.json

    • 缓存配置,未绑定模型,redis缓存,限流参数配置
    • 配置项
      • 支持类型
        • 默认:Memory
        • Memory = 0,Redis = 1
      • 限流缓存类型
        • 默认:Memory
        • Memory = 0,Redis = 1
      • Redis配置
        • 127.0.0.1:6379
  • appconfig.json

    • 应用配置
    • 绑定模型
      • 单例: AppConfig
    • 配置项
      • appType 应用程序类型
        • 默认:Controllers
        • Controllers ControllersWithViews MVC
      • urls 启动地址
        • http://*:8000
      • corUrls 跨域
        • []
      • assemblyNames 程序集名称
        • ZhonTai.Admin
        • Mapster自动注册程序集
      • tenantc租户
        • true
      • distributeKey 分布式事务唯一标识
        • 为空则不生成分布式事务表
      • validate 验证开关
        • 登录,接口权限,数据权限验证
      • swagger Swagger文档s
      • apiUI 接口文档地址
      • MiniProfiler 性能分析器
        • false
      • identityServer 统一认证授权服务器
        • false
      • aop 面向切面编程s
        • 开启事务
      • log 数据库日志
        • 操作日志
      • rateLimit 限流开关
        • false
      • varifyCode 登录验证码
        • true
      • defaultPassword 默认密码
        • 111111
      • dynamicApi 动态api
        • 结果格式化
      • passwordHasher 标准标识密码哈希
        • 启用后相同密码加密后各不相同
      • maxRequestBodySize 最大请求大小
        • 104857600
      • healthChecks 健康检查
        • enable:true 启用
        • path:/admin/health
  • jwtconfig.json

    • JWT配置
    • 绑定模型
      • 单例:JwtConfig
    • 配置项
      • issuer 发行者
      • audience 订阅者
      • securityKey 密钥
      • expires 有效期(分钟) 120
      • refreshExpires 刷新有效期(分钟) 1440
  • ossconfig.json

    • 本地上传配置
    • 绑定模型
      • IOptions<OSSConfig>
    • OSS配置
      • Minio
      • 阿里云
      • 腾讯云
      • 七牛
      • 华为云
  • uploadconfig.json

    • 上传配置
    • 绑定模型
      • IOptions<UploadConfig>
  • ratelimitconfig.json

    • 限流配置
    • 绑定模型
      • IOptions
    • 支持类型
      • IP限流
        • 默认未启用
        • 需要在appconfig.json中配置rateLimit:true生效
        • 使用Redis实现限流
        • 需要在cacheconfig.json中配置typeRateLimit
  • InitData\模块*.{tenant}.json

    • 默认初始化数据

写在最后

文章的起因是想找个不错的框架用来搞个自己用的系统,找了几个dotnet+vue的框架,zhontai的这个是看到上手最容易,前后台的代码也没有封装得太深,二开也很方便,看着用着都挺舒服的。
唯一的不足就是文档了,一点资料都找不到,就只能一点点看代码,然后边看边记录,以备后用,又想着既然都写了,那就再整理一下了,顺便分享出来咯,希望能够对后面使用框架的有所帮助。

标签:Core,false,框架,Admin,配置,默认,json,ZhonTai
From: https://www.cnblogs.com/morang/p/admin_core_book_01.html

相关文章

  • 安装fastadmin插件之青动CRM
    1、前置条件青动CRM为fastadmin的一个插件,什么是fastAdmin,请查看该网站https://www.fastadmin.net/video.html1、测试环境服务器2核2G,php7.2,MySQL5.7.24,redis6.2.7,nginx1.22.1,宝塔8.0.13、宝塔创建站点保存好创建站点时的数据库链接信息4、上传项目文件标红的为项目压......
  • 安装fastadmin插件之企业官网
    1、前置条件安装企业官网插件之前,需要先安装好fastadmin框架,如何安装fastadmin框架,请访问该网址https://www.fastadmin.net/video.html2、安装企业官网插件打开插件管理点击本地安装选择企业官网插件压缩包安装完成,刷新浏览器......
  • 日志门面和日志框架(实现)
    日志框架:log4j、log4j2、logback日志门面:slf4j日志门面的作用是解耦 在软件开发领域有这样一句话:计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。而门面模式(外观模式)就是对于这句话的典型实践。 参考文献:https://blog.csdn.net/qq_35642036/article/deta......
  • linux环境编程(1): 实现一个单元测试框架-2
    正片开始在之前的文章中,介绍了如何实现一个类似gtest的单元测试框架,完整的项目代码可以参考这里:https://github.com/kfggww/cutest.近期对cutest的实现做了一些修改,包括:TestSuite的声明宏,修改为TEST_SUITE增加TestSuite的声明宏TEST_SUITE_WITH.可传递Suite的......
  • 2023.33 AI框架
    人工智能(AI)框架是指用于构建和部署AI模型的软件工具集合,它们提供了各种算法、模型和工具,简化了AI开发过程。AI框架的发展历史:早期AI框架:在AI的早期阶段,一些基础的编程语言和库被用于实现简单的机器学习算法,如MATLAB、R和Python的NumPy库。这些工具提供了基本的数据处理和数学运算......
  • Qt编写网易云界面 (1) -----主框架的实现
    为了增强自己的Qt桌面应用项目经验及技术,今天开个坑,实现网易云的基本页面。先放一个参考依据我们就以这个为主要,先来实现主界面,素材就在网上找,推荐一个素材网站:iconfont-阿里巴巴矢量图标库这是项目工程截图主要实现了第一行的各个按键,实际效果如图:目前只实现了查号关闭......
  • 安装fastadmin插件之活动报名插件
    1、前置条件安装活动报名插件,需要先安装fastadmin框架,如何安装fastadmin框架,请查看视频教程https://www.fastadmin.net/video.html2、安装活动插件点击插件管理然后点击本地安装上传活动报名压缩包安装成功刷新浏览器3、项目配置和说明查看源码目录中的文档即可......
  • 安装fastadmin插件之百度Ueditor编辑器
    1、前置条件安装百度Ueditor编辑器插件前,需要先安装好fastadmin框架,如何安装fastadmin框架,请浏览该文档https://www.fastadmin.net/video.html2、安装百度Ueditor编辑器插件点击插件管理点击本地安装,选择百度Ueditor编辑器压缩包安装成功,刷新浏览器然后点击本地插件安......
  • fastadmin安装阿里云短信插件
    1、前置条件安装fastadmin插件,需要先安装好fastadmin框架,如何安装fastadmin框架,可以查看这个地址https://www.fastadmin.net/video.html2、安装阿里云短信插件找到插件管理然后点击本地安装上传本地阿里云短信插件安装成功......
  • #yyds干货盘点#electron-egg: 当代桌面开发框架
    当前技术社区中出现了各种下一代技术或框架,却很少有当代可以用的,于是electron-egg就出现了。当前桌面软件技术有哪些?语言技术优点缺点C#wpf专业的桌面软件技术,功能强大学习成本高Javaswing/javaFx跨平台和语言流行GUI库少,界面不美观C++Qt跨平台,功能和类库丰富学习成本高Swift无非跨......