GoData是一个免费的、高效、且灵活的数字化设计系统
系统UI适配兼容了电脑端、手机、平板设备。
我们仅保留了底部的产品标识。
配置在系统启动时生效,其中Port、数据库配置项修改后需要重启服务生效,其他的配置修改后,不需要重启即可实时生效。
这里只说明几个需要重点关注的配置字段,其他字段请查看配置文件中的注释。配置文件在 conf 目录下。
系统采用的RBAC权限模型,用户-角色-资源(菜单、按钮、接口)。用户、或openapi用户绑定了角色,就拥有对应的资源权限。
Id为1的是超级用户,超级用户仅此一个。并且拥有所有的权限。
角色没有层级关系,用户拥有的权限是其所有角色的并集。
比如:用户A拥有角色B和角色C,B角色有b1和b2权限,C角色有b1和c1权限。那么用户A就有b1、b2、c1权限。
接口包括:服务端API、前端按钮、go脚本自定义API逻辑
服务端API:包含系统内部API、和表单设计新的API
前端按钮:可以用于控制前端按钮权限,js脚本中用,比如:havaAuth('POST~/api/r1/r2'),返回true表示有按钮权限
go脚本自定义API逻辑:点击 启用Go脚本,点击脚本示例复制示例代码,用来自定义API逻辑
接口可以设置日志开启,开启后该api的每一个请求都会记录日志到菜单:系统 -> 请求日志 中
开放API主要是给其他客户端、应用系统等等开放指定接口来获取数据
开放API提交后会生成token,通过token来访问api
token有过期时间:0或不填表示永不过期;大于一表示会过期,过期后这个token访问接口会得到401的状态码
token的用法:支持两种方式,选择任意一种即可
通过绑定角色,来控制token访问接口的细粒度权限
表单设计是系统的核心,用于CURD增删改查, 拖拽设计所见即所得。 支持单表、一对多、多对多(需要用到脚本)关系。
生成的表单,默认自适应,默认支持子表单的数据检验
表单设计后提交时会生成数据库表(有开关可以不生成),设计字段时请不要使用下面的系统内置字段(默认会添加):
BI设计用于生成报表,支持多数据源、多数据集、丰富的图表、多维透视表等等。
BI组件设置包含3个部分:
上述部分的使用方法在系统中有说明、和示例代码
系统提供了2中打印设计,1、pdkmake用js脚本来设计 查看文档;2、标签打印(基于开源hiprint)
表单设计后会默认生成一个pdfmake打印脚本
个性化更高的设计菜单内容
包括系统所有的文件:图片、文件、视频、音频、pdf等等。
将系统的信息替换成自己的,包括系统的图片,系统的标题,水印,上传文件大小,登录页口号,等等能在这里随意更换。
推荐用ubuntu的64位系统,部署生产环境。
支持部署成HTTPS服务,而且部署很简单,请查看下述步骤。而部署成HTTP就更简单了,直接启动。两者只能选择其中一种方式部署。
wget https://github.com/go-acme/lego/releases/download/v4.22.2/lego_v4.22.2_linux_amd64.tar.gz
tar -xvf lego_v4.22.2_linux_amd64.tar.gz lego
./lego --email="example@163.com" --domains="cqyunq.com,www.cqyunq.com" --path="./cert.com" --http --http.webroot "/" run
chmod +x ./goo
nohup ./goo &
ps -aux|grep goo
kill -9 ID