工程师知识管理系统:基于golang语言(beego框架),支持分布式文件存储minio集群部署。engineercms为土木工程师基于web的知识管理系统。管理个人、工程项目资料,业主—设计—监理—施工方均从平台获得资料。支持提取码分享文件、onlyoffice实时文档协作,在线利用mindoc创作你的书籍,阅览PD
工程师知识管理系统:基于golang语言(beego框架),支持分布式文件存储minio集群部署。engineercms为土木工程师基于web的知识管理系统。管理个人、工程项目资料,业主—设计—监理—施工方均从平台获得资料。支持提取码分享文件、onlyoffice实时文档协作,在线利用mindoc创作你的书籍,阅览PD
Demo ——基于engineercms的设代资料管理平台(真实应用环境)
…
# linux系统上编译:拷贝go.mod go.sum 以及其他文件,然后执行go mod vendor,
# 再执行bee generate docs
# bee generate routers
# 再执行bee run -gendoc=true -downdoc=true
# 编译(sqlite需要CGO支持)
# go build -ldflags "-w"
# 数据库初始化(此步骤执行之前,需配置`conf/app.conf`)
# ./engineercms install
# linux上升级,先杀死engineercms.exe进程,再拷贝新的engineercms.exe执行文件和路由swagger文件:
# killall engineercms
# 拷贝engineercms和swagger里的swagger.yml和swagger.json到服务器上对应文件夹里
# $ chmod +x engineercms
# $ nohup ./engineercms &
# $ systemctl stop firewalld.service // 关闭防火墙
…
# https://www.cnblogs.com/cqlb/p/13396107.html
# 一、创建标签
# 在Git中打标签非常简单,首先,切换到需要打标签的分支上:
# 要在engineercms文件夹下,鼠标右键,用“git bash here”来启动git,然后执行以下命令。
# 1 $ git branch
# 2 * dev
# 3 master
# 4 $ git checkout master
# 5 Switched to branch 'master'
# git add .
# git commit -m "update"
# 然后,敲命令git tag <tagname> 就可以打一个新标签:
# $ git tag v2.0.5
# 因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
# 如果要推送某个标签到远程,使用命令
# git push --tags
# $ git push origin <tagname>
# git add .
# git commit -m "message"
# git push origin master
# 只不过20年10月之后的版本master一词都改成了main
# /d/engineercms (master|REBASE-i)
# $ git push --delete origin v2.0.0
# To https://github.com/3xxx/engineercms
# - [deleted] v2.0.0
# /d/engineercms (master|REBASE-i)
# $ git push --delete origin v2.0.2
# To https://github.com/3xxx/engineercms
# - [deleted] v2.0.2
# 如果有人想知道如何一次删除多个标签,你可以用空格简单地列出它们,例如git push --delete origin tag1 tag2。本地标签删除git tag -d tag1 tag2同样有效。
…
一 特性:
二 应用案例:
我们做工程设计的,经常要做设代提供现场服务,工程资料很多参建方需要查阅,有一个资料平台会方便很多,并且支持多端:
√参建单位各自自由建立自己的目录,共享资料,避免大家重复存储项目资料,比如会议纪要,法律法规。
√图纸易得,能更好地控制工程质量——pdf设计文件参建单位都可以阅读,提高效率,减少障碍。
√基于“用户——角色——权限”的权限设置。独创的根据文件扩展名来进行权限管理。
√会议室和车辆的预定,用餐人数计划统计等常用功能。
√wiki技术讨论;websocket聊天室;。
√独创的pdf连续查阅;
√硬盘中的资料存储与页面的目录保持一致;设代日志等文章中照片按月度存储;
√ONLYOFFICE中文档的历史版本对照功能。
√ONLYOFFICE中文档的格式转换功能,如word转pdf。
√ONLYOFFICE中文档协作的权限设置,采用casbin。
√出差登记和打卡,考勤登记,值班安排;
√小程序多人写同一天的设代日志;
√工程图片相册服务;
√工程视频服务;
√mapus地图协作,现场定位工程建筑物;
二 todo:
× 读取文件属性——完成时间,作为月度统计依据,或提供选择,以上传时间为统计口径,生成某个目录下月度成果报表,与上个月对比柱状图;
× 项目目录编辑完善:ztree目录拖动;
× 多关键字检索;
× 项目合并和拆分:将2个项目目录合并起来,其中一个项目合并到另一个项目的子目录中,手动合并文件夹,自动修改数据库;
× 流媒体服务;
去百度网盘下载,直接运行。链接:https://pan.baidu.com/s/1f4zuhoymaHMN_QAEgZLwOg 提取码:upvm 将二进制文件放到源码文件夹下直接运行即可。
Linux系统下请将执行文件engineercms(linux)放入engineercms文件夹内(即win系统下运行的整个解压包);swagger文件夹下的swagger.json和swagger.yml两个文件拷贝到engineercms目录里的swagger文件夹里 进入执行文件所在文件夹,运行engineercms如下:
# [root@localhost engineercms]# nohup ./engineercms &
# 如果出现:
# -bash: ./ engineercms: Permission denied
# 则说明需要修改权限,用下列命令:
# [root@……5 ~]# chmod +x engineercms
# —如果出现端口被占用,需要去conf文件夹内修改app.conf里的端口号,保存后重新运行。
# [root@……5 ~]# systemctl stop firewalld.service关闭防火墙,否则其他电脑访问不了。
# 停止engineercms进程的命令
# killall engineercms
# 查看进程的命令:
# ps aux
不清楚的,可以加我QQ504284或者微信hotqin999聊,也可参考quickstart。
wiki。包括linux系统下的编译。linux系统下的部署参见网盘中的文档。
技术开发过程详见CSDN我的博客 系统简单使用见mindoc文档
参见quickstart快速开始。包括后台导入Excel用户,设置用户角色和权限。
linux系统上的部署参见网盘中的文档。
git submodule update --init
EngineerCMS source code is licensed under the Apache Licence, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html).
ONLYOFFICE实时文档协作效果——除了支持office的docx,xlsx及pptx格式外,还支持国产wps,et和dps格式。
在线直接预览dwg图纸文件:
手机端访问文章效果
微信小程序富文本编辑器添加文章:
IPAD移动端效果
项目进度展示
用户——角色——权限设置,树状目录权限,区分附件扩展名,基于casbin
froala富文本编辑器支持word图片自动上传,视频和附件
mapus地图协作,部分替代91地图 mapus document
No open issues yet, or sync has not completed.