簡介
一個基於 ABP 的微服架構,開箱即用。
運行條件
運行環境
運行前先安裝:
-
數據庫:默認使用的數據庫是MySQL,如要切換數據庫,參見 Switch to Another DBMS for Entity Framework Core。
-
Redis
-
RabbitMQ (非必須,如果使用了依賴RabbitMQ的模塊)
依賴類庫 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-abp 的 Nuget包 ,請參見類庫 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登錄
持續開發中....