# @alicloud/xconsole-context

> 通用的 Console 方法库， 用于和 阿里云 Console 环境打交道包括

Latest version **2.7.7** (published 2025-08-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install @alicloud/xconsole-context
pnpm add @alicloud/xconsole-context
yarn add @alicloud/xconsole-context
bun add @alicloud/xconsole-context
```

## Health

**Score 35/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.7.7 |
| Published | 2025-08-26 |
| First published | 2020-03-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 11 |
| Unpacked size | 240.8 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 81 |
| Maintainers | jacksontian, fengmk2, pagecao, aliyunsdkteam, console-fe |

## Links

- npm: https://www.npmjs.com/package/@alicloud/xconsole-context
- Repository: https://github.com/aliyun/alibabacloud-console-design
- Issues: https://github.com/aliyun/alibabacloud-console-design/issues
- npm.io page: https://npm.io/package/@alicloud/xconsole-context

## Dependencies (11)

- [tslib](https://npm.io/package/tslib.md) ^2.7.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.19
- [js-cookie](https://npm.io/package/js-cookie.md) ^2.2.1
- [query-string](https://npm.io/package/query-string.md) ^6.13.7
- [react-router-dom](https://npm.io/package/react-router-dom.md) ^5.3.4
- [@alicloud/xconsole-rc-base-link](https://npm.io/package/@alicloud/xconsole-rc-base-link.md) ^2.4.5
- [@alicloud/console-base-messenger](https://npm.io/package/@alicloud/console-base-messenger.md) ^1.18.12
- [@alicloud/console-base-messenger-region](https://npm.io/package/@alicloud/console-base-messenger-region.md) ^1.1.12
- [@alicloud/console-base-rc-messenger-region](https://npm.io/package/@alicloud/console-base-rc-messenger-region.md) ^1.5.12-beta.0
- [@alicloud/console-base-messenger-resource-group](https://npm.io/package/@alicloud/console-base-messenger-resource-group.md) ^1.2.8-beta.0
- [@alicloud/console-base-rc-messenger-resource-group](https://npm.io/package/@alicloud/console-base-rc-messenger-resource-group.md) ^1.6.8-beta.1

## Recent versions

- 2.7.7 (latest) — 2025-08-26
- 2.7.7-alpha.0 (alpha) — 2025-08-22
- 2.7.6-beta.0 (beta) — 2025-08-15
- 2.0.0-next.2 (next) — 2020-09-29
- 2.7.6 — 2025-08-21
- 2.7.6-alpha.1 — 2025-08-20
- 2.7.6-alpha.0 — 2025-08-15
- 2.7.5 — 2025-08-06
- 2.7.4 — 2025-08-05
- 2.7.3 — 2025-08-05
- 2.7.3-alpha.1 — 2025-08-05
- 2.7.3-alpha.0 — 2025-08-05
- 2.7.2 — 2025-08-01
- 2.7.1 — 2025-08-01
- 2.7.0 — 2025-07-30
- … 118 more at https://npm.io/package/@alicloud/xconsole-context/versions

## README

# XConsole Util

通用的 Console 方法库， 用于和 阿里云 Console 环境打交道包括

- OneConsole
- RegionBar
- 资源组
- Biz Widget

## 用法

### 基础用法

```javascript
import ConsoleContext from '@alicloud/console-context';

consoleContext.consoleConfig

consoleContext.region
```

### React Context 用法

```javascript
import { withConsoleConfig, ConsoleContext } from '@alicloud/console-context';

const App = withConsoleConfig(
  (props) => {
    const { region, consoleConfig } = useContext(ConsoleContext);
    return (<>
      <div>{region.getCurrentRegionId()}</div>;
      <div>{consoleConfig.getChannel()}</div>;
    </>)
  }
);
```

## OneConsole

在 ```consoleContext.consoleConfig``` 中封装了和控制台配置打交道的部分，包括了当前用户，当前渠道，当前灰度等等，具体 API 参考如下:

#### consoleContext.isCertified()

获取用户实名认证状态

#### consoleContext.getChannel()

获取用户当前渠道

#### consoleContext.getfEnv()

获取用户当前

#### consoleContext.getLang()

获取当前用户语言

#### consoleContext.getLocale()

获取当前用户语言

#### consoleContext.getAccoutLoginLink()

获取当前登录地址

#### consoleContext.getSecToken()

获取 secToken 用户防止 csrf 攻击

#### consoleContext.getAccountName()

获取当前用户名

#### consoleContext.getMainAccountPK()

获取当前用户主账号 PK， 主要用于 Ram User 的主账号获取

#### consoleContext.getCurrentPK()

获取当前用户账号 PK。

#### consoleContext.getAccountType()

获取当前账号的账号类型，主账号，子账号，STS。

#### consoleContext.getOpenStatus(code: string)

获取某个产品的开通状态

#### consoleContext.getGrayStatus(grayId: string)

获取某个产品的开通状态

#### consoleContext.getChannelFeature(featureId: string)

获取某个产品的开通状态

#### consoleContext.getChannelLink(linkId: string)

获取某个产品的开通状态

#### consoleContext.getLabel()

获取某个用户当前账号上的标签

#### consoleContext.getUserPreference()

获取当前用户设置偏好

#### consoleContext.getRuleConfig()

获取当前规则中心的信息

#### consoleContext.getRegions()

获取当前 location 中配置的信息

#### consoleContext.getStaticAPI(field: string)

获取 Viper 中配置的 staticAPI 配置的信息

## Region

#### onRegionChange

监听 RegionBar 上 Region 变更的事件

#### toggleRegion()

触发 RegionBar 的显示移仓

#### setRegionId

设置 RegionBar 的 RegionId

#### setRegions

设置 RegionBar 上的 Region 列表

#### setRegionResourceCount

设置 RegionBar 上的 每个 Region 中的数字

#### getCurrentRegionId

获取当前的 RegionId

## React Utils

#### ChannelLink

```javascript
<ChannelLink id="linkId" />
```

#### Gray

```jsx
<Gray id="grayId" >
  <div> hello world </div>
</Gray>
```
#### ChannelFeature

```jsx
<ChannelFeature id="featureId" >
  <div> hello world </div>
</ChannelFeature>
```

---
_Source: https://npm.io/package/@alicloud/xconsole-context · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
