Appearance
Locas 低代码开发平台
Locas 低代码开发平台是一个强大的低代码开发平台,旨在帮助开发者快速构建、部署和管理复杂的企业级应用程序。通过项目模式管理,您可以轻松地组织和管理多个项目,并通过图形化拖拽方式实现前端页面配置及后端服务设置。此外,我们还提供了丰富的模板库,支持快速创建各种类型的应用程序。
功能范围
- 项目管理与项目空间
- 页面设计器
- 服务设计器
- 微应用应用发布
- 项目备份与还原
- 页面模板库
- 项目模板库
- 接口、状态设计器
版本
v2.7.60,已于2025年2月19日发布
- FBP接口、函数进行调试
- FBP服务提供websocket能力
- 平台部分接口(登录认证相关)由FBP服务替换
更新内容
新增
- 新增AntPathMatcherTask、ExtensionServiceTask;扩展jar服务开发参考:点击进入
- 新增WebSocketTask、DBMetaDataTask
- fbp服务入口应用加入获取dsc配置数据、当前登录用户数据缓存能力,项目开发时可以通过项目DSC配置界面清理dsc配置缓存和登录用户缓存;平台提供lc-syscachemng应用给平台管理、站点管理员对系统缓存进行重置
- 项目空间接口新增函数类型;新增调试、运行功能
- 接口设计多tab之间、跨浏览器复制粘贴:流程查看里点击单选、Shift+拖动框选然后【ctrl+c】复制,流程编辑tab里【ctrl+v】粘贴节点及配置
修复或修改
- 调整接口编辑器、状态编辑器操作界面
- 修复事件捕获面板配置数据回填;sql查询动态参数in条件报错;
- 修复polardbJTA事务连接报错;
- 修复服务编排分页查询中逗号分隔条件的排除逻辑
- 项目空间支持maui前置事件能力
- 修复事件集task、状态流转task返回是否退回标识
- 调整存储相关的task,优化IO操作;废弃FileCreateTask、FileStringWriteTask,由FileCreateTask替代;数据为null创建零字节文档,路径以/结尾创建文件夹;
- 修复fbp的POST接口报refcnt错误
- 修复CacheDelTask配置错误
- 修复接口多tab打开删除tab时流程图错位问题
- 修复函数运行显示结果弹窗多次问题(监听事件不唯一)
- 循环节点扩展支持Map、Number、Set
- 修复接口开发子流程节点引用其它应用、其它项目中的流程执行报错问题
- 服务删除目录,将目录下的所有服务转移到回收站(解决fbp应用里包含locas低代码服务运行不了问题)
- 关闭mybitsplus的打印日志输出
- fbp新增Xml解析和序列化task;扩展系统日期task功能;新增日期转换task;调整加解密task为加密task、解密task并扩充功能、密钥对task
- 更新常用代码
- 优化web请求task(参数、cookies、请求头新增支持json常量串)
- 修复压缩文件中文乱码问题
- 系统日期task新增获取系统日期串(解决日期存库丢失时间)
- 浙政钉task新增get、post请求方式配置,参数中对数组值进行迭代加入sdk的接口参数中
- fbp日志过滤掉流程定义的打印
- fbp服务容器内加入浙政钉域名解析
- fbp容器新增环境变量:JVM_XMS、JVM_XMX、JVM_XSS类对容器内的fbp服务默认内存资源值进行覆盖【示例:JVM_XMS: -Xms512M JVM_XMX: -Xmx512M JVM_XSS: -Xss1024M】
- webTask新增soap+xml请求方式
- 优化jta事务报错输出
- locas-service修复备份还原时业务卡片目录数据还原报错问题
- 项目空间项目开发过程中编辑dsc自动清理本项目的dsc配置缓存
- DSC管理应用支持编辑能力,编辑后自动刷新fbp缓存
- 项目空间修复接口导出、导入(oss存储)报错;优化升级版本界面按钮控制(避免重复点击)
- webtask新增标识用于task返回FileObject对象
- fbp修复模板引擎task在oss存储下文件无法生成,并优化逻辑
- fbp服务新增服务线程池大小可设置,容器中通过参数:server.thread.pool.size来配值,默认10
- fbp服务新增线程、数据库连接状态查看功能,【查看服务线程地址:http://ip:port/api/fbp/stat/web 查看数据源使用: http://ip:port/api/fbp/stat/datasources 】
- fbp服务webtask调整multpart/data-form请求,支持同时发送文本和文件数据,并优化配置面板提示信息
- fbp服务将系统缓存调整到jar包中,支持fbp多实例部署采用redis事务来解决分布式消息【注意:业务场景如果部署多个fbp实例,应在每个实例上配置相同的redis连接信息】
- locar解决uiblock中资源库图片引用加载问题(如:支持带图片的部件,项目/应用中通过uiblock引入其它应用带图片页面)
- 兼容dm、mysql在新增数据返回的数据行为一致;系统日期task返回时间串格式化为:yyyy-MM-dd HH:mm:ss,兼容数据库插入时间字段
- 修复达梦数据库jta事务、分页查询问题
- fbp内置dns解析:59.202.170.248 oayy.pj.gov.cn
- 解决fbp多实例部署时编辑dsc配置后所有fbp实例缓存都刷新 [注意: 每个fbp实例需要连接系统的redis]
优化
- 优化boot接口中fbp登录数据、应用/项目运行配置数据缓存;
- 优化fbp代码逻辑
- 优化低代码方法编辑器加入常用代码、服务、接口的选择插入功能
- 优化QueryTask,提供不分页查询可配置成返回单条记录
- 优化数据库task选表、取字段服务由DBMetaDataTask实现,解决数据库类型差异问题
更新资料获取
如何获取微服务镜像?
所有镜像可到容器仓库通过 docker pull
拉取
- 武汉公司内网:
192.168.1.10:5000/tangram/[微服务名]:[版本号]
- 阿里云:
registry.cn-hangzhou.aliyuncs.com/tangram/[微服务名]:[版本号]
如何获取微服务jar包?
所有正式发布版本可到私服仓库下载
- 下载地址:
http://wh.zktx-soft.com:18081/repository/maven-public/com/gsoft/[平台:mas|locas]/[应用名]/[版本号]/[应用名]-[版本号].jar
例:http://wh.zktx-soft.com:18081/repository/maven-public/com/gsoft/mas/mas-admin//mas-admin-.jar
如何获取微应用tgz包?
所有安装包可到阿里云OSS仓库下载
- 路径:
oss://foa5-oss/deploy/release/[平台:mas/locas]/[应用名称]/[版本号]/[应用名称]-[版本号].tgz
如:oss://foa5-oss/deploy/release/locas//2.7.60/locas-2.7.60.tgz
基于MAS平台版本
Locas
基于 MAS v5.13.36
微服务版本明细
序号 | 微应用 | Code | 版本号 | 说明 |
---|---|---|---|---|
1 | 低代码引擎 | locas-service | 2.7.6 | |
2 | 新低代码引擎 | locas-fbp | 2.7.42 |
微应用版本明细
序号 | 微应用 | Code | 版本号 | 更新说明 |
---|---|---|---|---|
1 | Locar渲染引擎 | locar | 2.7.60 | 原maui-block |
2 | Locas低代码设计器 | locas | 2.7.60 | 原maui-pages,对应locas-service |
3 | PC基础组件 | lc-system-tools | v1.0.0.17 | 获取地址:oss://foa5-oss/deploy/locas/lc-system-tools/ |
4 | 低代码项目管理 | lc-project-workspace | v4.0.0.95 | 获取地址:oss://foa5-oss/deploy/locas/lc-project-workspace/ |
2.4升级2.7.60
- 1、locas-service服务连的数据库中执行:
sql
ALTER TABLE t_app_menu_catalog ADD COLUMN c_hidden VARCHAR(2);
COMMENT ON COLUMN "t_app_menu_catalog"."c_hidden" IS '是否隐藏';
ALTER TABLE t_app_menu_catalog ADD COLUMN c_anonymous VARCHAR(2);
COMMENT ON COLUMN "t_app_menu_catalog"."c_anonymous" IS '匿名访问';
ALTER TABLE t_app_menu_pages ADD COLUMN c_hidden VARCHAR(2);
COMMENT ON COLUMN "t_app_menu_pages"."c_hidden" IS '是否隐藏';
ALTER TABLE t_app_menu_pages ADD COLUMN c_anonymous VARCHAR(2);
COMMENT ON COLUMN "t_app_menu_pages"."c_anonymous" IS '匿名访问';
ALTER TABLE cos_system_service_interface ADD COLUMN c_anonymous VARCHAR(2);
COMMENT ON COLUMN "cos_system_service_interface"."c_anonymous" IS '匿名模式';
ALTER TABLE cos_system_service_interface ADD COLUMN c_uuid VARCHAR(100);
COMMENT ON COLUMN "cos_system_service_interface"."c_uuid" IS 'uuid';
ALTER TABLE cos_sql_service ADD COLUMN c_anonymous VARCHAR(2);
COMMENT ON COLUMN "cos_sql_service"."c_anonymous" IS '匿名模式';
ALTER TABLE cos_sql_service ADD COLUMN c_uuid VARCHAR(100);
COMMENT ON COLUMN "cos_sql_service"."c_uuid" IS 'uuid';
ALTER TABLE cos_service_engine_service ADD COLUMN c_anonymous VARCHAR(2);
COMMENT ON COLUMN "cos_service_engine_service"."c_anonymous" IS '匿名模式';
ALTER TABLE cos_service_engine_service ADD COLUMN c_uuid VARCHAR(100);
COMMENT ON COLUMN "cos_service_engine_service"."c_uuid" IS 'uuid';
ALTER TABLE cos_groovy_service ADD COLUMN c_anonymous VARCHAR(2);
COMMENT ON COLUMN "cos_groovy_service"."c_anonymous" IS '匿名模式';
ALTER TABLE cos_groovy_service ADD COLUMN c_uuid VARCHAR(100);
COMMENT ON COLUMN "cos_groovy_service"."c_uuid" IS 'uuid';
ALTER TABLE cos_third_service ADD COLUMN c_anonymous VARCHAR(2);
COMMENT ON COLUMN "cos_third_service"."c_anonymous" IS '匿名模式';
ALTER TABLE cos_third_service ADD COLUMN c_uuid VARCHAR(100);
COMMENT ON COLUMN "cos_third_service"."c_uuid" IS 'uuid';
ALTER TABLE cos_system_service ADD COLUMN c_anonymous VARCHAR(2);
COMMENT ON COLUMN "cos_system_service"."c_anonymous" IS '匿名模式';
ALTER TABLE cos_system_service ADD COLUMN c_uuid VARCHAR(100);
COMMENT ON COLUMN "cos_system_service"."c_uuid" IS 'uuid';
ALTER TABLE t_version_record ADD COLUMN c_remark VARCHAR(2000);
COMMENT ON COLUMN "t_version_record"."c_remark" IS '备注说明';
- 2、locas-service服务连的数据库中执行建表语句:
sql
-- ----------------------------
-- Table structure for fbp_service_category_info
-- ----------------------------
DROP TABLE IF EXISTS "fbp_service_category_info";
CREATE TABLE "fbp_service_category_info" (
"c_id" serial8 NOT NULL,
"c_last_modifier" int8,
"c_last_modify_time" timestamp(6),
"c_creator" int8,
"c_create_time" timestamp(6),
"c_sort_number" int4,
"c_tenant_id" int8,
"c_namespace" varchar(50) ,
"c_parent_id" int8,
"c_cascade_id" varchar(255) ,
"c_text" varchar(100) ,
"c_label" varchar(100) ,
"c_level" int4,
"c_version" varchar(10),
CONSTRAINT "fbp_service_category_info_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_service_category_info"."c_id" IS '主键';
COMMENT ON COLUMN "fbp_service_category_info"."c_last_modifier" IS '修改人';
COMMENT ON COLUMN "fbp_service_category_info"."c_last_modify_time" IS '修改时间';
COMMENT ON COLUMN "fbp_service_category_info"."c_creator" IS '创建人';
COMMENT ON COLUMN "fbp_service_category_info"."c_create_time" IS '创建时间';
COMMENT ON COLUMN "fbp_service_category_info"."c_sort_number" IS '排序号';
COMMENT ON COLUMN "fbp_service_category_info"."c_tenant_id" IS '租户ID';
COMMENT ON COLUMN "fbp_service_category_info"."c_namespace" IS '命名空间';
COMMENT ON COLUMN "fbp_service_category_info"."c_parent_id" IS '父节点id';
COMMENT ON COLUMN "fbp_service_category_info"."c_cascade_id" IS '级联id';
COMMENT ON COLUMN "fbp_service_category_info"."c_text" IS '目录名称';
COMMENT ON COLUMN "fbp_service_category_info"."c_level" IS '目录层级';
COMMENT ON COLUMN "fbp_service_category_info"."c_version" IS '版本';
COMMENT ON TABLE "fbp_service_category_info" IS 'FBP发布接口分类信息表';
-- ----------------------------
-- Table structure for fbp_datasource
-- ----------------------------
DROP TABLE IF EXISTS "fbp_datasource";
CREATE TABLE "fbp_datasource" (
"id" serial8 NOT NULL,
"datasource_name" varchar(255) ,
"type" int2,
"url" varchar(1000) ,
"port" varchar(20) ,
"schema_name" varchar(255) ,
"c_user" varchar(255) ,
"password" varchar(255) ,
"remark" varchar(255) ,
"status" int2,
"code" varchar(255) ,
"current_model" varchar(255) ,
"config_msg" varchar(500) ,
"tenant_id" varchar(255) ,
"source_level" int2,
"c_initialsize" int2,
"c_minidle" int2,
"c_maxsize" int2,
"c_driverclassname" varchar(1000) ,
CONSTRAINT "fbp_datasource_pkey" PRIMARY KEY ("id")
);
COMMENT ON COLUMN "fbp_datasource"."id" IS '主键';
COMMENT ON COLUMN "fbp_datasource"."datasource_name" IS '数据源名称';
COMMENT ON COLUMN "fbp_datasource"."type" IS '数据源类型,1-MySQL,2-Oracle,3-达梦,4-polardb,6-人大金仓,7-神通';
COMMENT ON COLUMN "fbp_datasource"."url" IS '数据源url';
COMMENT ON COLUMN "fbp_datasource"."port" IS '端口';
COMMENT ON COLUMN "fbp_datasource"."schema_name" IS 'schema名称';
COMMENT ON COLUMN "fbp_datasource"."c_user" IS '用户名';
COMMENT ON COLUMN "fbp_datasource"."password" IS '密码';
COMMENT ON COLUMN "fbp_datasource"."remark" IS '备注';
COMMENT ON COLUMN "fbp_datasource"."status" IS '采集状态,1-未采集,2-采集中,3-采集完成,4-采集失败';
COMMENT ON COLUMN "fbp_datasource"."code" IS '唯一标识';
COMMENT ON COLUMN "fbp_datasource"."current_model" IS '当前模式';
COMMENT ON COLUMN "fbp_datasource"."config_msg" IS '配置信息';
COMMENT ON COLUMN "fbp_datasource"."tenant_id" IS '租户id';
COMMENT ON COLUMN "fbp_datasource"."source_level" IS '数据源级别,1-平台级,2-租户级';
COMMENT ON COLUMN "fbp_datasource"."c_initialsize" IS '初始化连接数';
COMMENT ON COLUMN "fbp_datasource"."c_minidle" IS '最小连接数';
COMMENT ON COLUMN "fbp_datasource"."c_maxsize" IS '最大连接数';
COMMENT ON TABLE "fbp_datasource" IS '数据源信息';
COMMENT ON COLUMN "fbp_datasource"."c_driverclassname" IS '数据源驱动类';
-- ----------------------------
-- Table structure for fbp_service
-- ----------------------------
DROP TABLE IF EXISTS "fbp_service";
CREATE TABLE "fbp_service" (
"c_id" serial8 NOT NULL,
"c_last_modifier" int8,
"c_last_modify_time" timestamp(6),
"c_creator" int8,
"c_create_time" timestamp(6),
"c_sort_number" int4,
"c_tenant_id" int8,
"c_project" varchar(255) ,
"c_version" varchar(50) ,
"c_uuid" varchar(100) ,
"c_bpmn" text ,
"c_runner" text ,
"c_document" text,
"c_bizType" varchar(100) ,
"c_element" text,
CONSTRAINT "fbp_service_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_service"."c_project" IS '项目code';
COMMENT ON COLUMN "fbp_service"."c_version" IS '版本号';
COMMENT ON COLUMN "fbp_service"."c_uuid" IS 'uuid';
COMMENT ON COLUMN "fbp_service"."c_bpmn" IS 'xml配置';
COMMENT ON COLUMN "fbp_service"."c_runner" IS '调试参数实例数据';
COMMENT ON COLUMN "fbp_service"."c_document" IS '文档数据';
COMMENT ON COLUMN "fbp_service"."c_bizType" IS '业务类型:null:服务接口;logic-comp:部件';
COMMENT ON COLUMN "fbp_service"."c_element" IS '当c_bizType值为logic-comp,代表部件,存放部件元素信息';
-- ----------------------------
-- Table structure for fbp_tree_json
-- ----------------------------
DROP TABLE IF EXISTS "fbp_tree_json";
CREATE TABLE "fbp_tree_json" (
"c_id" serial8 NOT NULL,
"c_json" text ,
"c_key" varchar(255) ,
CONSTRAINT "fbp_tree_json_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_tree_json"."c_json" IS '树形json';
COMMENT ON COLUMN "fbp_tree_json"."c_key" IS '唯一key';
-- ----------------------------
-- Table structure for fbp_state
-- ----------------------------
DROP TABLE IF EXISTS "fbp_state";
CREATE TABLE "fbp_state" (
"c_id" serial8 NOT NULL,
"c_last_modifier" int8,
"c_last_modify_time" timestamp(6),
"c_creator" int8,
"c_create_time" timestamp(6),
"c_sort_number" int4,
"c_tenant_id" int8,
"c_project" varchar(255) ,
"c_version" varchar(50) ,
"c_uuid" varchar(100) ,
"c_bpmn" text ,
"c_runner" text ,
"c_document" text ,
CONSTRAINT "fbp_state_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_state"."c_project" IS '项目code';
COMMENT ON COLUMN "fbp_state"."c_version" IS '版本号';
COMMENT ON COLUMN "fbp_state"."c_uuid" IS 'uuid';
COMMENT ON COLUMN "fbp_state"."c_bpmn" IS 'xml配置';
COMMENT ON COLUMN "fbp_state"."c_runner" IS '调试实例数据';
COMMENT ON COLUMN "fbp_state"."c_document" IS '文档说明';
-- ----------------------------
-- Table structure for fbp_dcs_setting
-- ----------------------------
DROP TABLE IF EXISTS "fbp_dcs_setting";
CREATE TABLE "fbp_dcs_setting" (
"c_id" serial8 NOT NULL,
"c_key" varchar(255) ,
"c_value" varchar(255) ,
"c_desc" varchar(255) ,
"c_type" varchar(255) ,
"c_catalog" varchar(255) ,
"c_project" varchar(255) ,
"c_version" varchar(255) ,
"c_tenant_id" int4,
CONSTRAINT "fbp_dcs_setting_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_dcs_setting"."c_id" IS '主键';
COMMENT ON COLUMN "fbp_dcs_setting"."c_key" IS '数据源标识';
COMMENT ON COLUMN "fbp_dcs_setting"."c_value" IS '数据源值code';
COMMENT ON COLUMN "fbp_dcs_setting"."c_desc" IS '数据源描述说明';
COMMENT ON COLUMN "fbp_dcs_setting"."c_type" IS '类型 1 平台 2 站点';
COMMENT ON COLUMN "fbp_dcs_setting"."c_catalog" IS '分类 1 数据源 2 缓存 3 存储';
COMMENT ON COLUMN "fbp_dcs_setting"."c_project" IS '项目';
COMMENT ON COLUMN "fbp_dcs_setting"."c_version" IS '版本';
COMMENT ON COLUMN "fbp_dcs_setting"."c_tenant_id" IS '租户';
-- ----------------------------
-- Table structure for fbp_storages
-- ----------------------------
DROP TABLE IF EXISTS "fbp_storages";
CREATE TABLE "fbp_storages" (
"c_id" serial8 NOT NULL,
"c_code" varchar(255) ,
"c_name" varchar(255) ,
"c_type" varchar(50),
"c_endpoint" varchar(1000) ,
"c_root_path" varchar(255) ,
"c_access_key_id" varchar(255) ,
"c_secret_access_key" varchar(255) ,
"c_remark" varchar(2000) ,
"c_bucket_name" varchar(500) ,
"c_tenant_id" int8 ,
"c_level" int2,
CONSTRAINT "fbp_storages_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_storages"."c_id" IS '主键';
COMMENT ON COLUMN "fbp_storages"."c_code" IS '存储标识';
COMMENT ON COLUMN "fbp_storages"."c_name" IS '存储标识名称';
COMMENT ON COLUMN "fbp_storages"."c_type" IS '类型,local-本地存储,oss-OSS存储';
COMMENT ON COLUMN "fbp_storages"."c_endpoint" IS 'OSS域';
COMMENT ON COLUMN "fbp_storages"."c_root_path" IS '端口';
COMMENT ON COLUMN "fbp_storages"."c_access_key_id" IS 'Oss账号id';
COMMENT ON COLUMN "fbp_storages"."c_secret_access_key" IS 'Oss账号密钥';
COMMENT ON COLUMN "fbp_storages"."c_remark" IS '备注';
COMMENT ON COLUMN "fbp_storages"."c_bucket_name" IS 'Oss存储桶';
COMMENT ON COLUMN "fbp_storages"."c_tenant_id" IS '租户id';
COMMENT ON COLUMN "fbp_storages"."c_level" IS '数据源级别,1-平台级,2-站点级';
COMMENT ON TABLE "fbp_storages" IS '存储信息';
-- ----------------------------
-- Table structure for fbp_cache_pools
-- ----------------------------
DROP TABLE IF EXISTS "fbp_cache_pools";
CREATE TABLE "fbp_cache_pools" (
"c_id" serial8 NOT NULL,
"c_last_modifier" int8,
"c_last_modify_time" timestamp(6),
"c_creator" int8,
"c_create_time" timestamp(6),
"c_sort_number" int4,
"c_tenant_id" int8,
"c_code" varchar(50),
"c_name" varchar(100),
"c_remark" varchar(500),
"c_level" int2,
"c_type" varchar(50),
"c_expire_seconds" int8,
"c_maximum_size" int8,
"c_second_expire_seconds" int8,
"c_url" varchar(50),
"c_password" varchar(50) DEFAULT null,
"c_database" int4,
"c_port" int4,
CONSTRAINT "fbp_cache_pools_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_cache_pools"."c_code" IS '代码';
COMMENT ON COLUMN "fbp_cache_pools"."c_name" IS '名字';
COMMENT ON COLUMN "fbp_cache_pools"."c_level" IS '缓存级别:1平台,2站点';
COMMENT ON COLUMN "fbp_cache_pools"."c_type" IS '类型:jvm/redis/level2';
COMMENT ON COLUMN "fbp_cache_pools"."c_expire_seconds" IS '过期时间';
COMMENT ON COLUMN "fbp_cache_pools"."c_maximum_size" IS 'jvm最大缓存';
COMMENT ON COLUMN "fbp_cache_pools"."c_second_expire_seconds" IS '二级缓存过期时间';
COMMENT ON COLUMN "fbp_cache_pools"."c_url" IS '连接url';
COMMENT ON COLUMN "fbp_cache_pools"."c_password" IS '密码';
COMMENT ON COLUMN "fbp_cache_pools"."c_database" IS '连接库';
COMMENT ON COLUMN "fbp_cache_pools"."c_port" IS '端口';
-- ----------------------------
-- Table structure for fbp_page
-- ----------------------------
DROP TABLE IF EXISTS "fbp_page";
CREATE TABLE "fbp_page" (
"c_id" serial8 NOT NULL,
"c_last_modifier" int8,
"c_last_modify_time" timestamp(6),
"c_creator" varchar(50) ,
"c_create_time" timestamp(6),
"c_sort_number" int4,
"c_tenant_id" int8,
"c_path" varchar(500) ,
"c_config" text ,
"c_settings" text ,
"c_type" varchar(20) ,
"c_project" varchar(32) ,
"c_version" varchar(10) ,
"c_bg_url" varchar(500) ,
"c_depens" text ,
CONSTRAINT "fbp_page_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_page"."c_id" IS '主键';
COMMENT ON COLUMN "fbp_page"."c_last_modifier" IS '修改人';
COMMENT ON COLUMN "fbp_page"."c_last_modify_time" IS '修改时间';
COMMENT ON COLUMN "fbp_page"."c_creator" IS '创建人';
COMMENT ON COLUMN "fbp_page"."c_create_time" IS '创建时间';
COMMENT ON COLUMN "fbp_page"."c_sort_number" IS '排序号';
COMMENT ON COLUMN "fbp_page"."c_tenant_id" IS '租户ID';
COMMENT ON COLUMN "fbp_page"."c_path" IS '页面路径';
COMMENT ON COLUMN "fbp_page"."c_config" IS '页面配置';
COMMENT ON COLUMN "fbp_page"."c_settings" IS '页面设置';
COMMENT ON COLUMN "fbp_page"."c_type" IS '页面类型';
COMMENT ON COLUMN "fbp_page"."c_project" IS '项目标识';
COMMENT ON COLUMN "fbp_page"."c_version" IS '版本';
COMMENT ON COLUMN "fbp_page"."c_bg_url" IS '页面背景图片';
COMMENT ON COLUMN "fbp_page"."c_depens" IS '依赖信息';
-- ----------------------------
-- Table structure for fbp_page_history
-- ----------------------------
DROP TABLE IF EXISTS "fbp_page_history";
CREATE TABLE "fbp_page_history" (
"c_id" serial8 NOT NULL,
"c_last_modifier" int8,
"c_last_modify_time" timestamp(6),
"c_creator" varchar(50) ,
"c_create_time" timestamp(6),
"c_sort_number" int4,
"c_tenant_id" int8,
"c_path" varchar(500) ,
"c_config" text ,
"c_settings" text ,
"c_type" varchar(20) ,
"c_project" varchar(20) ,
"c_version" varchar(10) ,
"c_user_name" varchar(255),
CONSTRAINT "fbp_page_history_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_page_history"."c_id" IS '主键';
COMMENT ON COLUMN "fbp_page_history"."c_last_modifier" IS '修改人';
COMMENT ON COLUMN "fbp_page_history"."c_last_modify_time" IS '修改时间';
COMMENT ON COLUMN "fbp_page_history"."c_creator" IS '创建人';
COMMENT ON COLUMN "fbp_page_history"."c_create_time" IS '创建时间';
COMMENT ON COLUMN "fbp_page_history"."c_sort_number" IS '排序号';
COMMENT ON COLUMN "fbp_page_history"."c_tenant_id" IS '租户ID';
COMMENT ON COLUMN "fbp_page_history"."c_path" IS '页面路径';
COMMENT ON COLUMN "fbp_page_history"."c_config" IS '配置json';
-- ----------------------------
-- Table structure for fbp_lock_record
-- ----------------------------
DROP TABLE IF EXISTS "fbp_lock_record";
CREATE TABLE "fbp_lock_record" (
"c_id" serial8 NOT NULL,
"c_last_modifier" int8,
"c_last_modify_time" timestamp(6),
"c_creator" int8,
"c_create_time" timestamp(6),
"c_tenant_id" int8,
"c_site_id" int8,
"c_page_path" varchar(200) COLLATE "pg_catalog"."default",
"c_project" varchar(50) COLLATE "pg_catalog"."default",
"c_version" varchar(50) COLLATE "pg_catalog"."default",
"c_login_name" varchar(50) COLLATE "pg_catalog"."default",
"c_operator" varchar(50) COLLATE "pg_catalog"."default",
"c_type" varchar(2) COLLATE "pg_catalog"."default",
"c_expire_time" timestamp(6),
CONSTRAINT "fbp_lock_record_pkey" PRIMARY KEY ("c_id")
);
COMMENT ON COLUMN "fbp_lock_record"."c_id" IS '主键';
COMMENT ON COLUMN "fbp_lock_record"."c_last_modifier" IS '修改人';
COMMENT ON COLUMN "fbp_lock_record"."c_last_modify_time" IS '修改时间';
COMMENT ON COLUMN "fbp_lock_record"."c_creator" IS '创建人';
COMMENT ON COLUMN "fbp_lock_record"."c_create_time" IS '创建时间';
COMMENT ON COLUMN "fbp_lock_record"."c_tenant_id" IS '租户ID';
COMMENT ON COLUMN "fbp_lock_record"."c_site_id" IS '站点ID';
COMMENT ON COLUMN "fbp_lock_record"."c_page_path" IS '页面path';
COMMENT ON COLUMN "fbp_lock_record"."c_login_name" IS '登录账号';
COMMENT ON COLUMN "fbp_lock_record"."c_operator" IS '操作人';
COMMENT ON COLUMN "fbp_lock_record"."c_type" IS '类型 1 页面 2 FBP页面 3 服务 4 接口 5 状态';
COMMENT ON COLUMN "fbp_lock_record"."c_expire_time" IS '过期时间';
--接口部件表
DROP TABLE IF EXISTS "fbp_component";
CREATE TABLE "fbp_component" (
"c_id" serial8 NOT NULL,
"c_last_modifier" int8,
"c_last_modify_time" timestamp(6),
"c_creator" int8,
"c_create_time" timestamp(6),
"c_sort_number" int4,
"c_tenant_id" int8,
"c_project" varchar(255) ,
"c_version" varchar(50) ,
"c_uuid" varchar(100) ,
"c_bpmn" text ,
"c_runner" text ,
"c_document" text ,
"c_element" text,
CONSTRAINT "fbp_component_pkey" PRIMARY KEY ("c_id")
);
DROP TABLE IF EXISTS "fbp_component_setting";
CREATE TABLE "fbp_component_setting" (
"c_id" serial8 NOT NULL,
"c_last_modifier" int8,
"c_last_modify_time" timestamp(6),
"c_creator" int8,
"c_create_time" timestamp(6),
"c_sort_number" int4,
"c_tenant_id" int8,
"c_project" varchar(255) ,
"c_version" varchar(50) ,
"c_setting" text ,
"c_site_id" int8,
CONSTRAINT "fbp_component_setting_pkey" PRIMARY KEY ("c_id")
);
--新增字段
ALTER TABLE "t_project_app_info" ADD COLUMN "c_run_events" text;
--注意下面两个函数要确保执行成功,否则影响页面、接口、状态的编辑锁
CREATE OR REPLACE FUNCTION "add_minutes_to_current_time"("minutes" int4)
RETURNS "timestamp" AS $BODY$
BEGIN
RETURN now() + INTERVAL '1 minute' * minutes;
END;
$BODY$ LANGUAGE plpgsql VOLATILE
--
CREATE OR REPLACE FUNCTION "add_seconds_to_current_time"("seconds" int4)
RETURNS "timestamp" AS $BODY$
BEGIN
RETURN now() + INTERVAL '1 second' * seconds;
END;
$BODY$ LANGUAGE plpgsql VOLATILE
- 3、locas-service服务连的数据库中执行,将原来数据源表管理的数据迁移至fbp_datasource表:
sql
--迁移脚本
insert into fbp_datasource select id,datasource_name,type,url,port,schema_name,c_user,password,remark,status,code,current_model,config_msg,tenant_id,source_level,1,1,5,null from datasource;
--迁移后调整序列为最大值
select setval('fbp_datasource_id_seq', (select max(id)+1 from fbp_datasource));
注意:
升级后数据源管理应用应该用lc-fbppdsm来维护,且需要确保库里需有标识为locas(连到locas-service的库)、mas(连到mas-admin里连的库)的数据源
字段加密可访问公司提供的加密工具,选数据源字段加密,【工具地址 http://wh.zktx-soft.com:6493//web/$/#/lc-plat-tools/main?_anonymous=1 】
sql
--插入系统数据源:locas、mas
INSERT INTO "fbp_datasource"("datasource_name", "type", "url", "port", "schema_name", "c_user", "password", "remark", "status", "code", "current_model", "config_msg", "tenant_id", "source_level", "c_initialsize", "c_minidle", "c_maxsize", "c_driverclassname") VALUES
('locas平台', 4, 'a095a3ecc3b3d486be4106835e7bfbbff48f8d3798cd7f3fd1d5daeccaaff9bb8c3d0eeab184a34796c964da1f75f0cf', '1521', '2b1e64c625349a0ce9a8b3559318be25', 'd6bdf1f2acdca3a9e642d887e31482a2', 'c201c764cac803fbf5e802176c8cdb4f', '', NULL, 'locas', 'public', 'stringtype=unspecified', NULL, 1, 1, 1, 10, NULL);
INSERT INTO "fbp_datasource"("datasource_name", "type", "url", "port", "schema_name", "c_user", "password", "remark", "status", "code", "current_model", "config_msg", "tenant_id", "source_level", "c_initialsize", "c_minidle", "c_maxsize", "c_driverclassname") VALUES
('mas平台', 4, 'a095a3ecc3b3d486be4106835e7bfbbff48f8d3798cd7f3fd1d5daeccaaff9bb8c3d0eeab184a34796c964da1f75f0cf', '1521', 'ea9d1f348795ea3e923d08c9ab899b37', 'd6bdf1f2acdca3a9e642d887e31482a2', 'c201c764cac803fbf5e802176c8cdb4f', '', NULL, 'mas', 'public', 'stringtype=unspecified', '', 1, 1, 1, 10, NULL);
2.7.54升级至2.7.60
更新locas-service、locas-fbp服务,更新locar、locas应用 locas-fbp服务需要配置redis连接,然后清除fbp_cache_pools表中标识为:sys_cache_locas的记录;另要保证mas-admin、mas-gateway、locas-fbp服务里redis连接一致 示例: redis.host: xxxxx redis.port: 6379 redis.password: xxxxx redis.database: 1 redis.expireSeconds: 14400
初始化安装
locas平台polardb数据库环境全新安装脚本获取地址:oss://foa5-oss/deploy/locas-polardb-sqls/2.7.33/
fbp_datasource表需初始化locas、mas的数据源,注意按实际调整,且url、schema_name、c_user、password加密字段值后再执行
字段加密可访问公司提供的加密工具,选数据源字段加密,【工具地址 http://wh.zktx-soft.com:6493/web/$/#/lc-plat-tools/main?_anonymous=1 】
sql
INSERT INTO "fbp_datasource"("datasource_name", "type", "url", "port", "schema_name", "c_user", "password", "remark", "status", "code", "current_model", "config_msg", "tenant_id", "source_level", "c_initialsize", "c_minidle", "c_maxsize", "c_driverclassname") VALUES
('locas平台', 4, 'a095a3ecc3b3d486be4106835e7bfbbff48f8d3798cd7f3fd1d5daeccaaff9bb8c3d0eeab184a34796c964da1f75f0cf', '1521', '2b1e64c625349a0ce9a8b3559318be25', 'd6bdf1f2acdca3a9e642d887e31482a2', 'c201c764cac803fbf5e802176c8cdb4f', '', NULL, 'locas', 'public', 'stringtype=unspecified', NULL, 1, 1, 1, 10, NULL);
INSERT INTO "fbp_datasource"("datasource_name", "type", "url", "port", "schema_name", "c_user", "password", "remark", "status", "code", "current_model", "config_msg", "tenant_id", "source_level", "c_initialsize", "c_minidle", "c_maxsize", "c_driverclassname") VALUES
('mas平台', 4, 'a095a3ecc3b3d486be4106835e7bfbbff48f8d3798cd7f3fd1d5daeccaaff9bb8c3d0eeab184a34796c964da1f75f0cf', '1521', 'ea9d1f348795ea3e923d08c9ab899b37', 'd6bdf1f2acdca3a9e642d887e31482a2', 'c201c764cac803fbf5e802176c8cdb4f', '', NULL, 'mas', 'public', 'stringtype=unspecified', '', 1, 1, 1, 10, NULL);