BeetleX使用bootstrap5開發SPA應用

    在早期版本BeetleX.WebFamily只提供了vuejs+element的集成,由於element只適合PC管理應用開發相對於移動應用適配則沒這麼方便。在新版本組件集成了bootstrap5可以更好地適配移動Web應用;同時也集成了Fontawesome和bootstrapIcons,這樣在開發過程中使用字體圖標就更方便了。在開發時以上組件並不會打包到一起,而是根據實際需要選擇element或bootstrap作爲當前應用的樣式主題,而基礎開發框架還是基於vuejs,ajax數據交互則使用axios。

使用

    在使用之前還是選瞭解一下BeetleX.WebFamily是如何開發SPA應用,並有那些基礎功能BeetleX.WebFamily針對Web SPA應用的改進。第一步使用vs或vscode創建控臺項目,引用BeetleX.WebFamily後在main方法中添加以下代碼:

class Program
{
    static void Main(string[] args)
    {
        WebHost host = new WebHost();
        host.RegisterController<Program>()
        .Setting(o =>
        {
            o.SetDebug();
            o.Port = 80;
            o.LogLevel = EventArgs.LogType.Info;
            o.LogToConsole = true;
        })
        .UseFontawesome()//加入Fontawesome
        .UseBootstrap(PageStyle.Bootstrap)//設置使用bootstrap
        .Initialize((http, vue, resoure) =>
        {
            vue.Debug();
        }).Run();
    }
}

啓動項目後,可以從瀏覽器訪問得到以下結果:

以上是基於bootstrap的SPA應用默認主頁,當然這並不是你所需要的。

定義功能

    接下來在Main方法修改SPA應用的內容,通過修改這些配置可以讓你馬上把主頁更換成實際應用的功能。

class Program
{
    static void Main(string[] args)
    {
            //更改應用標題
            WebHost.Title = "beetlex & bootstrap!";
            //更新應用Logo
            WebHost.LogoImg = "/images/icons-hero.png";
            //設置頭部組件
            WebHost.HeaderModel = "custom-header";
            //設置需要登陸
            WebHost.MustLogin = true;
            //定義頁面的功能菜單
            WebHost.GetMenus = (usr, role, http) =>
            {
                List<Menu> result = new List<Menu>();
                var item = new Menu();
                item.ID = "home";
                item.Img = "fas fa-home";
                item.Name = "主頁";
                item.Model = "webfamily-home";
                result.Add(item);
                //....
                return Task.FromResult(result);
            };
            WebHost host = new WebHost();
        host.RegisterController<Program>()
        .Setting(o =>
        {
            o.SetDebug();
            o.Port = 80;
            o.LogLevel = EventArgs.LogType.Info;
            o.LogToConsole = true;
        })
        .UseJWT()//開啓jwt驗證
        .UseFontawesome()//開啓Fontawesome
        .UseBootstrap(PageStyle.Bootstrap)//開啓bootstrap
        .Initialize((http, vue, resoure) =>
        {
            resoure.AddCss("website.css");//加入本項目的CSS
            resoure.AddScript("echarts.js");//加入本項目的js
            vue.Debug();
        }).Run();
    }
}

由於開啓了登陸和驗證,所以這一次訪問頁面會默認是一個登陸窗體

登陸後就可以進行主頁面了,這裏並沒有定義登陸過程,任意用戶密碼都能登陸成功能。

自動適配手機端下的效果。

組件針對bootstrap提供兩種菜單佈局方式,上面設置的是頂部菜單,可以通過配置來實現右邊菜單顯示;只需要調整以下代碼即可:

.UseBootstrap(PageStyle.BootstrapDashboard)

以上BeetleX.WebFamily使用bootstrap5開發SPA應用的效果,組件現有已經提升爲開源項目,瞭解項目和示例可訪問:

https://github.com/beetlex-io/WebFamily

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