摘要:基于的動態數據管理神器介紹什么是基于模塊化的動態數據管理平臺。什么是用于動態生成表單的,參考使用案例官方文檔使用場景有哪些無論前端后端移動端運維,理論上所有需要動態配置數據的場景都可以使用。針對運維可以作為區分環境的配置中心等。
基于Json Schema的動態數據管理神器-DMS 介紹 什么是DMS?
DMS Github:基于Json Schema/UI Schema模塊化的Json動態數據管理平臺。
什么是Json Schema/UI Schema?用于動態生成表單的Schema,參考 Json Schema使用案例
官方文檔
使用場景有哪些?無論前端、后端、移動端、運維,理論上所有需要動態配置數據的場景都可以使用。
針對前端、移動端:可以配置頁面每個模塊展示型數據,也可以配置各種版本號用于動態更新,各種功能開關、頁面主題等。
針對后端:可以配置業務相關的ID,配置類目,城市列表,熱門等。
針對運維:可以作為區分環境的配置中心等。
當然使用場景遠不止這些......
可以運用到生產環境嗎?當然可以,DMS存儲的數據讀寫是完全分開的,目前支持通過Redis、CDN(推薦)兩種獲取數據方式。即使DMS自身服務器掛掉,也不會影響數據的讀取。強烈推薦使用CDN的方式,這樣穩定性和使用的CDN是一樣的。
DMS應用、模塊、參數介紹應用:包含一個或多個模塊,包含一個或多個參數
模塊:配置數據的最小單位
參數:使模塊根據不同參數配置不同數據(如:每個城市展示的頻道頁不一樣)
DMS特性實時表單預覽;
模塊化(組件化)數據管理;
支持表單數據邏輯判斷、數據驗證;
Schema數據自動保存,防止誤操作及未知異常;
支持動態增加參數,參數本身也可以為DMS生成的配置數據;
配合dms-upload可以快速將通過表單上傳的文件傳入CDN/云存儲
符合實際場景的權限控制:開發只負責schema編寫,需求方配置所有數據;
支持Schema生成所有基本表單類型及高級控件,如:日期選擇器、進度條、密碼框、顏色選擇器等;
實時數據預覽/審核(配合dms-fetch,同時支持服務端代理請求,及瀏覽器端請求的數據預覽與審核)
快速開始請先確保已經安裝好:nodejs8+、mysql、redis,并已開啟相關服務
安裝DMS
> git clone https://github.com/win-winFE/dms.git > yarn # 若沒有yarn,請使用 npm install
創建日志目錄
> mkdir /opt/logs/nodejs -p
執行初始化sql
使用mysql執行 dms/database/dms.sql
修改項目中mysql/redis相關配置dms/config/config.default.js(mysql默認密碼為:root1234)
啟動/停止/調試
啟動端口默認為:7101,需要修改請修改dms/package.json文件start部分的7101
> yarn start # 啟動,若沒有yarn,請使用 npm run start > yarn stop # 停止, npm run stop > yarn dev # 調試,npm run dev
注冊
進入:http://localhost:7101,將自動跳轉到登錄頁,選擇【注冊】,按要求填寫相關數據,注冊成功將自動跳轉到【應用管理】頁面
新建示例應用
點擊【新建應用】,新建如下應用
新建示例模塊
點擊“淘寶首頁”的【模塊列表】,點擊【新建模塊】
編寫該模塊Schema
點擊“首頁banner”的【編輯Schema定義】,復制如下Schema到【Schema定義】中并【保存Schema】
{ "title": "示例", "description": "視頻/圖片展示配置示例", "type": "array", "minItems": 3, "items": { "type": "object", "properties": { "url": { "title": "跳轉鏈接", "type": "string" }, "imgs": { "title": "輪播圖片", "type": "string", "format": "file" } } } }
添加一個參數
進入【參數列表】,添加如下參數
【編輯參數】,【提交】如下參數
編輯數據
點擊左側菜單,進入【數據管理】,進入“淘寶首頁”應用的【模塊列表】,選擇城市后點擊【進入】,再選擇“首頁banner”的【編輯模塊數據】,此時還不能上傳圖片、保存數據,需要啟用dms-upload
啟動dms-upload
> git clone https://github.com/win-winFE/dms-upload.git > yarn # npm install
執行初始化sql
使用mysql執行 dms-upload/database/dms-upload.sql
使用mysql執行 dms-upload/database/init.sql(用于上傳時的權限驗證,默認:root root1234)
修改項目中mysql/redis相關配置dms/config/config.default.js(mysql默認密碼為:root1234)
配置dms-upload
啟動端口(默認7100):dms-upload/package.json start部分,若修改端口。請修改 dms/app/util/constants.js dmsUploadAPI 中的請求地址前綴
數據庫配置:dms-upload/config/config.defult.js
CDN文件保存目錄(默認/usr/local/services/cdn/dms):dms-upload/config/config.defult.js cdnDir
CDN文件訪問地址前綴(默認//127.0.0.1:5000/dms):dms-upload/config/config.defult.js cdnPrefix
新建CDN文件(圖片、json數據)保存目錄
> mkdir /usr/local/services/cdn/dms/data -p # 若未使用默認cdnDir,請修改data前面部分 > mkdir /usr/local/services/cdn/dms/res -p # 若未使用默認cdnDir,請修改res前面部分
啟動dms-upload
> yarn start # npm run start
本地調試上傳圖片回顯
> cd /usr/local/services/cdn > python -m SimpleHTTPServer 5000 # python3 請使用: python3 -m http.server 5000
繼續回到DMS平臺編輯數據
提交下列數據
直接訪問數據(用于非js使用場景)臨時數據:提交后復制成功Toast中的鏈接,可以直接訪問臨時數據數據
正式數據:將臨時數據審核為正式數據,也可以通過Toast中的鏈接直接訪問正式數據
使用dms-fetch訪問數據(用于js使用場景)1.項目中安裝dms-fetch(不建議,強依賴axios,說明見Github)
> yarn add dms-fetch # npm install dms-fetch --save
2.帶參數使用示例(偽代碼)
import { getDMSDataByCDN } from "dms-fetch"; import ... // 復制編輯數據頁面的唯一標示,下面是React應用配合使用DMS參數的示例 export default class extends React.Component { ... fetchData = async () => { const { city } = getParams(this.props.location.search); const dmsData = await getDMSDataByCDN(`/7/10/city/${city}`, this.props.location.search); this.setState({ dmsData, }); }; ... render() { ... } }更多高級用法請參考 DMS Github
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/103128.html
摘要:我加入了騰訊,騰訊企業文化很好,經常會有很多小組活動部門活動什么的,但是做運維很苦。所以,年的時候我們幾個騰訊的同事一同創業,希望把我們的想法和經驗能夠傳遞出來。這里我列出了騰訊互聯網運維團隊所經歷的三個階段。 本文是數人云深圳技術分享課上優維科技聯合創始人彭鯉航的演講實錄,演講主題是《運維自動化實踐》。 精彩觀點搶鮮看 實現運維自動化閉環,最主要就是配置管理、狀態管理和變更管理能力。...
摘要:胡凱,運維負責人,曾經就職于金山軟件金山網絡獵豹移動,負責運維相關工作。胡凱在去年加入站剛剛成立的運維部,人少事多,遇到了很多坑。 胡凱,bilibili運維負責人,曾經就職于金山軟件、金山網絡、獵豹移動,負責運維相關工作。Bilibili是國內最大的年輕人潮流文化娛樂社區,銀河系知名彈幕視頻分享UGC平臺。 95后二次元新人類的追捧,讓以視頻彈幕、UP主聞名于世的bilibili(...
摘要:資源包括什么內存磁盤網絡文件描述符外部緩存數據庫等,編程語言是如何管理資源的合理的算法架構保證了資源的合理使用,分配內存使用網絡等等。 在云計算時代,開發和運維的結合變得越來越重要。在DIFF論壇第一期,前新浪SAE運維主管,鄭志勇,分享了《一個開發眼中的運維》根據自己從開發人員轉型運維之后的心得,談如何把在開發上的運用抽象思維方式運用到運維領域。 showImg(http://se...
摘要:摘要在北京云棲大會上,阿里巴巴高級技術專家陳鑫花名神秀,給大家帶來了億背后的企業級高效持續交付,引起強烈共鳴。 摘要: 在2017北京云棲大會上,阿里巴巴高級技術專家陳鑫(花名神秀),給大家帶來了《1682億背后的企業級高效持續交付》,引起強烈共鳴。神秀從技術負責人關心的研發流程混亂、質量無法保障、環境管理低效、資源浪費等方面,結合阿里巴巴的DevOps實踐,深度解析了企業級持續交付如...
摘要:清華大學數據中心運維那點事兒我徐葳顯然是個科研人員,同時還管理很多行政事務等,但有些人命不好,就是系統管理員的命。最后,數據中心現在如此復雜,怎么能再利用一些人工智能的東西放在數據中心里幫助運維。 showImg(https://segmentfault.com/img/remote/1460000012115241?w=159&h=159); 嘉賓介紹:徐葳,清華大學交叉信息研究院助...
閱讀 2615·2021-11-02 14:39
閱讀 4345·2021-10-11 10:58
閱讀 1473·2021-09-06 15:12
閱讀 1855·2021-09-01 10:49
閱讀 1340·2019-08-29 18:31
閱讀 1891·2019-08-29 16:10
閱讀 3349·2019-08-28 18:21
閱讀 881·2019-08-26 10:42