Skip to content
本页目录

MAS 模块化应用支撑平台

MAS是一个模块化的应用支撑平台,采用微服务和微应用架构,支持多租户、多站点、模块化开发和积木式搭建。基于该平台,可以快速开发各类业务微应用,通过组合微应用来搭建支持多租户和多站点的业务系统。它能够实现租户独立的、可个性化的各类业务系统(站点),并且支持全代码和低代码的开发方式。

功能范围

序号子平台说明
1平台管理中心管理租户、站点、应用等
2站点管理中心实现一个站点的基本管理功能,包括菜单、主题及基本信息管理
3帐户中心实现站点账号管理、认证和角色授权
4MAUI开发框架前端微应用开发框架,支持对前端内核扩展及业务的模块化开发
5微服务开发框架后端微服务开发框架,基于Spring Cloud Alibaba架构实现微服务的模块化开发

版本

v5.12.8,已于2024年5月10日发布

更新内容

此版本主要更新内容如下:

新增

  • fbp服务,提供全流程配置业务逻辑能力
  • fbp接口管理(在项目空间中通过接口管理来配置业务后台服务逻辑)
  • 状态机流程管理
  • 低代码应用分为站点级别和平台级别;平台级应用上架后需要在设置数据源、缓存、存储配置;站点级应用在授权给站点时设置设置数据源、缓存、存储配置【服务接口用fbp接口开发的,应用配置了数据源、缓存、存储(根据业务来决定)的,应用上架或授权时必须配置,否则影响业务】

修改或修复

  • vue版本升级到v2.7
  • 网关匿名访问白名单调整为数据库维护(api管理应用提供界面操作);api白名单管理操作说明:点击进入
  • 应用详情列表查询sql内网数据库版本兼容问题处理;
  • 平台主要组件升级:spring boot升级到2.6.15,spring cloud 升级到 2021.0.3,alibaba的组件升级到 2021.0.1.0
  • nginx版本升级指1.23.2,修复安全漏洞
  • mas修复弹窗登录框问题
  • mas修复通过loginName 进行单点登录问题

优化

  • 优化平台登录方式(PC、浙政钉扫码、单点、移动浙政钉免登)逻辑,做到各登录方式逻辑独立,升级必须授权对应登录应用,具体各登录方式可参考:点击进入
  • PC及移动端explorer独立应用,对应站点必须授权才能访问,管理站点授权库里初始化进去(同站点管理、应用管理操作)

更新资料获取

如何获取微服务镜像?

所有镜像可到容器仓库通过 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/5.12.3/mas-admin-5.12.3.jar

如何获取微应用tgz包?

所有安装包可到阿里云OSS仓库下载

  • 路径:oss://foa5-oss/deploy/release/[平台:mas/locas]/[应用名称]/[版本号]/[应用名称]-[版本号].tgz 如:oss://foa5-oss/deploy/release/mas/mas-panel/5.12.5/mas-panel-5.12.5.tgz

微服务版本明细

序号模块微服务版本号说明
基础设施
1Nacos服务nacos/nacos-server2.0.3
2Redisredis6.2.6-alpine3.15
3RabbitMQbyteflair/rabbitmq-stomplatest可选
平台基础
4前端基座mas-nginx5.12.5原foa5-nginx
5网关服务mas-gateway5.12.3原foa-cloud-gateway
6站点系统管理mas-admin5.12.3原foa-cloud-admin
7鉴权服务mas-auth5.12.3原foa-cloud-auth
8文件服务mas-file5.12.3原foa-cloud-file
扩展服务
9单点登录mas-sso5.12.3可选,原foa-cloud-sso-cos
10MQ服务mas-mq5.12.3可选,原foa-cloud-mq
11定时任务mas-task5.12.3可选,原foa-cloud-task
12在线WPSmas-wps5.12.3可选,原foa-cloud-wps
13浙政钉网关mas-dingtalk5.12.3可选,原cos-api-gateway
14第三方接入api网关mas-open-gateway5.12.3可选,nginx里需加配置参考文档

微应用版本明细

序号模块微应用版本号说明
管理平台
1应用市场mas-ops-app5.12.8
2租户管理mas-ops-tenant5.12.8
3站点管理mas-ops-site5.12.8
4api管理lc-apiacmv1.0.0.4 获取地址:oss://foa5-oss/deploy/mas/lc-apiacm/接口白名单管理器
5PC Explorermas-explorer5.12.5pc页面资源管理器
6移动端 Explorermas-mobile-explorer5.12.5移动页面资源管理器
站点系统管理
1账号管理mas-admin-account5.11.23可替换
2角色管理mas-admin-role5.11.23可替换
3单点登录mas-admin-sso5.11.23可选,对应mas-sso
4菜单初始化mas-admin-menu5.11.23
5参数管理mas-admin-param5.11.23可选
6数据字典mas-admin-dictionary5.11.23可选
7数据分类mas-admin-catalog5.11.23可选
8操作日志mas-admin-log5.11.23可选
9在线用户mas-admin-online5.11.23可选
10站点设置mas-admin-site5.11.23
主题
1清新绿(横向)theme-horizontal-green5.12.5可选
2中国红(横向)theme-horizontal-red5.12.5可选
3政务蓝(纵向)theme-vertical-blue5.12.5可选
4清新绿(纵向)theme-vertical-green5.12.5可选
5中国红(纵向)theme-vertical-red5.12.5可选
6蓝色综合theme-multiple-blue5.12.5可选
7蓝色分栏theme-subfield-blue5.12.5可选
8大屏主题theme-fullscreen5.12.5可选
9移动账号密码主题theme-mobile-default5.12.5可选
扩展功能
1工作门户mas-panel5.12.5可选
2打印模块mas-printer5.12.5可选
3接入管理lc-thirdaccessmngv1.0.0.5 获取地址:oss://foa5-oss/deploy/mas/lc-thirdapimng/可选
登录应用
1用户名密码登录user-password-login5.12.5
2扫码登录qr-login5.12.5
3移动端免登zzd-login5.12.5
4一体化登录yth-login5.12.5
5金三门户单点登录drap-sso-login5.12.5
6扫码预览登录qr-preview-login5.12.5
7锁屏解锁登录unlock-login5.12.5

可选的微应用,没有特殊说明的,对应的微服务均为必选微服务或无需对应服务

浙政钉代理(IRS托管需要)

序号模块微应用版本号说明
1代理mas-ui-dingtalk5.8.2可选

5.10升级至5.12.8

  • 1、mas-admin服务连的库中执行(新增api访问控制表):
sql
DROP TABLE IF EXISTS "public"."t_api_manage";
CREATE TABLE "public"."t_api_manage" (
	"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_type" VARCHAR ( 10 ) COLLATE "pg_catalog"."default",
	"c_module" VARCHAR ( 50 ) COLLATE "pg_catalog"."default",
	"c_path" VARCHAR ( 255 ) COLLATE "pg_catalog"."default",
	"c_remark" VARCHAR ( 500 ) COLLATE "pg_catalog"."default",
	CONSTRAINT "t_api_manage_pkey" PRIMARY KEY ( "c_id" )
) WITH ( OIDS = TRUE );
COMMENT ON COLUMN "public"."t_api_manage"."c_id" IS '主键';
COMMENT ON COLUMN "public"."t_api_manage"."c_last_modifier" IS '修改人';
COMMENT ON COLUMN "public"."t_api_manage"."c_last_modify_time" IS '修改时间';
COMMENT ON COLUMN "public"."t_api_manage"."c_creator" IS '创建人';
COMMENT ON COLUMN "public"."t_api_manage"."c_create_time" IS '创建时间';
COMMENT ON COLUMN "public"."t_api_manage"."c_sort_number" IS '排序号';
COMMENT ON COLUMN "public"."t_api_manage"."c_tenant_id" IS '租户ID';
COMMENT ON COLUMN "public"."t_api_manage"."c_type" IS '类型';
COMMENT ON COLUMN "public"."t_api_manage"."c_module" IS '模块';
COMMENT ON COLUMN "public"."t_api_manage"."c_path" IS '路径';
COMMENT ON COLUMN "public"."t_api_manage"."c_remark" IS '描述';

--初始化mas-wps预览放行接口:
INSERT INTO t_api_manage(c_last_modifier,c_last_modify_time,c_creator,c_create_time,c_sort_number,c_type,c_module,c_path,c_remark) VALUES (1, '2023-09-15 15:17:53.895', 1, '2023-09-15 15:17:53.895', 1, '', 'mas-wps', '/mas-wps/v2/3rd/**', 'mas-wps中台接口');
INSERT INTO t_api_manage(c_last_modifier,c_last_modify_time,c_creator,c_create_time,c_sort_number,c_type,c_module,c_path,c_remark) VALUES (1, '2023-09-15 15:18:16.785', 1, '2023-09-15 15:18:16.785', 2, '', 'mas-wps', '/mas-wps/v1/3rd/**', 'mas-wps中台接口');
INSERT INTO t_api_manage(c_last_modifier,c_last_modify_time,c_creator,c_create_time,c_sort_number,c_type,c_module,c_path,c_remark)  VALUES (1, '2023-09-15 15:18:40.948', 1, '2023-09-15 15:18:40.948',3, '', 'mas-wps', '/mas-wps/download/attach', 'mas-wps中台回调下载接口');
INSERT INTO t_api_manage(c_last_modifier,c_last_modify_time,c_creator,c_create_time,c_sort_number,c_type,c_module,c_path,c_remark)  VALUES (1, '2023-09-15 15:18:59.719', 1, '2023-09-15 15:18:59.719', 4, '', 'mas-wps', '/mas-wps/download/gz', 'mas-wps中台回调稿纸接口');
INSERT INTO t_api_manage(c_last_modifier,c_last_modify_time,c_creator,c_create_time,c_sort_number,c_type,c_module,c_path,c_remark)  VALUES (1, '2023-09-15 15:18:59.719', 1, '2023-09-15 15:18:59.719', 5, '', 'mas-file', '/mas-file/file/download4wpsproxy', 'mas-file中台回调下载文件接口');
INSERT INTO t_api_manage(c_last_modifier,c_last_modify_time,c_creator,c_create_time,c_sort_number,c_type,c_module,c_path,c_remark)  VALUES (1, '2023-09-15 15:18:59.719', 1, '2023-09-15 15:18:59.719', 6, '', 'mas-file', '/mas-file/file/fileinfo4wpsproxy', 'mas-file中台回调获取文件信息接口');
INSERT INTO t_api_manage(c_last_modifier,c_last_modify_time,c_creator,c_create_time,c_sort_number,c_type,c_module,c_path,c_remark)  VALUES (1, '2023-09-15 15:18:59.719', 1, '2023-09-15 15:18:59.719', 7, '', 'mas-file', '/mas-file/file/downloadByOsskey4wpsproxy', 'mas-file中台回调oss下载文件接口');
INSERT INTO t_api_manage(c_last_modifier,c_last_modify_time,c_creator,c_create_time,c_sort_number,c_type,c_module,c_path,c_remark)  VALUES (1, '2023-09-15 15:18:59.719', 1, '2023-09-15 15:18:59.719', 8, '', 'mas-file', '/mas-file/file/fileinfoByOsskey4wpsproxy', 'mas-file中台回调获取oss文件信息接口');

TIP

业务上原来通过mas-gateway上的参数:FOA5_AUTH_WHITELIST配置的放行接口仍保留,后续需要放行接口通过应用:lc-apiacm来操作

mas-gateway上的参数:FOA5_WPS_WHITELIST已废弃,需要要通过lc-apiacm将其下配置的接口添加进来(升级脚本中初始化了开发已知的接口数据)

  • 2、mas-admin服务连的库中执行:
sql
ALTER TABLE cos_portal_component ADD COLUMN c_ref_id VARCHAR(200);
COMMENT ON COLUMN "cos_portal_component"."c_ref_id" IS '应用文件id';

ALTER TABLE cos_portal_component ADD COLUMN c_setting text;
COMMENT ON COLUMN "cos_portal_component"."c_setting" IS '应用配置';

ALTER TABLE cos_site_component_grant ADD COLUMN c_setting text;
COMMENT ON COLUMN "cos_site_component_grant"."c_setting" IS '应用配置';
  • 3、mas-task服务连的库中执行:
sql
ALTER TABLE "public"."cos_quartz_job"
ADD COLUMN "c_job_params" varchar(4000),
ADD COLUMN "c_method_url" varchar(2000);
  • 4、在系统中将mas-ops-app、mas-ops-tenant、mas-ops-site三个应升级掉

  • 5、在系统中将mas-explorer、user-password-login应用上架并授权给平台管理站点

注意!

该操作必须在更新平台其他服务、应用之前操作,平台升级后,如果站点上没有mas-explorer、user-password-login应用将没法登录到平台管理站点;如果操作晚了,可以执行下面语句,并将应用解压到平台应用目录apps下

mas-explorer、user-password-login应用解压到平台apps下,按应用名/版本号/应用文件的路径放置

其他站点里根据需要通过应用上架、授权方式操作

移动站点:mas-mobile-explorer(pc管理器)【必要】、zzd-login(浙政钉免登)、user-password-login(账号密码登录)

pc站点:mas-explorer(移动管理器)【必要】、qr-login(扫码登录)、unlock-login(锁屏)、qr-preview-login(低代码页面扫码预览)、user-password-login(账号密码登录)、yth-login(一体化登录)

sql
-- 注意将5.12.x替换为实际的版本号
 
insert into cos_portal_app_version(c_app_code,c_app_version) values('mas-explorer','5.12.x');
insert into cos_portal_import_record(c_tenant_id,c_result,c_file_name) values(1,0,'mas-explorer-5.12.x.tgz');
insert into cos_app_publish_log(c_app_code,c_app_version) values('mas-explorer','5.12.x');
insert into cos_site_component_grant(c_tenant_id,c_site_id,c_app_code) values(1,1,'mas-explorer');
insert into cos_portal_component_grant(c_tenant_id,c_app_code) values(1,'mas-explorer');
insert into cos_portal_component(c_code,c_version,c_text,c_is_auth,c_app_type,c_modes,c_create_time) values('mas-explorer','5.12.x','PC端explorer',0,0,'["app","page","print"]','2023-08-15 14:00:00');
insert into t_app_catalog_mapping(c_catalog_id, c_app_code) values (1, 'mas-explorer');

insert into cos_portal_app_version(c_app_code,c_app_version) values('user-password-login','5.12.x');
insert into cos_portal_import_record(c_tenant_id,c_result,c_file_name) values(1,0,'user-password-login-5.12.x.tgz');
insert into cos_app_publish_log(c_app_code,c_app_version) values('user-password-login','5.12.x');
insert into cos_site_component_grant(c_tenant_id,c_site_id,c_app_code) values(1,1,'user-password-login');
insert into cos_portal_component_grant(c_tenant_id,c_app_code) values(1,'user-password-login');
insert into cos_portal_component(c_code,c_version,c_text,c_is_auth,c_app_type,c_modes,c_create_time) values('user-password-login','5.12.x','用户名密码登录APP',0,0,'["app","page","print"]','2023-08-15 14:00:00');
insert into t_app_catalog_mapping(c_catalog_id, c_app_code) values (1, 'user-password-login');
  • 6、如果mas-nginx里的配置是挂载并且使用了njs【如:oss签名】的需要调整

引入njs文件文件名不支持中横线 引用方式调整,待使用的方法需要在njs文件里先导出,再在nginx配置文件里导入 getGMTtime函数逻辑调整

njs文件导出方法示例:

js
/*
  创建待签名字符串
  此方法为简化版,仅处理不带url参数的oss资源地址,其他情况可结合oss文档 + ali-oss sdk 文件内signUtil模块内的buildCanonicalString方法做修改
*/
function buildCanonicalString (method, resourcePath, date) {
  var signContent = [method.toUpperCase(), '', '', date, resourcePath]
  return signContent.join('\n')
}
/* 计算签名字符串 */
function computeSignature (accessKeySecret, canonicalString) {
  var signature = require('crypto').createHmac('sha1', accessKeySecret)
  return signature.update(canonicalString.toUTF8()).digest('base64')
}
/* 生成完整认证字符串 */
function authorization (accessKeyId, accessKeySecret, canonicalString) {
  return 'OSS ' + accessKeyId + ':' + computeSignature(accessKeySecret, canonicalString)
}
/* oss签名配置数据,换成你自己的PAM账号的AK和bucket */
var ossAccess = {
  accessKeyId: 'xxxx',
  accessKeySecret: 'xxxx',
  bucket: 'foa5-wh96',
  rootDir: ''
}
var GMTdate = '';
/* 返回oss header date字符串 */
function getGMTtime (r) {
  var currentDate = new Date();
  var currentDateUTCStr = currentDate.toUTCString();
  var dateStrs = currentDateUTCStr.split(" ");
  var result = dateStrs[0] + " " + dateStrs[1] + " " + dateStrs[2] + " " + dateStrs[3] + " " + dateStrs[4] + " GMT";
  GMTdate = result;
  return GMTdate
}
/* 返回oss header authorization字符串 */
function ossSign (r) {
  var method = r.method
  var path = '/' + ossAccess.bucket
  if(ossAccess.rootDir== ''){
     path = path + r.uri
  }else{
     path = path + '/' + ossAccess.rootDir + r.uri
  }
  var canonicalString = buildCanonicalString(method, path, GMTdate)
  var result = authorization(ossAccess.accessKeyId, ossAccess.accessKeySecret, canonicalString)
  r.log(result)
  return result
}


export default {
  getGMTtime,ossSign
};

nginx配置文件引入njs, 并使用示例:

js
http {


  js_import ossObj from njs/oss_sign.js;
  js_set $ossDate ossObj.getGMTtime;
  js_set $ossAuth ossObj.ossSign;

初始化安装

  • mas平台polardb数据库环境全新安装脚本获取地址:oss://foa5-oss/deploy/mas-polardb-sqls/5.12.8/

注意:

  • 如果需要调整管理平台名称、平台管理员账号请调整sql脚本里对应的insert语句再执行
sql
-- 如需要调整管理平台站点页面名称请修改c_title字段对应的值(初始化默认值为:中科天翔系统管理平台)
-- 如需要调整平台管理员账号请修改c_contact字段对应的值(初始化默认值为:whzk),需对应修改cos_admin_account_info表里的c_login_name字段和密码值,见下一说明
INSERT INTO "cos_admin_site_info"("c_id", "c_last_modifier", "c_last_modify_time", "c_creator", "c_create_time", "c_sort_number", "c_site_type", "c_title", "c_theme", "c_logo", "c_code", "c_name", "c_contact", "c_mobile", "c_email", "c_activate_time", "c_invalid_time", "c_site_domain", "c_inited", "c_tenant_id", "c_site_setting", "c_tenant_code", "c_app_key", "c_app_secret", "c_manage_sites") VALUES (1, 1, NULL, 1, NULL, 1, 0, '中科天翔系统管理平台', '', '', 'sys', '系统站点', 'whzk', '', '', NULL, NULL, '[]', NULL, 1, '{"systemName":"中科天翔系统管理平台","logo":"","theme":"maui-explorer.default","shortName":"管理平台","loginImage":""}', 'sys', NULL, NULL, NULL);
sql
-- 如需要调整平台管理员账号请修改c_login_name字段对应的值(初始化默认值为:whzk),如调整还需对应调整c_password字段值
-- 平台管理员账号初始化脚本密码加密方式为:bcrypt,如将平台部署成国密加密方式(sm3),需调整c_password字段值为sm3的密文
INSERT INTO "cos_admin_account_info"("c_id", "c_granted_apis", "c_account_expired", "c_account_locked", "c_credentials_expired", "c_last_modifier", "c_last_modify_time", "c_creator", "c_create_time", "c_sort_number", "c_tenant_id", "c_login_name", "c_login_dingding", "c_login_phone", "c_login_email", "c_status", "c_password_policy", "c_password", "c_mobile_device", "c_allow_mobile_access", "c_last_login_time", "c_last_login_client_ip", "c_last_login_failed", "c_default_tenant", "c_account_source", "c_account_type", "c_full_name", "c_tag", "c_theme", "c_avatar", "c_account_uuid") VALUES (1, '/**', '0', '0', '0', 1, now(), NULL, NULL, 1, 1, 'whzk', NULL, NULL, NULL, '1', NULL, '$2a$10$7B1jfrju3iOGFd8F5dfZzuCgReqJBqasvSPyO0oYtNCP3n2h69Q8C', NULL, NULL, NULL, NULL, NULL, 'sys', NULL, 0, '系统管理员', NULL, 'maui-explorer.default', '48f5333954584687b9fe5020404e90f6', '03cdec6f43014eba880b797bf8653e17');
  • 如果需要调整应用分类请参照如下语句调整,主要调整c_code,c_value字段值或增加insert into语句
sql
INSERT INTO cos_basicdata_dictionary_item(c_site_id,c_tenant_id,c_dic_key,c_code,c_value,c_sort_number) VALUES (1,1, 'appCategory', '1','系统管理',1);

INSERT INTO cos_basicdata_dictionary_item(c_site_id,c_tenant_id,c_dic_key,c_code,c_value,c_sort_number) VALUES (1,1, 'appCategory', '2','低代码',2);

INSERT INTO cos_basicdata_dictionary_item(c_site_id,c_tenant_id,c_dic_key,c_code,c_value,c_sort_number) VALUES (1,1, 'appCategory', '3','主题应用',3);

INSERT INTO cos_basicdata_dictionary_item(c_site_id,c_tenant_id,c_dic_key,c_code,c_value,c_sort_number) VALUES (1,1, 'appCategory', '4','其他',4);
  • 因特性版本发布后会存在小版本发布,在全新安装前根据实际调整好3个运维应和2个平台管理站点登录必须的应用初始化进去【注意:将5.12.x调成实际的版本号】
sql
--调整c_app_version字段对应的值为实际的运维应用版本
insert into cos_portal_app_version(c_app_code,c_app_version) values('mas-ops-app','5.12.x');
insert into cos_portal_app_version(c_app_code,c_app_version) values('mas-ops-tenant','5.12.x');
insert into cos_portal_app_version(c_app_code,c_app_version) values('mas-ops-site','5.12.x');


--调整c_file_name字段对应的值为实际的运维应用版本应用文件名
insert into cos_portal_import_record(c_tenant_id,c_result,c_file_name) values(1,0,'mas-ops-app-5.12.x.tgz');
insert into cos_portal_import_record(c_tenant_id,c_result,c_file_name) values(1,0,'mas-ops-tenant-5.12.x.tgz');
insert into cos_portal_import_record(c_tenant_id,c_result,c_file_name) values(1,0,'mas-ops-site-5.12.x.tgz');


--调整c_app_version字段对应的值为实际的运维应用版本
insert into cos_app_publish_log(c_app_code,c_app_version) values('mas-ops-app','5.12.x');
insert into cos_app_publish_log(c_app_code,c_app_version) values('mas-ops-tenant','5.12.x');
insert into cos_app_publish_log(c_app_code,c_app_version) values('mas-ops-site','5.12.x');


--调整c_version字段对应的值为实际的运维应用版本
insert into cos_portal_component(c_code,c_version,c_text,c_is_auth,c_app_type,c_modes,c_create_time) values('mas-ops-app','5.12.x','应用管理',0,0,'["app","page","print"]','2023-08-15 14:00:00');
insert into cos_portal_component(c_code,c_version,c_text,c_is_auth,c_app_type,c_modes,c_create_time) values('mas-ops-tenant','5.12.x','租户管理',0,0,'["app","page","print"]','2023-08-15 14:00:00');
insert into cos_portal_component(c_code,c_version,c_text,c_is_auth,c_app_type,c_modes,c_create_time) values('mas-ops-site','5.12.x','站点管理',0,0,'["app","page","print"]','2023-08-15 14:00:00');


--调整三个运维应用的分类关联
insert into t_app_catalog_mapping(c_catalog_id, c_app_code) values (1, 'mas-ops-app');
insert into t_app_catalog_mapping(c_catalog_id, c_app_code) values (1, 'mmas-ops-tenant');
insert into t_app_catalog_mapping(c_catalog_id, c_app_code) values (1, 'mas-ops-site');

--必须将mas-explorer、user-password-login应用初始化并授权到平台管理站点,否则无法登录
insert into cos_portal_app_version(c_app_code,c_app_version) values('mas-explorer','5.12.x');
insert into cos_portal_import_record(c_tenant_id,c_result,c_file_name) values(1,0,'mas-explorer-5.12.x.tgz');
insert into cos_app_publish_log(c_app_code,c_app_version) values('mas-explorer','5.12.x');
insert into cos_site_component_grant(c_tenant_id,c_site_id,c_app_code) values(1,1,'mas-explorer');
insert into cos_portal_component_grant(c_tenant_id,c_app_code) values(1,'mas-explorer');
insert into cos_portal_component(c_code,c_version,c_text,c_is_auth,c_app_type,c_modes,c_create_time) values('mas-explorer','5.12.x','PC端explorer',0,0,'["app","page","print"]','2023-08-15 14:00:00');
insert into t_app_catalog_mapping(c_catalog_id, c_app_code) values (1, 'mas-explorer');

insert into cos_portal_app_version(c_app_code,c_app_version) values('user-password-login','5.12.x');
insert into cos_portal_import_record(c_tenant_id,c_result,c_file_name) values(1,0,'user-password-login-5.12.x.tgz');
insert into cos_app_publish_log(c_app_code,c_app_version) values('user-password-login','5.11.24');
insert into cos_site_component_grant(c_tenant_id,c_site_id,c_app_code) values(1,1,'user-password-login');
insert into cos_portal_component_grant(c_tenant_id,c_app_code) values(1,'user-password-login');
insert into cos_portal_component(c_code,c_version,c_text,c_is_auth,c_app_type,c_modes,c_create_time) values('user-password-login','5.11.24','用户名密码登录APP',0,0,'["app","page","print"]','2023-08-15 14:00:00');
insert into t_app_catalog_mapping(c_catalog_id, c_app_code) values (1, 'user-password-login');

内部资料,请勿外传