Artizan-MsOnAbp:一个基于 ABP 的微服架构,开箱即用

简介

一个基于 ABP 的微服架构,开箱即用。

1688055634191

运行条件

运行环境

运行前先安装:

依赖类库 artizan-abp

解决方案 artizan-abp-microservice 引用了 artizan-abp 类库。

引用依赖类库 artizan-abp的方式有:

  • 通过项目源码引用
  • 通过 Nuget (官方或私有)引用

解决方案 artizan-abp-microservice 与依赖类库 artizan-abp 源码的目录层级关系如下所示:

artizan-abp
├── framework     # 框架
├── modules       # 主目录
│   ├── account   # account 模块
│   ├── identity  # identity 模块
│   ├── ...       # 其它 module
│  
├── build # 所有项目编译、发布脚本
│   │   ├── common.ps1 # 配置脚本,主要配置将要编译、发布的项目目录
│   │   ├── build-all.ps1 # 项目编译脚本
│   │   └── build-all-release.ps1 # 项目发布脚本
│   │   
├── nupkg # nuget 相关文件
│   │   ├── common.ps1 # 配置脚本,主要配置将要打包的项目(根)目录
│   │   ├── pack.ps1 # 脚本:批量打包
│   │   └── push_packages.ps1 # 脚本:批量上传包
│   └── ... 
│   
artizan-abp-microservice
│   ├── v7.x
│   │   ├── apps     # 应用程序
│   │   ├── gateways # 网关
│   │   ├── services # 微服务
│   │   ├── tye.yaml # tye 配置,用于 tye run
│   │   ├── ...
│   │   └── MsOnAbp.sln # 解决方案

引用 artizan-abp 源码

如果解决方案 artizan-abp-microservice 直接引用类库 artizan-abp 源码,得先编译 artizan-abp 源码,

在类库 artizan-abp的目录: artizan-abp\build 中打开 PowerShell,执行如下命令,对 artizan-abp 所有项目进行编译:

artizan-abp\build> .\build-all.ps1

可选参数:-f, (即:full, 编译全部的意思) ,添加该参数后,在编译时将包含一些非必须项目。

更多说明,参见该目录下的 README.md 文件

编译成功后,解决方案 artizan-abp-microservice 有可能还是无法识别类库 artizan-abp 中的项目,出现这种情况,解决办法如下:

MsOnAbp.sln 解决方案所在目录中打开 PowerShell,然后执行如下命令:

> dotnet restore

命令执行完成后,如果还是有些项目无法识别,请到具体出现问题的项目的根目录中执行: dotnet restore 命令。

引用 artizan-abp 的Nuget包

可以将类库 artizan-abp 中的项目发布到官方或者私有的 Nuget源,然后再通过 Nuget引用。

如何发布 artizan-abpNuget包 ,请参见类库 artizan-abp 的如下文档:

artizan-abp\nupkg\README.md

如何运行?

后台项目

后台项目包括:

  • 认证授权服务: auth-server

  • 内部网关:web-gateway

  • 外部网关: web-public-gateway

  • 微服务: administration-service、identity-service 等

要运行所有后台项目,有如下几种方式:

  • Visual Studio
  • Tye

Visual Studio

使用 Visual Studio 运行 MsOnAbp的方法如下:

使用 Visual Studio 打开 MsOnAbp.sln 解决方案 ,鼠标右键单击 MsOnAbp.sln解决方案,选择【属性】菜单项,在弹出的属性页弹框中,选择【多个启动项目(M)】,然后选择要启动的项目,注意调整项目启动的顺序,如下图所示:

设置完成后,点击【确定】按钮。

然后在工具栏中,点击【启动】按钮,即可同时启动多个项目。

Tye

使用 Tye 运行 MsOnAbp 的方法如下:

打开 PowerShell, 切换到解决方案 MsOnAbp.sln 所在目录,然后执行如下命令:

> tye run

注意:

1.你需要在你的电脑中安装 Type ,可以通过如下执行命令安装 Tye:

dotnet tool install -g Microsoft.Tye

2.Tye 的配置文件名为:tye.yaml, 位于解决方案 MsOnAbp 所在目录,如果有新的项目要加入启动列表,记得在该文件中添加相关配置。

上述命令执行完成后,查看输出结果:

[00:30:17 INF] Executing application from F:\05-workspace\dev\01-lab\abp-framework\artizan-abp-microservice\v7.x\tye.yaml
[00:30:17 INF] Dashboard running on http://127.0.0.1:8000
[00:30:17 INF] Build Watcher: Watching for builds...
[00:30:17 INF] Building projects
...

从上述输出结果可以看到,Tye 的仪表盘地址:http://localhost:8000 ,使用浏览器访问该地址,你会看到所有的项目都已经运行,如下图所示:

应用程序

backend-admin

这是后台管理应用程序,基于 vue的纯前端项目,其技术栈主要有:

  • Vue3
  • TypeScript
  • Tailwind css
  • Vite

那如何运行项目呢?

在项目根目录(即:package.json 文件所在目录)中打开 Powershell ,然后执行如下命令:

# 安装依赖
> yarn

# 运行开发环境
> yarn dev

# 生产环境项目打包
> yarn build

注意

1.也可以使用 npm、pnpm 等;

2.如果无法运行,具体参看该项目的相关文档(如:README.md 等)。

其它

clean.bat

双击 clean.bat,可以自动清除所有项目的如下文件夹:

  • bin
  • obj
  • node_modules

开发进度

后台框架

完成进度如下:

  • [✔] 微服务:AdministrationService
  • [✔] 微服务:IdentityService
  • [✔] 内部网关
  • [✔] 外部网关
  • [✔] 认证服务:AuthServer (基于OpenIddict)

artizan-vue-admin

开发进度

完成进度如下:

  • [✔] 用户名/邮箱登录

  • [✔] Vue 的状态管理:基于pinia 的 abpStore

  • [✔] 本地存储:基于localStorage 的 abpStorage

  • [✔] 本地化:hook:useLocalization

  • [✔] 权限:hook:useAuthorization

  • [✔] 路由:登录身份认证守卫、权限守卫

  • [✔] 菜单:根据权限生成菜单

  • [✘] 角色管理:

    • [✘ ] CURD
    • [✘] 权限
  • [✘] 用户管理:

    • [✘] CURD
    • [✘] 权限
    • [✘] 密码重置
    • [✘] 锁定/解锁
  • [✘] 个人设置:

    • [✘] 个人信息
    • [✘] 修改密码
  • [✘] 设置管理:

    • [✘] 账号设置
    • [✘] 邮箱设置
  • [✘] 账号管理:

    • [✘] 用户名/邮箱注册
    • [✘] 邮箱确认
    • [✘] 手机注册
    • [✘] 手机确认
    • [✘] 忘记密码
  • [✘] 第三方登录:

    • [✘] 微信公众号
    • [✘] 微信小程序
    • [✘] QQ登录

持续开发中....

布局

登录

仪表盘

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章