# @cloud-ru/uikit-product-calculator 中文文档

规范地址：https://npmcn.com/package/%40cloud-ru/uikit-product-calculator/

版本：2\.7\.0
npm 元数据更新时间：2026-11-05T14:30:00.874Z
中文译文更新时间：2026-11-10T09:10:14.285Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40cloud-ru/uikit-product-calculator
原文对照：https://npmcn.com/package/%40cloud-ru/uikit-product-calculator/?lang=original
项目主页：https://github.com/cloud-ru-tech/uikit-product/tree/master/packages/calculator
源码仓库：https://github.com/cloud-ru-tech/uikit-product

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

- 包体积（解压后）：2.1 MB，1025 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：31 个
- 首次发布：2025-11-12T19:16:18.447Z
- 最新版本发布：2026-11-05T14:30:00.596Z
- 近 30 天下载量：1917（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：190（近 12 个月 190 个）

## 中文简介

`npm i @cloud-ru/uikit-product-calculator`

## 安装

```sh
npm install @cloud-ru/uikit-product-calculator
```

也可以使用：`pnpm add @cloud-ru/uikit-product-calculator`、`yarn add @cloud-ru/uikit-product-calculator`、`bun add @cloud-ru/uikit-product-calculator`

## README

# 计算器

## 安装

`npm i @cloud-ru/uikit-product-calculator`

### 示例

```tsx
import { Calculator as CalculatorUi, CALCULATOR_TYPE } from '@cloud-ru/uikit-product-calculator';

const onDownloadFileClick = getOnDownloadFileClick();
const onShareClick = getOnShareClick();
const fetcherFn = getFetcherFn();

const config = { ...CATALOG_CONFIG, platforms: [ADVANCED_PLATFORM, VM_WARE_PLATFORM] };

export function Calculator() {
  return (
    <CalculatorUi
      config={config}
      layoutType={layoutType}
      calculatorType={CALCULATOR_TYPE.Partners}
      initialActiveProduct={ADVANCED_PRODUCT.AdvancedCloudServer}
      fetcherFn={fetcherFn}
      actions={{
        onDownloadFileClick,
        onShareClick,
      }}
    />
  );
}
```

## 计算器

### 道具

| 名称 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| 行动\* | `{ onPlatformSelect?(platform: string): void; onProductSelect?(productId: string): void; onProductDelete?(productId: string): void; onStartClick?(): void; onCatalogOpen?(): void; onConnectClick?(id: string, value: FormValues): void; onShareClick?(state: State): Promise<...>; onDownloadFileClick?(state: State): Promis...` | \- 说吧 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |
| 拾取器Fn\* | `FetcherFn` | \- 说吧 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |
| 配置\* | `CatalogConfig` | \- 说吧 | 页:1 |
| 布局类型 | enum 布局类型 : `"mobile"`, (中文(简体) ), `"tablet"`, (中文(简体) ), `"desktop"`, (中文(简体) ), `"desktopSmall"` | 桌面 | Тип |
| 计算器Type | enum 计算器Type : `"test"`, (中文(简体) ), `"main"`, (中文(简体) ), `"partners"`, (中文(简体) ), `"product"`, (中文(简体) ), `"additional"` | 主要 | Тип |
| 分析点 | `(clickContent: string, uniqueId: string) => void` | \- 说吧 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |
| 图像 | `string` | \- 说吧 | {\\fn黑体\\fs20\\shad2\\2aH82\\3aH20\\4aH33\\fscx95\\3cH592001\\be1}♪#################################################################################################################################################################################################################################### |
| 初始产品 | `string` | \- 说吧 | Id # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |
| 状态 | `Record<string, ProductState[]>` | \- 说吧 | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |
| 页脚 | `ReactNode` | \- 说吧 | 节点 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |
| □ 主语 |  |  |  |
| \# # # # # # # / 计算器 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □ 搭档 |  |  |  |
| \================================================================================================== |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □ 额外的 |  |  |  |
| {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}你觉得呢 |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □ 平台 |  |  |  |
| Платформы |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □产品 |  |  |  |
| Продукты |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □目录 |  |  |  |
| Каталог |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □ 编号 |  |  |  |
| 编号 |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □ 图标 |  |  |  |
| Иконка |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □标签 |  |  |  |
| Название |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □ 说明 |  |  |  |
| Дополнительное |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □ 访问 |  |  |  |
| {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| □ 数据测试 |  |  |  |
| 数据测试编号 |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| ∮在克力克上∮ |  |  |  |
| {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |  |  |  |
| ++ Propals 软件 |  |  |  |
| 名称 | 类型 | 默认值 | 说明 |
| \- -- - -- | \- -- - -- | \- | \- |
| 翻译@1110\* | `() => StringIterator<string>` | \- 说吧 | 显示器 |
| 给好机会\* | `() => string` | \- 说吧 | 返回一个字符串,该字符串中所有被Unicode替换字符(U+FFFD)所取代的独行或出行代用符. |
| 时机良好\* | `() => boolean` | \- 说吧 | 如果所有前导代位和后导代位出现对齐并有序,则返回真实. |
| 现职\* | `(index: number) => string` | \- 说吧 | 返回由位于指定索引的单一UTF-16代码单位组成的新字符串。 @ param 索引 理想代码单元的零基索引. 一个负索引将从最后一个项目中算回来 . |
| 全部替换\* | `{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; }` | \- 说吧 | 使用正则表达式或搜索字符串替换字符串中子字符串的所有实例。 @ param searchValue A 字符串需要搜索 。 @param 替换包含文本的 Vale A 字符串, 以替换此字符串中每次成功匹配的搜索值 。 @ param searchValue A 字符串需要搜索 。 @param 替换器 A 函数返回替换文本 . |
| 全部匹配\* | `(regexp: RegExp) => RegExpStringIterator<RegExpExecArray>` | \- 说吧 | 将字符串与正则表达式相匹配,并返回包含搜索结果的匹配符。 @param regexp 包含正则表达式图案和旗帜的可变名称或字符串字元. |
| 修饰权利\* | `() => string` | \- 说吧 | 从字符串中去掉后面的白空格和行终止字符。 @ depressated 浏览器兼容性的一个后遗症功能. 使用 `trimEnd` 换成 |
| 四分卫\* | `() => string` | \- 说吧 | 从字符串中去除主白空格和行终止字符。 @ depressated 浏览器兼容性的一个后遗症功能. 使用 `trimStart` 换成 |
| 三进制开始\* | `() => string` | \- 说吧 | 从字符串中去除主白空格和行终止字符. |
| 三进制\* | `() => string` | \- 说吧 | 从字符串中去掉后面的白空格和行终止字符. |
| 尾声 \* | `(maxLength: number, fillString?: string) => string` | \- 说吧 | 用给定的字符串来支撑当前字符串(可能重复),这样所产生的字符串就可以达到给定的长度. 粘贴从当前字符串的端( 右) 应用 。 @ param 最大连线 一旦当前字符串被加成后,所产生的字符串的长度会增加. 如果此参数小于当前字符串的长度,则当前字符串将按原样返回. @ param 填充图 用来固定当前字符串的字符串 。 如果此字符串太长, 将会被截取并应用最左边的部分 。 此参数的默认值为 " (U+0020). |
| 启动 \* | `(maxLength: number, fillString?: string) => string` | \- 说吧 | 用给定的字符串来支撑当前字符串(可能重复),这样所产生的字符串就可以达到给定的长度. 从当前字符串的起( 左) 开始应用 。 @ param 最大连线 一旦当前字符串被加成后,所产生的字符串的长度会增加. 如果此参数小于当前字符串的长度,则当前字符串将按原样返回. @ param 填充图 用来固定当前字符串的字符串 。 如果此字符串太长, 将会被截取并应用最左边的部分 。 此参数的默认值为 " (U+0020). |
| 苏普\* | `() => string` | \- 说吧 | 回返a `<sup>` HTML 元素 @ depressated 浏览器兼容性遗留特性 |
| 子项\* | `() => string` | \- 说吧 | 回返a `<sub>` HTML 元素 @ depressated 浏览器兼容性遗留特性 |
| 罢工\* | `() => string` | \- 说吧 | 回返a `<strike>` HTML 元素 @ depressated 浏览器兼容性遗留特性 |
| 小型\* | `() => string` | \- 说吧 | 回返a `<small>` HTML 元素 @ depressated 浏览器兼容性遗留特性 |
| 链接\* | `(url: string) => string` | \- 说吧 | 返回 a `<a>` HTML 元素并设置href 属性值@ depressed 浏览器相容性的遗留特性 |
| 斜体\* | `() => string` | \- 说吧 | 返回 a `<i>` HTML 元素 @ depressated 浏览器兼容性遗留特性 |
| 字体大小\* | `{ (size: number): string; (size: string): string; }` | \- 说吧 | 回返a `<font>` HTML 元素和设置大小属性值 @ depressed 浏览器兼容性的后遗症特征 @ depressed 浏览器兼容性的后遗症特征 |
| 字体颜色\* | `(color: string) => string` | \- 说吧 | 回返a `<font>` HTML 元素和设置颜色属性值@ depressed 浏览器兼容性的遗留特性 |
| 固定\* | `() => string` | \- 说吧 | 回返a `<tt>` HTML 元素 @ depressated 浏览器兼容性遗留特性 |
| 粗体\* | `() => string` | \- 说吧 | 回返a `<b>` HTML 元素 @ depressated 浏览器兼容性遗留特性 |
| 闪烁\* | `() => string` | \- 说吧 | 回返a `<blink>` HTML 元素 @ depressated 浏览器兼容性遗留特性 |
| 大块\* | `() => string` | \- 说吧 | 回返a `<big>` HTML 元素 @ depressated 浏览器兼容性遗留特性 |
| 锚\* | `(name: string) => string` | \- 说吧 | 返回 a `<a>` HTML 锚定元素并设置文本值的名称属性@ depressated 浏览器兼容性的一个遗留特性@param name |
| 启动时间\* | `(searchString: string, position?: number) => boolean` | \- 说吧 | 如果转换为字符串的搜索元素序列与此对象的相应元素相同(转换为字符串),则返回真. 否则,返回假. |
| 重复 \* | `(count: number) => string` | \- 说吧 | 返回一个字符串值,该数值取自附加的计数副本。 如果数为 0,则返回空字符串。 @ param 附加的复制件数 |
| 恢复正常\* | `{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }` | \- 说吧 | 返回按Unicode标准附件#15,Unicode Normalization表格所指定的表格命名的将字符串正常化的字符串值。 @param窗体 适用值:"NFC","NFD","NFKC",或"NFKD",如果未指定默认为"NFC" @param窗体 适用值:"NFC","NFKC",或"NFKD",如果未指定默认为"NFC" |
| 结束于 \* | `(searchString: string, endPosition?: number) => boolean` | \- 说吧 | 如果转换为字符串的搜索元素序列与从 endPosition – 长度( 此) 开始的此对象的相应元素( 转换为字符串) 相同, 则返回真值 。 否则,返回假. |
| 包括\* | `(searchString: string, position?: number) => boolean` | \- 说吧 | 如果搜索串显示为将对象转换为字符串的结果的子字符串,则返回真;在一个或多个位置大于或等于位置;否则,返回假。 @ param search 搜索串@ param 位置 如果位置未定义,则假定为 0,以便搜索所有字符串 . |
| 代码点 | `(pos: number) => number` | \- 说吧 | 返回一个小于1114112 (0x110000)的非负整数,该整数是从字符串中位置 pos 的字符串元素起的 UTF-16 编码代码点的代码值,由将该对象转换为字符串所产生。 如果该位置没有元素,则结果没有定义. 如果有效的UTF-16替代对不从 pos 开始,结果就是 pos 的代码单位. |
| 子字符串 \* | `(from: number, length?: number) => string` | \- 说吧 | 获得从指定位置开始并具有指定长度的子字符串。 @ depressed 浏览器兼容性的一个后遗症功能 @param 从想要的子字符串的起步位置. 字符串中第一个字符的索引为0. @ param 长度 返回子字符串中要包含的字符数 . |
| 长度\* | `number` | \- 说吧 | 返回字符串对象的长度. |
| 修饰\* | `() => string` | \- 说吧 | 从字符串中删除正后方的白空格和行名字符. |
| 切换到本地端 | `{ (locales?: string | string[]): string; (locales?: LocalesArgument): string; }` | \- 说吧 | 返回一个字符串,将所有字母字符转换为大写,同时考虑到主机环境的当前地块. |
| 到上册\* | `() => string` | \- 说吧 | 将字符串中的所有字母字符转换为大写. |
| 切换到本地下层文件\* | `{ (locales?: string | string[]): string; (locales?: LocalesArgument): string; }` | \- 说吧 | 将所有字母化字符转换为小写,同时考虑到主机环境当前的地块. |
| 切换到小写\* | `() => string` | \- 说吧 | 将字符串中的所有字母字符转换为小写. |
| 子字符串\* | `(start: number, end?: number) => string` | \- 说吧 | 返回字符串对象内指定位置的子字符串。 @ param 开始 表示子字符串开始的零基指数. @param end 零基指数表示子弦的结束. 子字符串包括最高(但不包括)端所显示的字符. 如果删除了结尾,则返回从起始到原字符串结尾的字符. |
| 拆分 \* | `{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }` | \- 说吧 | 使用指定的分隔符将字符串拆分为子字符串,并作为数组返回。 @param 分隔符 A 字符串,用于识别字符串的分隔符。 如果省略,则返回包含整个字符串的单元素数组。 @param 限制 A 用于限制数组中返回元素的数量 。 @ param 分解器 能够分割字符串的对象。 @param 限制 A 用于限制数组中返回元素的数量 . |
| 切开\* | `(start?: number, end?: number) => string` | \- 说吧 | 返回字符串的一节。 @ param 开始 字符串Obj指定部分的起始索引。 @param end 索引到字符串Obj指定部分的结尾. 子字符串包括最高(但不包括)端所显示的字符. 如果不指定该值,子字符串会持续到字符串Obj的结尾. |
| 搜索 \* | `{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }` | \- 说吧 | 在正则表达式搜索中查找第一个子字符串匹配。 @ param regexp 正则表达式图案和可适用的旗帜. @ param 搜索器 支持在字符串内搜索的对象. |
| 替换\* | `{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { ...; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substring: string, ...args: any[]) => string): string; }` | \- 说吧 | 在字符串中替换文本,使用正则表达式或搜索字符串。 将字符串和 QQlinkcode 替换为 Vale} 传给 `[Symbol.replace]` 在QQlinkcode 搜索Value 上的方法 这种方法预计会执行自己的替换算法. 在字符串中替换文本,使用支持在字符串中替换的对象。 @param searchValue A 字符串或要搜索的正则表达式 。 @param 替换包含要替换文本的Value A字符串 。 当 QQlinkcode 搜索 Value 是一个 `RegExp`中,如果 `g` 设置了旗帜(或只有开头的匹配,如果 `y` 旗帜也存在). 否则,只替换了"QQlinkcode searchValue"的第一个匹配. @ param searchValue A 字符串需要搜索 。 @param 替换器 A 函数返回替换文本 。 @ param 搜索值 支持在字符串中搜索和替换匹配对象的对象。 @ param 替换值 取而代之的文字. @param searchValue A 对象可以在字符串内搜索并替换匹配. @param 替换器 A 函数返回替换文本 . |
| 匹配\* | `{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }` | \- 说吧 | 将字符串与正则表达式相匹配,并返回包含搜索结果的数组。 匹配支持匹配的字符串或对象,并返回包含搜索结果的数组,如果没有匹配,则无效。 @param regexp 包含正则表达式图案和旗帜的可变名称或字符串字元. @ param 匹配器 一个支持匹配的对象. |
| 语言比较\* | `{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; (that: string, locales?: LocalesArgument, options?: CollatorOptions): number; }` | \- 说吧 | 确定两个字符串在当前区域中是否等同。 确定当前或指定区域中两个字符串是否等同。 @ param 字符串用于比较目标字符串 @ param 字符串用于比较目标字符串 @ param locales A locale 字符串或包含一种或多种语言或地语标记的数组地语字符串. 如果您包含多个语言字符串, 请按优先级的下行顺序列出, 以便第一个条目是首选语言 。 如果您省略了此参数, 则使用 JavaScript 运行时间的默认语言 。 该参数必须符合BCP 47标准;参见Intl. 详细整理对象 。 @ param 选项 包含一个或多个属性的指定比较选项的对象。 见入道. 详细整理对象 。 @ param 字符串用于比较目标字符串 @ param locales A locale 字符串或含有一种或多种语言或locale 标记的数组 . 如果您包含多个语言字符串, 请按优先级的下行顺序列出, 以便第一个条目是首选语言 。 如果您省略了此参数, 则使用 JavaScript 运行时间的默认语言 。 该参数必须符合BCP 47标准;参见Intl. 详细整理对象 。 @ param 选项 包含一个或多个属性的指定比较选项的对象。 见入道. 详细整理对象 . |
| 上个索引\* | `(searchString: string, position?: number) => number` | \- 说吧 | 返回字符串中最后一个子字符串的出错。 @ param 搜索结构 下弦去寻取. @ param 立场 开始搜索的索引 。 如果省略,则搜索从字符串末尾开始. |
| 指数\* | `(searchString: string, position?: number) => number` | \- 说吧 | 返回子串第一次出现的位置。 @ param 搜索结构 字符串中要搜索的子字符串@ param 位置 开始搜索字符串对象的索引 。 如果省略,则从字符串开头开始搜索. |
| 骗取\* | `(...strings: string[]) => string` | \- 说吧 | 返回包含两个或两个以上字符串接合的字符串。 @ param 字符串 附加到字符串末尾的字符串 . |
| 字符代码At\* | `(index: number) => number` | \- 说吧 | 返回指定位置字符的Unicode值。 @ param 索引 理想字符的零基索引. 如果指定索引中没有字符,则返回NaN. |
| 字符目录\* | `(pos: number) => string` | \- 说吧 | 返回指定索引中的字符。 @param pos 想要的字符的零基索引 . |
| 倒数 | `() => string` | 函数到String () { \[本地代码\]} | 返回字符串的字符串表示式. |
| 值 | `() => string` | 函数值Of(){ \[本地代码\]} | 返回指定对象的原始值. |
| □ 得到下载文件 |  |  |  |
| `helper` |  |  |  |

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢

## 打开ShareClick

### 道具

| 名称 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| 后端空间 | `string` | 'https://api.cloud.ru' (英语) |  |
| 基数Url | `string` | "https://cloud.ru" (中文(简体) ) |  |
| □得到费奇芬 |  |  |  |
| `helper` |  |  |  |

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢

## 获取初始化

`helper`

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢

[更改日志](https://npmcn.com/package/%40cloud-ru/uikit-product-calculator/CHANGELOG.md)

## 常见问题

### @cloud-ru/uikit-product-calculator 是什么？

npm i @cloud-ru/uikit-product-calculator

### 如何安装 @cloud-ru/uikit-product-calculator？

在项目目录运行 npm install @cloud-ru/uikit-product-calculator，或使用 pnpm add / yarn add / bun add。

### @cloud-ru/uikit-product-calculator 支持 TypeScript 吗？

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

### @cloud-ru/uikit-product-calculator 支持 ESM 还是 CommonJS？

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

### @cloud-ru/uikit-product-calculator 可以商用吗？

@cloud-ru/uikit-product-calculator 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @cloud-ru/uikit-product-calculator 的下载量有多少？

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

### @cloud-ru/uikit-product-calculator 还在维护吗？

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

