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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

StarBlog - 2023年底更新内容一览

發(fā)布時間:2023/12/24 windows 25 coder
生活随笔 收集整理的這篇文章主要介紹了 StarBlog - 2023年底更新内容一览 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

先說一下我對 StarBlog 這個系列的文章的規(guī)劃吧,在 StarBlog 的 1.x 版本,我會同步更新兩個系列的文章

  • 博客前臺+接口開發(fā)筆記 (即當(dāng)前已發(fā)布的這一系列文章)
  • 博客Vue后臺開發(fā)筆記 (后續(xù)開始持續(xù)發(fā)布)

最近很久沒有更新 StarBlog 系列的文章,事實上我之前已經(jīng)把【博客Vue后臺開發(fā)筆記】基本完成了,但我想把 StarBlog 1.x版本的功能完善之后,把【前臺+接口開發(fā)筆記】這系列完成之后,再開始更新【vue后臺開發(fā)筆記】

所以最近一段時間對本項目的后端、前端代碼做了很多修改,包括性能優(yōu)化、UI調(diào)整、功能完善等,本文做一個簡單的記錄。(當(dāng)然優(yōu)化和改進(jìn)是無止境的,歡迎各位同學(xué)提交 issues 和 pr!)

前臺UI調(diào)整

本次更新我對前臺和后臺的UI都做了一些調(diào)整,對用戶來說,UI調(diào)整是感知程度最強(qiáng)的,所以放在第一個介紹。

文章列表

文章列表界面的調(diào)整包括右上角的文章排序選項和重新設(shè)計的文章列表。

舊的文章列表直接使用 Bootstrap4 樣式的 Card,card-header 里放置文章的分類名稱,然后 card-body 里是文章標(biāo)題和梗概,丑是丑了點,但更主要的問題是沒有文章發(fā)布時間等額外信息,查看起來不太直觀。舊版UI如下圖:

新的文章列表如圖,右上角增加了文章排序,可以根據(jù)標(biāo)題、發(fā)表時間、更新時間進(jìn)行正序/倒序的排序。

文章列表里的元素也做了重新設(shè)計,加入了封面圖、發(fā)表時間、閱讀量等信息元素,細(xì)節(jié)方面,每個文章卡片我加入了一點點陰影效果,文章梗概的文字使用了小號字體與 text-muted 樣式,更好地與標(biāo)題區(qū)分開來。

導(dǎo)航欄

在前面的文章列表UI里,可以看到頂部的導(dǎo)航欄也換了,這個修改沒法說比舊版更好,只能說為了自適應(yīng)移動設(shè)備做出了一些妥協(xié)。原本的導(dǎo)航欄還有圖標(biāo),有更豐富的視覺效果,但是對移動端的兼容比較有限,各個導(dǎo)航菜單沒法隱藏到側(cè)邊欄里,會平鋪占用大量空間;新版的就是普通的Bootstrap風(fēng)格導(dǎo)航欄,平平無奇,但可以自適應(yīng)得比較好。

自適應(yīng)模式下的舊版導(dǎo)航欄

自適應(yīng)模式下的新版導(dǎo)航欄

后臺UI調(diào)整

管理后臺是審美的重災(zāi)區(qū)

目前使用的這套管理后臺,是基于我之前的一個 SpringCloud 項目的管理后臺修改而來

因為歷史問題,有一些比較奇怪和難看的樣式,在這次更新中,我一并修改了

相比之前,現(xiàn)在的后臺UI順眼多了??

原本是這樣的

現(xiàn)在是這樣的

單純看主界面還不是很明顯

這次主要調(diào)整了背景顏色和簡化各個界面的布局,可以看到導(dǎo)航欄也精簡了很多按鈕,只剩下一個用戶按鈕了。

全新的文章編輯界面

本次我重新設(shè)計了文章編輯界面

頂部增加了 breadcrumb

如果處在編輯模式,標(biāo)題右側(cè)模仿博客園的設(shè)計,新增了文章的鏈接,可以點擊直接跳轉(zhuǎn)到文章頁面

底部是文章信息與各種設(shè)置

新增的 slug 功能可以縮短文章的鏈接地址,這個功能比較小,所以之前沒有單獨寫一篇文章介紹。設(shè)置了 slug 之后,可以通過 starblog.com/p/slug 來訪問文章。

下方的文章選項,可以設(shè)置文章的發(fā)表狀態(tài)、標(biāo)記、簡介等,沒什么特別需要介紹的。

文章分類支持多層級選擇

文章管理

先看舊版的,難看的背景,莫名其妙的邊距,總結(jié)就是難看

新版界面,頁面干凈很多,然后文章的篩選功能也增強(qiáng)了,現(xiàn)在除了搜索和分類篩選,還可以根據(jù)發(fā)表狀態(tài)、文章標(biāo)記來篩選文章。

其他頁面也一樣,是類似的修改思路,我就不一一貼圖片和介紹了。

上傳文章

原本整個UI都在左邊,各個控件的寬度也沒有一致,現(xiàn)在都改成居中了,控件樣式也做了統(tǒng)一。

這里的文章分類選擇同樣支持多層級結(jié)構(gòu)選擇。

動畫

大部分頁面之前都沒有什么動畫,加載數(shù)據(jù)的時候是空白的,加載完成就直接呈現(xiàn)了,很生硬。

現(xiàn)在我給它們都加入了加載動畫,感覺舒服多了;還有一個是UI細(xì)節(jié)繼續(xù)調(diào)整。

這些動畫體現(xiàn)在一切需要網(wǎng)絡(luò)交互的界面上,比如文章列表、保存文章、上傳文章這些界面,實現(xiàn)也很簡單,ElementUI的大部分組件都可以通過添加 loading 屬性來實現(xiàn)加載動畫。

性能優(yōu)化

性能瓶頸大部分在數(shù)據(jù)庫IO上,還有一些是在內(nèi)存管理方面,主要是和博客提供的圖片功能有關(guān)。

分頁

數(shù)據(jù)庫這塊的優(yōu)化感知最強(qiáng)的是修改分頁的實現(xiàn),之前我是直接使用了 X.PagedList 組件來實現(xiàn)分頁,但之前的寫法有點問題,先把全部數(shù)據(jù)加載出來之后再分頁,數(shù)據(jù)量大的時候性能就非常差了,現(xiàn)在全部改成了數(shù)據(jù)庫分頁。

目前使用的 ORM 是 FreeSQL ,可以通過 ISelect.Page 方法實現(xiàn)分頁,生成出來的 SQL 應(yīng)該是帶類似 offsetlimit 的,這是在數(shù)據(jù)庫層面實現(xiàn)的分頁,比讀取全部數(shù)據(jù)再分頁的性能會好很多。

PS:如果數(shù)據(jù)量更大的話,這種方式也不靈了,但目前這不在本項目的考慮范圍內(nèi)。

X.PagedList 這個組件依然可以繼續(xù)使用,只不過只用它的元數(shù)據(jù)就行,一個典型的代碼塊如下

IPagedList<Post> pagedList = new StaticPagedList<Post>(
    await querySet.Page(param.Page, param.PageSize).Include(a => a.Category).ToListAsync(),
    param.Page, param.PageSize, Convert.ToInt32(await querySet.CountAsync())
);

使用的時候分別讀取其中的數(shù)據(jù)和分頁元數(shù)據(jù)

return new ApiResponsePaged<Post> {
    Message = "Get posts list",
    Data = pagedList.ToList(),
    Pagination = pagedList.ToPaginationMetadata()
};

修改的代碼量不大,遷移成本很小。

圖片庫

本項目提供了隨機(jī)圖片接口,經(jīng)過實測這個功能會占用比較多的內(nèi)存,這可能是和這個功能的設(shè)計有關(guān),因為需要根據(jù)傳入的參數(shù)來調(diào)整、裁剪圖片到合適的尺寸再返回,這個過程是在內(nèi)存中實現(xiàn)的。

我看到 ImageSharp 的中間件里提供了一種思路,通過在本地緩存圖片,以后再遇到相同參數(shù)的圖片時就直接從文件系統(tǒng)讀取返回,這可以節(jié)省一些內(nèi)存,不過又帶來了新的問題,會占用一些磁盤空間,特別是圖片庫很大的情況下,所以我目前還沒有用這種思路來改造這個功能。

PS:內(nèi)存都白菜價了,不會有人的服務(wù)器還沒128G內(nèi)存吧???

業(yè)務(wù)邏輯

  • 保存和添加文章時檢查slug是否可用
// 新建時
if (!string.IsNullOrWhiteSpace(dto.Slug) && !await _postService.CheckSlugAvailable(dto.Slug)) {
    return ApiResponse.BadRequest("指定的 slug 已經(jīng)被其他文章使用!");
}

// 更新時
if (!string.IsNullOrWhiteSpace(dto.Slug)) {
    if (dto.Slug!= post.Slug && !await _postService.CheckSlugAvailable(dto.Slug)) {
        return ApiResponse.BadRequest("指定的 slug 已經(jīng)被其他文章使用!");
    }
}
  • 文章列表接口終于完善了,可以根據(jù)是否管理員來篩選不同狀態(tài)的文章。(評論列表同樣)
// 已登錄則設(shè)置為管理員模式
// todo 后續(xù)改成根據(jù)角色確定管理員
var adminMode = User.Identity?.IsAuthenticated ?? false;
var pagedList = await _postService.GetPagedList(param, adminMode);
  • 修改文章的時候可以同時修改文章標(biāo)記和草稿狀態(tài),這個太簡單就不附上代碼了

bugfix

這沒啥好說的,詳見 github commits

不知不覺竟然已經(jīng)有了 475 個 commits 了!真是太勤奮了(有刷commit的嫌疑)

小結(jié)

OK,就是這些啦,這估計也是2023年 StarBlog 項目的最后一次功能更新,接著我會繼續(xù)更新文章,爭取在今年里把【博客前臺+接口開發(fā)筆記】系列完結(jié)掉!~~(然后我就可以來做新項目了~

PS:當(dāng)然 StarBlog 也會持續(xù)更新的,目前已有初步的 2.x 版本開發(fā)計劃,我打算對架構(gòu)進(jìn)行一些調(diào)整以更好增加其他新功能,同時使用 Blazor 和 Next.js 來重寫兩套管理后臺,練手的同時看看 Blazor 和前端開發(fā)的各自優(yōu)劣。

在這里給大家拜個早年!敬請期待后續(xù)的新項目??

總結(jié)

以上是生活随笔為你收集整理的StarBlog - 2023年底更新内容一览的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丝袜美女被c | 老司机免费在线视频 | 国产精品伦一区二区三区免费看 | 国产高清区 | 毛片基地站 | 日韩av黄色片 | 男人捅爽女人 | 亚欧成人精品一区二区 | 国产乱叫456在线 | 国产成人看片 | 婷婷在线观看视频 | 亚洲狼人社区 | 九九视频国产 | 欧美视频在线观看一区二区 | 日本亚洲天堂 | 99re中文字幕 | 福利在线电影 | 九九小视频 | 色综合天天操 | 男男h黄动漫啪啪无遮挡软件 | 亚洲一区二区三区在线观看视频 | 午夜小影院 | 熟女俱乐部一区二区视频在线 | 日本女优中文字幕 | 亚洲成人自拍偷拍 | 免费成人高清视频 | 高清不卡毛片 | 亚洲h网站| 中文字幕丰满乱子伦无码专区 | 中文av免费观看 | 黄色一级视频在线观看 | 爱搞逼综合 | 蜜臀av免费一区二区三区水牛 | 综合成人 | 欧美一区二区日韩 | 国产对白在线 | 91天天射 | 96视频在线观看 | 性人久久久久 | 伦理亚洲 | 久久国产视频播放 | 91快射| 自拍偷拍亚洲一区 | 久久人妻少妇嫩草av蜜桃 | 久久久久人妻一区精品色欧美 | 国产日韩欧美电影 | 中文字幕乱视频 | 国产女主播一区二区 | 日日干夜夜爱 | 亚洲人成人无码网www国产 | 日韩专区一区二区三区 | 国语粗话呻吟对白对白 | 久久久成人精品 | 黄色在线观看免费 | 中文字幕在线观看视频免费 | 国产男女自拍 | 久久久99久久 | 日韩一区二区在线视频 | 成人手机视频 | 在线观看免费小视频 | 国产又黄又嫩又滑又白 | 韩国女主播一区二区 | 亚洲中文字幕97久久精品少妇 | 青青久在线视频 | 蜜桃精品视频在线观看 | 午夜视频在线网站 | 清清草免费视频 | 麻豆一区在线 | 粗大的内捧猛烈进出在线视频 | 免费在线播放 | 欧美一级片网站 | 在线一区观看 | 都市激情亚洲色图 | 久久久久久久久久久久久久国产 | 免费在线观看污 | 国产69精品久久久久777 | 爽爽视频在线观看 | 五月婷婷欧美 | 伦av综合一区| 黄色片网站免费 | 免费欧美 | 亚洲一级片在线播放 | 99热在 | 久久色资源网 | 日韩欧美久久久 | 日韩精品视| 黄色第一网站 | 婷婷中文网 | 国产成人久久婷婷精品流白浆 | 亚洲国产极品 | 秋霞国产午夜精品免费视频 | 亚洲天堂男人网 | 欧美精品小视频 | 丰满大爆乳波霸奶 | 葵司一区二区 | 成人av图片 | 黄色大片91 | 97超碰人 | 亚洲激情久久 |