1. tianzhou.api API转发配置

天舟云和业务系统对应的Apollo应用下都需要加上如下转发配置配置

1.1 创建NameSpace

1.2 配置NameSpace

1.3 配置API转发键值内容

auth.url = https://csbtest-admin.gz.cvte.cn/legox/admin/v1 #需改为本业务域下「登陆认证」的api地址
api.baseUrl = https://csbtest-admin.gz.cvte.cn/legox/admin/v1 #需改为本业务域下「csb系统后端」的api地址
annex.domain = https://csbtest-api.gz.cvte.cn/cfile/ #需改为本业务域下「附件服务」的api地址,地址末尾应该有「/」
lcp.hub = https://lcptest.gz.cvte.cn/hub #需改为本业务域下「天舟云hub」的api地址
lcp.app = https://lcptest.gz.cvte.cn/app #需改为本业务域下「天舟云app」的api地址
lcp.annex = https://csbtest-api.gz.cvte.cn/cfile #需改为本业务域下「天舟云附件服务」的api地址,如无特殊情况应与「附件服务」地址一致,两者唯一不同是地址末尾的「/」在该处应去除
lcp.faas = https://csbdev-gw.gz.cvte.cn/api #须使用对应环境下平台提供的统一转发api地址,转发api地址后接「/api」路径
lcp.gw = https://csbdev-gw.gz.cvte.cn #须使用对应环境下平台提供的统一转发api地址
lcp.data = https://lcptest.gz.cvte.cn/data #需改为本业务域下「数据操作接口转发」的api地址
cirapi.antdframe = https://csbtest-admin.gz.cvte.cn/legox/admin/v1 #需改为本业务域下「csbAntdframe模块」的api地址,如无特殊情况应与「csb系统后端」地址一致
cirapi.menumanager = https://csbtest-admin.gz.cvte.cn/legox/admin/v1 #需改为本业务域下「csb菜单管理模块」的api地址,如无特殊情况应与「csb系统后端」地址一致
cirapi.viewManager = https://csbtest-admin.gz.cvte.cn/legox/admin/v1 #需改为本业务域下「csb视图管理模块」的api地址,如无特殊情况应与「csb系统后端」地址一致

⚠️注意!域名地址需要根据运行环境发生变化!

平台提供的统一转发api地址
「dev」https://csbdev-gw.gz.cvte.cn
「sit」https://csbsit-gw.gz.cvte.cn
「uat」https://csbuat-gw.gz.cvte.cn
「prod」https://csb-gw.gz.cvte.cn

1.4 系统配置 config/server.js

apollo修改完成后,须对应修改待接入的业务系统工程中的config/server.js文件内容
须增加如下内容:

module.exports = {
    // 其他代码
    cirapi: ((plugins) => {
        const cirapi = {
            // 其他代码
            annex: {
                url: process.env['lcp.annex'],
            },
            lcpCore: {
                url: process.env['lcp.app'],
            },
            lcpApp: {
                url: process.env['lcp.app'],
            },
            lcp: {
                url: process.env['lcp.hub'],
            },
            lcpHub: {
                url: process.env['lcp.hub'],
            },
            lcpAnnex: {
                url: process.env['lcp.annex'],
            },
            lcp_faas: {
                url: process.env['lcp.faas'],
            },
            lcpGw: {
                url: process.env['lcp.gw'],
            },
            lcpData: {
                url: process.env['lcp.data'],
            },
        };
        plugins.forEach((plugin) => {
            cirapi[plugin] = { url: process.env[`cirapi.${plugin}`] };
        });
        return cirapi;
    },
};

并在拉取阿波罗配置的入参中增加namespaceName

2. tianzhou.env 环境变量配置

天舟云和业务系统对应的Apollo应用下都需要加上如下环境变量配置

2.1 创建NameSpace

2.2 配置NameSpace

2.3 配置环境变量键值内容

domain = #应用域名
port = 65001
cplp.tenantId = #附件租户ID,建议和该环境下的CSB的该配置一致
annex.categoryId = #附件分类ID,建议和该环境下的CSB的该配置一致
apmConfig.need = true #是否需要apm配置
apmConfig.serviceName = #APM服务名称,建议和该环境下的CSB的该配置一致
apmConfig.environment = #运行环境,建议和该环境下的CSB的该配置一致
apmConfig.serverUrl = https://esapm.cvte.com #APM服务地址
zipkinUrl = https://itrace.gz.cvte.cn #zpikin配置地址
kibanaUrl = http://kibana.test.seewo.com #kibana配置地址
auth.cipherKey = #登陆认证加密的盐,建议和该环境下的CSB的该配置一致
auth.multiOrg = true #是否多组织认证
redis.host = #Redis数据库地址,建议和该环境下的CSB的该配置一致
redis.port = #Redis数据库端口,建议和该环境下的CSB的该配置一致
redis.password = #Redis数据库密码,建议和该环境下的CSB的该配置一致
redis.database = #Redis数据库名称,建议和该环境下的CSB的该配置一致
redis.prefix = csb #Redis数据库名称前缀,建议和该环境下的CSB的该配置一致
loginWith4A = true #除PROD环境外,建议设置该选项为false
loginWithOp = true #除PROD环境外,建议设置该选项为false
op.host = https://op.cvte.com #门户单点登录地址,建议和该环境下的CSB的该配置一致
op.appId = #门户单点登录应用ID,建议和该环境下的CSB的该配置一致
routerPrefix = #工作台应用的转发路径
systemRouterPrefix = #应用系统应用的转发路径
csbAppId = #固定各个域的csb租户ID,可以从后端的csb.iac.appId中获取
lcpWorkspaceRcRootApp = #各个域需要自定义的工作台资源工程根应用名称
lcpAppRcRootApp = #各个域需要自定义的应用系统资源工程根应用名称
plugin.app.id = #插件市场所使用的应用Id;如果使用天舟云系统同步功能,所有环境都可以将该键值设置为「1269620726624013b98cf4baadaa759f」

其中

「routerPrefix」「工作台」鲸云应用配置的「转发路径」、「请求路径」,默认为「/workspace」

「systemRouterPrefix」「应用系统」鲸云应用配置的「转发路径」、「请求路径」,默认为「/system」

2.4 系统配置 config/server.js

apollo修改完成后,须对应修改待接入的业务系统工程中的config/server.js文件内容
须增加如下内容:

module.exports = {
    // 其他代码
    domain: process.env.domain,
    port: process.env.PORT || 3000,
    injectData:[
        // 其他代码
        { key: 'pluginAppId', value: process.env['plugin.app.id'] },
        { key: 'tenantId', value: process.env['cplp.tenantId'] || '' },
        { key: 'categoryId', value: process.env['annex.categoryId'] || 'csb_obj_file' },
    ],
    zipkinUrl: process.env.zipkinUrl,
    // 用户鉴权相关配置
    auth: {
        // 其他代码
        cipherKey: process.env['auth.cipherKey'] || '1234567890123456',
        multiOrg: process.env['auth.multiOrg'] || 'false',
    },
    // redis 配置
    redis: {
        // 其他代码
        host: process.env['redis.host'] || '10.10.12.25',
        port: process.env['redis.port'] || '6380',
        password: process.env['redis.password'] || '',
        database: process.env['redis.database'] || 0,
        prefix: process.env['redis.prefix'] || 'csb',
    },
    // 是否开启单点登录
    loginWith4A: process.env.loginWith4A === 'true',
    // 是否门户单点登录
    loginWithOp: process.env.loginWithOp === 'true',
    // 门户配置
    op: {
        host: process.env['op.host'],
        appId: process.env['op.appId'],
        loginType: 'op', // 可选值是 4a 或 op,表示选择哪个单点登录页面进行登录
    },
    csbAppId: process.env.csbAppId, // 固定各个域的csb租户
}
作者:袁子涵  创建时间:2023-05-08 10:16
最后编辑:袁子涵  更新时间:2024-12-11 10:09