import Vue from 'vue'; import confirm from './errorDialog.vue'; const iErrorMessage = Vue.extend(confirm); function showErrMsg(err, action) { let errmsg = err // alert(err,'----') // let errmsg = err; if (typeof err === 'object') { errmsg = JSON.stringify(err); } if (errmsg.indexOf('insufficient tickets') > -1) { errmsg = 'Not enough exploration attempts.' } else if(errmsg.indexOf('invalid opcode: opcode 0xd8 not defined') > -1) { errmsg = `Claim failed due to insufficient gas.` } else if(errmsg.indexOf('User rejected the request') > -1) { errmsg = `Please select the correct network to continue.` } else if(errmsg.indexOf('User denied transaction signature') > -1) { errmsg = `Signature required to proceed.` } else if(errmsg.indexOf('Internal JSON-RPC error') > -1) { errmsg = `Insufficient gas fees.` } else if(errmsg.indexOf('Hash: not available') > -1) { errmsg = `Operation timed out. Please retry.` } else if(errmsg.indexOf('chest already opened') > -1) { errmsg = 'This chest has been opened already' } else if(errmsg.indexOf('check error: not found guild') > -1) { errmsg = 'Transaction failed please try again' } else if(errmsg.indexOf('execution reverted: TreasureHunt: paused') > -1) { errmsg = 'Event starting soon. Please check back later' } else if(errmsg.indexOf('waiting for chain confirm') > -1) { errmsg = 'waiting for chain confirm' } else if(errmsg.indexOf('voucher not found') > -1) { errmsg = 'Invalid Redemption Code' } else if(errmsg.indexOf('Can not be empty') > -1) { errmsg = 'Redemption Code is required' } else if(errmsg.indexOf('need connect discord first') > -1) { errmsg = `Discord account unlinked. Please ensure the 'Connect Your Discord' quest is complete.` } else if(errmsg.indexOf("You do not hold the required role in the 'Ink' Discord server") > -1) { errmsg = `You do not hold the required role in the 'Ink' Discord server` } else if(errmsg.indexOf("You do not hold the required role in the 'Counter Fire' Discord server") > -1) { errmsg = `"You do not hold the required role in the 'Counter Fire' Discord server"` } else if(errmsg.indexOf('Invalid Voucher Code') > -1) { errmsg = 'Invalid Redemption Code' } else if(errmsg.indexOf('voucher already used') > -1) { errmsg = 'Redemption Code has already been used' } else if(errmsg.indexOf('already claimed') > -1) { errmsg = 'This reward chest has been claimed already' } else if(errmsg.indexOf('had no role') > -1) { errmsg = 'You do not hold the required role in the "Counter Fire" Discord server' } else if(errmsg.indexOf('have not join guild') > -1) { errmsg = 'You do not hold the required role in the "Counter Fire" Discord server' } else if(errmsg.indexOf('twitter already binded') > -1) { errmsg = 'This X account has already been linked' } else if(errmsg.indexOf('discord already binded to another account') > -1) { errmsg = 'This Discord account has already been linked' } else if(errmsg.indexOf("Please complete the 'Connect Your X' quest first") > -1) { errmsg = "Please complete the 'Connect Your X' quest first" } else if(errmsg.indexOf("Please complete the 'Connect Your Discord' quest first") > -1) { errmsg = "Please complete the 'Connect Your Discord' quest first" } else if(errmsg.indexOf("maintance now, please try later") > -1) { errmsg = "maintance now, please try later" } else if(errmsg.indexOf("Delabs Game") > -1) { errmsg = "You do not hold the required role in the 'Delabs Game' Discord server" } else if(errmsg.indexOf('Please try again') > -1) { errmsg = "Verification failed due to high traffic. Please attempt to verify again or try later" } else { // 请重试 errmsg = 'An unknown on-chain interaction error has occurred. Our technical team cannot resolve this issue directly. Please use a blockchain explorer to check your wallet address and determine if the transaction was recorded or if another issue exists.' } const _confirm = new iErrorMessage({ data() { return { message: errmsg, dialogVisible: true, nextAction: action }; }, }); const element = _confirm.$mount().$el; document.body.appendChild(element); } showErrMsg.install = (Vue) => { Vue.prototype.$showErr = showErrMsg; }; export default showErrMsg;