|
@@ -148,10 +148,10 @@
|
|
</div>
|
|
</div>
|
|
<div class="right">
|
|
<div class="right">
|
|
<div class="title">
|
|
<div class="title">
|
|
- 燃气报价(单位:元)
|
|
|
|
|
|
+ 燃气报价(单位:gwei)
|
|
</div>
|
|
</div>
|
|
<div class="base">
|
|
<div class="base">
|
|
- 当前基数:38基于以太坊交易内存池预测
|
|
|
|
|
|
+<!-- 当前基数:38基于以太坊交易内存池预测-->
|
|
</div>
|
|
</div>
|
|
<div class="gasBox">
|
|
<div class="gasBox">
|
|
<div class="top">
|
|
<div class="top">
|
|
@@ -159,10 +159,10 @@
|
|
<img src="../../assets/dashboard/Vector.svg" alt="Vector">
|
|
<img src="../../assets/dashboard/Vector.svg" alt="Vector">
|
|
<div class="info">
|
|
<div class="info">
|
|
<div class="speed">
|
|
<div class="speed">
|
|
- Top 40
|
|
|
|
|
|
+ High
|
|
</div>
|
|
</div>
|
|
<div class="price">
|
|
<div class="price">
|
|
- $1.57 | for 15 seconds
|
|
|
|
|
|
+ {{gas.FastGasPrice}} gwei
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -172,43 +172,49 @@
|
|
<img src="../../assets/dashboard/Vector-1.svg" alt="Vector">
|
|
<img src="../../assets/dashboard/Vector-1.svg" alt="Vector">
|
|
<div class="info">
|
|
<div class="info">
|
|
<div class="speed">
|
|
<div class="speed">
|
|
- High speed 40
|
|
|
|
|
|
+ Average
|
|
</div>
|
|
</div>
|
|
<div class="price">
|
|
<div class="price">
|
|
- $1.53 | 1 minute
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="general">
|
|
|
|
- <div class="item">
|
|
|
|
- <img src="../../assets/dashboard/Vector-2.svg" alt="Vector">
|
|
|
|
- <div class="info">
|
|
|
|
- <div class="speed">
|
|
|
|
- General 40
|
|
|
|
- </div>
|
|
|
|
- <div class="price">
|
|
|
|
- $1.49 | 3 minutes
|
|
|
|
|
|
+ {{gas.ProposeGasPrice}} gwei
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+<!-- <div class="general">-->
|
|
|
|
+<!-- <div class="item">-->
|
|
|
|
+<!-- <img src="../../assets/dashboard/Vector-2.svg" alt="Vector">-->
|
|
|
|
+<!-- <div class="info">-->
|
|
|
|
+<!-- <div class="speed">-->
|
|
|
|
+<!-- Low-->
|
|
|
|
+<!-- </div>-->
|
|
|
|
+<!-- <div class="price">-->
|
|
|
|
+<!-- {{gas.SafeGasPrice}}-->
|
|
|
|
+<!-- </div>-->
|
|
|
|
+<!-- </div>-->
|
|
|
|
+<!-- </div>-->
|
|
|
|
+<!-- </div>-->
|
|
<div class="slow">
|
|
<div class="slow">
|
|
<div class="item">
|
|
<div class="item">
|
|
<img src="../../assets/dashboard/Vector-3.svg" alt="Vector">
|
|
<img src="../../assets/dashboard/Vector-3.svg" alt="Vector">
|
|
<div class="info">
|
|
<div class="info">
|
|
<div class="speed">
|
|
<div class="speed">
|
|
- Slow 40
|
|
|
|
|
|
+ Low
|
|
</div>
|
|
</div>
|
|
<div class="price">
|
|
<div class="price">
|
|
- $1.49 | > 10 minutes
|
|
|
|
|
|
+ {{gas.SafeGasPrice}} gwei
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="logo">
|
|
|
|
- <img src="../../assets/dashboard/image.svg" alt="image">
|
|
|
|
|
|
+ <div class="logo" @click="getGas">
|
|
|
|
+<!-- <img src="../../assets/dashboard/image.svg" alt="image">-->
|
|
|
|
+ <div v-if="!loading">
|
|
|
|
+ 刷新数据
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="loading" style="width: 20px;height: 20px">
|
|
|
|
+ <Loading />
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -293,9 +299,12 @@
|
|
<script>
|
|
<script>
|
|
import * as echarts from 'echarts';
|
|
import * as echarts from 'echarts';
|
|
import {addressGroup, countFee, dailyCost, expectedInput, taskProgress} from "@/api/statistics";
|
|
import {addressGroup, countFee, dailyCost, expectedInput, taskProgress} from "@/api/statistics";
|
|
|
|
+import Loading from "@/components/Loading";
|
|
|
|
+
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "Dashboard",
|
|
name: "Dashboard",
|
|
|
|
+ components: {Loading},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
progressData: [],
|
|
progressData: [],
|
|
@@ -358,7 +367,9 @@ export default {
|
|
xAxisData:[],
|
|
xAxisData:[],
|
|
seriesData:[]
|
|
seriesData:[]
|
|
},
|
|
},
|
|
- timer:null
|
|
|
|
|
|
+ timer:null,
|
|
|
|
+ gas:{},
|
|
|
|
+ loading:false
|
|
};
|
|
};
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
@@ -368,6 +379,7 @@ export default {
|
|
this.getTaskProgress()
|
|
this.getTaskProgress()
|
|
this.getAddressGroup()
|
|
this.getAddressGroup()
|
|
this.roll(60)
|
|
this.roll(60)
|
|
|
|
+ this.getGas()
|
|
},
|
|
},
|
|
beforeDestroy() {
|
|
beforeDestroy() {
|
|
if(this.timer) clearInterval(this.timer)
|
|
if(this.timer) clearInterval(this.timer)
|
|
@@ -610,7 +622,6 @@ export default {
|
|
this.rollStart(t)
|
|
this.rollStart(t)
|
|
},
|
|
},
|
|
rollStart(t) {
|
|
rollStart(t) {
|
|
- console.log('2')
|
|
|
|
let ul1 = document.getElementById('progressBoxOne')
|
|
let ul1 = document.getElementById('progressBoxOne')
|
|
let ul2 = document.getElementById('progressBoxTwo')
|
|
let ul2 = document.getElementById('progressBoxTwo')
|
|
let ulbox = document.getElementById('progressViewBox')
|
|
let ulbox = document.getElementById('progressViewBox')
|
|
@@ -625,8 +636,20 @@ export default {
|
|
},
|
|
},
|
|
rollStop(){
|
|
rollStop(){
|
|
clearInterval(this.timer)
|
|
clearInterval(this.timer)
|
|
- console.log('1')
|
|
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+ getGas() {
|
|
|
|
+ this.loading = true
|
|
|
|
+ fetch('https://api.etherscan.io/api?module=gastracker&action=gasoracle&apikey=DHB4H92CFC1EZTT8FINM3ETSF36T9TRXBZ')
|
|
|
|
+ .then( response =>{
|
|
|
|
+ let res = response.json()
|
|
|
|
+ res.then(result =>{
|
|
|
|
+ this.gas = result.result
|
|
|
|
+ this.loading = false
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
@@ -918,7 +941,7 @@ export default {
|
|
.gasBox {
|
|
.gasBox {
|
|
display: flex;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
- gap: 28px;
|
|
|
|
|
|
+ gap: 88px;
|
|
|
|
|
|
.item {
|
|
.item {
|
|
display: flex;
|
|
display: flex;
|
|
@@ -954,7 +977,9 @@ export default {
|
|
border-radius: 10px;
|
|
border-radius: 10px;
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
- justify-content: center;
|
|
|
|
|
|
+ //justify-content: center;
|
|
|
|
+ padding-left: 80px;
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
.high {
|
|
.high {
|
|
@@ -965,7 +990,9 @@ export default {
|
|
border-radius: 10px;
|
|
border-radius: 10px;
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
- justify-content: center;
|
|
|
|
|
|
+ //justify-content: center;
|
|
|
|
+ padding-left: 80px;
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
.general {
|
|
.general {
|
|
@@ -976,7 +1003,9 @@ export default {
|
|
border-radius: 10px;
|
|
border-radius: 10px;
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
- justify-content: center;
|
|
|
|
|
|
+ //justify-content: center;
|
|
|
|
+ padding-left: 80px;
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
.slow {
|
|
.slow {
|
|
@@ -987,7 +1016,8 @@ export default {
|
|
border-radius: 10px;
|
|
border-radius: 10px;
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
- justify-content: center;
|
|
|
|
|
|
+ //justify-content: center;
|
|
|
|
+ padding-left: 80px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -995,6 +1025,8 @@ export default {
|
|
margin-top: 72px;
|
|
margin-top: 72px;
|
|
display: flex;
|
|
display: flex;
|
|
justify-content: center;
|
|
justify-content: center;
|
|
|
|
+ color: #2980ff;
|
|
|
|
+ cursor: pointer;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|