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