Appearance
Locas 低代码开发平台
Locas 低代码开发平台是一个强大的低代码开发平台,旨在帮助开发者快速构建、部署和管理复杂的企业级应用程序。通过项目模式管理,您可以轻松地组织和管理多个项目,并通过图形化拖拽方式实现前端页面配置及后端服务设置。此外,我们还提供了丰富的模板库,支持快速创建各种类型的应用程序。
功能范围
- 项目管理与项目空间
- 页面设计器
- 服务设计器
- 微应用应用发布
- 项目备份与还原
- 页面模板库
- 项目模板库
- 接口、状态设计器
版本
v2.7.28,已于2024年7月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创建零字节文档,路径以/结尾创建文件夹;
优化
- 优化boot接口中fbp登录数据、应用/项目运行配置数据缓存;
- 优化fbp代码逻辑
- 优化低代码方法编辑器加入常用代码、服务、接口的选择插入功能
- 优化QueryTask,提供不分页查询可配置成返回单条记录
- 优化数据库task选表、取字段服务由DBMetaDataTask实现,解决数据库类型差异问题
更新资料获取
如何获取微服务镜像?
所有镜像可到容器仓库通过 docker pull
拉取
- 武汉公司内网:
192.168.1.10:5000/tangram/[微服务名]:[版本号]
- 阿里云:
registry.cn-hangzhou.aliyuncs.com/tangram/[微服务名]:[版本号]
如何获取微服务jar包?
所有正式发布版本可到私服仓库下载
- 下载地址:
http://nps.zktx-soft.com:19098/repository/maven-public/com/gsoft/[平台:mas|locas]/[应用名]/[版本号]/[应用名]-[版本号].jar
例:http://nps.zktx-soft.com:19098/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.28/locas-2.7.28.tgz
基于MAS平台版本
Locas
基于 MAS v5.13.8
微服务版本明细
序号 | 微应用 | Code | 版本号 | 说明 |
---|---|---|---|---|
1 | 低代码引擎 | locas-service | 2.7.0 | |
2 | 新低代码引擎 | locas-fbp | 2.7.0 |
微应用版本明细
序号 | 微应用 | Code | 版本号 | 更新说明 |
---|---|---|---|---|
1 | Locar渲染引擎 | locar | 2.7.28 | 原maui-block |
2 | Locas低代码设计器 | locas | 2.7.28 | 原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.85 | 获取地址:oss://foa5-oss/deploy/locas/lc-project-workspace/ |
5 | 数据源管理(平台级) | lc-fbppdsm | v1.0.0.7 | 获取地址:oss://foa5-oss/deploy/locas/fbp/2.7.28/dsc/ |
6 | 存储管理(平台级) | lc-pstorage | v1.0.0.8 | 获取地址:oss://foa5-oss/deploy/locas/fbp/2.7.28/dsc/ |
7 | 缓存管理(平台级) | lc-pcache | v1.0.0.5 | 获取地址:oss://foa5-oss/deploy/locas/fbp/2.7.28/dsc/ |
8 | 数据源管理(站点级) | lc-fbpsdsm | v1.0.0.5 | 获取地址:oss://foa5-oss/deploy/locas/dsc/ |
9 | 存储管理(站点级) | lc-sstorage | v1.0.0.5 | 获取地址:oss://foa5-oss/deploy/locas/dsc/ |
10 | 缓存管理(站点级) | lc-scache | v1.0.0.5 | 获取地址:oss://foa5-oss/deploy/locas/dsc/ |
11 | 系统缓存清理 | lc-syscachemng | v1.0.0.7 | 获取地址:oss://foa5-oss/deploy/locas/fbp/2.7.28/platadmin/ |
12 | 国密SM2 | lc-sm2 | v1.0.0.1 | 获取地址:oss://foa5-oss/deploy/locas/fbp/2.7.28/platadmin/ |
FBP登录认证应用
【获取地址:oss://foa5-oss/deploy/locas/fbp/2.7.28/login/】
序号 | 微应用 | Code | 版本号 | 更新说明 |
---|---|---|---|---|
1 | 用户名密码登录 | lc-userpwdlogin | v1.0.0.6 | |
2 | 扫码登录 | lc-qrlogin | v1.0.0.5 | |
3 | 移动端免登 | lc-zzdlogin | v1.0.0.3 | |
4 | 一体化登录 | lc-ythlogin | v1.0.0.4 | |
5 | 金三门户单点登录 | lc-usernamelogin | v1.0.0.4 | |
6 | 锁屏解锁登录 | lc-unlocklogin | v1.0.0.3 | |
7 | 平台用户编码身份单点登录、扫码预览 | lc-fbpsso | v1.0.0.3 |
2.4升级2.7.28
- 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,
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 '文档数据';
-- ----------------------------
-- 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_datasource
-- ----------------------------
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_uuid" varchar(100) ,
"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_uuid" 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 t_page_config_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_uuid" varchar(100) ,
"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_uuid" IS '页面标识';
COMMENT ON COLUMN "fbp_page_history"."c_config" IS '配置json';
--注意下面两个函数要确保执行成功,否则影响页面、接口、状态的编辑锁
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
-- ----------------------------
-- 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;
- 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://nps.zktx-soft.com:19004/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);
4、部署fbp服务,将boot文件夹整体放入平台上架的应用目录apps里;获取地址:oss://foa5-oss/deploy/locas/fbp/2.7.28/
5、locas-service服务连的数据库中执行,初始化一个系统缓存记录,缓存标识为:sys_cache_locas,可jvm和redis,跟据实际资源情况初始化【分布式或集群部署式应采用redis】,c_type的值为jvm或redis
sql
--redis记录
INSERT INTO "fbp_cache_pools"("c_last_modifier", "c_last_modify_time", "c_creator", "c_create_time", "c_sort_number", "c_tenant_id", "c_code", "c_name", "c_remark", "c_level", "c_type", "c_expire_seconds", "c_maximum_size", "c_second_expire_seconds", "c_url", "c_password", "c_database", "c_port") VALUES (NULL, NULL, NULL, NULL, NULL, NULL, 'sys_cache_locas', '系统缓存', '平台系统用缓存', 1, 'redis', 24000, NULL, NULL, '192.168.1.55', NULL, 1, 6379);
-- jvm记录
INSERT INTO "fbp_cache_pools"("c_last_modifier", "c_last_modify_time", "c_creator", "c_create_time", "c_sort_number", "c_tenant_id", "c_code", "c_name", "c_remark", "c_level", "c_type", "c_expire_seconds", "c_maximum_size", "c_second_expire_seconds", "c_url", "c_password", "c_database", "c_port") VALUES (NULL, NULL, NULL, NULL, NULL, NULL, 'sys_cache_locas', '系统缓存', '平台系统用缓存', 1, 'jvm', 24000, 1024, NULL, '', NULL, NULL, NULL);
注意:
上面语句只执行一条(二选一),且执行前按环境资源调整好语句里的值,特别是redis连接的
2.6.10升级至2.7.28
- 1、locas-service服务连的数据库中执行,初始化一个系统缓存记录,缓存标识为:sys_cache_locas,可jvm和redis,跟据实际资源情况初始化【分布式或集群部署式应采用redis】,c_type的值为jvm或redis
sql
-- 注意: 【二选一】
--redis记录
INSERT INTO "fbp_cache_pools"("c_last_modifier", "c_last_modify_time", "c_creator", "c_create_time", "c_sort_number", "c_tenant_id", "c_code", "c_name", "c_remark", "c_level", "c_type", "c_expire_seconds", "c_maximum_size", "c_second_expire_seconds", "c_url", "c_password", "c_database", "c_port") VALUES (NULL, NULL, NULL, NULL, NULL, NULL, 'sys_cache_locas', '系统缓存', '平台系统用缓存', 1, 'redis', 24000, NULL, NULL, '192.168.1.55', NULL, 1, 6379);
-- jvm记录
INSERT INTO "fbp_cache_pools"("c_last_modifier", "c_last_modify_time", "c_creator", "c_create_time", "c_sort_number", "c_tenant_id", "c_code", "c_name", "c_remark", "c_level", "c_type", "c_expire_seconds", "c_maximum_size", "c_second_expire_seconds", "c_url", "c_password", "c_database", "c_port") VALUES (NULL, NULL, NULL, NULL, NULL, NULL, 'sys_cache_locas', '系统缓存', '平台系统用缓存', 1, 'jvm', 24000, 1024, NULL, '', NULL, NULL, NULL);
- 2、locas-service服务连的库中执行
sql
--新增字段
ALTER TABLE "t_project_app_info" ADD COLUMN "c_run_events" text;
--清理接口运行/调试实例数据
update fbp_service set c_runner = null;
--新增/调整接口部件相关表
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")
);
- 2、将boot文件夹整体放入平台上架的应用目录apps里;获取地址:oss://foa5-oss/deploy/locas/fbp/2.7.28/
初始化安装
locas平台polardb数据库环境全新安装脚本获取地址:oss://foa5-oss/deploy/locas-polardb-sqls/2.7.28/
fbp_datasource表需初始化locas、mas的数据源,注意按实际调整,且url、schema_name、c_user、password加密字段值后再执行
字段加密可访问公司提供的加密工具,选数据源字段加密,【工具地址 http://nps.zktx-soft.com:19004/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);
- fbp_cache_pools表需要初始化一个系统缓存记录,缓存标识(c_code)为:sys_cache_locas,类型(c_type)可选jvm和redis,跟据实际资源情况初始化【分布式或集群部署式应采用redis】
sql
--redis记录
INSERT INTO "fbp_cache_pools"("c_last_modifier", "c_last_modify_time", "c_creator", "c_create_time", "c_sort_number", "c_tenant_id", "c_code", "c_name", "c_remark", "c_level", "c_type", "c_expire_seconds", "c_maximum_size", "c_second_expire_seconds", "c_url", "c_password", "c_database", "c_port") VALUES (NULL, NULL, NULL, NULL, NULL, NULL, 'sys_cache_locas', '系统缓存', '平台系统用缓存', 1, 'redis', 24000, NULL, NULL, '192.168.1.55', NULL, 1, 6379);
-- jvm记录
INSERT INTO "fbp_cache_pools"("c_last_modifier", "c_last_modify_time", "c_creator", "c_create_time", "c_sort_number", "c_tenant_id", "c_code", "c_name", "c_remark", "c_level", "c_type", "c_expire_seconds", "c_maximum_size", "c_second_expire_seconds", "c_url", "c_password", "c_database", "c_port") VALUES (NULL, NULL, NULL, NULL, NULL, NULL, 'sys_cache_locas', '系统缓存', '平台系统用缓存', 1, 'jvm', 24000, 1024, NULL, '', NULL, NULL, NULL);