Skip to content

引入

ts
import {
  addOrUpdateRainbowKV,
  addRainbowKV,
  updateRainbowKV,
  createRainbowPublishJob,
  publishRainbowTask,
  closeRainbowTask,
  updateRainbowKVAndPublish,
  queryGroupInfo,
  fetchRainbowConfig
} from 't-comm';

// 不支持 tree-shaking 的项目
import {
  addOrUpdateRainbowKV,
  addRainbowKV,
  updateRainbowKV,
  createRainbowPublishJob,
  publishRainbowTask,
  closeRainbowTask,
  updateRainbowKVAndPublish,
  queryGroupInfo,
  fetchRainbowConfig
} from 't-comm/lib/rainbow/index';

// 只支持 ESM 的项目
import {
  addOrUpdateRainbowKV,
  addRainbowKV,
  updateRainbowKV,
  createRainbowPublishJob,
  publishRainbowTask,
  closeRainbowTask,
  updateRainbowKVAndPublish,
  queryGroupInfo,
  fetchRainbowConfig
} from 't-comm/es/rainbow/index';

addOrUpdateRainbowKV(config)

描述

添加或更新配置

参数

参数名类型描述
configobject

配置信息

config.keyValueobject

配置对象

config.keyValue.keystring

配置的key

config.keyValue.valuestring

配置的value

config.valueTypenumber

配置类型,1: NUMBER, 2: STRING, 3: TEXT, 4: JSON, 5: XML, 18: 日期, 20: yaml

config.secretInfoobject

密钥信息

config.secretInfo.appIdstring

项目Id

config.secretInfo.userIdstring

用户Id

config.secretInfo.secretKeystring

密钥

config.secretInfo.envNamestring

配置环境

config.secretInfo.groupNamestring

配置组

返回: Promise.<object>

请求Promise

示例

typescript
addOrUpdateRainbowKV({
  keyValue: {
    key: 'theKey',
    value: 'theValue',
  },
  valueType: 2,
  secretInfo: {
    appId: 'xxx',
    userId: 'xxx',
    secretKey: 'xxx',
    envName: 'prod',
    groupName: 'xxx',
  }
}).then(() => {

})

addRainbowKV(config)

描述

增加配置

参数

参数名类型描述
configobject

配置信息

config.keyValueobject

配置对象

config.keyValue.keystring

配置的key

config.keyValue.valuestring

配置的value

config.valueTypenumber

配置类型,1: NUMBER, 2: STRING, 3: TEXT, 4: JSON, 5: XML, 18: 日期, 20: yaml

config.secretInfoobject

密钥信息

config.secretInfo.appIdstring

项目Id

config.secretInfo.userIdstring

用户Id

config.secretInfo.secretKeystring

密钥

config.secretInfo.envNamestring

配置环境

config.secretInfo.groupNamestring

配置组

返回: Promise.<object>

请求Promise

示例

typescript
addRainbowKV({
  keyValue: {
    key: 'theKey',
    value: 'theValue',
  },
  valueType: 2,
  secretInfo: {
    appId: 'xxx',
    userId: 'xxx',
    secretKey: 'xxx',
    envName: 'prod',
    groupName: 'xxx',
  }
}).then(() => {

})

updateRainbowKV(config)

描述

修改配置

参数

参数名类型描述
configobject

配置信息

config.keyValueobject

配置对象

config.keyValue.keystring

配置的key

config.keyValue.valuestring

配置的value

config.valueTypenumber

配置类型,1: NUMBER, 2: STRING, 3: TEXT, 4: JSON, 5: XML, 18: 日期, 20: yaml

config.secretInfoobject

密钥信息

config.secretInfo.appIdstring

项目Id

config.secretInfo.userIdstring

用户Id

config.secretInfo.secretKeystring

密钥

config.secretInfo.envNamestring

配置环境

config.secretInfo.groupNamestring

配置组

返回: Promise.<object>

请求Promise

示例

typescript
updateRainbowKV({
  keyValue: {
    key: 'theKey',
    value: 'theValue',
  },
  valueType: 2,
  secretInfo: {
    appId: 'xxx',
    userId: 'xxx',
    secretKey: 'xxx',
    envName: 'prod',
    groupName: 'xxx',
  }
}).then(() => {

})

createRainbowPublishJob(config)

描述

创建发布任务

参数

参数名类型描述
configobject

配置信息

config.versionNamestring

版本信息

config.secretInfoobject

密钥信息

config.secretInfo.appIdstring

项目Id

config.secretInfo.userIdstring

用户Id

config.secretInfo.secretKeystring

密钥

config.secretInfo.envNamestring

配置环境

config.secretInfo.groupNamestring

配置组

返回: Promise.<object>

请求Promise

示例

typescript
createRainbowPublishJob({
  versionName: 'version',
  secretInfo: {
    appId: 'xxx',
    userId: 'xxx',
    secretKey: 'xxx',
    envName: 'prod',
    groupName: 'xxx',
  }
}).then(() => {

})

publishRainbowTask(config)

描述

发布任务

参数

参数名类型描述
configobject

配置信息

config.taskIdstring

任务Id

config.secretInfoobject

密钥信息

config.secretInfo.appIdstring

项目Id

config.secretInfo.userIdstring

用户Id

config.secretInfo.secretKeystring

密钥

config.secretInfo.envNamestring

配置环境

config.secretInfo.groupNamestring

配置组

返回: Promise.<object>

请求Promise

示例

typescript
publishRainbowTask({
  taskId: 'taskId',
  secretInfo: {
    appId: 'xxx',
    userId: 'xxx',
    secretKey: 'xxx',
    envName: 'prod',
    groupName: 'xxx',
  }
}).then(() => {

})

closeRainbowTask(config)

描述

关闭任务

参数

参数名类型描述
configobject

配置信息

config.taskIdstring

任务Id

config.secretInfoobject

密钥信息

config.secretInfo.appIdstring

项目Id

config.secretInfo.userIdstring

用户Id

config.secretInfo.secretKeystring

密钥

config.secretInfo.envNamestring

配置环境

config.secretInfo.groupNamestring

配置组

返回: Promise.<object>

请求Promise

示例

typescript
closeRainbowTask({
  taskId: 'taskId',
  secretInfo: {
    appId: 'xxx',
    userId: 'xxx',
    secretKey: 'xxx',
    envName: 'prod',
    groupName: 'xxx',
  }
}).then(() => {

})

updateRainbowKVAndPublish(config)

描述

更新或新增值并发布

参数

参数名类型描述
configobject

配置信息

config.keystring

配置key

config.valuestring

配置value

config.valueTypenumber

配置类型,1: NUMBER, 2: STRING, 3: TEXT, 4: JSON, 5: XML, 18: 日期, 20: yaml

config.secretInfoobject

密钥信息

config.secretInfo.appIdstring

项目Id

config.secretInfo.userIdstring

用户Id

config.secretInfo.secretKeystring

密钥

config.secretInfo.envNamestring

配置环境

config.secretInfo.groupNamestring

配置组

返回: Promise.<object>

请求Promise

示例

typescript
updateRainbowKVAndPublish({
  key: 'key',
  value: 'value',
  valueType: 2,
  secretInfo: {
    appId: 'xxx',
    userId: 'xxx',
    secretKey: 'xxx',
    envName: 'prod',
    groupName: 'xxx',
  }
}).then(() => {

})

queryGroupInfo(config)

描述

查询分组配置

参数

参数名类型描述
configobject

配置信息

config.secretInfoobject

密钥信息

config.secretInfo.appIdstring

项目Id

config.secretInfo.userIdstring

用户Id

config.secretInfo.secretKeystring

密钥

config.secretInfo.envNamestring

配置环境

config.secretInfo.groupNamestring

配置组

返回: Promise.<Array<object>>

分组配置

示例

typescript
queryGroupInfo({
  secretInfo: {
    appId: 'xxx',
    userId: 'xxx',
    secretKey: 'xxx',
    envName: 'prod',
    groupName: 'xxx',
  }
}).then(() => {

})

fetchRainbowConfig(key, secretInfo)

描述

拉取七彩石配置

参数

参数名类型描述
keyString

七彩石的key

secretInfoobject

密钥信息

secretInfo.appIdstring

项目Id

secretInfo.envNamestring

环境

secretInfo.groupNamestring

组名称

返回: Promise.<object>

请求Promise

示例

typescript
fetchRainbowConfig('test', {
  appId: 'xx',
  envName: 'prod',
  groupName: 'robot',
}).then((resp) => {
  console.log(resp)
});