# 配置应用
# 配置文件
- 后端配置文件:
/api/src/main/resources/application.yml和/api/src/main/resources/web/config.yml - 前端配置文件:
/ui/public/config.js和/ui/src/setting.js
# 主数据源配置
# 1.h2数据库
# application.yml
spring:
datasource:
driver-class-name: "org.h2.Driver"
url: "jdbc:h2:file:./dev;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE"
username: "changeit"
password: "changeit"
h2:
console:
enabled: true # 配置后支持打开 h2 管理后台
settings:
web-allow-others: true
# 2.MySQL数据库
# application.yml
spring:
datasource:
driver-class-name: "com.mysql.cj.jdbc.Driver"
url: "jdbc:mysql://ip:port/db_schema" # 标准的 JDBC 参数
username: "changeit"
password: "changeit"
# 3.Oracle数据库
- 修改Spring数据库连接配置:
application.yml
spring:
datasource:
driver-class-name: "oracle.jdbc.OracleDriver"
url: "jdbc:oracle:thin:@ip:port:db_schema" # 标准的 JDBC 参数
username: "changeit"
password: "changeit"
- 补充依赖:
pom.xml
<!-- Oracle驱动包依赖 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Oracle本地化包依赖,更好地处理各种语言和字符集 -->
<dependency>
<groupId>com.oracle.database.nls</groupId>
<artifactId>orai18n</artifactId>
<scope>runtime</scope>
</dependency>
# 4.达梦数据库
# application.yml
spring:
datasource:
driver-class-name: "dm.jdbc.driver.DmDriver"
url: "jdbc:dm://ip:port?SCHEMA=db_schema" # 标准的 JDBC 参数
username: "changeit"
password: "changeit"
# 5.Postgresql数据库
spring:
datasource:
driver-class-name: "org.postgresql.Driver"
url: "jdbc:postgresql://ip:port/db_catalog?currentSchema=db_schema" # 标准的 JDBC 参数
username: "changeit"
password: "changeit"
# 6.Hubble数据库
基于 postgresql 协议,使用方式参考 postgresql 数据库配置。
# 多数据源配置
框架拓展了数据源的配置,支持在连接主数据源的同时创建与其他数据库的连接。
fly:
data-sources:
sampledb:
driver-class-name: "com.mysql.cj.jdbc.Driver"
url: "jdbc:mysql://ip:port/db_schema" # 标准的 JDBC 参数
username: "changeit"
password: "changeit"
# 数据源有效性校验
# application.yml
spring:
datasource:
driver-class-name: "com.mysql.cj.jdbc.Driver"
url: "jdbc:mysql://ip:port/db_schema" # 标准的 JDBC 参数
username: "changeit"
password: "changeit"
# HikariCP 配置
hikari:
connection-test-query: "SELECT 1" # 数据库连接有效性校验语句,不同数据库语句不同
validation-query-timeout: 5000 # 单位毫秒
更多关于数据源的配置,请参考Spring Boot 官方文档。
# 身份认证配置
# application.yml
oauth2:
client-id: "changeit"
client-secret: "changeit"
server-url: "changeit" # 认证服务内部地址
user-info-uri: "${oauth2.server-url}/oauth2/userinfo"
iam-api: "changeit"
version: 5 # IAM版本,不设置 默认对接 v4 版本
authorization-code:
token-uri: "/token"
# indirect-* 是指外网(间接)地址,默认指向内部地址
indirect-server-url: "${oauth2.server-url}"
indirect-user-info-uri: "${oauth2.indirect-server-url}/oauth2/userinfo"
indirect-iam-api: "${oauth2.iam-api}"
fuse-console: "changeit" # IAM 管理控制台地址
# 接入IAM统一授权配置
# application.yml
app:
dengine:
security:
mode: "IAM" # 设置为 IAM 模式,开启统一授权管理,开启后将不会在本地生成 sec_user, sec_role, sec_authority_pack 等表
fly:
migration:
enabled: false # 关闭数据库迁移功能
ddlAuto: false # 默认是自动创建表结构,关闭后不会自动创建表结构
# 文件存储配置
这里的文件存储是应用内的存储。
# application.yml
file:
dir: "file:./files" # 文件存储目录
upload: "/$files/upload" # 上传接口
download: "/$files/download" # 下载接口
# 配置匿名HTTP请求
# application.yml
fly:
security:
ignored-urls: # 这里配置匿名访问的接口,可以使用通配符类似 /api/user/**
- "/api_path/"
# config.json加密输出
# application.yml
fly:
web:
config:
encrypt:
enabled: true # 开启config.json加密
# 数据库管理配置
# application.yml
fly:
migration:
enabled: true # 数据库的版本管理,开启后数据库将会自动执行升级脚本(resources/**.sql)和自动执行ddl脚本(元数据实体或者java实体产生的动态脚本)
ddlAuto: false # 单独控制ddl脚本的执行,开启后会自动执行ddl脚本(元数据实体或者java实体产生的动态脚本),关闭则不会对数据库表结构进行操作
以上配置开启后,仅仅在工程启动的时候执行。
# Web集成配置
前端框架会发起 config.json 的请求,请求返回的结果来自于后端 config.yml 里的配置,前端读取到后会放到前端缓存起来。
# config.yml
login: true #
apiBaseUrl: "${server.servlet.context-path}" # 提供给前端用的基础地址,所有api都经过它,需要拼接上下文
orchServerBaseUrl: "${server.servlet.context-path}/serverless" # 函数编排用到的基础地址
resourceBaseUrl: "${server.servlet.context-path}" # 素材文件资源的基础地址
serviceBaseUrl: "${server.servlet.context-path}/service" # 查询能够使用的第三方数据源的基础地址,本质返回的是 app/services.json 里面的内容
authorizeUrl: "${server.servlet.context-path}/$perms" # 权限接口路径
orchBaseUrl: "/orchestration" #
onlineide: "https://lowcode.bingosoft.net/cloud/ide/index.html" # 可忽略,公共IDE的地址
service.menu.url: "/menu" # 获取菜单数据的基础地址
oauth2.clientId: "${oauth2.client-id}" # IAM SSO 的clientId
oauth2.serverUrl: "${oauth2.server-url}" # IAM SSO 的 serverUrl
oauth2.userInfo: "${oauth2.user-info-uri}" # IAM SSO获取用户信息的基础地址
oauth2.iamapi: "${oauth2.iam-api}" # IAM API的基础地址
oauth2.iamVersion: "${oauth2.version}" # IAM的版本
file.upload: "${server.servlet.context-path}${file.upload}" # 文件上传地址
file.download: "${server.servlet.context-path}${file.download}" # 文件上传地址
# 如果有内外网的场景,以下配置需要指向外网地址
# oauth2.serverUrl: "${oauth2.indirect-server-url}"
# oauth2.userInfo: "${oauth2.indirect-user-info-uri}"
# oauth2.iamapi: "${oauth2.indirect-iam-api}"
# 元数据配置
通常情况下使用默认配置即可
# application.yml
app:
dengine:
file:
dir: "./app/" # 元数据存储目录
writing:
backup: false # 默认 false,开启后对于删除的文件会自动备份
backup-dir: "./app-backup" # 备份目录
enabled: false # 是否启用元数据写入接口,建议生产部署时关闭
ddlAuto: true # 开启后,从IDE侧进行的实体操作,能够自动生成数据库表结构、关系,索引等
market:
enabled: true # 开启后可以使用物料市场
url: "https://lowcode.bingosoft.net/developer/" # 物料市场地址
# 补充该配置后,对应 config.yml 里面的相关 URL 路径会自动生成完整的 URL 路径(http 开头)
requestserverwebconfigs: "apiBaseUrl,orchServerBaseUrl,serviceBaseUrl,authorizeUrl,resourceBaseUrl,file.upload,file.download"
# 导入实体后自动生成API接口,该配置在 1.8.4 版本支持
import-entity:
generate-apis: true
# 安全配置
security:
sync:
enabled: false # 设置为true后,用户管理、组织管理支持从IAM进行同步(页面出现同步按钮) 1.8.16 + 版本支持
# 多租户配置
# application.yml
app:
dengine:
multi-tenant:
enabled: true # 开启多租户
# 查询接口分页配置
# application.yml
# 以下配置针对【实体的列表查询接口】 和 【基于SQL的分页查询接口】 接口有效;
spring:
data:
web:
pageable:
default-page-size: 20 # spring框架默认分页数
max-page-size: 2000 # spring框架最大分页数(避免出现过大数据量查询,可设置更小的值)
# IDE配置
# config.yml
ide:
docUrl: "${doc-url}" # IDE 中链接到文档中心的地址
# 工作流配置
# application.yml
services:
workflow:
appId: changeit # 工作流应用ID, 如果不配置,默认使用 oauth2.clientId
url: changeit # 工作流运行时服务地址 http://ip:port/wf-runtime/
autoGeneratePages: true # 在IDE中支持 自动生成审批页面 的配置,实验属性 1.8.4 版本支持
query:
url: changeit # 工作流查询服务地址 http://ip:port/wf-query/
console:
url: changeit # 工作流控制台服务地址 http://ip:port/workflow/
# 微应用配置
# application.yml
app:
dengine:
micro-app:
enabled: true
apps:
- name: "app-1" # 可自定义,用于标识应用1
base-url: "http://ip:port/app-1/" # 应用1的根路径
service-url: "http://ip:port/app-1/service" # 应用1的 /service 路径
config-url: "http://ip:port/app-1/config.json" # 应用1的 /config.json 路径
option-set-url: "http://ip:port/app-1/_meta/dict" # 应用1的 /_meta/dict 路径