metaMask vue 连接钱包


import {   ethers } from 'ethers' import MetaMaskOnboarding from '@metamask/onboarding' import {   Message } from 'element-ui'
async function connectMetaMask () {   if (!isMetaMaskInstalled()) {     // 判断是否安装MetaMask扩展工具     const forwarderOrigin = window.location.origin     const onboarding = new MetaMaskOnboarding({       forwarderOrigin     })     onboarding.startOnboarding()     return   }
  const provider = new ethers.providers.Web3Provider(window.ethereum)   try {     const accounts = await window.ethereum.request({       method: 'eth_requestAccounts'     });     const { chainId } = await provider.getNetwork()     const account = accounts[0];     window.ethereum.on('networkChanged', () => {       window.location.reload()     })     window.ethereum.on('accountsChanged', () => {       window.location.reload()     })     window.ethereum.on('message', message => {       console.log('message', message)     })     window.ethereum.on('disconnect', () => {       localStorage.removeItem('walletType')       localStorage.removeItem('walletTypeVerify')       window.location.reload()     })     return {       account,       provider,       chainId,     }   } catch (error) {     console.log(error)     Message.error(error)     return false   }
  function isMetaMaskInstalled () {     const { ethereum } = window     return Boolean(ethereum && ethereum.isMetaMask)   } }
export default connectMetaMask          
ETH