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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lin-cms-dotnetcore功能模块的设计

發(fā)布時間:2023/12/4 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lin-cms-dotnetcore功能模块的设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

先來回答以下問題。

1.什么是cms?

Content Management System,內(nèi)容管理系統(tǒng)。

2.dotnetcore是什么?

.NET Core,是由Microsoft開發(fā),目前在.NET Foundation(一個非營利的開源組織)下進行管理,采用寬松的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)團隊經(jīng)過大量項目實踐所提煉出的一套內(nèi)容管理系統(tǒng)框架。Lin-CMS 可以有效的幫助開發(fā)者提高 CMS 的開發(fā)效率,

Lin的定位在于實現(xiàn)一套 CMS的解決方案,管理系統(tǒng)的基礎(chǔ)框架,提供了不同的后端,不同的前端實現(xiàn),后端也支持不同的數(shù)據(jù)庫,是一套前后端完整的解決方案

目前官方團隊維護 lin-cms-vue,lin-cms-spring-boot,lin-cms-koa,lin-cms-flask 社區(qū)維護了 lin-cms-tp5,lin-cms-react,lin-cms-dotnetcore,即已支持vue,react二種前端框架,java,nodejs,python,php,c#等五種后端語言。

lin-cms-vue(官方)

  • https://github.com/TaleLin/lin-cms-vue

  • ???? Vue+ElementUI構(gòu)建的CMS開發(fā)框架,

  • 林間有風(fēng)團隊經(jīng)過大量項目實踐所提煉出的一套內(nèi)容管理系統(tǒng)框架

  • 內(nèi)置了 CMS 中最為常見的需求:用戶管理、權(quán)限管理、日志系統(tǒng)等

lin-cms-koa(官方)

  • python

  • https://github.com/TaleLin/lin-cms-koa

  • ????使用Node.JS KOA構(gòu)建的CMS開發(fā)框架

lin-cms-flask(官方)

  • node.js

  • https://github.com/TaleLin/lin-cms-flask

  • ????A simple and practical CMS implememted by flask

lin-cms-spring-boot(官方)

  • java

  • https://github.com/TaleLin/lin-cms-spring-boot

  • ???? 基于SpringBoot的CMS/DMS/管理系統(tǒng)開發(fā)框架

lin-cms-tp5(社區(qū))

  • php 被官方fork。

  • https://github.com/TaleLin/lin-cms-tp5

  • ???? A simple and practical CMS implememted by ThinkPHP 5.1

lin-cms-react(社區(qū))

  • https://github.com/Bongkai/lin-cms-react

  • ???? React+Antd構(gòu)建的CMS開發(fā)框架

lin-cms-dotnetcore(社區(qū))

  • C#

  • ????A simple and practical CMS implemented by .NET Core 3.1 一個簡單實用、基于.NET?Core

  • https://github.com/luoyunchong/lin-cms-dotnetcore

  • .NET Core 3.1實現(xiàn)的CMS;前后端分離、Docker部署、OAtuh2授權(quán)登錄、自動化部署DevOps、GitHub Action同步至Gitee

4.lin-cms-dotnetcore有哪些特點?

基于.NET Core3.1實現(xiàn)的LIN-CMS-VUE后端API,并增加了博客模塊。目前實現(xiàn)簡約的權(quán)限管理系統(tǒng)、基礎(chǔ)字典項管理、隨筆專欄,評論點贊、關(guān)注用戶、技術(shù)頻道(標簽分類)、消息通知,標簽等仿掘金模塊。

功能模塊的設(shè)計

基礎(chǔ)權(quán)限模塊

  • 用戶信息:郵件、用戶名(唯一)、昵稱、頭像、分組、是否激活、手機號、是否是Admin、個性簽名

    • ?注冊/登錄

    • ?上傳頭像

    • ?修改個人密碼

    • ?用戶基本信息修改

    • ?用戶增刪改,配置分組

  • 綁定第三方賬號

    • ?GitHub登錄

    • ?QQ 登錄

  • 分組信息:是否靜態(tài)分組(無法刪除,無法修改分組編碼)、名稱可以修改

    • ?分組增刪改

    • ?分組配置權(quán)限

  • 文件管理

    • ?本地文件上傳

    • ?七牛云存儲

    • ?文件去重,秒傳

  • 系統(tǒng)日志:請求方法、路徑、http返回碼、時間、用戶昵稱、用戶id、訪問哪個權(quán)限、 日志信息

    • ?記錄系統(tǒng)請求的日志

    • ?異常日志

  • 設(shè)置管理:name(鍵),value(值),provider_name(提供名),provider_key(提供者值)

    • ?設(shè)置新增修改刪除

    • ?所有設(shè)置

比如存某用戶選擇的是markdown還是富文本。

name="Article.Editor", value="markdown" 或 "富文本", provider_name為"User", provider_key為用戶Id

或存儲七牛云的某一個配置

name="Qiniu.AK", value="asfadsfadf23rft66S4XM2GIK7FxfqefauYkcAyNGDAc" , provider_name為"Qiniu"或自己定義的字符串 provider_key為空

cms 管理員維護模塊

  • ?標簽管理:名稱、圖片,是否啟用/禁用,排序、文章數(shù)量、用戶關(guān)注數(shù)量。

    • ?標簽增刪改

    • ?標簽列表,禁用

    • ?校正文章數(shù)量

  • ?技術(shù)頻道:封面圖、名稱、是否啟用/禁用、排序、編碼、備注描述、下屬標簽.一個技術(shù)頻道對應(yīng)多個標簽

    • ?技術(shù)頻道增刪改

    • ?列表、禁用

  • ?隨筆管理:

    • ?審核隨筆/拉黑

    • ?管理員刪除隨筆

  • ?評論管理

    • ?后臺審核通過/拉黑

    • ?管理員刪除評論

  • ?字典類別管理:編碼,名稱,排序

    • ?增刪改查

  • ?字典管理::編碼,名稱,排序,類別:如隨筆類型(原創(chuàng)、轉(zhuǎn)載、翻譯)

    • ?增刪改查

cms 用戶端模塊

  • 技術(shù)頻道

    • ?首頁展示技術(shù)頻道

    • ?選擇技術(shù)頻道后,可再根據(jù)標簽查詢文章

  • 分類專欄管理:發(fā)布隨筆時可選擇單個分類。

    • ?分類增刪改(隨筆數(shù)量、圖片、名稱、排序)

    • ?分類列表,僅查看、編輯自己創(chuàng)建的分類專欄

  • 標簽:統(tǒng)計每個標簽下多少個文章、多少人關(guān)注

    • ?標簽列表

    • ?無限加載

    • ?最新/最熱 根據(jù)標簽名稱模糊查詢

    • ?已關(guān)注的標簽

    • ?熱門標簽

  • 隨筆

    • ?支持目錄導(dǎo)航(滾動時,固定至頂部位置),展示字數(shù)統(tǒng)計、預(yù)計閱讀時長;

    • ?作者介紹:頭像,昵稱,簽名,隨筆數(shù);

    • ?展示文章類型:原創(chuàng)、轉(zhuǎn)載、翻譯

    • ?相關(guān)文章

    • ?推薦文章

    • ?支持markdown,增刪改(僅自己的隨筆),修正分類專欄中的隨筆數(shù)量

    • ?支持富文本編輯隨筆

    • ?列表無限加載,按標簽查詢隨筆

    • ?點贊隨筆

    • 隨筆詳情頁

  • 評論

    • ?用戶關(guān)閉評論時,無法對隨筆進行評論

    • ?評論隨筆(內(nèi)容支持超鏈接、emoji)

    • ?刪除自己的評論

    • ?點贊評論

    • ?回復(fù)評論

  • 關(guān)注

    • ?關(guān)注/取消關(guān)注用戶

    • ?關(guān)注/取消關(guān)注標簽

    • ?我關(guān)注的用戶發(fā)隨筆

  • 個人主頁

    • ?關(guān)注的用戶

    • ?粉絲

    • ?關(guān)注的標簽

    • ?用戶專欄分類展示

    • ?最新發(fā)布的隨筆

    • 隨筆

    • 關(guān)注

  • 設(shè)置

    • ?編輯器設(shè)置,(可切換markdown/富文本)

    • ?代碼風(fēng)格配置(tango、native、monokai、github、solarized-light、vs)

    • ?密碼修改:快速登錄的賬號,初次設(shè)置時可留空

    • ?個人資料更新

    • 個人主頁設(shè)置

    • 安全設(shè)置

    • 博客設(shè)置

  • 消息

    • ?評論:點贊評論、評論隨筆、回復(fù)評論

    • ?喜歡和贊:點贊隨筆、點贊評論

    • ?關(guān)注,誰誰關(guān)注了你

腦圖分享

http://naotu.baidu.com/file/6532431a2e1f0c37c93c5ffd1dd5b49c?token=87690a9bc64fbae1

分組

分為三種

id name info 1 Admin 系統(tǒng)管理員 2 CmsAdmin 內(nèi)容管理員 3 User 普通用戶

審計日志

大多數(shù)表存在如下8個字段,用于記錄行的變化狀態(tài),is_deleted為軟刪除,執(zhí)行刪除操作時,將其狀態(tài)置為true,默認實體類繼承?FullAduitEntity?即可擁有以下8個字段。該設(shè)計參考ABP中的實現(xiàn)。FullAduitEntity為泛型,默認id為long類型,FullAduitEntity<Guid>,即可改變主鍵類型,默認LinUser表主鍵long,保持create_user_id,delete_user_id,update_user_id都與LinUser的主鍵相同

id bigint create_user_id bigint create_time datetime is_deleted bit delete_user_id bigint delete_time datetime update_user_id bigint update_time datetime

相關(guān)技術(shù)

  • 數(shù)據(jù)庫相關(guān):ORM:FreeSql+DataBase:MySQL5.6

  • ASP.NET?Core3.1+WebAPI+RESTful

  • 簡化對象映射:AutoMapper

  • 身份認證框架:IdentityServer4

  • Json Web令牌:JWT

  • 文檔API:Swagger(Swashbuckle.AspNetCore)

  • 序列化:Newtonsoft.Json

  • 測試框架:Xunit

  • 日志?Serilog

  • 依賴注入服務(wù)AutoFac

  • 通用擴展方法 Z.ExtensionMethods

  • 云存儲:七牛云 MQiniu.Core

  • 分布式事務(wù)、EventBus:DotNeteCore.CAP

  • GitHub第三方授權(quán)登錄AspNet.Security.OAuth.GitHub

  • QQ第三方授權(quán)登錄AspNet.Security.OAuth.QQ

  • Docker

  • Azure DevOps

  • 健康檢查AspNetCore.HealthChecks.UI.Client

  • GitHub Action同步至Gitee

分層結(jié)構(gòu)(Layers)

  • framework

    • IGeekfan.CAP.MySql:為CAP實現(xiàn)了配合FreeSql的事務(wù)一致性擴展

  • identityserver4

    • LinCms.IdentityServer4:使用id4授權(quán)登錄

  • src

    • LinCms.Web:接口API(ASP.NET Core)

    • LinCms.Application:應(yīng)用服務(wù)

    • LinCms.Application.Contracts:DTO,數(shù)據(jù)傳輸對象,應(yīng)用服務(wù)接口

    • LinCms.Infrastructure:基礎(chǔ)設(shè)施,數(shù)據(jù)庫持久性的操作

    • LinCms.Core:該應(yīng)用的核心,實體類,通用操作類,AOP擴展,分頁對象,基礎(chǔ)依賴對象接口,時間擴展方法,當(dāng)前用戶信息,異常類,值對象

    • LinCms.Plugins 使用單項目實現(xiàn)某個業(yè)務(wù)的擴展,不需要主要項目結(jié)構(gòu),可暫時忽略。

  • test

    • LinCms.Test:對倉儲,應(yīng)用服務(wù)或工具類進行測試

lin-cms 開源地址分享

  • 后端接口?https://github.com/luoyunchong/lin-cms-dotnetcore

  • 管理后臺UI?https://github.com/luoyunchong/lin-cms-vue

  • 前端UIhttps://github.com/luoyunchong/lin-cms-vvlog

功能特性

  • ?Azure Devops CI/CD構(gòu)建

  • ?GitHub Action實現(xiàn) GitHub Gitee代碼同步

  • ?.Net Core結(jié)合AspNetCoreRateLimit實現(xiàn)限流

  • ?方法級別權(quán)限控制

  • 社交賬號管理:支持多種第三社交賬號登錄,不干涉原用戶數(shù)據(jù),實現(xiàn)第三方賬號管理

  • 多語言

  • ?全局敏感詞處理

  • 日志記錄,方便線上排查錯誤

  • ?支持多種數(shù)據(jù)庫,并測試,

    • ?Mysql

    • ?Postgresql

    • ?Sql Server

    • ?SQlite

Demo

  • 用戶端 lin-cms-vvlog?https://vvlog.baimocore.cn

    • 普通用戶:710277267@qq.com

    • 密碼:123qwe

  • 管理員 lin-cms-vue?https://cms.baimocore.cn/

    • 管理員:admin

    • 密碼:123qwe

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的lin-cms-dotnetcore功能模块的设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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