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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

CoreFlex框架发布 `0.1.1`

發布時間:2023/12/24 windows 41 coder
生活随笔 收集整理的這篇文章主要介紹了 CoreFlex框架发布 `0.1.1` 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CoreFlex框架發布 0.1.1

框架描述

CoreFlex是一個支持.NET 6,.NET 7,.NET 8的快速開發框架,也提供MasaFramework相關框架的集成提供更多功能模塊,
集成了一些常用的功能模塊,可以快速開發企業級應用,提供Blazor的一些JS操作工具庫。

實現目標

Core Flex模塊

Core Flex的核心設計,Core Flex其他模塊都是基于Core Flex的核心設計來實現的。
Core Flex模塊提供了一些基礎的功能,包括:
- 模塊化
- 自動依賴注入

簡單使用

  1. 安裝NuGet
dotnet add package CoreFlex.Module --version 0.1.1
  1. 添加對應模塊方法,比如項目名CoreFlex.Razor.JsInterop,那么模塊名稱則是CoreFlexRazorJsInteropModule,這樣的好處就是可以通過模塊名稱來查找對應的模塊,而不是通過文件夾名稱來查找模塊,這樣可以避免文件夾名稱和模塊名稱不一致的問題。
public class CoreFlexRazorJsInteropModule : CoreFlexModule
{
    public override void ConfigureServices(CoreFlexServiceContext services)
    {
    }

    public override void OnApplicationShutdown(CoreFlexBuilder app)
    {
    }
}

創建的模塊必須繼承CoreFlexModule,然后實現ConfigureServicesOnApplicationShutdown方法,這兩個方法是模塊的生命周期方法,ConfigureServices方法在模塊加載時調用,OnApplicationShutdown方法在模塊構建完成調用。
模塊中也提供了Async結束的異步回調,以便于在模塊加載完成后,可以執行一些異步操作,比如加載一些配置文件等。
當然,如果你的模塊需要使用其他的模塊,你可以在模塊類的上面添加特性[DependsOn(typeof(CoreFlexRazorModule))],CoreFlexRazorModule則是你要依賴的模塊,當然它也支持多個模塊的依賴;
這樣在加載模塊時,會先加載CoreFlexRazorModule模塊,
但是如果沒有設置特定模塊執行順序,依賴模塊將在當前模塊的后面執行。

[DependsOn(typeof(CoreFlexRazorModule))]
public class CoreFlexRazorJsInteropModule : CoreFlexModule

CoreFlex.Razor.JsInterop js工具庫

dotnet add package CoreFlex.Razor.JsInterop --version 0.1.1

提供系統常用的JS互操作的封裝,便于使用。

使用

添加CoreFlexRazorJsInteropModule模塊依賴

封裝Api

CookieJsInterop

提供:

  • GetAllCookiesAsync 獲取所有Cookie
  • AddCookieAsync 添加Cookie`

LocalStorageJsInterop

提供:

  • SetLocalStorageAsync 設置LocalStorage的值
  • GetLocalStorageAsync 獲取LocalStorage的值
  • RemoveLocalStorageAsync 移除LocalStorage的值
  • RemovesLocalStorageAsync 批量刪除Key的LocalStorage
  • ClearLocalStorageAsync 清空LocalStorage的值
  • IsLocalStorageSupportedAsync 判斷瀏覽器是否支持LocalStorage
  • GetLocalStorageKeysAsync 獲取LocalStorage的所有Key

SessionStorageJsInterop

提供:

  • SetSessionStorageAsync 設置SessionStorage的值
  • GetSessionStorageAsync 獲取SessionStorage的值
  • RemoveSessionStorageAsync 移除SessionStorage的值
  • RemovesSessionStorageAsync 批量刪除Key的SessionStorage
  • ClearSessionStorageAsync 清空SessionStorage的值
  • GetSessionStorageLengthAsync 獲取 sessionStorage 中值的數量
  • ContainKeyAsync 判斷 sessionStorage 中是否含有某個鍵名

WindowJsInterop

提供以下功能:

  • CreateBlobURLAsync: 使用 blob 創建 Blob Url
  • CreateBlobURLFromUint8ArrayAsync: 使用 byte[] 創建一個 Blob 對象URL
  • CreateBlobURLFromStringAsync: 使用 Base64 創建一個 Blob 對象的URL
  • RevokeUrlAsync: 釋放 Blob 對象的 URL
  • RevokeUrlsAsync: 批量釋放 Blob 對象的 URL
  • GetScrollPositionAsync: 獲取滾動條位置
  • SetScrollPositionAsync: 修改滾動條位置
  • GetScrollHeightAsync: 獲取滾動條高度
  • ScrollToBottomAsync 滾動到底部
  • ScrollToTopAsync 滾動到頂部
  • CopyToClipboardAsync 復制到剪貼板
  • PlayTextAsync 播放文本
  • PauseSpeechAsync 暫停播放語音
  • ResumeSpeechAsync 繼續語音播放
  • StopSpeechAsync 停止語音播放
  • EnterFullscreenAsync 進入全屏模式
  • ExitFullscreenAsync 退出全屏模式
  • IsFullscreenAsync 判斷當前是否處于全屏模式
  • ToggleFullscreenAsync 切換全屏模式
  • PickContactAsync 使用 Contact Picker API 選擇聯系人

Core Flex 本地事件總線

本地事件總線通過Channel實現本地事件總線

添加CoreFlexEventModule模塊依賴

基本使用

  1. 安裝NuGet
<PackageReference Include="CoreFlex.Module" Version="模塊版本" />
  1. 添加處理程序
public class TestEventHandler : ILoadEventHandler<TestEto>
{
    public Task HandleAsync(TestEto eto)
    {
        throw new NotImplementedException();
    }

    public Task ExceptionHandling(Exception exception, TestEto eto)
    {
        throw new NotImplementedException();
    }
}

public class TestEto
{
    public string Value { get; set; }
}
  1. 提交事件
// 通過構造得到`ILoadEventBus`

await loadEvent.PushAsync(new TestEto(){
    Value="test"
})

總結

以上是生活随笔為你收集整理的CoreFlex框架发布 `0.1.1`的全部內容,希望文章能夠幫你解決所遇到的問題。

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