Skip to Content
dApp 接入
本页目录

wallet_getPermissions

返回 dApp 当前已授权的权限。此方法不会提示用户。


参数

无


返回值

Array 权限对象数组:

字段类型说明
parentCapabilitystring权限名称
datenumber授权时间戳
caveatsarray权限限制

示例

const permissions = await window.$onekey.ethereum.request({ method: 'wallet_getPermissions' }) console.log('Current permissions:', permissions) // Check if connected const isConnected = permissions.some( p => p.parentCapability === 'eth_accounts' ) console.log('Is connected:', isConnected)

权限检查工具

async function checkPermissions() { const permissions = await window.$onekey.ethereum.request({ method: 'wallet_getPermissions' }) return { hasAccounts: permissions.some(p => p.parentCapability === 'eth_accounts'), permissions } } const { hasAccounts } = await checkPermissions() if (!hasAccounts) { // Request connection await window.$onekey.ethereum.request({ method: 'eth_requestAccounts' }) }

错误码

错误码消息说明
-32603Internal errorProvider 错误

说明

  • 如果没有授权任何权限,返回空数组
  • 不会提示用户进行任何操作
  • 适合在不触发弹窗的情况下检查连接状态
  • 遵循 EIP-2255  规范

请处理目标钱包版本不支持该方法时返回的错误。账户权限与 RPC 连接状态不同,也不代表用户预先批准了签名或交易。基础账户连接使用 eth_requestAccounts。

最后更新于