Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
html
/
poolin_app
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Members
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0409e66d
authored
Feb 05, 2018
by
zhanghui1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1111
parent
66c3a83a
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
489 additions
and
47 deletions
+489
-47
src/assets/less/style.less
+22
-14
src/components/Miners/chart.vue
+250
-0
src/components/Miners/detail.vue
+147
-6
src/components/Miners/index.vue
+14
-15
src/components/Settings/Address.vue
+27
-0
src/components/Settings/index.vue
+2
-2
src/components/moban.vue
+8
-0
src/main.js
+1
-1
src/router/index.js
+18
-9
No files found.
src/assets/less/style.less
View file @
0409e66d
...
...
@@ -64,10 +64,10 @@ html,body {-webkit-tap-highlight-color: rgba(0, 0, 0,0); font-size: 0.28rem; bac
.bg-white { background: #fff;}
.line{.pos(r);
&:after {width:100%; height:1px; background:#ccc;.pos(a); left: 0; right: 0; top:0; transform:scale(1,0.33) translateY(-1px);content:'';}
.xt{width:100%; height:1px; background:#ccc;.pos(a); left: 0; right: 0; top:0; transform:scale(1,0.33) translateY(-1px);content:'';}
.xb{width:100%; height:1px; background:#ccc;.pos(a); left: 0; right: 0; bottom:0; transform:scale(1,0.33) translateY(1px);content:'';}
.yl{width:1px; height:100%; background:#ccc;.pos(a); left: 0; bottom: 0; top:0; transform:scale(0.33,1) translateX(-1px);content:'';}
.yr{width:1px; height:100%; background:#ccc;.pos(a); right: 0; bottom: 0; top:0; transform:scale(0.33,1) translateX(1px);content:'';}
&
.xt{width:100%; height:1px; background:#ccc;.pos(a); left: 0; right: 0; top:0; transform:scale(1,0.33) translateY(-1px);content:'';}
&
.xb{width:100%; height:1px; background:#ccc;.pos(a); left: 0; right: 0; bottom:0; transform:scale(1,0.33) translateY(1px);content:'';}
&
.yl{width:1px; height:100%; background:#ccc;.pos(a); left: 0; bottom: 0; top:0; transform:scale(0.33,1) translateX(-1px);content:'';}
&
.yr{width:1px; height:100%; background:#ccc;.pos(a); right: 0; bottom: 0; top:0; transform:scale(0.33,1) translateX(1px);content:'';}
}
/*复用颜色*/
...
...
@@ -300,22 +300,30 @@ html,body {-webkit-tap-highlight-color: rgba(0, 0, 0,0); font-size: 0.28rem; bac
.top {top:44px;}
}
.miners-fixed { z-index: 1000!important;}
.list-click { transition: 0.5s all;
&:active {box-shadow: 0 0 10px 20px rgba(0,0,0,0.05) inset;}
}
}
.mobile-ios {
.page-header {padding-top: 20px;}
.page-content {top:64px;}
.dashboard {
.page-content{
.top {top:64px;}
.miner-show{
.box-blue {background: #103f73;color:#fff; text-align: center;padding: 0.3rem 0;
div:nth-of-type(1){.pos(r);
&:after{.line.yr;}
}
p {margin-top: 0.2rem;}
.k,.v {color:#fff;}
}
.
miners
{
.
page-content{
.top{top:64px
;}
.
cell-bot-line
{
.
mint-cell {.pos(r);
&:after {.line.xb
;}
}
}
}
.mobile-ios {
.page-header {padding-top: 20px;}
.page-content {top:64px;
.top{top:64px;}
}
}
.no {
.title {font-size: 0.3rem;}
...
...
src/components/Miners/chart.vue
0 → 100644
View file @
0409e66d
<
template
>
<div
class=
"f-pr mt20"
>
<div
class=
"c-charts"
>
<IEcharts
:option=
"line"
></IEcharts>
</div>
<div
class=
"line xb"
></div>
<span
style=
"position: absolute; right:0.35rem; top:0rem"
>
<el-button
:type=
"btnIdx==1?'primary':''"
size=
"mini"
@
click=
getHour(1)
>
{{
txt
[
language
].
yixiaoshi
}}
</el-button>
<el-button
:type=
"btnIdx==0?'primary':''"
size=
"mini"
@
click=
"getDay(0)"
>
{{
txt
[
language
].
yitian
}}
</el-button>
</span>
</div>
</
template
>
<
script
>
import
fn
from
'@/utils/function.js'
;
import
{
mapState
}
from
'vuex'
;
import
IEcharts
from
'vue-echarts-v3'
;
export
default
{
components
:
{
IEcharts
,
},
data
:
()
=>
({
api
:
''
,
shareHistoryTime
:
[],
//算力历史时间
shareHistoryYes
:
[],
//算力历史成功
shareHistoryNo
:
[],
//算力历史拒绝
unit
:
''
,
btnIdx
:
1
,
}),
computed
:
{
...
mapState
([
"txt"
,
"init_url"
,
"cur_coins"
]),
puid
()
{
return
this
.
$store
.
state
.
puid
||
localStorage
.
getItem
(
'puid'
);
},
coin_type
()
{
return
this
.
$store
.
state
.
coin_type
||
localStorage
.
getItem
(
'coin_type'
);
},
region_id
()
{
return
this
.
$store
.
state
.
region_id
||
localStorage
.
getItem
(
'region_id'
);
},
worker_id
()
{
return
this
.
$route
.
params
.
worker_id
},
language
()
{
return
this
.
$store
.
state
.
language
||
localStorage
.
getItem
(
'language'
);
},
line
()
{
let
self
=
this
;
return
{
"color"
:
[
"#18a8ea"
,
"#fb7778"
,
],
title
:
{
text
:
''
},
tooltip
:
{
trigger
:
'axis'
,
// formatter: function(params) {
// return params[0].name + '
<
br
/>
' +
// params[0].seriesName + '
:
' + (params[0].value).toFixed(3) + '
' + self.unit + '
H
/
s
<
br
/>
' +
// params[1].seriesName + '
:
' + params[1].value + '
%<
br
/>
';
// }
formatter: function(params) {
return params[0].name + '
<
br
/>
' +
params[0].seriesName + '
:
' + (params[0].value).toFixed(3) + '
' + self.unit + '
H
/
s
'
}
},
legend: {
// data: ["成功率", "拒绝率"]
},
grid: {
top: '
15
%
',
left: '
3
%
',
right: '
5
%
',
bottom: '
5
%
',
containLabel: true,
show: false
},
xAxis: [{
type: '
category
',
boundaryGap: false,
data: this.shareHistoryTime,
axisLabel: {
formatter: function(value, idx) {
return value.slice(value.length - 5, value.length)
}
},
axisLine: {
lineStyle: {
color: '
#
999
',
shadowColor: '
rgba
(
0
,
0
,
0
,
0.3
)
',
shadowBlur: 10
}
},
splitLine: {
show: false,
},
axisTick: {
show: false
},
}],
yAxis: [{
type: '
value
',
name: '
算力
(
' + this.unit + '
H
/
s
)
',
axisLine: {
show: true,
lineStyle: {
color: '
#
999
',
shadowColor: '
rgba
(
0
,
0
,
0
,
0.3
)
',
shadowBlur: 10
}
},
splitLine: {
show: false
},
axisTick: {
show: false
},
},
// {
// type: '
value
',
// name: '
拒绝率
(
%
)
',
// min: 0,
// max: 100,
// axisLine: {
// show: true,
// lineStyle: {
// color: '
#
999
',
// shadowColor: '
rgba
(
0
,
0
,
0
,
0.3
)
',
// shadowBlur: 10
// }
// },
// splitLine: {
// show: false
// },
// axisTick: {
// show: false
// },
// }
],
series: [{
name: '
算力
',
type: '
line
',
stack: '',
smooth: true,
areaStyle: {
normal: {
color: {
type: '
linear
',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0,
color: '
rgb
(
170
,
228
,
255
)
' // 100% 处的颜色
}, {
offset: 1,
color: '
rgb
(
239
,
250
,
255
)
' // 100% 处的颜色
}],
}
}
},
data: this.shareHistoryYes
},
// {
// name: '
拒绝率
',
// type: '
line
',
// stack: '
%
',
// smooth: true,
// lineStyle: {
// normal: {
// width: 1
// }
// },
// yAxisIndex: 1,
// xAxisIndex: 0,
// areaStyle: {
// normal: {
// color: {
// type: '
linear
',
// x: 0,
// y: 0,
// x2: 0,
// y2: 1,
// colorStops: [{
// offset: 0,
// color: '
rgb
(
255
,
172
,
172
)
' // 0% 处的颜色
// }, {
// offset: 1,
// color: '
rgb
(
255
,
225
,
225
)
' // 100% 处的颜色
// }],
// }
// }
// },
// data: this.shareHistoryNo,
// },
]
}
},
},
created() {
this.pageInit(72, '
1
h
', parseInt((new Date().getTime() - (86400000 * 3)) / 1000));
},
methods: {
pageInit(count, dimension, start) {
let self = this;
fn.getApiBaseUrl(this.region_id, this.coin_type).then(api => {
this.api = api;
fn.getWorkerIdShareHistory(api, this.worker_id, this.puid, count, dimension, start).then(res => {
if (res.data.err_no == 0) {
self.chartData = res.data.data;
self.shareHistory = {};
self.shareHistoryTime = [];
self.shareHistoryYes = [];
self.shareHistoryNo = [];
self.unit = res.data.data.unit;
let hour, day;
_.each(self.chartData.tickers, function(v, i) {
if (self.btnIdx == 0) {
// day = new Date(v[0] * 1000).getDate();
// self.shareHistoryTime.push((Array(2).join(0) + day).slice(-2) + "日");
self.shareHistoryTime.push(fn.getYMD(v[0] * 1000))
} else {
// hour = new Date(v[0] * 1000).getHours();
// self.shareHistoryTime.push((Array(2).join(0) + hour).slice(-2) + ":00");
self.shareHistoryTime.push(fn.getYMDHM(v[0] * 1000))
}
self.shareHistoryYes.push(v[1]);
self.shareHistoryNo.push((v[2] * 100).toFixed(2));
});
} else {
self.$message.error("获取矿工算力历史错误!!")
}
})
})
},
getDay: function(idx) {
this.btnIdx = idx;
this.pageInit(30, '
1
d
', parseInt((new Date().getTime() - (86400000 * 30)) / 1000));
},
getHour: function(idx) {
this.btnIdx = idx;
this.pageInit(72, '
1
h
'
,
parseInt
((
new
Date
().
getTime
()
-
(
86400000
*
3
))
/
1000
));
},
}
}
</
script
>
src/components/Miners/detail.vue
View file @
0409e66d
<
template
>
<div
class=
""
>
{{
msg
}}
<button
@
click=
"goPayments"
>
跳转到收益页
</button>
<div
class=
"miner-show"
>
<div
class=
"page-header"
>
<div
class=
"l"
@
click=
"goBack"
><span
class=
"icon-back"
><i
class=
"iconfont icon-fanhui"
></i></span></div>
<div
class=
"c"
>
{{
worker_name
}}
</div>
</div>
<div
class=
"page-content"
>
<div
class=
"box-blue"
flex=
"box:mean main:center "
>
<div>
<h3>
实时算力
</h3>
<p><span
class=
"v"
><animate-num
:value=
"shares_15m"
:fixed=
3
></animate-num></span>
<span
class=
"k"
>
{{
shares_unit
}}
H/s
</span></p>
</div>
<div>
<h3>
24小时
</h3>
<p><span
class=
"v"
><animate-num
:value=
"shares_24h"
:fixed=
3
></animate-num></span>
<span
class=
"k"
>
{{
shares_unit
}}
H/s
</span></p>
</div>
</div>
<chart></chart>
<div
class=
"cell-bot-line"
>
<mt-cell
title=
"拒绝率"
:value=
"reject_rate|formatPercent2"
></mt-cell>
<mt-cell
title=
"状态"
:value=
"worker_status_txt"
></mt-cell>
<mt-cell
title=
"最近提交时间"
:value=
"last_share_time|formatDate2"
></mt-cell>
<mt-cell
title=
"最近提交IP"
:value=
"last_share_ip"
></mt-cell>
<mt-cell
title=
"IP地址地理位置"
:value=
"last_share_address"
></mt-cell>
</div>
<!--
<table>
<tbody>
<tr>
<td>
worker_name
</td>
<td>
{{
worker_name
}}
</td>
</tr>
<tr>
<td>
shares_15m
</td>
<td>
{{
shares_15m
}}
</td>
</tr>
<tr>
<td>
shares_24h
</td>
<td>
{{
shares_24h
}}
</td>
</tr>
<tr>
<td>
reject_rate
</td>
<td>
{{
reject_rate
|
formatPercent2
}}
</td>
</tr>
<tr>
<td>
worker_status
</td>
<td>
{{
worker_status
}}
</td>
</tr>
<tr>
<td>
shares_unit
</td>
<td>
{{
shares_unit
}}
</td>
</tr>
<tr>
<td>
last_share_time
</td>
<td>
{{
last_share_time
}}
</td>
</tr>
<tr>
<td>
last_share_ip
</td>
<td>
{{
last_share_ip
}}
</td>
</tr>
</tbody>
</table>
-->
</div>
</div>
</
template
>
<
script
>
import
fn
from
'@/utils/function.js'
import
{
mapState
}
from
'vuex'
import
chart
from
'@/components/Miners/chart.vue'
import
animateNum
from
'@/components/Common/AnimatedNum'
export
default
{
name
:
'minershow'
,
components
:
{
chart
,
animateNum
},
data
()
{
return
{
msg
:
'矿机详情页面'
workerDate
:
{},
api
:
''
,
worker_name
:
''
,
shares_15m
:
0
,
shares_24h
:
0
,
reject_rate
:
''
,
worker_status
:
''
,
shares_unit
:
''
,
last_share_time
:
''
,
last_share_ip
:
''
,
last_share_address
:
'????'
}
},
computed
:
{
puid
()
{
return
this
.
$store
.
state
.
puid
||
localStorage
.
getItem
(
'puid'
);
},
coin_type
()
{
return
this
.
$store
.
state
.
coin_type
||
localStorage
.
getItem
(
'coin_type'
);
},
region_id
()
{
return
this
.
$store
.
state
.
region_id
||
localStorage
.
getItem
(
'region_id'
);
},
language
()
{
return
this
.
$store
.
state
.
language
||
localStorage
.
getItem
(
'language'
);
},
worker_id
()
{
return
this
.
$route
.
params
.
worker_id
},
worker_status_txt
()
{
switch
(
this
.
worker_status
)
{
case
'ACTIVE'
:
return
'活跃'
break
;
case
'INACTIVE'
:
return
'不活跃'
break
;
case
'DEAD'
:
return
'失效'
break
;
}
}
},
mounted
()
{
this
.
$indicator
.
open
({
spinnerType
:
'fading-circle'
})
this
.
$store
.
state
.
tab_bar
=
1
;
this
.
pageInitInterval
()
},
methods
:
{
goPayments
(){
this
.
$router
.
push
({
name
:
'payments'
})
pageInitInterval
()
{
let
self
=
this
;
clearInterval
(
window
.
dingshiqi
)
self
.
getWorkerById
();
window
.
dingshiqi
=
setInterval
(
function
()
{
self
.
getWorkerById
();
},
this
.
$store
.
state
.
refresh_time
)
},
goBack
()
{
this
.
$router
.
go
(
-
1
)
},
getWorkerById
()
{
fn
.
getApiBaseUrl
(
this
.
region_id
,
this
.
coin_type
).
then
(
api
=>
{
this
.
api
=
api
;
fn
.
getWorkerById
(
this
.
api
,
this
.
worker_id
,
this
.
puid
).
then
(
res
=>
{
if
(
res
.
data
.
err_no
==
0
)
{
this
.
workerDate
=
res
.
data
;
this
.
worker_name
=
res
.
data
.
data
.
worker_name
;
this
.
shares_15m
=
res
.
data
.
data
.
shares_15m
;
if
(
res
.
data
.
data
.
hasOwnProperty
(
'shares_24h'
))
{
this
.
shares_24h
=
res
.
data
.
data
.
shares_24h
;
}
else
{
this
.
shares_24h
=
null
}
this
.
reject_rate
=
res
.
data
.
data
.
reject_rate
;
this
.
worker_status
=
res
.
data
.
data
.
worker_status
;
this
.
last_share_time
=
res
.
data
.
data
.
last_share_time
;
this
.
last_share_ip
=
res
.
data
.
data
.
last_share_ip
;
this
.
shares_unit
=
res
.
data
.
data
.
shares_unit
;
//??好像少了一个ip地理位置
}
this
.
$indicator
.
close
()
})
})
}
}
}
...
...
src/components/Miners/index.vue
View file @
0409e66d
...
...
@@ -2,7 +2,10 @@
<div
class=
"miners"
>
<div
class=
"page-header"
>
<div
class=
"l"
><span
class=
"icon-sch abs-left"
><i
class=
"iconfont icon-bianji"
></i></span></div>
<div
class=
"c"
@
click=
"getGroup"
>
{{
messageGroup
}}
<i
class=
"iconfont icon-down"
></i></div>
<div
class=
"c"
@
click=
"getGroup"
>
<h3>
{{
messageGroup
}}
<i
class=
"iconfont icon-down"
></i></h3>
<p>
总算力: 20.87 PH/s
</p>
</div>
<div
class=
"r"
><span
class=
"icon-sch abs-right"
><i
class=
"iconfont icon-sousuo"
></i></span></div>
</div>
<div
class=
"page-content bottom"
>
...
...
@@ -33,7 +36,7 @@
</div>
<div
class=
"miners-content"
>
<mr-better-scroll
ref=
"scroll"
class=
"content-scroll"
:pullUpLoad=
"true"
@
pullingUp=
"pullingUp"
>
<div
class=
"list list-row"
v-for=
"items in tableData"
:class=
"
{'redBg':items.status=='INACTIVE','greyBg':items.status=='DEAD'} ">
<div
class=
"list list-row
list-click"
@
click=
"goMinerShow(items)
"
v-for=
"items in tableData"
:class=
"
{'redBg':items.status=='INACTIVE','greyBg':items.status=='DEAD'} ">
<div
class=
"s1"
>
{{
items
.
worker_name
}}
<em
v-if=
"items.status=='INACTIVE'"
class=
"red"
>
不活跃
</em>
<em
v-else-if=
"items.status=='DEAD'"
class=
"grey"
>
失效
</em>
...
...
@@ -231,9 +234,8 @@ export default {
this
.
showSort
=
!
this
.
showSort
;
this
.
showGroup
=
false
;
},
goMinerShow
(
worker_id
)
{
//矿机详情
this
.
$router
.
push
(
'/my/'
+
this
.
puid
+
'/'
+
this
.
coin_type
+
'/'
+
this
.
region_id
+
'/miners/'
+
worker_id
)
goMinerShow
(
obj
)
{
this
.
$router
.
push
(
'/my/'
+
this
.
puid
+
'/'
+
this
.
coin_type
+
'/'
+
this
.
region_id
+
'/miners/'
+
obj
.
worker_id
)
},
getWorker
()
{
//默认排序下的获取矿机列表
...
...
@@ -247,6 +249,9 @@ export default {
this
.
workers_active
=
res
.
data
.
data
.
workers_active
;
this
.
workers_dead
=
res
.
data
.
data
.
workers_dead
;
this
.
workers_inactive
=
res
.
data
.
data
.
workers_inactive
;
this
.
scroll
.
forceUpdate
(
true
)
}
else
{
this
.
scroll
.
forceUpdate
(
false
)
}
try
{
if
(
res
.
data
.
data
.
data
[
0
].
hasOwnProperty
(
"shares_24h"
))
{
...
...
@@ -275,6 +280,9 @@ export default {
if
(
res
.
data
.
err_no
==
0
)
{
if
(
res
.
data
.
data
.
data
.
length
>
0
)
{
this
.
tableData
=
this
.
tableData
.
concat
(
res
.
data
.
data
.
data
);
this
.
scroll
.
forceUpdate
(
true
)
}
else
{
this
.
scroll
.
forceUpdate
(
false
)
}
}
else
{
this
.
$toast
(
"获取矿工列表列表错误!"
);
...
...
@@ -297,16 +305,7 @@ export default {
}
else
{
this
.
getWorker
()
}
this
.
scroll
.
forceUpdate
(
true
)
// fn.getPaymentHistory(this.api, this.puid, page).then(res => {
// if (res.data.data.data.length > 0) {
// this.page = page;
// this.paymentList.push(res.data.data)
// this.scroll.forceUpdate(true)
// } else {
// this.scroll.forceUpdate(false)
// }
// })
},
},
}
...
...
src/components/Settings/Address.vue
0 → 100644
View file @
0409e66d
<
template
>
<div
class=
"page address"
>
<div
class=
"page-header"
>
<div
class=
"l"
@
click=
"goBack"
><span
class=
"icon-back"
><i
class=
"iconfont icon-fanhui"
></i></span></div>
<div
class=
"c"
>
修改收益地址
</div>
</div>
<div
class=
"page-content"
>
123123132
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'address'
,
data
()
{
return
{
}
},
methods
:{
goBack
(){
this
.
$router
.
go
(
-
1
)
}
}
}
</
script
>
src/components/Settings/index.vue
View file @
0409e66d
...
...
@@ -13,8 +13,8 @@
</div>
<div
class=
"mt40 settings-group subaccount-settings"
>
<div
class=
"settings-title"
>
子账户设置
</div>
<mt-cell
title=
"LTC收益地址"
is-link
></mt-cell>
<mt-cell
title=
"DOGE补贴地址"
is-link
></mt-cell>
<mt-cell
title=
"LTC收益地址"
is-link
to=
"/address"
></mt-cell>
<mt-cell
title=
"DOGE补贴地址"
is-link
v-show=
"account_default_coin_type==='ltc'"
></mt-cell>
<mt-cell
title=
"默认币种设置"
is-link
to=
"/defaultCoin"
>
<b
class=
"fore-link-img"
:class=
"coin_type"
/>
</mt-cell>
...
...
src/components/moban.vue
View file @
0409e66d
...
...
@@ -34,6 +34,13 @@
<div
class=
"box header"
>
<div
class=
"page-header"
>
<div
class=
"l"
><span
class=
"icon-back"
><i
class=
"iconfont icon-fanhui"
></i></span></div>
<div
class=
"sch"
>
<input
type=
"text"
>
<button>
取消
</button>
</div>
</div>
<div
class=
"page-header"
>
<div
class=
"l"
><span
class=
"icon-back"
><i
class=
"iconfont icon-fanhui"
></i></span></div>
<div
class=
"c"
>
DOGE补贴地址
</div>
</div>
<br
/>
...
...
@@ -69,6 +76,7 @@
<div
class=
"c"
>
YZCF - 南方电信
<i
class=
"iconfont icon-down"
></i></div>
<div
class=
"r"
><span
class=
"abs-right"
><b
class=
"bg-coin ltc "
></b><i
class=
"iconfont icon-down mr10"
></i></span></div>
</div>
<br
/>
</div>
</div>
</div>
...
...
src/main.js
View file @
0409e66d
...
...
@@ -48,7 +48,7 @@ axios.interceptors.request.use(config => {
function
checkToken
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
resolve
(
'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlEwTTBNRUl4UVRVME5qazJNa0ZFT0RCRk56WkJNVGc0TmtFd09UWkNOakZGTlRFMFEwVTJOdyJ9.eyJpc3MiOiJodHRwczovL2Jsb2NraW4uYXV0aDAuY29tLyIsInN1YiI6ImF1dGgwfDU5ZjE3OTc5ZDljMGM1MzZiZjRhMzVjMSIsImF1ZCI6WyJodHRwczovL3d3dy5wb29saW4uY29tL2FwaSIsImh0dHBzOi8vYmxvY2tpbi5hdXRoMC5jb20vdXNlcmluZm8iXSwiaWF0IjoxNTE3
NzIzMTI2LCJleHAiOjE1MTc3MzAzMjYsImF6cCI6IkZhczI5dWJNNW52NElFMlZUQ3ZEWU5iaWtIeTF0bDBkIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSByZWFkIHdyaXRlIn0.L2FKCnJVjwMo2urmfnnzFzzNDL2no_HKdMWKO9CBH7DGOh9SydTrugMhEUZKuB3M7QeZTcXuPVSsWcQ2FhrXNUyEsTXAK_SOrRL3Bn2jAzoWemasqs896hJRcLo3KshKVUTwAUR3x-bBKgK0qfm-owgF0a99P9pqFAtKVaG7VrVOPachvm10VyVF1egeA_bSWRbyIxrULsXFNz7JR_yq7TQzjnLYerB6DUD4gjwhyYRJjeZUej3PrKJs4P_ZIPxYCQijQmyFHWxX3_DaRfJZSj2tFSYpM2Ck6P1ZfpIVZPzad1S_sUZiy10K2o5Qzc1Ln540Dc4BG3NiYnDYn2Uy_g
'
);
resolve
(
'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlEwTTBNRUl4UVRVME5qazJNa0ZFT0RCRk56WkJNVGc0TmtFd09UWkNOakZGTlRFMFEwVTJOdyJ9.eyJpc3MiOiJodHRwczovL2Jsb2NraW4uYXV0aDAuY29tLyIsInN1YiI6ImF1dGgwfDU5ZjE3OTc5ZDljMGM1MzZiZjRhMzVjMSIsImF1ZCI6WyJodHRwczovL3d3dy5wb29saW4uY29tL2FwaSIsImh0dHBzOi8vYmxvY2tpbi5hdXRoMC5jb20vdXNlcmluZm8iXSwiaWF0IjoxNTE3
ODExODY3LCJleHAiOjE1MTc4MTkwNjcsImF6cCI6IkZhczI5dWJNNW52NElFMlZUQ3ZEWU5iaWtIeTF0bDBkIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSByZWFkIHdyaXRlIn0.K8qLbpN9djEyDq3chlaUy0aM7GR9BbmYUAPw-1F1aas0skb4KVz2gP6MsAEoNfLninQ5NCkdmukkzUrMcFEc2U_5EziDOe8RuZ5hz2YEDcG8-Bni1l9F3llqcchJ4fnhtKm3YXBZqT0P9OFNFWpomxKZRDNOsTchfF51F24VdB0gEipK8g-jVVKPjsB0yP3IUaWX5iw-OBTP1w8oLD15CMB8rm917eBJHCue_Ud7uiDc9sDbjicauqXht-YRkj9ixy3vZdS5UMZRVvPGU74KwjmvDnuafRzQ_7B5gkEevHjf0GWHoq3YtUepKi4gvVBAvrd5EEc6xLhVLzy2Ab57-A
'
);
})
}
...
...
src/router/index.js
View file @
0409e66d
...
...
@@ -62,7 +62,6 @@ const router = new Router({
path
:
'/my'
,
name
:
'my'
,
component
:
resolve
=>
require
([
'@/components/Common/my.vue'
],
resolve
),
// redirect: 'my/:puid/:coin_type/:region_id/dashboard',
children
:
[{
path
:
':puid/:coin_type/:region_id/dashboard'
,
name
:
'dashboard'
,
...
...
@@ -70,15 +69,14 @@ const router = new Router({
meta
:
{
title
:
'Dashboard.vue'
}
},
{
},
{
path
:
':puid/:coin_type'
,
name
:
'no'
,
component
:
resolve
=>
require
([
'@/components/Dashboard/no.vue'
],
resolve
),
meta
:
{
title
:
'no.vue'
}
},
{
},
{
path
:
':puid/:coin_type/:region_id/miners'
,
name
:
'miners'
,
component
:
resolve
=>
require
([
'@/components/Miners/'
],
resolve
),
...
...
@@ -90,6 +88,13 @@ const router = new Router({
name
:
'minershow'
,
component
:
resolve
=>
require
([
'@/components/Miners/detail.vue'
],
resolve
),
meta
:
{
title
:
'detail.vue'
}
},
{
path
:
':puid/:coin_type/:region_id/miners/:worker_id'
,
name
:
'minershow'
,
component
:
resolve
=>
require
([
'@/components/Miners/detail.vue'
],
resolve
),
meta
:
{
title
:
'MinerShow.vue'
}
},
{
...
...
@@ -99,18 +104,22 @@ const router = new Router({
meta
:
{
title
:
'Payments.vue'
}
},
{
},
{
path
:
'settings'
,
name
:
'settings'
,
component
:
resolve
=>
require
([
'@/components/Settings/index.vue'
],
resolve
),
meta
:
{
title
:
'Settings.vue'
}
}]
},{
path
:
'/address'
,
name
:
'address'
,
component
:
resolve
=>
require
([
'@/components/Settings/Address.vue'
],
resolve
),
meta
:
{
title
:
'Address.vue'
}
]
},
{
},{
path
:
'/defaultCoin'
,
name
:
'defaultCoin'
,
component
:
resolve
=>
require
([
'@/components/Settings/DefaultCoin'
],
resolve
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment