# @altack/ngx-onetrust 中文文档

规范地址：https://npmcn.com/package/%40altack/ngx-onetrust/

版本：1\.5\.0
npm 元数据更新时间：2022-12-23T10:54:28.226Z
中文译文更新时间：2026-11-09T21:33:26.891Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40altack/ngx-onetrust
原文对照：https://npmcn.com/package/%40altack/ngx-onetrust/?lang=original
项目主页：https://github.com/guzmanoj/ngx-onetrust#readme
源码仓库：https://github.com/guzmanoj/ngx-onetrust

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

- 包体积（解压后）：260 kB，23 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：@angular/common ^15\.0\.0，@angular/core ^15\.0\.0
- 首次发布：2021-05-23T17:54:09.784Z
- 最新版本发布：2022-12-23T10:54:28.123Z
- 近 30 天下载量：1716（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：8（近 12 个月 0 个）

## 中文简介

Angular 的 One Trust 加载器和包装器

## 安装

```sh
npm install @altack/ngx-onetrust
```

也可以使用：`pnpm add @altack/ngx-onetrust`、`yarn add @altack/ngx-onetrust`、`bun add @altack/ngx-onetrust`

## README

## Angular 的一个信任

Angular 的 One Trust 加载器和包装器

#### 怎样用?

1.  安装软件包  
    `npm i @altack/ngx-onetrust`
    
    注意此库不会添加任何 OneTrust 关联的依赖, OneTrust 脚本将在运行时加载 .
    
2.  导入 `OneTrustModule.forRoot()` 在你身边 `AppModule`。 。 。 .
    
    带有您的配置对象 **域脚本ID** 财务报告和审定财务报表 **饼干组** 需要设置为模块配置. CookiesGroups通常看起来如下,但其ID(C0001,C0002等)可能有所不同.
    
    ```javascript
        OneTrustModule.forRoot({
          cookiesGroups: {
            StrictlyNecessaryCookies: 'C0001',
            PerformanceCookies: 'C0002',
            FunctionalCookies: 'C0003',
            TargetingCookies: 'C0004',
            SocialMediaCookies: 'C0005'
          },
          domainScript: 'your-domain-script-id'
        })
    ```
    
    拜访你 [https://app.cookiepro.com/cookies/分類?tab=类](https://app.cookiepro.com/cookies/categorizations?tab=Categories) 以正确定义 CookiesGroups 对象.
    
3.  现在你可以注射 `OneTrustService` (通常在 `APP_INITIALIZER`)加载"OneTrust"脚本,实时更改横幅语言并收听同意更改. 让我们详细看看这三种方法.
    
    -   `oneTrustService.loadOneTrust()` 接受带有您 `domainScriptID` 将接管模块一级定义的模块. 调用这种方法将输入 OneTrust 脚本的下载和初始化 .
        
    -   `oneTrustService.translateBanner(lang)` 将尝试使用lang参数翻译 cookie 横幅( 例如 `en`, (中文(简体) ), `es`, (中文(简体) ), `pl`(见a/c.5/49/70,附件). 它通过呼叫 `OneTrust.changeLanguage()` 方法来自浏览器的 OneTrust 对象。 要做到这一点,就必须在"OneTrust"管理面板(通常在模板部分)中定义翻译. 根据国家,用户是, `translateBanner()` 将尝试通过合并语言+国家来创建一个有效的地块(例如en-US). 您也可以通过第二个参数 `true` 页:1 `oneTrustService.translateBanner('en', true)` 以强制改变语言,而不试图建立地方.
        
    -   `oneTrustService.consentChanged$()` 返回一个 `Observable<Map<CookiesGroups, boolean>>`。基本上,用户同意的地图。 用于运行基于用户选择的某些逻辑 。 注意,默认情况下( 饼干横幅可见, 且纯洁) 此 `Map` 将只包含 `StrictlyNecessaryCookies` 允许.
        
    -   `oneTrustService.oneTrustInstance$()` 返回一个 `Observable<OneTrust>`实例 `OneTrust` 对象在装入后.
        

#### 附带说明

用于加载的常用例 `OneTrust` 是打电话 `oneTrustService.loadOneTrust()` 内部 `APP_INITIALIZER`。 。 。 .

```javascript
    {
      provide: APP_INITIALIZER,
      useFactory: appInitializer,
      deps: [MyInitService],
      multi: true
    }
```

```javascript
export function appInitializer(myInitService: MyInitService): Function {
  return () => myInitService.load();
}
```

```javascript
@Injectable({ providedIn: 'root' })
export class MyInitService {

  constructor(
    ...
    private oneTrust: OneTrustService,
    ...
  ) {}

  public load(): Promise<any> {
  this.oneTrust.loadOneTrust();
  ...
  }
}
```

#### 角相容性

如果你使用Angular 13 确保使用1.3.x版本

## 常见问题

### @altack/ngx-onetrust 是什么？

Angular 的 One Trust 加载器和包装器

### 如何安装 @altack/ngx-onetrust？

在项目目录运行 npm install @altack/ngx-onetrust，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@angular/common（^15\.0\.0）、@angular/core（^15\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @altack/ngx-onetrust 支持 TypeScript 吗？

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

### @altack/ngx-onetrust 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @altack/ngx-onetrust 可以商用吗？

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

### @altack/ngx-onetrust 的下载量有多少？

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

### @altack/ngx-onetrust 还在维护吗？

最新版本 1\.5\.0 发布于 2022/12/23（3 年前）；至今共发布 8 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/05/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

