86 lines
4.3 KiB
JavaScript
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;
|