Skip to content

弹窗交互 ​

Mini App 提供多种弹窗和交互方法,用于显示消息、扫描二维码、读取剪贴板、处理支付等。

弹窗 ​

showPopup ​

javascript
aiaxchat.WebApp.showPopup(params, callback)

显示自定义弹窗。

参数类型必填描述
paramsObject是弹窗参数
params.titleString否弹窗标题,最多 64 个字符
params.messageString是弹窗消息文本,最多 256 个字符
params.buttonsArray否按钮列表,最多 3 个按钮
callbackFunction否关闭回调,参数为按钮 ID

按钮对象 ​

字段类型必填描述
idString否按钮 ID,最多 64 个字符,默认为空字符串
typeString否按钮类型:"default"、"ok"、"close"、"cancel"、"destructive"
textString条件按钮文字(type 为 "default" 或 "destructive" 时必填)
javascript
aiaxchat.WebApp.showPopup({
  title: '确认操作',
  message: '确定要执行此操作吗?',
  buttons: [
    { id: 'confirm', type: 'default', text: '确认' },
    { id: 'cancel', type: 'cancel' }
  ]
}, (buttonId) => {
  if (buttonId === 'confirm') {
    // 用户点击了确认
  }
});

showAlert ​

javascript
aiaxchat.WebApp.showAlert(message, callback)

显示警告弹窗,包含一个"确定"按钮。

参数类型必填描述
messageString是警告消息文本
callbackFunction否用户点击"确定"后的回调
javascript
aiaxchat.WebApp.showAlert('操作成功!', () => {
  console.log('用户已确认');
});

showConfirm ​

javascript
aiaxchat.WebApp.showConfirm(message, callback)

显示确认弹窗,包含"确定"和"取消"两个按钮。

参数类型必填描述
messageString是确认消息文本
callbackFunction否回调函数,参数 confirmed(Boolean)表示用户是否点击了确定
javascript
aiaxchat.WebApp.showConfirm('确定要删除吗?', (confirmed) => {
  if (confirmed) {
    deleteItem();
  }
});

QR 码扫描 ​

showScanQrPopup ​

javascript
aiaxchat.WebApp.showScanQrPopup(params, callback)

显示 QR 码扫描弹窗。Bot API 6.9+

参数类型必填描述
paramsObject否扫描参数
params.textString否扫描界面的提示文字
callbackFunction否扫描成功回调,参数为扫描到的文本。返回 true 关闭弹窗
javascript
aiaxchat.WebApp.showScanQrPopup({ text: '扫描二维码' }, (text) => {
  console.log('扫描结果:', text);
  return true; // 关闭扫描弹窗
});

closeScanQrPopup ​

javascript
aiaxchat.WebApp.closeScanQrPopup()

关闭 QR 码扫描弹窗。Bot API 6.9+

剪贴板 ​

readTextFromClipboard ​

javascript
aiaxchat.WebApp.readTextFromClipboard(callback)

读取剪贴板中的文本内容。Bot API 6.9+

参数类型必填描述
callbackFunction否回调函数,参数 text(String | null)为剪贴板内容
javascript
aiaxchat.WebApp.readTextFromClipboard((text) => {
  if (text) {
    console.log('剪贴板内容:', text);
  }
});

发票与支付 ​

openInvoice ​

javascript
aiaxchat.WebApp.openInvoice(url, callback)

打开发票支付界面。

参数类型必填描述
urlString是发票链接
callbackFunction否支付完成回调,参数 status 为支付状态
javascript
aiaxchat.WebApp.openInvoice('https://t.me/$invoice_id', (status) => {
  if (status === 'paid') {
    showSuccess('支付成功');
  } else if (status === 'cancelled') {
    showInfo('支付已取消');
  }
});

支付状态值:

状态描述
paid支付成功
cancelled用户取消支付
failed支付失败
pending支付处理中

分享 ​

shareToStory ​

javascript
aiaxchat.WebApp.shareToStory(media_url, params)

分享内容到故事。Bot API 7.8+

参数类型必填描述
media_urlString是媒体文件 URL
paramsObject否分享参数
params.textString否附加文字
params.widget_linkObject否小组件链接
params.widget_link.urlString否链接 URL
params.widget_link.nameString否显示名称

shareMessage ​

javascript
aiaxchat.WebApp.shareMessage(msg_id, callback)

分享 Bot 预先准备的消息。Bot API 8.0+

参数类型必填描述
msg_idString是预先准备的消息 ID
callbackFunction否回调函数,参数 sent(Boolean)

Emoji 状态 ​

setEmojiStatus ​

javascript
aiaxchat.WebApp.setEmojiStatus(custom_emoji_id, params, callback)

为用户设置自定义 emoji 状态。Bot API 8.0+

参数类型必填描述
custom_emoji_idString是自定义 emoji ID
paramsObject否参数
params.durationInteger否持续时间(秒)
callbackFunction否回调函数,参数 set(Boolean)

requestEmojiStatusAccess ​

javascript
aiaxchat.WebApp.requestEmojiStatusAccess(callback)

请求设置 emoji 状态的权限。Bot API 8.0+

参数类型必填描述
callbackFunction否回调函数,参数 granted(Boolean)

文件下载 ​

downloadFile ​

javascript
aiaxchat.WebApp.downloadFile(params, callback)

请求下载文件。Bot API 8.0+

参数类型必填描述
paramsObject是下载参数
params.urlString是文件 URL
params.file_nameString是建议的文件名
callbackFunction否回调函数,参数 accepted(Boolean)
javascript
aiaxchat.WebApp.downloadFile({
  url: 'https://example.com/report.pdf',
  file_name: 'report.pdf'
}, (accepted) => {
  if (accepted) {
    console.log('用户已同意下载');
  }
});

权限请求 ​

requestWriteAccess ​

javascript
aiaxchat.WebApp.requestWriteAccess(callback)

请求向用户发送消息的写入权限。Bot API 6.9+

参数类型必填描述
callbackFunction否回调函数,参数 granted(Boolean)

requestContact ​

javascript
aiaxchat.WebApp.requestContact(callback)

请求用户的联系人信息(手机号)。Bot API 6.9+

参数类型必填描述
callbackFunction否回调函数,参数 sent(Boolean)