通用op(後臺運營)系統
通用op(後臺運營)系統(https://github.com/simplejia/op)
通用op(後臺運營)系統,後臺開發工程師打造的針對後臺服務的通用配置管理系統,帶web操作介面
做這套系統的緣由:
由於專業web前端開發人員支援不足,後臺服務,沒有web管理介面可用,管理後臺服務很不方便,尤其是微服務化後,後臺大大小小服務特別多,急需一個簡單視覺化的介面系統統一管理和利用這些服務
這套系統的最初設想:
- 介面足夠簡單,html,js,css足夠簡單,因為後續維護開發都是由後臺開發人員執行(非專業web前端)
- 介面簡單,但功能完善,支援列表,支援翻頁,支援資料更新,刪除等操作,支援外部介面呼叫,支援輸入引數校驗,支援輸入引數按單選或者複選的方式輔助輸入,支援按輸入引數過濾資料等
- 支援基本的後臺服務上線,回滾,重啟等操作,支援檔案上傳、下載
- 集中式管理,支援區分賬號的資料儲存,比如支援操作歷史儲存和複用,支援基於賬號的許可權控制等
這套系統目前具有的功能:
簡單說,我對這套系統最初的設想,目前已全部實現,早在幾年前,我的心裡就萌生了要做成這套系統的想法,我做後臺服務開發至今有10多年了,一直就想有這樣的一套系統來管理專案裡的各種後臺服務,這個服務一定要滿足:通用,實用,簡單,現在這個最初的想法終於實現了。
TODO:
- 支援更細粒度的許可權控制,比如某些配置項只能由建立者和管理員操作等,理想中這一功能需要一個通用的後臺賬號服務支援
- 介面型別是list的介面支援對返回的引數做定製化配置,比如返回錯誤碼定義,返回列表欄位名等,也就是格式支援自定義,而不僅僅是目前內定好的格式,目前格式支援如下:json格式,需滿足:{"ret": 1, "data": {"list": [...]}},ret儲存返回碼,1代表成功,其它為失敗,data.list儲存陣列結構列表資料
- 呼叫後端服務不僅僅限post方式,也不僅僅限json格式的body,比如支援form表單,get,put等
- 支援針對輸入輸出欄位配置描述資訊
- 支援介面型別是update, delete的介面的操作歷史儲存
- 為方便審計,支援操作歷史記錄永久儲存備份,而不像現在針對每個人,每個介面,最多隻儲存一定數目的記錄
- 支援以現有配置為模板複製生成新的配置項
這套系統現在長什麼樣?
- 有賬號認證,如下圖:
希望賬號管理、許可權認證系統是一個統一的,獨立的後臺賬號管理服務,目前開源出去的是把這一步省掉了,大家可以根據自己的情況自行新增處理程式碼(filter/auth.go)
- 首頁,如下圖:
列表裡展示的是已配置的可用服務
- 點選新建,進入服務配置頁面,如下圖:

- 檢視某一個配置項

- 進入某一項(預設進入型別是list的action,如果沒有配,就會進入型別是customer的列表)

如上,是因為配置了cid這個必填欄位,limit和offset是可選欄位,其中limit配置的預設值是20,執行後,顯示如下:
 以上是列表資訊,一共返回1條資料,繼續執行會把cid, limit, offset, total欄位發給服務端作為輸入引數
 以上是沒有配置list型別的action,進入某一項會返回型別是customer的列表(或者點選list型別的頁面的“其它”進入)
 以上是點選“更新”或“刪除”進入的頁面,每一項資料都可以修改,點選執行後會把以上資料post給服務端(具體執行介面是來自於update或delete型別的action配置)
 以上是點選某一customer型別的action進入的頁面,上面一部分是傳給後端的輸入引數,可以刪除一些欄位,不用傳,下面一部分是執行過的歷史,可以恢復記錄重新執行。
安裝使用:
- 下載原始碼
go get github.com/simplejia/op
- 配置資料庫
目前的配置資訊儲存在mongo db,需要修改配置檔案:mongo/op.json
- 使用
進入op目錄,啟動編譯好的op程式,比如:./op -env dev,開啟瀏覽器,輸入網址,如果是本地測試執行,請輸入:127.0.0.1:8336
最佳實踐:
- 基本功能演示(增刪改查)
這是一個推送服務,以下是配置項:
 
這是配置項的進入頁(列表頁):

 這是點選列表頁的更新/刪除:

- 服務上線
這是一個php的上線功能,以下是配置項:

這是配置項的進入頁:

點選/online/trans_cmd:

點選/online/trans_file:

這是一個go服務的上線功能,以下是配置項:

這是配置項的進入頁:
 點選/online/trans_cmd:
 點選/online/trans_file:

注:上線服務依賴:github.com/simplejia/online online專案用於提供遠端檔案上傳及遠端執行命令功能,類似運維工具:ansible
- 下載資料
這是一個提供資料下載的配置項:
 注意下型別:transparent,這個型別表示後端介面返回什麼資料,頁面上直接展示,不做任何處理
以下是配置項的進入頁,點選執行後的效果:(提示有檔案正在下載)

- 複雜功能演示
這是一個提供視訊處理功能的配置項:(提供按條件過濾的功能)

這是配置項的進入頁:

注意“remote_ip”這個欄位,配置“資料來源”是“從URL”,此ip列表是呼叫配置的url介面返回的結果
點選“執行”後的執行結果:(部分結果如下)

這是一個提供視訊處理功能的配置項:(提供更好的報表展示功能)

這是配置項的進入頁:

點選“執行”後的執行結果:(部分結果如下)

注:此表格是呼叫的後端介面直接吐出來的html程式碼
依賴
wsp: github.com/simplejia/wsp
clog: github.com/simplejia/clog
utils: github.com/simplejia/utils
namecli: github.com/simplejia/namecli
mongo: gopkg.in/mgo.v2
注意
如果在controller裡修改了路由,編譯前需執行go generate,實際是執行了wsp這個工具,所以需要提前go get github.com/simplejia/wsp
相關文章
- lightCMS - 輕量級 CMS 系統,通用後臺管理系統
- 來看大廠如何設計運營後臺系統的?
- VueAdmin 通用後臺Vue
- Yii2 + AdminLET 開源通用後臺管理系統原始碼原始碼
- 診斷通用售後系統 — DGA
- 愛奇藝矩陣運營系統,多賬號運營,分發多平臺矩陣
- 推薦一個基於thinkphp6的通用後臺管理系統PHP
- 百家號多賬號運營系統,多平臺運營自媒體賬號
- Laravel 後臺系統Laravel
- 後臺管理系統
- 一款基於Laravel5.8開發的通用後臺管理系統Laravel
- 定義運營系統架構架構
- vue-quasar-admin 一個包含通用許可權控制的後臺管理系統Vue
- 裝置運維工單售後系統:提升企業運營效率的關鍵運維
- leacmf通用api開發後臺ACMAPI
- 可用於Thinkphp的通用後臺PHP
- LaraCMS 後臺管理系統ACM
- Thinkphp後臺管理系統PHP
- AlphaCms後臺管理系統ACM
- ITKEE後臺管理系統
- 高質量的教育平臺原始碼對教育系統開發後期運營的好處原始碼
- 升級數字門店系統後,運營效果會怎麼樣?
- 微營銷平臺運營
- 跨平臺通用賬號系統如何選擇?Facebook 成出海 App 強力後援APP
- 通用電氣運輸系統加入區塊鏈聯盟區塊鏈
- 運營型CRM系統(運營型客戶關係管理)是針對於運營的嗎?
- 網站後臺管理系統網站
- adminkit 後臺管理系統模型模型
- RageFrame 一個 Yii2 + AdminLET 免費開源多商戶通用後臺管理系統
- IPTV系統有哪幾種運營方式?
- laravel8 + layui 開發通用後臺LaravelUI
- vue後臺管理系統程式碼Vue
- ThinkPHP5.0後臺管理系統PHP
- PBootCMS後臺系統內容修改boot
- LaraCMS 後臺管理系統 - 小程式ACM
- 會員營銷系統-如何讓運營變得輕鬆?
- RageFrame 一個 Yii2 + AdminLET 免費開源多商戶通用後臺管理系統原始碼原始碼
- ThinkPHP5.0模組化通用後臺lyadminPHP