2024-04-22 19:19:57 +08:00

86 lines
4.3 KiB
JavaScript

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;