開源辦公低代碼套件,完善的低代碼開發(fā)工具流,辦公系統(tǒng)解決方案
一、開源項目簡介
godocms是剛東科技開發(fā)的一套開源辦公套件,遵從Apache License 2.0開源協(xié)議,非常適合二次開發(fā),內(nèi)含word/excel/ppt/pdf/svg/思維導(dǎo)圖/流程圖/日程管理等多個辦公系統(tǒng)解決方案。godocms也是一套低代碼開發(fā)套件,內(nèi)含模塊管理/接口管理/代碼拖拽/數(shù)據(jù)庫管理/表單管理等一套完善的低代碼開發(fā)工具流。內(nèi)含兩套風(fēng)格界面,win10和傳統(tǒng)軟件界面,可隨時切換。
二、界面展示
三、功能概述
現(xiàn)在主流的辦公套件要么不開源,要么需要授權(quán),而且安裝異常復(fù)雜。隨著技術(shù)的日新月異,很多開源組件基本能夠解決辦公套件商用化的痛點甚至更好,但都是零碎的/單一的解決方案,為此我們沉心靜氣花耗半年時間打磨了這套產(chǎn)品。godocms基本實現(xiàn)了辦公三套件(word/ppt/excel)的編輯流,無需服務(wù)器安裝底層的模塊。
低代碼現(xiàn)在處在一個發(fā)展階段,國內(nèi)也涌現(xiàn)了一大批優(yōu)秀的低代碼套件,更接地氣更平民化。但是要解決大型復(fù)雜的業(yè)務(wù)流時總是感覺有點力不從心,為什么呢?我們做了認真的思考和研究,發(fā)現(xiàn)很多低代碼套件都忽視了軟件開發(fā)的基本流程和本質(zhì),一套軟件的開發(fā)流程包含很多,需求分析/架構(gòu)設(shè)計/開發(fā)/測試/交付等,這是一個大工程,因為每個子流程里面又包含很多小流程。反過來想,如果把每個流程都加進去那就還是低代碼嗎?其實google走在最前面,他們開發(fā)了blockly。但是blockly在國內(nèi)并沒有得到大面積的推廣?why?學(xué)習(xí)成本和開發(fā)成本!blockly不能拿過來直接上項目,很多公司的開發(fā)都有自己的底層平臺,如果要用blockly那就要做二次開發(fā)。godocms基層很多模塊都是用blockly開發(fā)的,并且完美的集成了進來。我們完全遵從控制層/模型層/邏輯層/服務(wù)層的基礎(chǔ)軟件開發(fā)流程,只要明白mvc的思想,就很容易上手。
為什么要用nodejs開發(fā)?godocms開發(fā)原則是“易上手,容易改”。前端工程師和后端工程師都可以上手,沒有復(fù)雜的包,學(xué)習(xí)成本低,簡單的做一下二次開發(fā),可以實現(xiàn)大型的復(fù)雜項目。
一 文檔管理
文檔管理可以理解成使用說明書/開發(fā)文檔/文集的生成工具。集成了Docsify,可以自動生成,可以回寫,可以書寫多個說明文檔,可以做為一個說明文檔的管理工具使用。
二 數(shù)據(jù)庫設(shè)計器
數(shù)據(jù)庫設(shè)計器其實就是一個小型的navicat,是一個mysql數(shù)據(jù)庫管理工具。支持?jǐn)?shù)據(jù)備份還原;支持自動生成數(shù)據(jù)庫設(shè)計文檔,md 格式以及實時預(yù)覽,可以下載成 pdf/word文件;支持?jǐn)?shù)據(jù)表名/注釋/autoid 的更改,支持優(yōu)化表/修復(fù)表/刪除表/清空表;可查看/編輯/新增/復(fù)制任意表數(shù)據(jù);可更改字段名/注釋/默認值/排序,可拖拽排序字段,可刪除字段;支持連接/管理外部數(shù)據(jù)庫,可通過ssh連接外部數(shù)據(jù)庫;支持?jǐn)?shù)據(jù)庫表保護。
三 思維導(dǎo)圖
一套完善的思維導(dǎo)圖管理工具。支持增/刪/改/查,進入后自動添加/自動保存文件;支持邏輯結(jié)構(gòu)圖、思維導(dǎo)圖、組織結(jié)構(gòu)圖、目錄組織圖四種結(jié)構(gòu); 內(nèi)置多種主題,允許高度自定義樣式;支持快捷鍵;節(jié)點內(nèi)容支持圖片、圖標(biāo)、超鏈接、備注、標(biāo)簽;支持前進后退;支持拖動、縮放;支持右鍵多選;支持節(jié)點拖拽;支持 JSON 格式的導(dǎo)入導(dǎo)出,png/svg 導(dǎo)出。
四 excel表格管理
excel表格管理工具。支持增/刪/改/查,導(dǎo)入/導(dǎo)出excel;格式設(shè)置:樣式,條件格式,文本對齊及旋轉(zhuǎn),文本截斷、溢出、自動換行,多種數(shù)據(jù)類型,單元格內(nèi)多樣式;單元格:拖拽,下拉填充,多選區(qū),查找和替換,定位,合并單元格,數(shù)據(jù)驗證;行和列操作:隱藏、插入、刪除行或列,凍結(jié),文本分列;操作體驗:撤銷、重做,復(fù)制、粘貼、剪切,快捷鍵,格式刷,選區(qū)拖拽;公式和函數(shù):內(nèi)置公式,遠程公式,自定義公式;表格操作:篩選,排序。
五 ppt演示文稿
在線演示文稿(幻燈片ppt)應(yīng)用。支持增/刪/改/查,還原了大部分 Office PowerPoint 常用功能,支持文字、圖片、形狀、線條、圖表、表格、視頻、公式幾種最常用的元素類型,每一種元素都擁有高度可編輯能力,同時支持豐富的快捷鍵和右鍵菜單,盡可能還原本地桌面應(yīng)用的使用體驗。內(nèi)置了一些常用模版,支持導(dǎo)出 ppt 文件。
六 文檔編輯器
不僅僅是word編輯器,也可以作為一個簡單的pdf編輯器,還可以編輯md/rtf/text/html等文本文件,基于tesseract可以打開幾乎任何的文檔文件,支持ocr文字識別,可以打開png/jpg等圖片文件,打開后直接顯示為文字,無需第三方api,簡潔實用。
七 流程圖編輯器
項目經(jīng)理的硬核工具,包含圖形/拓撲圖/圖表/權(quán)限流/工作流五個流程圖編輯工具,基于mxgraph,支持增/刪/改/查,內(nèi)置demo。更多功能請看演示。
八 文本編輯器
text文本編輯器,支持打開text/html/css/js/svg/xml/md等,支持預(yù)覽/增/刪/改/查,可以當(dāng)作一個簡單的在線editplus。
九 圖片編輯器
一個在線圖片編輯器,基于tui.image-editor。支持增/刪/改/查,支持裁剪、翻轉(zhuǎn)、旋轉(zhuǎn)、繪圖、形狀、圖標(biāo)、文本、遮罩過濾器、圖像過濾器。
十 svg編輯器
svg在線編輯器,基于svgedit。支持增/刪/改/查,支持導(dǎo)入/導(dǎo)出svg,功能強大,具體可查看demo。
十一 甘特圖
甘特圖編輯器。支持增/刪/改/查,支持自定義項目人員和角色,支持拖拽/管理分配(資源、角色、工作)等。
十二 日程計劃
在線日程計劃表。支持增/刪/改?;趖ui.calendar,支持各種視圖類型:每日、每周、每月(6周、2周、3周);支持里程碑和任務(wù)計劃的高效管理;支持周末寬度;支持更改一周的開始日期;支持自定義日期和日程信息界面(包括網(wǎng)格單元的頁眉和頁腳);支持通過鼠標(biāo)拖動調(diào)整明細表。
十三 開發(fā)工具箱
開發(fā)工具箱,包含了很多有用的工具,如 QR 碼生成器,QR 碼解碼、翻譯,時間戳轉(zhuǎn)換,源格式,JSON 管理工具,正則管理工具,圖像 base64 字符編碼等。
十四 接口開發(fā)工具
內(nèi)置HTTP接口,WEBSOCKET接口,SOCKET.IO接口調(diào)試工具。開發(fā)工具利器。
十五 字體編輯器
在線字體編輯器,支持ttf, woff, woff2, otf, svg font, eot字體的編輯。
十六 辦公白板工具
一個小型的辦公白板工具。支持畫筆/橡皮擦/便簽等。
十七 錄屏/截屏工具
一個實用的在線錄屏工具。支持谷歌/火狐瀏覽器,直接生成gif。截屏工具快捷鍵command j。
十八 其他小工具
便簽/番茄時鐘/計算器/萬年歷等。
十九 程序設(shè)計器
基于google的blockly,支持增刪改查,支持類/函數(shù)/對象/數(shù)組,支持thinkjs的大部分內(nèi)置對象拖拽,支持自動生成項目文件,內(nèi)置demo。
二十 模塊設(shè)計器
支持四層架構(gòu)設(shè)計,支持一鍵生成curd,支持全局常量生成,是接口設(shè)計器的底層支撐。
二十一 接口設(shè)計器
一個模塊就是一個文件或類,一個接口就是一個函數(shù)??梢岳斫鉃?/span>函數(shù)設(shè)計器。分為基本配置/入口參數(shù)/邏輯設(shè)計/測試管理四個部分?;九渲镁褪桥渲煤瘮?shù)的名稱及其方法,入口參數(shù)即該函數(shù)的logic層定義,可直接從數(shù)據(jù)庫導(dǎo)入并自動識別類型。邏輯設(shè)計即函數(shù)的主體部分,采用blockly直接通過拖拽代碼實現(xiàn)。測試管理包含入?yún)?headers/預(yù)想/結(jié)果/備注五個部分,是一套完善的測試工具流,預(yù)想可直接從數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)深度測試,預(yù)想并未完成數(shù)據(jù)校驗(第二期完成)
二十二 表單設(shè)計器
支持組件拖拽,支持表單回寫,支持生成 html 以及代碼預(yù)覽,支持?jǐn)?shù)據(jù)來源,支持自定義接收參數(shù)和發(fā)送附加參數(shù)。
二十三 其他
系統(tǒng)配置:基于表單生成器做的demo。 計劃任務(wù):系統(tǒng)的計劃任務(wù)實現(xiàn)。 菜單管理:系統(tǒng)權(quán)限管理的核心部分。 角色管理:系統(tǒng)內(nèi)置的角色權(quán)限管理。 部門管理:和角色管理類似。 公司管理:和角色管理類似。 崗位管理:和角色管理類似。 支持csrf,支持ratelimit 實現(xiàn)訪問速率限制,保護程序免受暴力攻擊,支持helmet,避免 XSS 跨站腳本攻擊。
四、技術(shù)選型
開發(fā)環(huán)境
Node.js v16.13
MySQL 5.7
Redis 5.03
項目解壓到server根目錄
cd servernpm i
初始化項目
用工具導(dǎo)入data/init.sql,然后更改src/common/config/config.js
mysql: { handle: mysql, database: 'godocms',//改成自己的數(shù)據(jù)庫 prefix: 'rt_', encoding: 'utf8', host: '127.0.0.1', port: '3306', user: 'root',//改自己的用戶名 password: 'root',//改密碼 dateStrings: true }
本地預(yù)覽
通過運行 npm run dev 啟動一個本地服務(wù)器。默認訪問地址 http://localhost:8200 。
開發(fā)環(huán)境
npm run dev
正式環(huán)境
npm start
正式環(huán)境
pm2 start pm2.json
五、開源協(xié)議
使用Apache2.0開源協(xié)議
六、源碼地址
私信回復(fù):辦公低代碼套件
或訪問一飛開源:https://code.exmay.com/