設計初衷
- 最近在學習Hyperf這套框架,然後想著用這套框架練習下做個小專案,所以就有了這套
Hycms
管理系統,因為自己使用的技術棧也是Laravel + Vue + Element 這樣的組合,所以就將Laravel換成Hyperf重新做成一套新的腳手架系統, 開箱既用,內建了RBAC許可權系統並且也整合了一個聊天系統,能夠完成基本的聊天需求,系統還會逐漸完善,大家可以通過訪問Wiki來搭建該系統,裡面有具體步驟,歡迎大家Star
專案介紹
HFCMS
是基於 Hyperf2.0 + Vue2.x + ElementUI 所開發的一個開源管理後臺模板,集合了 RBAC 許可權管理控制,聊天室,以及一些常用元件(上傳檔案系統,監控任務,操作日誌等),能夠高效的提供給使用者進行二次快速開發的專案。該專案後端主要使用的Hyperf2.0框架,是一個基於 swoole 所開發的協程框架,效能相比較傳統 PHP-FPM 有質的提升。 作者也是在學習完 Hyperf 框架後想寫一個專案當做對 Hyperf 框架的學習應用,所以才有了這個專案。該專案前端是基於vue-element-admin
進行二次開發的,刪除了大量的元件,只保留一些基礎功能,並且對一些方法,元件,函式進行了進一步封裝,方便在開發過程中對其的使用。此專案不僅僅是個管理後臺,還整合了一個網頁聊天室,該聊天室是基於lemon-iumi
進行開發的,UI 美而簡約,能夠滿足基本的聊天需求
線上體驗
? 專案Wiki: wiki.linyiyuan.top
? 專案體驗:cms.linyiyuan.top
專案原始碼
原始碼是放在Github上,有單獨的一個倉庫專門放這套系統的,歡迎大家Star
後端原始碼 | 前端原始碼 | |
---|---|---|
Github | github.com/hyperf-cms/hyperf-api | github.com/hyperf-cms/hyperf-cms |
主要特性
使用最新的基於 swoole 的協程框架 hyperf 作為後端開發,擁有高併發,高效能特性,而且絕大部分元件都是可替換與可複用的。
前端用了最新的前後端分離技術棧,Vue+ElementUI 的元件快速開發極大程度上解決了後端工程師寫前端的痛苦
採用獨立的專案管理,前端,後端,文件都各自擁有一個單獨的庫作為管理
高效率開發,前後端程式碼均嚴格按照程式碼標準去書寫,程式碼冗餘性低,程式碼簡潔清晰
擁有資料字典模組,能夠自行定義一些狀態列舉,再也不用在前端限制死一些狀態列舉引數
採用 RBAC 許可權作為許可權管理,能夠精確到介面級別
自定義操作註解,能過監聽到使用者具體的操作行為,並且記錄日誌
後端統一異常處理,並且嚴格區分業務之間的異常,擁有狀態碼列舉類,在開發過程中能夠快速準確定位到錯誤
採用 jwt 技術作為登入狀態的保證,並且擁有獨立的中介軟體進行 token 監控
提供常用的技術開發工具,包括 Json 解析,表單構建等工具
擁有聊天元件,支援全平臺的使用者聊天以及群聊
主要功能
使用者管理:提供使用者的相關配置,可單獨使用者進行許可權管理
角色管理:對許可權與選單進行分配,可根據使用者設定角色的許可權
許可權管理:已實現選單動態路由,後端可配置化,支援多級選單,可自定義分配圖示
服務監控:提供伺服器的一些資訊資料
定時任務:結合 hyperf 提供的程式作為基礎封裝的定時任務系統,加入任務日誌
字典管理:可維護常用一些固定的資料,如:狀態,性別等
引數設定:提供一些可自定義的配置引數管理
系統建議:提供給使用者反饋 bug 以及優化建議的系統模組
通知管理:用來進行一些系統更新日誌的通知或者系統維護等操作通知
操作日誌:記錄了使用者具體的行為日誌
登陸日誌:記錄使用者的一些登陸資訊,例如 IP,地址等
系統日誌:系統所記錄的一些日誌,包括了異常日誌,啟動日誌等
表單構建:能夠自定義快速生成表單程式碼,減少打量重複的工作任務
JSON 解析工具:能夠解析 JSON
Lemon-IMUI 聊天室:提供全平臺使用者之間的聊天,支援群聊,檔案傳輸
專案展示
排名不分順序,感謝一下大佬對該專案的技術支援
感謝 Hyperf 提供強大而又高效能的協程框架
感謝 Vue 尤大大提供強有力的前端框架
感謝 阿里雲 提供的免費物件儲存與 CDN 加速支援
感謝 PanJiaChen 大佬提供的前端模板
感謝 Lemon-IMUI 大佬提供強大的 IM 聊天元件
感謝 jwt-auth 大佬提供的 JWT 登陸授權元件
感謝 hyperf-permission 提供的 Hyperf 許可權管理元件
感謝 docsify 提供的簡潔,快速的文件生成器
本作品採用《CC 協議》,轉載必須註明作者和本文連結