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登錄

持續開發中....

佈局

登錄

儀表盤

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