---
title: "confirm"
description: "显示带确认和取消按钮的系统确认框。"
---


> 显示带确认和取消按钮的系统确认框。

## 签名

```ts
KSM.dialog.confirm(args: {
  title: string;
  message: string;
}): Promise<{ confirmed: boolean }>
```

## 平台与权限

| Windows | Android |权限 |
| --- | --- | --- |
|支持 |支持 | `dialog` |

## 参数

|参数 |类型 |必填 |说明 |
| --- | --- | --- | --- |
| `title` | `string` |是 |对话框标题 |
| `message` | `string` |是 |正文 |

## 返回值

|字段 |类型 |说明 |
| --- | --- | --- |
| `confirmed` | `boolean` |确认时为 `true`，取消或关闭时为 `false` |

## 行为

- Windows 使用 `MB_OKCANCEL | MB_ICONQUESTION`。
- Android 使用 OK 和 Cancel 按钮。
- Android 宿主内部等待 60 秒仍未完成时返回 `false`；前端总线默认 10 秒先以
 `TIMEOUT`拒绝。
- 本方法只返回用户选择，不执行删除、退出或其他副作用。

## 示例

```ts
const { confirmed } = await KSM.dialog.confirm({
  title: '退出',
  message: '未保存的修改会丢失，是否继续？'
});

if (!confirmed) {
  return;
}

await KSM.app.exit();
```

## 错误

|错误 |场景 |
| --- | --- |
|普通 `TypeError` |标题或正文不是字符串 |
| `PERMISSION_DENIED` | `dialog` 权限不可用 |
| `NOT_SUPPORTED` |宿主没有配置对话框服务 |
| `TIMEOUT` |请求超过桥接层 10 秒超时 |

## 相关

- [message](/docs/kasumi/api/dialog/message)
- [app.exit](/docs/kasumi/api/app/exit)