通用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
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- 來看大廠如何設計運營後臺系統的?
- lightCMS - 輕量級 CMS 系統,通用後臺管理系統
- 愛奇藝矩陣運營系統,多賬號運營,分發多平臺矩陣
- 診斷通用售後系統 — DGA
- 百家號多賬號運營系統,多平臺運營自媒體賬號
- VueAdmin 通用後臺Vue
- Yii2 + AdminLET 開源通用後臺管理系統原始碼原始碼
- 推薦一個基於thinkphp6的通用後臺管理系統PHP
- 微營銷平臺運營
- 定義運營系統架構架構
- Laravel 後臺系統Laravel
- 後臺管理系統
- 裝置運維工單售後系統:提升企業運營效率的關鍵運維
- 一款基於Laravel5.8開發的通用後臺管理系統Laravel
- 高質量的教育平臺原始碼對教育系統開發後期運營的好處原始碼
- 升級數字門店系統後,運營效果會怎麼樣?
- 後臺開發、運維監控系統要怎麼搞?運維
- 運營型CRM系統(運營型客戶關係管理)是針對於運營的嗎?
- leacmf通用api開發後臺ACMAPI
- 可用於Thinkphp的通用後臺PHP
- Thinkphp後臺管理系統PHP
- AlphaCms後臺管理系統ACM
- ITKEE後臺管理系統
- LaraCMS 後臺管理系統ACM
- 電信運營商流量經營系統(資料模組
- IPTV系統有哪幾種運營方式?
- 跨平臺通用賬號系統如何選擇?Facebook 成出海 App 強力後援APP
- vue-quasar-admin 一個包含通用許可權控制的後臺管理系統Vue
- 通用電氣運輸系統加入區塊鏈聯盟區塊鏈
- 會員營銷系統-如何讓運營變得輕鬆?
- 網站後臺管理系統網站
- laravel8 + layui 開發通用後臺LaravelUI
- 如何做“埋點”? 淺談手遊精細化運營與資料運營系統
- ThinkPHP5.0後臺管理系統PHP
- adminkit 後臺管理系統模型模型
- vue後臺管理系統程式碼Vue
- LaraCMS 後臺管理系統 - 小程式ACM
- Vue+Node 後臺管理系統Vue