日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

初识ABP vNext(3):vue对接ABP基本思路

發布時間:2023/12/4 vue 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初识ABP vNext(3):vue对接ABP基本思路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方藍字"小黑在哪里"關注我吧

  • 登錄

  • 權限

  • 本地化

  • 創建項目

    • ABP

    • vue-element-admin

前言

上一篇介紹了ABP的啟動模板以及AbpHelper工具的基本使用,這一篇將進入項目實戰部分。因為目前ABP的官方模板只支持MVC和Angular,MVC的話咱.NET開發人員來寫還可以,專業前端估計很少會用這個。。。Angular我本人不熟,所以選擇vue來做UI。

開始

我使用vue-element-admin[1]來作為模板,這個項目貌似很多人用,選擇他的i18n[2]分支,因為我需要國際化功能。在開始編碼前,需要先分析幾個重要問題:

  • 用戶登錄/token

  • 用戶權限控制

  • 應用程序本地化/語言切換

好在ABP模板提供了Angular版本,我們可以參考Angular版本來做。

登錄

因為ABP的授權模塊是使用IdentityServer4,所以IdentityServer4的一些默認端點在ABP里也是同樣有效的,可以參考下IdentityServer4官網[3]。運行ABP模板項目,看一下IdentityServer4發現文檔,uri是:/.well-known/openid-configuration

可以看到token端點是/connect/token,這是IdentityServer4默認的,通過這個端點就可以登錄用戶獲取token。后面請求接口時,把token放到HTTP Header的authorization字段即可。

權限

進入ABP的/swagger界面:

ABP內置了一個/api/abp/application-configuration接口,它用于返回本地化文本,權限和一些系統設置信息??匆幌聰祿袷?#xff1a;

auth.policies字段中包含了系統的所有權限,auth.grantedPolicies字段則包含了當前用戶所擁有的權限,因為我現在沒登錄所以是空的。通過這兩個字段就可以和vue-element-admin的菜單權限對應起來,實現權限控制。

currentUser字段表示當前用戶信息,沒登錄時就是空的,isAuthenticated為false,這個字段也可以作為用戶是否登錄(token是否有效)的判斷依據。

本地化

本地化對于大部分的小型系統可能都用不上,不過ABP作為一個優秀且全面的框架,必然會支持本地化功能。同樣的,本地化信息也可以通過/api/abp/application-configuration接口來獲取:

localization.languages字段表示系統所支持的語言類型,前端的語言切換選項就可以使用這個字段。

localization.values字段就是本地化的文本信息了,你在后端配置的本地化文本都可以從這里獲取到,通過這個字段結合vue-element-admin的國際化功能,就可以讓你的系統支持多語言。vue-element-admin的國際化方案是通過 vue-i18n[4]來實現,你也可以直接在前端部分來做國際化,如果你只有一個前端應用的話,但是在后端做復用性更好一些。

語言切換時只需要把對應的語言名稱放到HTTP Header的accept-language字段就行。

創建項目

在開始編碼前,先創建好前后端的模板項目。

ABP

這里直接用Abp CLI命令來創建解決方案吧:

abp new "Xhznl.HelloAbp" -t app -u none --separate-identity-server -m none -d ef -cs "Server=localhost;User Id=sa;Password=Password@2020;Database=HelloAbp;MultipleActiveResultSets=true"

創建一個名為"Xhznl.HelloAbp"的解決方案,使用app作為模板,不需要UI,并且將Identity Server應用程序與API host應用程序分開,使用Entity Framework Core作為數據庫提供程序,并指定連接字符串。創建完成后會得到一個aspnet-core文件夾。

項目結構如下,因為指定了--separate-identity-server參數,所以多了個IdentityServer項目,如果不指定的話它是集成在HttpApi.Host中的。

通常小型系統沒必要把Identity Server應用程序與API host應用程序分開,會增加運維成本,這里只是為了演示分布式部署的情況,為后面的微服務做準備。

ABP還支持為每個模塊單獨配置數據庫(如果你不需要分庫,可以忽略以下內容),修改DbMigrator、IdentityServer項目的appsettings.json配置文件:

在ConnectionStrings中添加AbpIdentityServer配置,為Identity Server配置獨立的數據庫連接字符串,不配置的話默認使用Default配置。AbpIdentityServer這個key是來自ABP的IdentityServer模塊中的一個常量,具體請參考源碼。

在開發環境光定義連接字符串還不夠,因為HelloAbpIdsDB數據庫還不存在,需要使用EF Core Code Frist遷移系統創建和維護這個數據庫。新建一個項目:

步驟比較多,具體流程請參考官網:數據庫遷移[5],這里就不重復介紹了,你也可以選擇不分庫。

完成以上步驟,最終會生成2個數據庫,并且包含了一些默認的種子數據。

然后驗證一下HttpApi.Host和IdentityServer項目是否可以正常運行,前提是你電腦需要有sqlserver,redis。

HttpApi.Host:

IdentityServer:

vue-element-admin

vue-element-admin的基本使用就不介紹了,相信很多人見過這個,不了解的可以自己去搜索學習一下。

去GitHub下載i18n[6]分支的代碼,或者直接用git clone命令。

在項目根目錄下執行指令:

安裝依賴:npm install

啟動項目:npm run dev

啟動正常的話可以看到這個界面:

最后

本篇先做準備工作,下一篇將從登錄功能開始編碼實現。。。代碼已上傳至GitHub:https://github.com/xiajingren/HelloAbp,歡迎star。

參考資料

[1]

vue-element-admin: https://github.com/PanJiaChen/vue-element-admin

[2]

i18n: https://github.com/PanJiaChen/vue-element-admin/tree/i18n

[3]

IdentityServer4官網: https://identityserver4.readthedocs.io/

[4]

vue-i18n: https://github.com/kazupon/vue-i18n

[5]

數據庫遷移: https://docs.abp.io/zh-Hans/abp/latest/Entity-Framework-Core-Migrations#使用多個數據庫

[6]

i18n: https://github.com/PanJiaChen/vue-element-admin/tree/i18n


如果本文對您有用,

不妨點個“”或者轉發朋友圈支持一下

總結

以上是生活随笔為你收集整理的初识ABP vNext(3):vue对接ABP基本思路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 老牛影视av老牛影视av | 日本不卡视频在线观看 | 色婷婷天堂 | 一边摸一边做爽的视频17国产 | 狠狠综合网 | 精品中文一区二区三区 | 影音先锋在线看 | 天堂а√在线中文在线鲁大师 | 国产伦理吴梦梦伦理 | 国产精品一卡二卡 | 国产又爽又黄游戏 | 日韩精品毛片 | 国产污视频在线 | 99热激情| 免费欧美一区 | 里番acg★同人里番本子大全 | 野花视频免费在线观看 | av大片免费观看 | 欧美大波大乳巨大乳 | 午夜高清视频 | 在线尤物| 黄色一二三区 | 国产一区亚洲二区三区 | 国产无玛 | 亚洲欧美在线观看视频 | 好av| 99久久精品免费视频 | 成人导航网站 | 琪琪色网 | 中文字幕在线观看网址 | 人碰人操 | 日本视频在线观看免费 | 三极片黄色 | 李丽珍裸体午夜理伦片 | 天堂a√在线 | 国产视频导航 | 最新99热| 亚洲精品97久久 | 精品国产视频在线 | 亚洲人精品 | 国产crm系统91在线 | 亚洲国产情侣 | 久久久久久久女国产乱让韩 | 色吧视频 | 国产内射合集颜射 | 亚洲aⅴ在线观看 | 国产精品2020 | 欧美乱做爰xxxⅹ久久久 | 中文字幕在线免费观看 | 在线观看日批视频 | 国产第100页| 午夜免费福利影院 | 91午夜视频在线观看 | 国产黄在线免费观看 | 久久久青青 | 美日韩黄色片 | 国产激情无套内精对白视频 | 亚洲精品欧美在线 | 日韩av免费在线看 | 黄色片在哪看 | 中国免费看的片 | 亚洲精品无码不卡在线播he | 亚洲综合视频在线观看 | 免费国产精品视频 | 国产精品一二三区在线观看 | 色视频在线播放 | 久久精品夜色噜噜亚洲a∨ 中文字幕av网 | 欧美性受xxxx | 私人av| √资源天堂中文在线视频 | 日韩一区不卡视频 | 国产精品久久久久久久久岛 | 在线的av | 国产欧美一区在线观看 | 无码国产色欲xxxx视频 | 欲色视频| 久久久久亚洲av片无码下载蜜桃 | 超碰在线成人 | 日本韩国欧美中文字幕 | 在线播放精品视频 | 亚洲欧美国产一区二区三区 | www夜插内射视频网站 | 天天天天天天操 | 久久久久久亚洲精品中文字幕 | 阿v天堂2017 欧美小视频在线观看 | 欧美 丝袜 自拍 制服 另类 | 亚洲精品一区二区三区四区乱码 | 日韩福利一区 | 国产欧美一区二区三区免费看 | 美女又爽又黄免费视频 | 6080毛片 | 久久久二区 | 中国大陆一级片 | 欧美成人一二三区 | 欧美日韩亚洲国产精品 | 国产又粗又硬又长又爽的演员 | 最新免费av网站 | 少妇色综合| 强制憋尿play黄文尿奴 |