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") > -1) { errmsg = errmsg } 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('Please try again') > -1) { errmsg = "Verification failed due to high traffic. Please attempt to verify again or try later" } else if(errmsg.indexOf('already claimed') > -1) { errmsg = "Already received" } else if(errmsg.indexOf('Complete CAPTCHA verification to verify you are not a robot') > -1) { errmsg = "Complete CAPTCHA verification to verify you are not a robot" } else if(errmsg.indexOf('Verification Successful') > -1) { errmsg = "Verification Successful" } else if(errmsg.indexOf('Verification Timeout') > -1) { errmsg = "Verification Timeout" } else if(errmsg.indexOf('Verification Error') > -1) { errmsg = "Verification Error" } else if(errmsg.indexOf('You have already boosted the chest') > -1 || errmsg.indexOf('The chest’s boost count has reached the upper limit') > -1 || errmsg.indexOf('Today’s boost count has been exhausted') > -1) { // keep the errmsg } 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;