# @descope/tenant-profile-widget 中文文档

规范地址：https://npmcn.com/package/%40descope/tenant-profile-widget/

版本：0\.11\.15
npm 元数据更新时间：2026-11-08T15:38:03.093Z
中文译文更新时间：2026-11-12T00:51:32.291Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40descope/tenant-profile-widget
原文对照：https://npmcn.com/package/%40descope/tenant-profile-widget/?lang=original
项目主页：https://github.com/descope/descope-js
源码仓库：https://github.com/descope/descope-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：3 MB，10 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：11 个
- 首次发布：2025-07-22T14:02:21.619Z
- 最新版本发布：2026-11-08T15:38:02.891Z
- 近 30 天下载量：1336190（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：229（近 12 个月 167 个）

## 中文简介

Descope 租户配置文件部件

## 安装

```sh
npm install @descope/tenant-profile-widget
```

也可以使用：`pnpm add @descope/tenant-profile-widget`、`yarn add @descope/tenant-profile-widget`、`bun add @descope/tenant-profile-widget`

## README

# @ descope/tenant- profile-widget (英语)

## 设置

### 创建一个 `.env` 文件

在部件包中创建 `.env` 包含的文件;

```
DESCOPE_BASE_URL=   # env base url
DESCOPE_PROJECT_ID= # project ID
DESCOPE_WIDGET_ID=  # default: tenant-profile-widget
DESCOPE_TENANT_ID=  # tenant id
DEBUG_MODE=         # "true" / "false", default: "false"
DESCOPE_THEME=      # "light" / "dark" / "os", default: "light"
```

### 示例

```
// replace x.x.x with the latest release of the widget: https://www.npmjs.com/package/@descope/tenant-profile-widget
<script src="https://descopecdn.com/npm/@descope/tenant-profile-widget@x.x.x/dist/index.js"></script>
<descope-tenant-profile-widget
  base-url="<DESCOPE_BASE_URL>"
  project-id="<DESCOPE_PROJECT_ID>"
  tenant="<DESCOPE_TENANT_ID>"
  debug="<DEBUG_MODE>"
  theme="<DESCOPE_THEME>"
  widget-id="<DESCOPE_WIDGET_ID>"
></descope-tenant-profile-widget>

<script>
  function onLogout(error) {
    window.location.reload();
  }
  const descopeWidgetEle = document.getElementsByTagName('descope-tenant-profile-widget')[0];
  descopeWidgetEle.logout = onLogout;
</script>
```

### 认证

要使用部件, 您必须登录 如果您没有得到认证, 登录流程将先运行, 登录后将打开部件

### 启动部件

运行 `npm start` 启动部件.

## 建筑

## 项目结构

-   `/app` - 包含 `index.html`
-   `/lib` - 部件的源代码
-   `lib/widget` - 与部件有关的执行
-   `lib/widget/api` - 与API通话有关的逻辑
-   `lib/widget/mixins` - 部件特定逻辑
-   `lib/widget/state` - 国家管理逻辑

### API 密码

* * *

### 混合

部件由混音组成,每个混音包含特定的逻辑部分,有时会曝光一个可用于其他混音的API.

混音可以由相上而下组成,这样我们就可以通过将几个混音组合在一起来创造出新的混音.

#### 混合创建者

创建混音符的函数,可以得到配置,并返回混音符的函数.

#### 单通混音

由于混合剂是可相容的,在某些情况下我们希望确保混合剂只装入一次. 例如:当它的逻辑不需要在由不同的混合体组成时运行多次时.

对于本案,我们有一个包装功能(`createSingletonMixin`),以确保混合剂只装入一次,无论会装入多少次.

混音器应该用 `createSingletonMixin` 包装功能,除非有多次运行混音逻辑的原因.

### 状态

我们正在使用几种工具来处理部件的状态:

-   [Redux 工具箱](https://redux-toolkit.js.org/) 用于部件的状态管理.
-   [雷杜克·通克(Redux Thunk)](https://github.com/reduxjs/redux-thunk) aPI的电话和Aync操作
-   [重新选择](https://github.com/reduxjs/reselect) 在不发生变异状态时,不撞击性能或触发状态再重新计算.

### 司机

一个抽象层,为组件提供 API,并能够处理部件内组件之间的相互作用.

使用驱动器的动机是将部件的代码从组件的执行中解开,因此重要的是只使用驱动器与组件互动(而不是依赖组件的执行细节).

## 德维

### 使用模拟屏幕

由于屏幕被动态获取, 当为部件开发新屏幕时, 您可能想要使用模拟模板 。 为此,只需将呼叫改为: `fetchWidgetPage` 包含您 HTML 的字符串.

## 常见问题

### @descope/tenant-profile-widget 是什么？

Descope 租户配置文件部件

### 如何安装 @descope/tenant-profile-widget？

在项目目录运行 npm install @descope/tenant-profile-widget，或使用 pnpm add / yarn add / bun add。

### @descope/tenant-profile-widget 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @descope/tenant-profile-widget 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @descope/tenant-profile-widget 可以商用吗？

@descope/tenant-profile-widget 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @descope/tenant-profile-widget 的下载量有多少？

根据 npm 官方下载统计，@descope/tenant-profile-widget 在 2026/10/12 – 2026/11/10 这 30 天内被下载 1,336,190 次，日均约 44,540 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @descope/tenant-profile-widget 还在维护吗？

最新版本 0\.11\.15 发布于 2026/11/08（3 天前）；至今共发布 229 个版本，其中过去 12 个月发布了 167 个；首次发布于 2025/07/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

