鲸云及Git

无额外新增/修改项

参考2.3.1版本

特别提示

在鲸云构建命令中关于yarn install的命令,我们建议加上如下两个参数:
--ignore-engines:在主工程的依赖中会依赖commander,但commander指定的node版本为>=18.0.0,可能会导致安装失败,顾此处忽略engine版本限制
--frozen-lockfile:在主工程的依赖中可能会有第三方包会在实际安装中使用较新的版本,如果构建者希望能够严格保持代码中的yarn.lock约束的版本,此处需要冻结lock文件修改(感谢@陈鹏腾同学对此建议!)

yarn install --ignore-engines --frozen-lockfile

Apollo

⚠️ 研发CPLM业务系统的APOLLO也必须要更新

平台的天舟云升级会影响研发的业务系统

CPLM前端对应的鲸云应用名称为CAP-NODEJS

tianzhou.api(以prod环境为例)

auth.url = https://lcp.gz.cvte.cn/gateway/lcp-legox/admin/v1
api.baseUrl = https://lcp.gz.cvte.cn/gateway/lcp-legox/admin/v1
api.csbBase = https://lcp.gz.cvte.cn/gateway/lcp-legox
annex.domain = https://itapis.cvte.com/cfile/
lcp.hub = https://lcp.gz.cvte.cn/hub
lcp.app = https://lcp.gz.cvte.cn/app
lcp.annex = https://itapis.cvte.com/cfile
lcp.faas = https://csb-gw.gz.cvte.cn/api
lcp.gw = https://csb-gw.gz.cvte.cn
cirapi.antdframe = https://lcp.gz.cvte.cn/gateway/lcp-legox/admin/v1
cirapi.menumanager = https://lcp.gz.cvte.cn/gateway/lcp-legox/admin/v1
cirapi.viewManager = https://lcp.gz.cvte.cn/gateway/lcp-legox/admin/v1
lcp.datart = https://lcp.gz.cvte.cn/dataview
lcp.data = https://lcp.gz.cvte.cn/data
lcp.common.server = https://lcp.gz.cvte.cn
# lcp.tenant.server的地址在各业务域下的非正式环境必须填https://lcpsit.gz.cvte.cn,正式环境必须填https://lcp.gz.cvte.cn
lcp.tenant.server = https://lcp.gz.cvte.cn
lcp.todoUrl = https://i.cvte.com/todo
lcp.log = https://lcp.gz.cvte.cn/log
# lcp.page = https://lcp.gz.cvte.cn/page (天舟云2.0之后已废弃)

lcp.todoUrl

用于工作台的个人待办组件中的请求地址,如果不使用工作台或不需要使用个人待办组件,则可以不配置该转发

lcp.log

天舟云异常日志上报服务
⚠️ 业务域必须使用平台的服务域名地址,根据各个环境进行填写

lcp.page(已废弃)

该地址在天舟云2.0以后全部转至lcp.hub的服务中

tianzhou.env(以prod环境为例)

domain = https://tz.gz.cvte.cn
port = 65001
cplp.tenantId = # 生产环境附件服务租户id
annex.categoryId = csb_obj_file
apmConfig.need = true
apmConfig.serviceName = csb
apmConfig.environment = prod
apmConfig.serverUrl = https://esapm.cvte.com
zipkinUrl = https://itrace.gz.cvte.cn
kibanaUrl = http://kibana.test.seewo.com
auth.cipherKey = # 生产环境认证密钥
auth.multiOrg = true
redis.host = # 生产环境redis域名
redis.port = # 生产环境redis端口
redis.password = # 生产环境redis密码
redis.database = 21
redis.prefix = csb
loginWith4A = true
loginWithOp = true
op.host = https://op.cvte.com
op.appId = # 生产环境门户登陆应用id
plugin.app.id = # 天舟云「平台配置管理」应用的应用id
wmp.opMobileByWeChat = true
wmp.appId = # 生产环境微信公众平台登陆应用id
wmp.host = https://wmp.cvte.com
wmp.isQy = true
wmp.enable = true
tianzhou.tenent.id = # 天舟云根租户id
lcpAppRcRootApp = lcp-2-9-app # 此处需要更换为各业务域指定的资源宿主名称
lcpWorkspaceRcRootApp = lcp-workspace-2-9-app # 此处需要更换为各业务域指定的资源宿主名称
systemType = system
systemPrefixs = {"portalRouterPrefix":"/portal","appRouterPrefix":"/system","workspaceRouterPrefix":"/workspace"}
lcp.sentry.config = {"open":"false","replay":"true", "eusAppId":"924017c0-fc06-11ec-9d34-716e2dbf7b93", "eusAppSecret":"aa890f9baf5f5cc82d2f6b5b25f0d85d","sentryAppDSN":"https://f3a2afe784ed411f8698316a471fa5e6@sentry.cvtapi.com/597","sentryWorkspaceDSN":"https://5d1a72b988d04e109ccb3ef6b464ebd7@sentry.cvtapi.com/598","env":"fat","debug":"false"} # 2.9.0变更
routerPrefix = /workspace
systemRouterPrefix = /system
needZipkin = true # 2.5.0新增
tzBootstrapConfig = {"isOpen":"1","entry":"/app/modules/FormTemplate/TZBootstrap.ts","cdn":[{"key":"react","type":"js","src":"https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/react/17.0.2/umd/react.production.min.js"},{"key":"react-dom","type":"js","src":"https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/react-dom/17.0.2/umd/react-dom.production.min.js"},{"key":"react-intl","type":"js","src":"https://rctest.cvte.com/api/resource/:app/tz-plugin/pro/1.0.3.2/cdnLibs/react-intl@3.12.1/react-intl.min.js"},{"key":"antd","type":"js","src":"https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/antd/4.18.9/antd-with-locales.min.js"},{"key":"antdStyle","type":"css","src":"https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-y/antd/4.18.9/antd.min.css"},{"key":"axios","type":"js","src":"https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/axios/0.17.1/axios.min.js"},{"key":"mobx","type":"js","src":"https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/mobx/5.0.3/mobx.umd.min.js"}]} # 2.8.2新增

plugin.app.id

天舟云「平台配置管理」应用的应用id,「平台配置管理」应用是指如下应用,该应用管理天舟云整个平台的基础配置、租户配置、自定义组件、按钮事件库等基础配置。

wmp.*

此系列配置用于配置微信公众平台统一登录信息,如果不需要使用移动端,可以不配置此系列。

tianzhou.portal(以prod环境为例)

systemRouterPrefix = /portal
isPortal = true
systemType = portal

⚠️ 注意!业务系统Apollo中的根宿主需要改为最新版本的宿主资源名称!!!

业务系统集成

注入上下文

业务系统注入用户信息到天舟云上下文中

// 在业务系统的global.js或系统初始入口js文件中
import generatorGlobalContext from '@cvte/cir-lcp-sdk/src/lib/context';

// 设置用户数据
generatorGlobalContext?.getContext?.()?.session?.setUser?.(USER_DATA);
// 设置组织数据
generatorGlobalContext?.getContext?.()?.session?.setOrg?.(ORG_DATA);

中间件

业务系统需要增加的中间件npm包

通用转发劫持中间件

用于劫持common/proxy请求,并根据配置映射转发到后端对应服务

增加app/middleware/proxy.js文件,文件内容如下:

const appConfig = require('@cvte/cir-framework/config').default.app;
const { commonProxyMiddlewareGenerator } = require('@cvte/tz-framework/middlewares/commonProxy');
const { redisHelper } = require('@cvte/cir-framework/server');
const errorHelper = require('@cvte/cir-framework/_server_src/services/error');
const { getIacToken } = require('@cvte/cir-framework/common/tools');
const apiConfig = require('../../config/server');

module.exports = commonProxyMiddlewareGenerator({
  appConfig,
  apiConfig,
  redisHelper,
  errorHelper,
  getIacToken,
});

租户参数劫持中间件

获取当前域名对应的租户id,并替换掉请求头中的x-tenant-id参数

增加app/middleware/interceptRequest.js文件,文件内容如下:

const appConfig = require('@cvte/cir-framework/config').default.app;
const { checkTenantMiddlewareGenerator } = require('@cvte/tz-framework/middlewares/checkTenant');

const defaultTenantId = appConfig.systemTenantId || '';
const tenantHost = appConfig.cirapi.lcpTenantServer && appConfig.cirapi.lcpTenantServer.url;

module.exports = checkTenantMiddlewareGenerator({
  tenantHost,
  defaultTenantId,
});

依赖资源

业务系统由于只集成了天舟云渲染模版,因此在2.9.1版本中,业务系统的宿主需要增加如下3个依赖:

依赖资源

lcp-workspace-2-9-app(以prod环境为例)

在2.9.1版本中,天舟云系统的宿主需要使用如下依赖:

点击👉 依赖资源清单 下载

并在👉 资源管理系统 中指定宿主资源中导入

示例操作图片
(示例操作图片)

lcp-2-9-app(以prod环境为例)

在2.9.1版本中,天舟云系统的宿主需要使用如下依赖:

点击👉 依赖资源清单 下载

并在👉 资源管理系统 中指定宿主资源中导入

需导入的增量数据

页面组件管理

点击👉 增量插件数据 并下载,然后在页面组件管理的列表中导入的该增量数据

作者:袁子涵  创建时间:2025-03-13 15:00
最后编辑:袁子涵  更新时间:2025-05-08 10:37