開源lin-cms-dotnetcore
1.什么是cms?
Content Management System香罐,內(nèi)容管理系統(tǒng)逸绎。
2.dotnetcore是什么
.NET Core,是由Microsoft開發(fā)淆游,目前在.NET Foundation(一個(gè)非營利的開源組織)下進(jìn)行管理傍睹,采用寬松的MIT協(xié)議隔盛,可構(gòu)建各種軟件,包括Web應(yīng)用程序拾稳、移動應(yīng)用程序吮炕、桌面應(yīng)用程序、云服務(wù)访得、微服務(wù)龙亲、API、游戲和物聯(lián)網(wǎng)應(yīng)用程序
3.lin-cms 是什么
Lin-CMS 是林間有風(fēng)團(tuán)隊(duì)經(jīng)過大量項(xiàng)目實(shí)踐所提煉出的一套內(nèi)容管理系統(tǒng)框架悍抑。Lin-CMS 可以有效的幫助開發(fā)者提高 CMS 的開發(fā)效率, 需要前端鳄炉?請?jiān)L問前端倉庫。官方團(tuán)隊(duì)產(chǎn)品了解請?jiān)L問TaleLin
4.lin-cms-dotnetcore有哪些特點(diǎn)搜骡?
前后端分離拂盯,提供后端接口,更少的依賴记靡,后續(xù)將實(shí)現(xiàn)模塊化安裝與卸載谈竿。
- 用戶管理、分組管理簸呈、分組權(quán)限管理榕订、日志系統(tǒng)、文件上傳等
- 更多功能(自定義擴(kuò)展-模塊系統(tǒng))
設(shè)計(jì)如下
字典管理
我原本想實(shí)現(xiàn)這樣的功能:
BaseType 1 對BaseItem多蜕便。
如:標(biāo)簽管理劫恒,一個(gè)文章下可以設(shè)置多個(gè)標(biāo)簽,原本需要設(shè)計(jì)表Tag,字段也大抵為Id,Name,Sort及關(guān)聯(lián)表轿腺。
我們使用BaseType两嘴、BaseItem實(shí)現(xiàn)。
BaseType中TypeCode為tag,FullName為標(biāo)簽族壳,id為1時(shí)憔辫。
BaseItem中BaseTypeId為1,ItemCode為編碼,ItemName為標(biāo)簽仿荆。ItemCode為不重復(fù)的字符串即可贰您。
另Tag與Article的關(guān)聯(lián)表,需要另設(shè)計(jì)一個(gè)表拢操。
當(dāng)我們要實(shí)現(xiàn)文章類別的下拉锦亦,原本需要設(shè)計(jì)一個(gè)表ArticleType,有字段,id,name,sort等令境。
我們可以通過BaseType杠园、BaseItem來實(shí)現(xiàn),從而簡化這些基礎(chǔ)數(shù)據(jù)舔庶。
BaseType有一條數(shù)據(jù)抛蚁,TypeCode為 字符串category陈醒、FullName文章類別,BaseItem存多個(gè)文章類別(Java瞧甩、大數(shù)據(jù)钉跷、Python、C#等)亲配,編碼不同即可尘应。
- 表結(jié)構(gòu)
base_type (字典類別管理)
字段 | 類型 | 備注 |
---|---|---|
id | int | |
type_code | varchar(50) | 類別編碼 |
full_name | varchar(50) | 全稱 |
sort_code | int | 排序碼 |
base_type (字典管理)
字段 | 類型 | 備注 |
---|---|---|
id | int | |
base_type_id | int | 類別id(關(guān)聯(lián)base_type的id) |
item_code | varchar(50) | 字典編碼 |
item_name | varchar(50) | 字典全稱 |
sort_code | int | 排序碼 |
但現(xiàn)實(shí)總是事與愿違
后臺取文章列表時(shí),想要取出文章對應(yīng)的分類吼虎,手動join時(shí)犬钢,總覺得join的表會有些奇怪。
當(dāng)然還有其他原因思灰,局限性:
- 比如使用了這個(gè)字典玷犹,分類需要增加一個(gè)圖片字段,就不能滿足要求洒疚,那怎么辦呢歹颓,做不了。
- 比如標(biāo)簽需要實(shí)現(xiàn)這個(gè)標(biāo)簽下有多少個(gè)文章油湖,通過統(tǒng)計(jì)也能實(shí)現(xiàn)巍扛,
使用FreeSql實(shí)現(xiàn)時(shí),如果二個(gè)表之間沒有導(dǎo)航屬性乏德,是更復(fù)雜的撤奸。
前端cms
擴(kuò)展實(shí)現(xiàn)一個(gè)博客,項(xiàng)目地址:https://github.com/luoyunchong/lin-cms-vue
實(shí)現(xiàn)功能如下:
- 文章類別管理(編碼為Article.Classify的字典值)
- 標(biāo)簽管理(編碼為Article.Tag的字典值)
- 留言板(Comment表ArticleId為0)
- 文章管理(Artilce)
- 點(diǎn)贊
- 評論管理(Comment表ArticleId關(guān)聯(lián)Article)
- 后臺審核
- 回復(fù)評論
- 刪除