# @deliverart/sdk-js-menu 中文文档

规范地址：https://npmcn.com/package/%40deliverart/sdk-js-menu/

版本：3\.0\.1
npm 元数据更新时间：2026-11-10T20:27:20.161Z
中文译文更新时间：2026-11-12T00:15:01.757Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40deliverart/sdk-js-menu
原文对照：https://npmcn.com/package/%40deliverart/sdk-js-menu/?lang=original

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

- 包体积（解压后）：698 kB，6 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：6 个
- 首次发布：2025-07-02T16:48:28.137Z
- 最新版本发布：2026-11-10T20:27:19.951Z
- 近 30 天下载量：3919（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：319（近 12 个月 231 个）

## 中文简介

交付 JavaScript SDK 菜单管理

## 安装

```sh
npm install @deliverart/sdk-js-menu
```

也可以使用：`pnpm add @deliverart/sdk-js-menu`、`yarn add @deliverart/sdk-js-menu`、`bun add @deliverart/sdk-js-menu`

## README

# @ deliverart/ sdk-js- 菜单

交付艺术JavaScript SDK的菜单管理软件包. 提供菜单版本,菜单项目,类别,修饰符,和价格超标的管理方法.

## 安装

```bash
npm install @deliverart/sdk-js-menu @deliverart/sdk-js-core
# or
pnpm add @deliverart/sdk-js-menu @deliverart/sdk-js-core
# or
yarn add @deliverart/sdk-js-menu @deliverart/sdk-js-core
```

## 特征

-   **菜单版本**: 获取菜单版本及其细节
-   **菜单项目**: 菜单项的完整 CRUD 操作
-   **菜单项目类别**: 管理菜单项类别
-   **菜单项目修改器**: 获取菜单项目修改器及其细节
-   **菜单项目价格覆盖**: 管理菜单项的价格覆盖

## 使用量

### 菜单版本

#### 获取菜单版本

```typescript
import { GetMenuVersions } from '@deliverart/sdk-js-menu'

const menuVersions = await client.call(new GetMenuVersions({
  query: {
    page: 1,
    itemsPerPage: 20,
  }
}))
```

#### 获取菜单版本细节

```typescript
import { GetMenuVersionDetails } from '@deliverart/sdk-js-menu'

const menuVersion = await client.call(new GetMenuVersionDetails('menu-version-id'))
```

`MenuItemDto.compositions` 包含可移动基底的菜单项 id 成份/成份。 创建命令清除时, 请参考其中之一 ids 在可写入命令的项目中 `removals` 阵列.

### 菜单项目

#### 获取菜单项目

```typescript
import { GetMenuItems } from '@deliverart/sdk-js-menu'

const menuItems = await client.call(new GetMenuItems({
  query: {
    page: 1,
    itemsPerPage: 20,
  }
}))
```

#### 获取菜单项目细节

```typescript
import { GetMenuItemDetails } from '@deliverart/sdk-js-menu'

const menuItem = await client.call(new GetMenuItemDetails('menu-item-id'))
```

#### 创建菜单项目

```typescript
import { CreateMenuItem } from '@deliverart/sdk-js-menu'

const newMenuItem = await client.call(new CreateMenuItem({
  name: [
    { locale: 'en', value: 'Margherita Pizza' },
    { locale: 'it', value: 'Pizza Margherita' }
  ],
  description: [
    { locale: 'en', value: 'Classic tomato and mozzarella' },
    { locale: 'it', value: 'Classica pomodoro e mozzarella' }
  ],
  price: 12.99,
  category: '/api/menu-item-categories/123',
  // ... other fields
}))
```

#### 更新菜单项目

```typescript
import { UpdateMenuItem } from '@deliverart/sdk-js-menu'

const updated = await client.call(new UpdateMenuItem('menu-item-id', {
  price: 13.99,
}))
```

#### 删除菜单项目

```typescript
import { DeleteMenuItem } from '@deliverart/sdk-js-menu'

await client.call(new DeleteMenuItem('menu-item-id'))
```

### 菜单项目类别

#### 获取菜单项目类别

```typescript
import { GetMenuItemCategories } from '@deliverart/sdk-js-menu'

const categories = await client.call(new GetMenuItemCategories({
  query: {
    page: 1,
    itemsPerPage: 20,
  }
}))
```

#### 获取菜单项目分类细节

```typescript
import { GetMenuItemCategoryDetails } from '@deliverart/sdk-js-menu'

const category = await client.call(new GetMenuItemCategoryDetails('category-id'))
```

#### 创建菜单项目类别

```typescript
import { CreateMenuItemCategory } from '@deliverart/sdk-js-menu'

const newCategory = await client.call(new CreateMenuItemCategory({
  name: [
    { locale: 'en', text: 'Pizzas' },
    { locale: 'it', text: 'Pizze' }
  ],
  pointOfSale: '/point_of_sales/123e4567-e89b-12d3-a456-426614174000',
  // ... other fields
}))
```

#### 更新菜单项目类别

```typescript
import { UpdateMenuItemCategory } from '@deliverart/sdk-js-menu'

const updated = await client.call(new UpdateMenuItemCategory('category-id', {
  name: [
    { locale: 'en', value: 'Updated Category' }
  ]
}))
```

#### 删除菜单项目类别

```typescript
import { DeleteMenuItemCategory } from '@deliverart/sdk-js-menu'

await client.call(new DeleteMenuItemCategory('category-id'))
```

### 菜单项目修改器

#### 获取菜单项目修改器

```typescript
import { GetMenuItemModifiers } from '@deliverart/sdk-js-menu'

const modifiers = await client.call(new GetMenuItemModifiers({
  query: {
    page: 1,
    itemsPerPage: 20,
  }
}))
```

#### 获取菜单项目修改细节

```typescript
import { GetMenuItemModifierDetails } from '@deliverart/sdk-js-menu'

const modifier = await client.call(new GetMenuItemModifierDetails('modifier-id'))
```

### 菜单项目价格覆盖

管理特定菜单项、销售点或时间段的价格超标.

```typescript
import { 
  GetMenuItemPriceOverrides,
  GetMenuItemPriceOverrideDetails,
  CreateMenuItemPriceOverride,
  UpdateMenuItemPriceOverride,
  DeleteMenuItemPriceOverride
} from '@deliverart/sdk-js-menu'

// Get price overrides
const overrides = await client.call(new GetMenuItemPriceOverrides({
  query: {
    page: 1,
    itemsPerPage: 20,
  }
}))

// Create a price override
const override = await client.call(new CreateMenuItemPriceOverride({
  menuItem: '/api/menu-items/123',
  price: 15.99,
  pointOfSale: '/api/point-of-sales/456',
  // ... other fields
}))
```

## 许可证

麻省理工学院

### 搜索菜单名称

所有项目(包括 `ITEM`, (中文(简体) ), `CHOICE` 财务报告和审定财务报表 `BUNDLE`页:1 请求接受 `query.name`。它匹配任意一个对大小写不敏感的子字符串 译名. 空间、口音和发音都保留下来了, `%` 财务报告和审定财务报表 `_` 是字面字符,空白输入则被忽略。 现有 `nameSort` 过滤器 为兼容起见,保留项目/类别.

```typescript
const products = await client.call(new GetMenuItemsFromPointOfSale(posId, {
  query: { name: 'Pizza Margherita', type: 'ITEM', page: 1 },
}))
const modifiers = await client.call(new GetMenuItemModifiersFromPointOfSale(posId, {
  query: { name: 'Extra cheese', scope: 'global', page: 1 },
}))
```

在 Hub 中使用 POS 扫描请求并保留活动类型/ 镜像和其他 更改搜索时过滤。 更改过滤器后将页面重置为 1 .

### 价格超标的背景增值税

价格覆盖读取,嵌入式本地变体和 `MenuPriceOverrideDto` 曝光 `taxRate: number | null`。 。 。 . `null` 继承引用菜单项的增值税; a 明确 `0` 绝对是零。 值从0到100不等. 旧字段缺失 读取有效载荷 `null`。 。 。 .

创建和提供 PATCH 投入 `taxRate`。仅在编辑时省略 a 价格: API 保留现有的上下文率。 发送 `null` 仅在 明确恢复遗产。 更新覆盖不更改 引用菜单项目的全球增值税.

## 常见问题

### @deliverart/sdk-js-menu 是什么？

交付 JavaScript SDK 菜单管理

### 如何安装 @deliverart/sdk-js-menu？

在项目目录运行 npm install @deliverart/sdk-js-menu，或使用 pnpm add / yarn add / bun add。

### @deliverart/sdk-js-menu 支持 TypeScript 吗？

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

### @deliverart/sdk-js-menu 支持 ESM 还是 CommonJS？

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

### @deliverart/sdk-js-menu 可以商用吗？

@deliverart/sdk-js-menu 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @deliverart/sdk-js-menu 的下载量有多少？

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

### @deliverart/sdk-js-menu 还在维护吗？

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

