移动端 动态文档添加 首页导航bug修复
This commit is contained in:
parent
2fbc4c8a40
commit
1ca8b48ef7
|
@ -904,10 +904,13 @@ export default {
|
||||||
}
|
}
|
||||||
.header {
|
.header {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between; /* 保持logo在左,导航在右 */
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 95%;
|
width: 100%;
|
||||||
|
|
||||||
|
margin: 0 auto; /* 居中显示 */
|
||||||
|
padding: 0 2.5%; /* 使用padding替代固定宽度 */
|
||||||
/* outline: 1px solid red; */
|
/* outline: 1px solid red; */
|
||||||
// outline: 1PX solid red;
|
// outline: 1PX solid red;
|
||||||
// padding: 0px 5%;
|
// padding: 0px 5%;
|
||||||
|
@ -915,30 +918,35 @@ export default {
|
||||||
// background: #21A0FF;
|
// background: #21A0FF;
|
||||||
}
|
}
|
||||||
.logo {
|
.logo {
|
||||||
width: 18%;
|
flex: 0 0 auto; /* 不伸缩,保持固定大小 */
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: right;
|
justify-content: flex-end; /* 右对齐 */
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
|
width: 300px; /* 固定宽度,给导航留出更多空间 */
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
|
height: auto; /* 保持比例 */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.topMenu {
|
.topMenu {
|
||||||
width: 80%;
|
flex: 1; /* 占据剩余空间 */
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: end;
|
justify-content: flex-end; /* 右对齐 */
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
min-width: 0; /* 允许收缩 */
|
||||||
// background: goldenrod;
|
// background: goldenrod;
|
||||||
|
|
||||||
|
|
||||||
.afterLoggingIn {
|
.afterLoggingIn {
|
||||||
min-width: 50%;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: right;
|
justify-content: flex-end; /* 右对齐 */
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
flex-wrap: nowrap; /* 防止换行 */
|
||||||
|
width: auto; /* 自适应宽度 */
|
||||||
// background: #6E3EDB;
|
// background: #6E3EDB;
|
||||||
|
|
||||||
.langBox {
|
.langBox {
|
||||||
|
@ -983,10 +991,15 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.notLoggedIn {
|
.notLoggedIn {
|
||||||
width: 40%;
|
display: flex;
|
||||||
|
justify-content: flex-end; /* 右对齐 */
|
||||||
|
align-items: center;
|
||||||
|
gap: 12px; /* 增加间距 */
|
||||||
|
|
||||||
li {
|
li {
|
||||||
margin-left: 1%;
|
flex: 0 0 auto; /* 不伸缩,保持内容大小 */
|
||||||
|
white-space: nowrap; /* 防止文字换行 */
|
||||||
|
padding: 0 6px; /* 减少内边距 */
|
||||||
}
|
}
|
||||||
.langBox {
|
.langBox {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1006,28 +1019,28 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.menuBox {
|
.menuBox {
|
||||||
min-width: 42% !important;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: end;
|
justify-content: flex-end; /* 右对齐 */
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin: 0%;
|
margin: 0;
|
||||||
|
gap: 12px; /* 增加间距 */
|
||||||
|
flex-wrap: nowrap; /* 防止换行 */
|
||||||
// background: #fff;
|
// background: #fff;
|
||||||
|
|
||||||
li {
|
li {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
// width: calc(100% / 5);
|
|
||||||
height: 45%;
|
height: 45%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin-left: 3%;
|
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
// transition: all 0.3s linear;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
min-width: 61px;
|
flex: 0 0 auto; /* 不伸缩,保持内容大小 */
|
||||||
|
white-space: nowrap; /* 防止文字换行 */
|
||||||
|
padding: 0 6px; /* 减少内边距 */
|
||||||
|
min-width: auto; /* 移除最小宽度限制 */
|
||||||
}
|
}
|
||||||
|
|
||||||
li:hover {
|
li:hover {
|
||||||
|
@ -1087,4 +1100,48 @@ export default {
|
||||||
.el-menu.el-menu--horizontal {
|
.el-menu.el-menu--horizontal {
|
||||||
border-bottom: 0px !important;
|
border-bottom: 0px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 响应式设计 - 小屏幕适配 */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.header {
|
||||||
|
padding: 0 1%; /* 减少内边距 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
min-width: 80px; /* 减少logo最小宽度 */
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 80px; /* 减小logo尺寸 */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuBox {
|
||||||
|
gap: 4px; /* 减少间距 */
|
||||||
|
|
||||||
|
li {
|
||||||
|
font-size: 0.8rem; /* 减小字体 */
|
||||||
|
padding: 0 4px; /* 减少内边距 */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.topMenu .afterLoggingIn .langBox {
|
||||||
|
width: 50px; /* 减小语言选择框宽度 */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 超小屏幕 - 隐藏部分菜单项 */
|
||||||
|
@media (max-width: 480px) {
|
||||||
|
.menuBox li:not(.home):not(.langBox) {
|
||||||
|
display: none; /* 只显示首页和语言选择 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuBox {
|
||||||
|
gap: 2px;
|
||||||
|
|
||||||
|
li {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
padding: 0 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -107,6 +107,7 @@ export const AccessMiningPool_zh = {
|
||||||
estimatedTime:"预估时间",
|
estimatedTime:"预估时间",
|
||||||
describe:"说明",
|
describe:"说明",
|
||||||
timeLimited:"限时",
|
timeLimited:"限时",
|
||||||
|
backMenu:"返回挖矿教程目录",
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -220,5 +221,6 @@ export const AccessMiningPool_en = {
|
||||||
timeLimited:"Time limited",
|
timeLimited:"Time limited",
|
||||||
alphCourse:"Alephium(alph) Mining Tutorial",
|
alphCourse:"Alephium(alph) Mining Tutorial",
|
||||||
xmrCourse:"Xmr(monero) Mining Tutorial",
|
xmrCourse:"Xmr(monero) Mining Tutorial",
|
||||||
|
backMenu:"Return to Table of Contents",
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -76,6 +76,8 @@ export const api_zh = {
|
||||||
aCertainMiner: "挖矿账户下对应的某矿工号",
|
aCertainMiner: "挖矿账户下对应的某矿工号",
|
||||||
miningMachineHistory24h: "指定矿机历史24h平均算力",
|
miningMachineHistory24h: "指定矿机历史24h平均算力",
|
||||||
realTimeMiningMachine24h30m: "指定矿机最近24h算力(30m平均算力)",
|
realTimeMiningMachine24h30m: "指定矿机最近24h算力(30m平均算力)",
|
||||||
|
backMenu:"返回目录",
|
||||||
|
catalogue:"目录:",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,6 +114,7 @@ export const api_en = {
|
||||||
"overviewOfMiningPool": "Overview of Mining Pool", "jurisdiction": "Required permissions", "parameter": "Request parameters", "currency": "currency", "response": "Response parameters", "serviceCharge": "Mining pool handling fee", "minimumPaymentAmount": "Minimum payment amount", "latelyPower24h": "Last seven days' computing power (24-hour average)", "Power24h": "Latest computing power of mining pool (24-hour average)", "height": "The current height of the mining pool", "currentMiners": "The current number of miners in the mining pool", "eachState": "Number of miners in each state", "realTimePower": "Real time computing power of mining pool", "averagePower30m": "Current average computing power of 30m", "averagePower24h": "Current 24-hour average computing power", "Company": "Company", "historyPower": "Overview of Mining Pool Historical Computing Power", "start": "start time", "start2": "Format yyyy MM dd differs from end by up to three months", "end": "End time", "end2": "Format yyyy MM dd differs from star by up to three months", "historyPower30m": "30m average computing power historical record", "historyPower24h": "24-hour average computing power history record", "miningAccount": "Mining account information", "minerData": "Number of miners data", "stateData": "Miner status data", "minerId": "Miner ID", "minerStatus": "Miner status", "minerStatus0": "0 represents online", "minerStatus1": "1 represents offline", "minerStatus2": "2 represents abnormal state", "overviewOfMiners": "Overview of miners under mining accounts", "accountApiKey": "The mining account name under the API-KEY bound account", "allMiners": "All miners under the mining account", "realTimeAccount": "Real time computing power of mining accounts", "account24h": "24-hour average computing power of mining account history", "account24h30m": "Mining account's computing power in the past 24 hours (average computing power of 30m)", "average24h30m": "The average computing power of 30m in the past 24 hours", "miningMachineInformation": "Mining machine information", "realTimeMiningMachine": "Specify the real-time computing power of the mining machine", "aCertainMiner": "The corresponding miner account under the mining account", "miningMachineHistory24h": "Specify the average computing power of the mining machine in the past 24 hours", "realTimeMiningMachine24h30m": "Designated mining machine's computing power in the past 24 hours (average computing power of 30m)",
|
"overviewOfMiningPool": "Overview of Mining Pool", "jurisdiction": "Required permissions", "parameter": "Request parameters", "currency": "currency", "response": "Response parameters", "serviceCharge": "Mining pool handling fee", "minimumPaymentAmount": "Minimum payment amount", "latelyPower24h": "Last seven days' computing power (24-hour average)", "Power24h": "Latest computing power of mining pool (24-hour average)", "height": "The current height of the mining pool", "currentMiners": "The current number of miners in the mining pool", "eachState": "Number of miners in each state", "realTimePower": "Real time computing power of mining pool", "averagePower30m": "Current average computing power of 30m", "averagePower24h": "Current 24-hour average computing power", "Company": "Company", "historyPower": "Overview of Mining Pool Historical Computing Power", "start": "start time", "start2": "Format yyyy MM dd differs from end by up to three months", "end": "End time", "end2": "Format yyyy MM dd differs from star by up to three months", "historyPower30m": "30m average computing power historical record", "historyPower24h": "24-hour average computing power history record", "miningAccount": "Mining account information", "minerData": "Number of miners data", "stateData": "Miner status data", "minerId": "Miner ID", "minerStatus": "Miner status", "minerStatus0": "0 represents online", "minerStatus1": "1 represents offline", "minerStatus2": "2 represents abnormal state", "overviewOfMiners": "Overview of miners under mining accounts", "accountApiKey": "The mining account name under the API-KEY bound account", "allMiners": "All miners under the mining account", "realTimeAccount": "Real time computing power of mining accounts", "account24h": "24-hour average computing power of mining account history", "account24h30m": "Mining account's computing power in the past 24 hours (average computing power of 30m)", "average24h30m": "The average computing power of 30m in the past 24 hours", "miningMachineInformation": "Mining machine information", "realTimeMiningMachine": "Specify the real-time computing power of the mining machine", "aCertainMiner": "The corresponding miner account under the mining account", "miningMachineHistory24h": "Specify the average computing power of the mining machine in the past 24 hours", "realTimeMiningMachine24h30m": "Designated mining machine's computing power in the past 24 hours (average computing power of 30m)",
|
||||||
apiAuthentication5:"API page",
|
apiAuthentication5:"API page",
|
||||||
apiAuthentication6:"Obtain (When requesting tokens, you can check the permissions according to your needs, and the optional permissions are public mining pool data query interface call permission, mining account data query interface call permission, and mining machine data query interface call permission).",
|
apiAuthentication6:"Obtain (When requesting tokens, you can check the permissions according to your needs, and the optional permissions are public mining pool data query interface call permission, mining account data query interface call permission, and mining machine data query interface call permission).",
|
||||||
|
backMenu:"Return to Table of Contents",
|
||||||
|
catalogue:"Catalogue:",
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -270,7 +270,8 @@ export default {
|
||||||
lang:this.$i18n.locale,
|
lang:this.$i18n.locale,
|
||||||
},
|
},
|
||||||
info:"",
|
info:"",
|
||||||
activeId:""
|
activeId:"",
|
||||||
|
contentShow:false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -350,10 +351,15 @@ export default {
|
||||||
|
|
||||||
this.info = res.data.content || ""
|
this.info = res.data.content || ""
|
||||||
this.activeId = res.data.id
|
this.activeId = res.data.id
|
||||||
|
this.contentShow = true
|
||||||
}
|
}
|
||||||
this.setLoading('tutorialLoading', false);
|
this.setLoading('tutorialLoading', false);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
backMenu(){
|
||||||
|
this.contentShow = false
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// isActiveRoute(item) {
|
// isActiveRoute(item) {
|
||||||
|
@ -413,6 +419,7 @@ export default {
|
||||||
this.activeCoin = item.coin
|
this.activeCoin = item.coin
|
||||||
localStorage.setItem('activeCoin', JSON.stringify(this.activeCoin))
|
localStorage.setItem('activeCoin', JSON.stringify(this.activeCoin))
|
||||||
this.fetchProblemDetails(this.DetailsParams)
|
this.fetchProblemDetails(this.DetailsParams)
|
||||||
|
|
||||||
// if (!item.path) return; // 添加路径检查
|
// if (!item.path) return; // 添加路径检查
|
||||||
// this.activeCoin = item.value
|
// this.activeCoin = item.value
|
||||||
// this.pageTitle = item.name
|
// this.pageTitle = item.name
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
<div class="AccessMiningPoolMain" v-loading="tutorialLoading">
|
<div class="AccessMiningPoolMain" v-loading="tutorialLoading">
|
||||||
<section v-if="openAPI" class="openAPI">
|
<section v-if="openAPI" class="openAPI">
|
||||||
<section v-if="$isMobile">
|
<section v-if="$isMobile">
|
||||||
<div class="currencySelect">
|
<!-- <div class="currencySelect">
|
||||||
|
|
||||||
<div class="nav">
|
<div class="nav">
|
||||||
<div class="nav-item" id="menu1" @click.stop="toggleDropdown">
|
<div class="nav-item" id="menu1" @click.stop="toggleDropdown">
|
||||||
<img
|
<img
|
||||||
|
@ -16,14 +15,12 @@
|
||||||
>
|
>
|
||||||
<i class="arrow"></i>
|
<i class="arrow"></i>
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="option"
|
class="option"
|
||||||
v-for="item in currencyList"
|
v-for="item in currencyList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@click.stop="changeMenuName($event, item)"
|
@click.stop="changeMenuName($event, item)"
|
||||||
:class="{ optionActive: $route.path.includes(item.path) }"
|
:class="{ optionActive: $route.path.includes(item.path) }"
|
||||||
|
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
class="dropdownCoin"
|
class="dropdownCoin"
|
||||||
|
@ -35,24 +32,57 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
|
<section class="menu2" v-if="!contentShow">
|
||||||
|
<ul>
|
||||||
|
<li
|
||||||
|
:class="{ active: activeCoin == item.coin }"
|
||||||
|
@click="clickJump(item)"
|
||||||
|
v-for="item in navList"
|
||||||
|
:key="item.id"
|
||||||
|
>
|
||||||
|
<img class="img2" :src="item.titleUrl" alt="coin" />
|
||||||
|
<span>
|
||||||
|
{{ item.title }}
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<!--
|
||||||
<section>
|
<section>
|
||||||
<keep-alive>
|
<keep-alive>
|
||||||
<router-view :key="$route.fullPath" />
|
<router-view :key="$route.fullPath" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
|
</section> -->
|
||||||
|
|
||||||
|
<!-- 显示内容 -->
|
||||||
|
<section class="tutorialContent" v-else>
|
||||||
|
<p class="backMenu" @click="backMenu">{{ $t("course.backMenu") || "返回挖矿教程目录" }} </p>
|
||||||
|
<section class="rightContent">
|
||||||
|
<div v-if="tutorialLoading" class="loading-container">
|
||||||
|
<span class="loading-text">{{
|
||||||
|
$t("home.loadingContent") || "正在加载内容..."
|
||||||
|
}}</span>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
v-else-if="info && info.trim()"
|
||||||
|
class="dynamic-content"
|
||||||
|
v-html="info"
|
||||||
|
></div>
|
||||||
|
<div v-else class="no-content">
|
||||||
|
<p>{{ $t("home.noContent") || "暂无内容" }}</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- <router-view></router-view> -->
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="AccessMiningPool" v-else>
|
<section class="AccessMiningPool" v-else>
|
||||||
|
|
||||||
|
|
||||||
<section class="menu">
|
<section class="menu">
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li
|
<li
|
||||||
|
|
||||||
:class="{ active: activeCoin == item.coin }"
|
:class="{ active: activeCoin == item.coin }"
|
||||||
@click="clickJump(item)"
|
@click="clickJump(item)"
|
||||||
v-for="item in navList"
|
v-for="item in navList"
|
||||||
|
@ -61,7 +91,6 @@
|
||||||
<img :src="item.titleUrl" alt="coin" />
|
<img :src="item.titleUrl" alt="coin" />
|
||||||
<span>
|
<span>
|
||||||
{{ item.title }}
|
{{ item.title }}
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
<!-- <li
|
<!-- <li
|
||||||
|
@ -76,30 +105,26 @@
|
||||||
{{ $t(item.name) }}
|
{{ $t(item.name) }}
|
||||||
</span>
|
</span>
|
||||||
</li> -->
|
</li> -->
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section class="tutorialContent">
|
<section class="tutorialContent">
|
||||||
|
|
||||||
|
|
||||||
<section class="rightContent">
|
<section class="rightContent">
|
||||||
<div v-if="tutorialLoading" class="loading-container">
|
<div v-if="tutorialLoading" class="loading-container">
|
||||||
<span class="loading-text">{{ $t('home.loadingContent') || '正在加载内容...' }}</span>
|
<span class="loading-text">{{
|
||||||
|
$t("home.loadingContent") || "正在加载内容..."
|
||||||
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="info && info.trim()" class="dynamic-content" v-html="info"></div>
|
<div
|
||||||
|
v-else-if="info && info.trim()"
|
||||||
|
class="dynamic-content"
|
||||||
|
v-html="info"
|
||||||
|
></div>
|
||||||
<div v-else class="no-content">
|
<div v-else class="no-content">
|
||||||
<p>{{ $t('home.noContent') || '暂无内容' }}</p>
|
<p>{{ $t("home.noContent") || "暂无内容" }}</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <router-view></router-view> -->
|
<!-- <router-view></router-view> -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
@ -126,7 +151,7 @@ export default {
|
||||||
$route(to, from) {
|
$route(to, from) {
|
||||||
// 监听路由变化,处理组件更新
|
// 监听路由变化,处理组件更新
|
||||||
this.handleRouteChange(to, from);
|
this.handleRouteChange(to, from);
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleRouteChange(to, from) {
|
handleRouteChange(to, from) {
|
||||||
|
@ -155,7 +180,7 @@ export default {
|
||||||
// }
|
// }
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -180,6 +205,135 @@ export default {
|
||||||
color: #5917c4;
|
color: #5917c4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* 移动端内容卡片与正文区域适配 */
|
||||||
|
.tutorialContent {
|
||||||
|
width: 98% !important; /* 贴近屏幕但保留安全间距 */
|
||||||
|
padding: 0 !important;
|
||||||
|
margin: 0 auto !important;
|
||||||
|
box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.08) !important;
|
||||||
|
border-radius: 8px !important;
|
||||||
|
background: transparent !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
}
|
||||||
|
.backMenu{
|
||||||
|
color: #6924ff;
|
||||||
|
font-size: 0.95rem !important;
|
||||||
|
margin: 0 0 10px 2px !important;
|
||||||
|
display: inline-block !important;
|
||||||
|
text-decoration: underline;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.rightContent {
|
||||||
|
margin-left: 0 !important; /* 取消桌面端的左侧外边距 */
|
||||||
|
padding: 6px !important; /* 适度内边距 */
|
||||||
|
// padding-right: 12px !important;
|
||||||
|
overflow-x: hidden !important;
|
||||||
|
font-size: 0.9rem !important; /* 移动端统一字号 */
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
/* 返回目录按钮在移动端的点击区域与排版 */
|
||||||
|
.backMenu {
|
||||||
|
font-size: 0.95rem !important;
|
||||||
|
margin: 0 0 10px 2px !important;
|
||||||
|
display: inline-block !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 富文本内容在移动端的表格适配:固定布局+自动换行 */
|
||||||
|
.rightContent .dynamic-content {
|
||||||
|
overflow-x: auto !important; /* 超出时允许横向滚动(兜底) */
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(table) {
|
||||||
|
/* 对含有 colspan/rowspan 的表格,固定布局会引发表头与列错位,这里改为自动布局 */
|
||||||
|
table-layout: auto !important;
|
||||||
|
width: 100% !important;
|
||||||
|
border-collapse: collapse !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(th) {//表格表头字号
|
||||||
|
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
word-break: break-word !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* 表格单元格字号 */
|
||||||
|
.rightContent .dynamic-content :deep(th),
|
||||||
|
.rightContent .dynamic-content :deep(td) {
|
||||||
|
word-break: break-word !important;
|
||||||
|
white-space: normal !important;
|
||||||
|
padding: 2px !important;
|
||||||
|
font-size: 0.7rem !important; /* 表格单元格字号 */
|
||||||
|
min-width: 0 !important; /* 覆盖外层全局 td 的最小宽度,避免小屏列被强撑导致错位 */
|
||||||
|
vertical-align: left !important;
|
||||||
|
}
|
||||||
|
/* 步骤里的段落在移动端必须自动换行,禁止引发横向滚动条 */
|
||||||
|
.rightContent .dynamic-content :deep(p) {
|
||||||
|
max-width: 100% !important;
|
||||||
|
white-space: normal !important;
|
||||||
|
word-break: break-word !important; /* 优先按单词/字符断行 */
|
||||||
|
overflow-wrap: anywhere !important; /* 极端长串也强制换行 */
|
||||||
|
word-wrap: break-word !important; /* 旧版兼容 */
|
||||||
|
font-size: 0.8rem !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(a) {
|
||||||
|
font-size: 0.8rem !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(li) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(pre) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(font) {
|
||||||
|
font-size: 0.9rem !important;
|
||||||
|
min-width: 40px !important;
|
||||||
|
display: inline-block !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(h2) {
|
||||||
|
font-size: 1rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(h3) {
|
||||||
|
font-size: 0.9rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.img2{
|
||||||
|
width: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu2{
|
||||||
|
max-height: 100vh;
|
||||||
|
overflow-y: auto;
|
||||||
|
background: transparent !important;
|
||||||
|
ul{
|
||||||
|
padding: 18px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
li{
|
||||||
|
padding: 8px;
|
||||||
|
text-decoration: underline;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.active{
|
||||||
|
background: transparent !important;
|
||||||
|
color: rgba(0,0,0,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
.notOpen {
|
.notOpen {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: inline-block !important;
|
display: inline-block !important;
|
||||||
|
@ -547,7 +701,6 @@ export default {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
padding-bottom: 30px;
|
padding-bottom: 30px;
|
||||||
|
|
||||||
}
|
}
|
||||||
.notOpen {
|
.notOpen {
|
||||||
// background: palegoldenrod;
|
// background: palegoldenrod;
|
||||||
|
@ -583,7 +736,7 @@ export default {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items:start;
|
align-items: start;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -593,7 +746,7 @@ export default {
|
||||||
width: 25px;
|
width: 25px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
span{
|
span {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -784,8 +937,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rightContent {
|
||||||
.rightContent{
|
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin-left: 50px;
|
margin-left: 50px;
|
||||||
|
@ -795,7 +947,7 @@ export default {
|
||||||
.dynamic-content {
|
.dynamic-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
|
font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
color: #222;
|
color: #222;
|
||||||
|
@ -808,27 +960,30 @@ export default {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(th), :deep(td) {
|
:deep(th),
|
||||||
|
:deep(td) {
|
||||||
border: 1px solid #d1d5db;
|
border: 1px solid #d1d5db;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
:deep(th) {
|
:deep(th) {
|
||||||
background: #D2C3EA;
|
background: #d2c3ea;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
:deep(strong), :deep(b) {
|
:deep(strong),
|
||||||
|
:deep(b) {
|
||||||
font-weight: bold !important;
|
font-weight: bold !important;
|
||||||
color: inherit !important;
|
color: inherit !important;
|
||||||
font-style: normal !important;
|
font-style: normal !important;
|
||||||
}
|
}
|
||||||
:deep(em), :deep(i) {
|
:deep(em),
|
||||||
|
:deep(i) {
|
||||||
font-style: italic !important;
|
font-style: italic !important;
|
||||||
color: inherit !important;
|
color: inherit !important;
|
||||||
}
|
}
|
||||||
:deep(a) {
|
:deep(a) {
|
||||||
color: #661FFB !important;
|
color: #661ffb !important;
|
||||||
text-decoration: none !important;
|
text-decoration: none !important;
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: underline !important;
|
text-decoration: underline !important;
|
||||||
|
@ -878,5 +1033,5 @@ export default {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -263,6 +263,36 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dynamic-content :deep(p) {
|
||||||
|
max-width: 100% !important;
|
||||||
|
white-space: normal !important;
|
||||||
|
word-break: break-word !important; /* 优先按单词/字符断行 */
|
||||||
|
overflow-wrap: anywhere !important; /* 极端长串也强制换行 */
|
||||||
|
word-wrap: break-word !important; /* 旧版兼容 */
|
||||||
|
font-size: 0.8rem !important;
|
||||||
|
}
|
||||||
|
.dynamic-content :deep(a) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
.dynamic-content :deep(li) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dynamic-content :deep(pre) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dynamic-content :deep(font) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
.dynamic-content :deep(h2) {
|
||||||
|
font-size: 1rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dynamic-content :deep(h3) {
|
||||||
|
font-size: 0.9rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
// 移动端动态内容样式
|
// 移动端动态内容样式
|
||||||
.content {
|
.content {
|
||||||
margin-bottom: 20px !important;
|
margin-bottom: 20px !important;
|
||||||
|
|
|
@ -20,6 +20,7 @@ export default {
|
||||||
documentError: '',
|
documentError: '',
|
||||||
navList:[],
|
navList:[],
|
||||||
info: '',
|
info: '',
|
||||||
|
contentShow:false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -60,11 +61,15 @@ export default {
|
||||||
if(res && res.code === 200){
|
if(res && res.code === 200){
|
||||||
|
|
||||||
this.info = res.data.content || ""
|
this.info = res.data.content || ""
|
||||||
|
this.contentShow = true
|
||||||
}
|
}
|
||||||
this.setLoading('documentLoading', false);
|
this.setLoading('documentLoading', false);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
backMenu(){
|
||||||
|
this.contentShow = false
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
// async getDocumentsInfo(params) {
|
// async getDocumentsInfo(params) {
|
||||||
// this.documentLoading = true
|
// this.documentLoading = true
|
||||||
|
|
|
@ -1,14 +1,20 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="rate">
|
<div class="rate">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section v-if="$isMobile" class="rateMobile">
|
<section v-if="$isMobile" class="rateMobile">
|
||||||
|
<section class="leftMenu" v-loading="documentLoading" v-if="!contentShow">
|
||||||
<section class="rightText">
|
<!-- <p class="catalogue">{{ $t("apiFile.catalogue") || "目录:" }}</p> -->
|
||||||
|
<ul>
|
||||||
|
<li
|
||||||
|
v-for="item in navList"
|
||||||
|
:class="{ navActive: String(item.id) === String(DetailsParams.id) }"
|
||||||
|
:key="item.id"
|
||||||
|
@click="clickJump(item)"
|
||||||
|
>
|
||||||
|
<i class="iconfont icon-baogao file"></i>{{ item.title }}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<!-- <section class="rightText">
|
||||||
<h3>{{ $t(`apiFile.file`) }}</h3>
|
<h3>{{ $t(`apiFile.file`) }}</h3>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h4>{{ $t(`apiFile.survey`) }}</h4>
|
<h4>{{ $t(`apiFile.survey`) }}</h4>
|
||||||
|
@ -34,18 +40,14 @@
|
||||||
<div class="ExampleTable">
|
<div class="ExampleTable">
|
||||||
<div class="title"><span>{{ $t(`apiFile.url`) }}</span> <span>{{ $t(`apiFile.explain`) }}</span></div>
|
<div class="title"><span>{{ $t(`apiFile.url`) }}</span> <span>{{ $t(`apiFile.explain`) }}</span></div>
|
||||||
<div>
|
<div>
|
||||||
<!-- <span>https://m2pool.com/oapi/v1/pool/watch?coin={coin}</span> -->
|
|
||||||
<code>https://m2pool.com/oapi/v1/pool/watch?coin={coin}</code>
|
<code>https://m2pool.com/oapi/v1/pool/watch?coin={coin}</code>
|
||||||
<span
|
<span
|
||||||
>{{ $t(`apiFile.explain1`) }}</span
|
>{{ $t(`apiFile.explain1`) }}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<!-- <span
|
|
||||||
>https://m2pool.com/oapi/v1/pool/
|
|
||||||
hashrate_history?coin={coin}&start={yyyy-MM-dd}&end={yyyy-MM-dd
|
|
||||||
}</span
|
|
||||||
> -->
|
|
||||||
<code>https://m2pool.com/oapi/v1/pool/
|
<code>https://m2pool.com/oapi/v1/pool/
|
||||||
hashrate_history?coin={coin}&start={yyyy-MM-dd}&end={yyyy-MM-dd
|
hashrate_history?coin={coin}&start={yyyy-MM-dd}&end={yyyy-MM-dd
|
||||||
}</code>
|
}</code>
|
||||||
|
@ -71,10 +73,10 @@
|
||||||
</div>
|
</div>
|
||||||
<p>{{ $t(`apiFile.explain6`) }}</p>
|
<p>{{ $t(`apiFile.explain6`) }}</p>
|
||||||
</div>
|
</div>
|
||||||
<!-- 矿池信息 -->
|
|
||||||
<section class="MiningPool" id="HashRate">
|
<section class="MiningPool" id="HashRate">
|
||||||
<h3>{{ $t(`apiFile.miningPoolInformation`) }}</h3>
|
<h3>{{ $t(`apiFile.miningPoolInformation`) }}</h3>
|
||||||
<!-- HashRate -->
|
|
||||||
<div class="Pool" >
|
<div class="Pool" >
|
||||||
<p>{{ $t(`apiFile.miningPoolInformation1`) }}</p>
|
<p>{{ $t(`apiFile.miningPoolInformation1`) }}</p>
|
||||||
<p class="hash">HashRate</p>
|
<p class="hash">HashRate</p>
|
||||||
|
@ -100,7 +102,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- MinersList -->
|
|
||||||
<div class="Pool" id="MinersList">
|
<div class="Pool" id="MinersList">
|
||||||
<p class="hash">MinersList</p>
|
<p class="hash">MinersList</p>
|
||||||
<p>{{ $t(`apiFile.minersNum`) }}</p>
|
<p>{{ $t(`apiFile.minersNum`) }}</p>
|
||||||
|
@ -131,7 +133,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- 矿池总览 -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.overviewOfMiningPool`) }}</p>
|
<p class="hash">{{ $t(`apiFile.overviewOfMiningPool`) }}</p>
|
||||||
<p class="Interface">Get /oapi/v1/pool/watch</p>
|
<p class="Interface">Get /oapi/v1/pool/watch</p>
|
||||||
|
@ -200,7 +202,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 矿池当前矿工数 -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.currentMiners`) }}</p>
|
<p class="hash">{{ $t(`apiFile.currentMiners`) }}</p>
|
||||||
<p class="Interface">Get /oapi/v1/pool/miners_list</p>
|
<p class="Interface">Get /oapi/v1/pool/miners_list</p>
|
||||||
|
@ -239,7 +241,7 @@
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- 矿池实时算力 -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.realTimePower`) }}</p>
|
<p class="hash">{{ $t(`apiFile.realTimePower`) }}</p>
|
||||||
<p class="Interface">Get /oapi/v1/pool/hashrate</p>
|
<p class="Interface">Get /oapi/v1/pool/hashrate</p>
|
||||||
|
@ -290,7 +292,7 @@
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- 矿池总览历史算力 -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.historyPower`) }}</p>
|
<p class="hash">{{ $t(`apiFile.historyPower`) }}</p>
|
||||||
<p class="Interface">Get /oapi/v1/pool/hashrate_history</p>
|
<p class="Interface">Get /oapi/v1/pool/hashrate_history</p>
|
||||||
|
@ -355,10 +357,10 @@
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- 挖矿账号信息 -->
|
|
||||||
<section class="MiningPool" id="accountHashRate" >
|
<section class="MiningPool" id="accountHashRate" >
|
||||||
<h3>{{ $t(`apiFile.miningAccount`) }}</h3>
|
<h3>{{ $t(`apiFile.miningAccount`) }}</h3>
|
||||||
<!-- HashRate -->
|
|
||||||
<div class="Pool" >
|
<div class="Pool" >
|
||||||
<p>{{ $t(`apiFile.miningPoolInformation1`) }}</p>
|
<p>{{ $t(`apiFile.miningPoolInformation1`) }}</p>
|
||||||
<p class="hash">HashRate</p>
|
<p class="hash">HashRate</p>
|
||||||
|
@ -384,7 +386,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- MinersList -->
|
|
||||||
<div class="Pool" id="accountList">
|
<div class="Pool" id="accountList">
|
||||||
<p class="hash">MinersList</p>
|
<p class="hash">MinersList</p>
|
||||||
<p>{{ $t(`apiFile.minerData`) }}</p>
|
<p>{{ $t(`apiFile.minerData`) }}</p>
|
||||||
|
@ -415,7 +417,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- MinerInfo -->
|
|
||||||
<div class="Pool" id="MinerInfo">
|
<div class="Pool" id="MinerInfo">
|
||||||
<p class="hash">MinerInfo</p>
|
<p class="hash">MinerInfo</p>
|
||||||
<p>{{ $t(`apiFile.stateData`) }}</p>
|
<p>{{ $t(`apiFile.stateData`) }}</p>
|
||||||
|
@ -444,7 +446,7 @@
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- 挖矿账号下矿工总览 -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.overviewOfMiners`) }}</p>
|
<p class="hash">{{ $t(`apiFile.overviewOfMiners`) }}</p>
|
||||||
<p class="Interface">Post /oapi/v1/account/watch</p>
|
<p class="Interface">Post /oapi/v1/account/watch</p>
|
||||||
|
@ -490,7 +492,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 挖矿账号下所有矿工 -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.allMiners`) }}</p>
|
<p class="hash">{{ $t(`apiFile.allMiners`) }}</p>
|
||||||
<p class="Interface">Post /oapi/v1/account/miners_list</p>
|
<p class="Interface">Post /oapi/v1/account/miners_list</p>
|
||||||
|
@ -535,7 +537,7 @@
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- 挖矿账号实时算力 -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.realTimeAccount`) }}</p>
|
<p class="hash">{{ $t(`apiFile.realTimeAccount`) }}</p>
|
||||||
<p class="Interface">Post /oapi/v1/account/hashrate_real</p>
|
<p class="Interface">Post /oapi/v1/account/hashrate_real</p>
|
||||||
|
@ -592,7 +594,7 @@
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- {{ $t(`apiFile.account24h`) }} -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.account24h`) }}</p>
|
<p class="hash">{{ $t(`apiFile.account24h`) }}</p>
|
||||||
<p class="Interface">Post /oapi/v1/account/hashrate_history</p>
|
<p class="Interface">Post /oapi/v1/account/hashrate_history</p>
|
||||||
|
@ -655,7 +657,7 @@
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- 挖矿账号最近24h算力(30m平均算力) -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.account24h30m`) }}</p>
|
<p class="hash">{{ $t(`apiFile.account24h30m`) }}</p>
|
||||||
<p class="Interface">Post /oapi/v1/account/hashrate_last24h</p>
|
<p class="Interface">Post /oapi/v1/account/hashrate_last24h</p>
|
||||||
|
@ -708,10 +710,10 @@
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- 矿机信息 -->
|
|
||||||
<section class="MiningPool" id="minerHashRate" >
|
<section class="MiningPool" id="minerHashRate" >
|
||||||
<h3>{{ $t(`apiFile.miningMachineInformation`) }}</h3>
|
<h3>{{ $t(`apiFile.miningMachineInformation`) }}</h3>
|
||||||
<!-- HashRate -->
|
|
||||||
<div class="Pool" >
|
<div class="Pool" >
|
||||||
<p>{{ $t(`apiFile.miningPoolInformation1`) }}</p>
|
<p>{{ $t(`apiFile.miningPoolInformation1`) }}</p>
|
||||||
<p class="hash">HashRate</p>
|
<p class="hash">HashRate</p>
|
||||||
|
@ -737,7 +739,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- 指定矿机实时算力 -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.realTimeMiningMachine`) }}</p>
|
<p class="hash">{{ $t(`apiFile.realTimeMiningMachine`) }}</p>
|
||||||
<p class="Interface">Post /oapi/v1/miner/hashrate_real</p>
|
<p class="Interface">Post /oapi/v1/miner/hashrate_real</p>
|
||||||
|
@ -799,7 +801,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 指定矿机历史24h平均算力 -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.miningMachineHistory24h`) }}</p>
|
<p class="hash">{{ $t(`apiFile.miningMachineHistory24h`) }}</p>
|
||||||
<p class="Interface">Post /oapi/v1/miner/hashrate_history</p>
|
<p class="Interface">Post /oapi/v1/miner/hashrate_history</p>
|
||||||
|
@ -869,7 +871,7 @@
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- 指定矿机最近24h算力(30m平均算力) -->
|
|
||||||
<div class="Pool">
|
<div class="Pool">
|
||||||
<p class="hash">{{ $t(`apiFile.realTimeMiningMachine24h30m`) }}</p>
|
<p class="hash">{{ $t(`apiFile.realTimeMiningMachine24h30m`) }}</p>
|
||||||
<p class="Interface">Post /oapi/v1/miner/hashrate_last24h</p>
|
<p class="Interface">Post /oapi/v1/miner/hashrate_last24h</p>
|
||||||
|
@ -930,29 +932,57 @@
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</section> -->
|
||||||
|
<section class="rightText" v-else >
|
||||||
|
<p class="backMenu" @click="backMenu">{{ $t("apiFile.backMenu") || "返回目录" }} </p>
|
||||||
|
<section class="rightContent">
|
||||||
|
<div v-if="documentLoading" class="loading-container">
|
||||||
|
<span class="loading-text">{{
|
||||||
|
$t("home.loadingContent") || "正在加载内容..."
|
||||||
|
}}</span>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
v-else-if="info && info.trim()"
|
||||||
|
class="dynamic-content"
|
||||||
|
v-html="info"
|
||||||
|
></div>
|
||||||
|
<div v-else class="no-content">
|
||||||
|
<p>{{ $t("home.noContent") || "暂无内容" }}</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="rateBox" v-else>
|
<section class="rateBox" v-else>
|
||||||
|
|
||||||
<section class="leftMenu">
|
<section class="leftMenu">
|
||||||
<ul>
|
<ul>
|
||||||
|
<li
|
||||||
<li v-for="item in navList" :class="{navActive:String(item.id) === String(DetailsParams.id)}" :key="item.id" @click="clickJump(item)">
|
v-for="item in navList"
|
||||||
<i class="iconfont icon-baogao file"></i
|
:class="{ navActive: String(item.id) === String(DetailsParams.id) }"
|
||||||
>{{ item.title}}
|
:key="item.id"
|
||||||
|
@click="clickJump(item)"
|
||||||
|
>
|
||||||
|
<i class="iconfont icon-baogao file"></i>{{ item.title }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section class="rightText">
|
<section class="rightText">
|
||||||
|
|
||||||
|
|
||||||
<section class="rightContent">
|
<section class="rightContent">
|
||||||
<div v-if="documentLoading" class="loading-container">
|
<div v-if="documentLoading" class="loading-container">
|
||||||
<span class="loading-text">{{ $t('home.loadingContent') || '正在加载内容...' }}</span>
|
<span class="loading-text">{{
|
||||||
|
$t("home.loadingContent") || "正在加载内容..."
|
||||||
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="info && info.trim()" class="dynamic-content" v-html="info"></div>
|
<div
|
||||||
|
v-else-if="info && info.trim()"
|
||||||
|
class="dynamic-content"
|
||||||
|
v-html="info"
|
||||||
|
></div>
|
||||||
<div v-else class="no-content">
|
<div v-else class="no-content">
|
||||||
<p>{{ $t('home.noContent') || '暂无内容' }}</p>
|
<p>{{ $t("home.noContent") || "暂无内容" }}</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -1650,7 +1680,6 @@
|
||||||
</div>
|
</div>
|
||||||
</section> -->
|
</section> -->
|
||||||
|
|
||||||
|
|
||||||
<!-- <section class="MiningPool" id="minerHashRate" >
|
<!-- <section class="MiningPool" id="minerHashRate" >
|
||||||
<h3>{{ $t(`apiFile.miningMachineInformation`) }}</h3>
|
<h3>{{ $t(`apiFile.miningMachineInformation`) }}</h3>
|
||||||
|
|
||||||
|
@ -1871,42 +1900,39 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section> -->
|
</section> -->
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Index from './index.js'
|
import Index from "./index.js";
|
||||||
export default {
|
export default {
|
||||||
mixins: [Index],
|
mixins: [Index],
|
||||||
metaInfo: {
|
metaInfo: {
|
||||||
meta: [
|
meta: [
|
||||||
{
|
{
|
||||||
name: 'keywords',
|
name: "keywords",
|
||||||
content: 'API 文档,认证 token,接口调用,API documentation, authentication tokens, interface calls'
|
content:
|
||||||
|
"API 文档,认证 token,接口调用,API documentation, authentication tokens, interface calls",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'description',
|
name: "description",
|
||||||
content:window.vm.$t(`seo.apiFile`)
|
content: window.vm.$t(`seo.apiFile`),
|
||||||
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
data(){
|
],
|
||||||
return {}
|
|
||||||
},
|
},
|
||||||
mounted() {
|
data() {
|
||||||
|
return {};
|
||||||
},
|
},
|
||||||
|
mounted() {},
|
||||||
methods: {
|
methods: {
|
||||||
handelJump(url){
|
handelJump(url) {
|
||||||
const lang = this.$i18n.locale;
|
const lang = this.$i18n.locale;
|
||||||
// 移除开头的斜杠以避免双斜杠
|
// 移除开头的斜杠以避免双斜杠
|
||||||
const cleanPath = url.startsWith('/') ? url.slice(1) : url;
|
const cleanPath = url.startsWith("/") ? url.slice(1) : url;
|
||||||
this.$router.push(`/${lang}/${cleanPath}`);
|
this.$router.push(`/${lang}/${cleanPath}`);
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -1914,35 +1940,126 @@ export default {
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
// 手机端适配
|
// 手机端适配
|
||||||
@media screen and (min-width: 220px) and (max-width: 1279px) {
|
@media screen and (min-width: 220px) and (max-width: 1279px) {
|
||||||
|
.rate {
|
||||||
.rate{
|
|
||||||
background: transparent !important;
|
background: transparent !important;
|
||||||
min-height: 360px;
|
min-height: 360px;
|
||||||
}
|
}
|
||||||
.rateMobile{
|
.rateMobile {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
.leftMenu ul{
|
||||||
|
margin-top: 30px !important;
|
||||||
|
max-height: 500px !important;
|
||||||
|
overflow-y: auto !important;
|
||||||
}
|
}
|
||||||
.content,.ExampleTable,.text-container,.MiningPool{
|
.leftMenu ul li {
|
||||||
|
font-size: 0.9rem !important;
|
||||||
|
padding: 10px !important;
|
||||||
|
border-radius: 10px !important;
|
||||||
|
background: rgba(91, 33, 182, 0.06) !important; /* 淡紫块,提高可读性 */
|
||||||
|
border: 1px solid #ede9fe !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
transition: background 0.2s ease, transform 0.1s ease;
|
||||||
|
}
|
||||||
|
.leftMenu ul li:hover {
|
||||||
|
background: rgba(91, 33, 182, 0.12) !important;
|
||||||
|
transform: translateY(-1px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.backMenu{
|
||||||
|
position: sticky;
|
||||||
|
top: 8px;
|
||||||
|
z-index: 5;
|
||||||
|
color: #5b21b6;
|
||||||
|
font-size: 0.95rem !important;
|
||||||
|
margin: 0 0 10px 2px !important;
|
||||||
|
display: inline-block !important;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
background: rgba(255,255,255,0.9);
|
||||||
|
border: 1px solid #ede9fe;
|
||||||
|
padding: 6px 10px;
|
||||||
|
border-radius: 999px;
|
||||||
|
box-shadow: 0 4px 10px rgba(0,0,0,0.06);
|
||||||
|
}
|
||||||
|
.catalogue{
|
||||||
|
font-size: 1rem !important;
|
||||||
|
font-weight: 600 !important;
|
||||||
|
margin-bottom: 10px !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content {
|
||||||
|
overflow-x: auto !important; /* 超出时允许横向滚动(兜底) */
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(table) {
|
||||||
|
/* 对含有 colspan/rowspan 的表格,固定布局会引发表头与列错位,这里改为自动布局 */
|
||||||
|
table-layout: auto !important;
|
||||||
|
width: 100% !important;
|
||||||
|
border-collapse: collapse !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(th),
|
||||||
|
.rightContent .dynamic-content :deep(td) {
|
||||||
|
|
||||||
|
white-space: normal !important;
|
||||||
|
padding: 0px !important;
|
||||||
|
font-size: 0.7rem !important; /* 表格单元格字号 */
|
||||||
|
min-width: 0 !important; /* 覆盖外层全局 td 的最小宽度,避免小屏列被强撑导致错位 */
|
||||||
|
vertical-align: left !important;
|
||||||
|
}
|
||||||
|
/* 步骤里的段落在移动端必须自动换行,禁止引发横向滚动条 */
|
||||||
|
.rightContent .dynamic-content :deep(p) {
|
||||||
|
max-width: 100% !important;
|
||||||
|
white-space: normal !important;
|
||||||
|
word-break: break-word !important; /* 优先按单词/字符断行 */
|
||||||
|
overflow-wrap: anywhere !important; /* 极端长串也强制换行 */
|
||||||
|
word-wrap: break-word !important; /* 旧版兼容 */
|
||||||
|
font-size: 0.8rem !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(a) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(li) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(pre) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(font) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
min-width: 40px !important;
|
||||||
|
display: inline-block !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(h2) {
|
||||||
|
font-size: 1rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(h3) {
|
||||||
|
font-size: 0.9rem !important;
|
||||||
|
}
|
||||||
|
.content,
|
||||||
|
.ExampleTable,
|
||||||
|
.text-container,
|
||||||
|
.MiningPool {
|
||||||
margin-top: 18px;
|
margin-top: 18px;
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
p{
|
p {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
li{
|
li {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
div{
|
div {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
span{
|
span {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse; /* 确保边框合并为单一线条 */
|
border-collapse: collapse; /* 确保边框合并为单一线条 */
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
table,
|
table,
|
||||||
|
@ -1950,14 +2067,13 @@ export default {
|
||||||
td {
|
td {
|
||||||
border: 1px solid #808080; /* 灰色实线边框 */
|
border: 1px solid #808080; /* 灰色实线边框 */
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
padding: 5px;
|
padding: 8px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
.active {
|
||||||
|
|
||||||
.active{
|
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
background:#F2ECF6;
|
background: #f2ecf6;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
@ -1969,10 +2085,11 @@ export default {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
.loading-container, .error-container {
|
.loading-container,
|
||||||
|
.error-container {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 30px 15px;
|
padding: 30px 15px;
|
||||||
color: #666;
|
color: #666;
|
||||||
|
@ -1989,15 +2106,29 @@ export default {
|
||||||
color: #333;
|
color: #333;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
|
|
||||||
h1, h2, h3 {
|
/* 动态内容卡片化 */
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 12px;
|
||||||
|
box-shadow: 0 6px 16px rgba(0,0,0,0.06);
|
||||||
|
padding: 14px;
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3 {
|
||||||
margin: 15px 0 10px 0;
|
margin: 15px 0 10px 0;
|
||||||
color: #2c3e50;
|
color: #2c3e50;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 { font-size: 1.4rem; }
|
h1 {
|
||||||
h2 { font-size: 1.2rem; }
|
font-size: 1.4rem;
|
||||||
h3 { font-size: 1.1rem; }
|
}
|
||||||
|
h2 {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin: 8px 0;
|
margin: 8px 0;
|
||||||
|
@ -2022,24 +2153,33 @@ export default {
|
||||||
|
|
||||||
table {
|
table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-collapse: collapse;
|
border-collapse: separate;
|
||||||
|
border-spacing: 0;
|
||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
font-size: 0.8rem;
|
font-size: 0.85rem;
|
||||||
|
border-radius: 10px;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
th, td {
|
th,
|
||||||
border: 1px solid #ddd;
|
td {
|
||||||
padding: 6px 8px;
|
border: 1px solid #eee;
|
||||||
|
padding: 10px 8px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
th {
|
th {
|
||||||
background: #f8f9fa;
|
background: #f5f3ff;
|
||||||
font-weight: 600;
|
color: #4c1d95;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:nth-child(even) td {
|
||||||
|
background: #fafafa;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: #5721E4;
|
color: #5b21b6;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2049,11 +2189,8 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.rate {
|
.rate {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
|
@ -2066,9 +2203,9 @@ export default {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
}
|
}
|
||||||
a{
|
a {
|
||||||
transition: 0.3s all;
|
transition: 0.3s all;
|
||||||
}
|
}
|
||||||
.rateBox {
|
.rateBox {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
height: 830px;
|
height: 830px;
|
||||||
|
@ -2124,10 +2261,10 @@ a{
|
||||||
box-shadow: 0px 0px 8px 2px #ccc;
|
box-shadow: 0px 0px 8px 2px #ccc;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
.Interface{
|
.Interface {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
background: #F7F7F7;
|
background: #f7f7f7;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
}
|
}
|
||||||
.tableTitle {
|
.tableTitle {
|
||||||
|
@ -2208,21 +2345,20 @@ a{
|
||||||
.MiningPool {
|
.MiningPool {
|
||||||
margin-top: 50px;
|
margin-top: 50px;
|
||||||
font-size: 0.95rem;
|
font-size: 0.95rem;
|
||||||
.Pool{
|
.Pool {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
p{
|
p {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
}
|
}
|
||||||
.hash{
|
.hash {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.active{
|
.active {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
background:#F2ECF6;
|
background: #f2ecf6;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
@ -2230,7 +2366,6 @@ a{
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse; /* 确保边框合并为单一线条 */
|
border-collapse: collapse; /* 确保边框合并为单一线条 */
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
table,
|
table,
|
||||||
|
@ -2239,21 +2374,20 @@ a{
|
||||||
border: 1px solid #808080; /* 灰色实线边框 */
|
border: 1px solid #808080; /* 灰色实线边框 */
|
||||||
font-size: 0.95rem;
|
font-size: 0.95rem;
|
||||||
}
|
}
|
||||||
td{
|
td {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
min-width: 160px;
|
min-width: auto; /* 避免影响移动端动态内容表格的列宽计算 */
|
||||||
height: 40px;
|
height: 40px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
|
|
||||||
}
|
}
|
||||||
th{
|
th {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
tr:nth-child(odd) {
|
tr:nth-child(odd) {
|
||||||
background-color: #F7F7F7;
|
background-color: #f7f7f7;
|
||||||
}
|
}
|
||||||
/* 为偶数行设置背景色 */
|
/* 为偶数行设置背景色 */
|
||||||
tr:nth-child(even) {
|
tr:nth-child(even) {
|
||||||
|
@ -2263,7 +2397,6 @@ a{
|
||||||
/* 第一行背景色 */
|
/* 第一行背景色 */
|
||||||
tr:first-child {
|
tr:first-child {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* navContent 动态文档内容样式 */
|
/* navContent 动态文档内容样式 */
|
||||||
|
@ -2273,11 +2406,12 @@ a{
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
overflow: hidden; /* 确保不超出容器 */
|
overflow: hidden; /* 确保不超出容器 */
|
||||||
|
|
||||||
.loading-container, .error-container {
|
.loading-container,
|
||||||
|
.error-container {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 40px 20px;
|
padding: 40px 20px;
|
||||||
color: #666;
|
color: #666;
|
||||||
|
@ -2295,15 +2429,26 @@ a{
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
overflow-wrap: break-word;
|
overflow-wrap: break-word;
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
margin: 20px 0 15px 0;
|
margin: 20px 0 15px 0;
|
||||||
color: #2c3e50;
|
color: #2c3e50;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 { font-size: 28px; }
|
h1 {
|
||||||
h2 { font-size: 24px; }
|
font-size: 28px;
|
||||||
h3 { font-size: 20px; }
|
}
|
||||||
|
h2 {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
|
@ -2314,7 +2459,7 @@ a{
|
||||||
background: #f4f4f4;
|
background: #f4f4f4;
|
||||||
padding: 2px 6px;
|
padding: 2px 6px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
font-family: 'Courier New', monospace;
|
font-family: "Courier New", monospace;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2337,7 +2482,8 @@ a{
|
||||||
margin: 15px 0;
|
margin: 15px 0;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
|
|
||||||
th, td {
|
th,
|
||||||
|
td {
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
@ -2354,7 +2500,7 @@ a{
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: #5721E4;
|
color: #5721e4;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
@ -2386,26 +2532,8 @@ a{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* 主容器样式 */
|
/* 主容器样式 */
|
||||||
.navContent {
|
.navContent {
|
||||||
background: #ffffff; /* 白色背景 */
|
background: #ffffff; /* 白色背景 */
|
||||||
|
@ -2462,7 +2590,7 @@ a{
|
||||||
.dynamic-content {
|
.dynamic-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
|
font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
color: #222;
|
color: #222;
|
||||||
|
@ -2478,16 +2606,12 @@ a{
|
||||||
background: #f4f4f4;
|
background: #f4f4f4;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
padding-left: 18px;
|
padding-left: 18px;
|
||||||
|
|
||||||
}
|
}
|
||||||
:deep(li) {
|
:deep(li) {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
|
||||||
}
|
}
|
||||||
:deep(code) {
|
:deep(code) {
|
||||||
line-height: 1px !important;
|
line-height: 1px !important;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
:deep(span) {
|
:deep(span) {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
|
@ -2498,26 +2622,29 @@ a{
|
||||||
padding: 18px 8px;
|
padding: 18px 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(th), :deep(td) {
|
:deep(th),
|
||||||
|
:deep(td) {
|
||||||
border: 1px solid #d1d5db;
|
border: 1px solid #d1d5db;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
:deep(th) {
|
:deep(th) {
|
||||||
background: #D2C3EA;
|
background: #d2c3ea;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
:deep(strong), :deep(b) {
|
:deep(strong),
|
||||||
|
:deep(b) {
|
||||||
font-weight: bold !important;
|
font-weight: bold !important;
|
||||||
color: inherit !important;
|
color: inherit !important;
|
||||||
font-style: normal !important;
|
font-style: normal !important;
|
||||||
}
|
}
|
||||||
:deep(em), :deep(i) {
|
:deep(em),
|
||||||
|
:deep(i) {
|
||||||
font-style: italic !important;
|
font-style: italic !important;
|
||||||
color: inherit !important;
|
color: inherit !important;
|
||||||
}
|
}
|
||||||
:deep(a) {
|
:deep(a) {
|
||||||
color: #661FFB !important;
|
color: #661ffb !important;
|
||||||
text-decoration: none !important;
|
text-decoration: none !important;
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: underline !important;
|
text-decoration: underline !important;
|
||||||
|
@ -2548,15 +2675,12 @@ a{
|
||||||
word-wrap: break-word !important; /* 兼容旧版浏览器 */
|
word-wrap: break-word !important; /* 兼容旧版浏览器 */
|
||||||
hyphens: none;
|
hyphens: none;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 加载动画 */
|
/* 加载动画 */
|
||||||
@keyframes pulse {
|
@keyframes pulse {
|
||||||
0%, 100% {
|
0%,
|
||||||
|
100% {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
50% {
|
50% {
|
||||||
|
@ -2582,7 +2706,7 @@ a{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.navActive{
|
.navActive {
|
||||||
background: #AC85E0 !important;
|
background: #ac85e0 !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -96,7 +96,7 @@
|
||||||
<el-submenu index="1" style="background: transparent">
|
<el-submenu index="1" style="background: transparent">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<span ref="coinSelect" class="coinSelect">
|
<span ref="coinSelect" class="coinSelect">
|
||||||
<img :src="currencyPath" alt="coin" />
|
<img style="width: 20px;" :src="currencyPath" alt="coin" />
|
||||||
<span>{{ handelLabel(params.coin) }}</span>
|
<span>{{ handelLabel(params.coin) }}</span>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
|
@ -459,7 +459,7 @@
|
||||||
@click="clickCurrency(item)"
|
@click="clickCurrency(item)"
|
||||||
class="list-item"
|
class="list-item"
|
||||||
>
|
>
|
||||||
<img :src="item.img" alt="coin" />
|
<img style="width: 35px;" :src="item.img" alt="coin" />
|
||||||
<span :class="{ active: itemActive === item.value }">
|
<span :class="{ active: itemActive === item.value }">
|
||||||
{{ item.label }}</span
|
{{ item.label }}</span
|
||||||
>
|
>
|
||||||
|
@ -3613,6 +3613,11 @@ i {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.imgIcon img{
|
||||||
|
max-width: 100px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -106,6 +106,7 @@ export default {
|
||||||
childType:2,//1服务条款、2费率、3API文档 childType
|
childType:2,//1服务条款、2费率、3API文档 childType
|
||||||
},
|
},
|
||||||
navList:[],
|
navList:[],
|
||||||
|
contentShow:false,
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -141,11 +142,14 @@ export default {
|
||||||
if(res && res.code === 200){
|
if(res && res.code === 200){
|
||||||
|
|
||||||
this.info = res.data.content || ""
|
this.info = res.data.content || ""
|
||||||
|
this.contentShow = true
|
||||||
}
|
}
|
||||||
this.setLoading('rateLoading', false);
|
this.setLoading('rateLoading', false);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
backMenu(){
|
||||||
|
this.contentShow = false
|
||||||
|
},
|
||||||
|
|
||||||
clickJump(item) {
|
clickJump(item) {
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="rate">
|
<div class="rate">
|
||||||
<section v-if="$isMobile" class="rateMobile">
|
<section v-if="$isMobile" class="rateMobile">
|
||||||
<h4>{{$t(`course.rateRelated`)}}</h4>
|
<!-- <h4>{{$t(`course.rateRelated`)}}</h4>
|
||||||
<div class="tableBox" >
|
<div class="tableBox" >
|
||||||
<div class="table-title">
|
<div class="table-title">
|
||||||
<span :title="$t(`course.currency`)">{{$t(`course.currency`)}}</span>
|
<span :title="$t(`course.currency`)">{{$t(`course.currency`)}}</span>
|
||||||
|
@ -12,7 +12,6 @@
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<div class="collapseTitle">
|
<div class="collapseTitle">
|
||||||
<span ><img :src="item.img" alt="coin" loading="lazy"> {{item.label}}</span>
|
<span ><img :src="item.img" alt="coin" loading="lazy"> {{item.label}}</span>
|
||||||
<!-- <span v-if="item.value === 'enx'"> {{ $t(`course.timeLimited`) }} 0%</span> -->
|
|
||||||
<span >{{item.rate}}</span>
|
<span >{{item.rate}}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -51,35 +50,75 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div> -->
|
||||||
|
<section class="leftMenu" v-loading="rateLoading" v-if="!contentShow">
|
||||||
|
<ul>
|
||||||
|
<li
|
||||||
|
v-for="item in navList"
|
||||||
|
:class="{ navActive: String(item.id) === String(DetailsParams.id) }"
|
||||||
|
:key="item.id"
|
||||||
|
@click="clickJump(item)"
|
||||||
|
>
|
||||||
|
{{ item.title }}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="rightText" v-else>
|
||||||
|
<p class="backMenu" @click="backMenu">{{ $t("apiFile.backMenu") || "返回目录" }} </p>
|
||||||
|
|
||||||
|
<section class="rightContent">
|
||||||
|
<div v-if="rateLoading" class="loading-container">
|
||||||
|
<span class="loading-text">{{
|
||||||
|
$t("home.loadingContent") || "正在加载内容..."
|
||||||
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
v-else-if="info && info.trim()"
|
||||||
|
class="dynamic-content"
|
||||||
|
v-html="info"
|
||||||
|
></div>
|
||||||
|
<div v-else class="no-content">
|
||||||
|
<p>{{ $t("home.noContent") || "暂无内容" }}</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="rateBox" v-else>
|
<section class="rateBox" v-else>
|
||||||
|
|
||||||
<section class="leftMenu">
|
<section class="leftMenu">
|
||||||
<!-- <ul>
|
<!-- <ul>
|
||||||
<li>{{$t(`course.rateRelated`)}}</li>
|
<li>{{$t(`course.rateRelated`)}}</li>
|
||||||
</ul> -->
|
</ul> -->
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li v-for="item in navList" :class="{navActive:String(item.id) === String(DetailsParams.id)}" :key="item.id" @click="clickJump(item)">{{item.title}}</li>
|
<li
|
||||||
|
v-for="item in navList"
|
||||||
|
:class="{ navActive: String(item.id) === String(DetailsParams.id) }"
|
||||||
|
:key="item.id"
|
||||||
|
@click="clickJump(item)"
|
||||||
|
>
|
||||||
|
{{ item.title }}
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<section class="rightText">
|
<section class="rightText">
|
||||||
|
|
||||||
<section class="rightContent">
|
<section class="rightContent">
|
||||||
<div v-if="rateLoading" class="loading-container">
|
<div v-if="rateLoading" class="loading-container">
|
||||||
<span class="loading-text">{{ $t('home.loadingContent') || '正在加载内容...' }}</span>
|
<span class="loading-text">{{
|
||||||
|
$t("home.loadingContent") || "正在加载内容..."
|
||||||
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="info && info.trim()" class="dynamic-content" v-html="info"></div>
|
<div
|
||||||
|
v-else-if="info && info.trim()"
|
||||||
|
class="dynamic-content"
|
||||||
|
v-html="info"
|
||||||
|
></div>
|
||||||
<div v-else class="no-content">
|
<div v-else class="no-content">
|
||||||
<p>{{ $t('home.noContent') || '暂无内容' }}</p>
|
<p>{{ $t("home.noContent") || "暂无内容" }}</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ----------------------------- -->
|
<!-- ----------------------------- -->
|
||||||
<!-- <h2>{{$t(`course.rateRelated`)}}</h2>
|
<!-- <h2>{{$t(`course.rateRelated`)}}</h2>
|
||||||
<section class="table">
|
<section class="table">
|
||||||
|
@ -102,11 +141,8 @@
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section> -->
|
</section> -->
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -116,37 +152,124 @@ export default {
|
||||||
metaInfo: {
|
metaInfo: {
|
||||||
meta: [
|
meta: [
|
||||||
{
|
{
|
||||||
name: 'keywords',
|
name: "keywords",
|
||||||
content: '费率页面,挖矿费率,收益计算,全网最低费率,Rate Page,Mining Rates,Revenue Calculation,Lowest Rates on the Net'
|
content:
|
||||||
|
"费率页面,挖矿费率,收益计算,全网最低费率,Rate Page,Mining Rates,Revenue Calculation,Lowest Rates on the Net",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'description',
|
name: "description",
|
||||||
content:window.vm.$t(`seo.rate`)
|
content: window.vm.$t(`seo.rate`),
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
mixins:[IndexJs]
|
],
|
||||||
}
|
},
|
||||||
|
mixins: [IndexJs],
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
// 手机端适配
|
||||||
// 手机端适配
|
@media screen and (min-width: 220px) and (max-width: 1279px) {
|
||||||
@media screen and (min-width: 220px) and (max-width: 1279px) {
|
.rate {
|
||||||
|
|
||||||
.rate{
|
|
||||||
min-height: 360px !important;
|
min-height: 360px !important;
|
||||||
background: transparent !important;
|
background: transparent !important;
|
||||||
padding-top: 20PX !important;
|
padding-top: 20px !important;
|
||||||
}
|
}
|
||||||
.rateMobile{
|
.rateMobile {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
.leftMenu ul {
|
||||||
|
margin-top: 30px !important;
|
||||||
|
max-height: 500px !important;
|
||||||
|
overflow-y: auto !important;
|
||||||
}
|
}
|
||||||
h4{
|
.leftMenu ul li {
|
||||||
color: rgba(0,0,0,0.8);
|
font-size: 0.9rem !important;
|
||||||
|
padding: 10px !important;
|
||||||
|
border-radius: 10px !important;
|
||||||
|
background: rgba(91, 33, 182, 0.06) !important; /* 淡紫块,提高可读性 */
|
||||||
|
border: 1px solid #ede9fe !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
transition: background 0.2s ease, transform 0.1s ease;
|
||||||
|
}
|
||||||
|
.leftMenu ul li:hover {
|
||||||
|
background: rgba(91, 33, 182, 0.12) !important;
|
||||||
|
transform: translateY(-1px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.backMenu{
|
||||||
|
position: sticky;
|
||||||
|
top: 8px;
|
||||||
|
z-index: 5;
|
||||||
|
color: #5b21b6;
|
||||||
|
font-size: 0.95rem !important;
|
||||||
|
margin: 0 0 10px 2px !important;
|
||||||
|
display: inline-block !important;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
background: rgba(255,255,255,0.9);
|
||||||
|
border: 1px solid #ede9fe;
|
||||||
|
padding: 6px 10px;
|
||||||
|
border-radius: 999px;
|
||||||
|
box-shadow: 0 4px 10px rgba(0,0,0,0.06);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content {
|
||||||
|
overflow-x: auto !important; /* 超出时允许横向滚动(兜底) */
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(table) {
|
||||||
|
/* 对含有 colspan/rowspan 的表格,固定布局会引发表头与列错位,这里改为自动布局 */
|
||||||
|
table-layout: auto !important;
|
||||||
|
width: 100% !important;
|
||||||
|
border-collapse: collapse !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(th),
|
||||||
|
.rightContent .dynamic-content :deep(td) {
|
||||||
|
// word-break: break-word !important;
|
||||||
|
white-space: normal !important;
|
||||||
|
padding: 2px !important;
|
||||||
|
font-size: 0.7rem !important; /* 表格单元格字号 */
|
||||||
|
min-width: 0 !important; /* 覆盖外层全局 td 的最小宽度,避免小屏列被强撑导致错位 */
|
||||||
|
vertical-align: left !important;
|
||||||
|
}
|
||||||
|
/* 步骤里的段落在移动端必须自动换行,禁止引发横向滚动条 */
|
||||||
|
.rightContent .dynamic-content :deep(p) {
|
||||||
|
max-width: 100% !important;
|
||||||
|
white-space: normal !important;
|
||||||
|
word-break: break-word !important; /* 优先按单词/字符断行 */
|
||||||
|
overflow-wrap: anywhere !important; /* 极端长串也强制换行 */
|
||||||
|
word-wrap: break-word !important; /* 旧版兼容 */
|
||||||
|
font-size: 0.8rem !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(a) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(li) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(pre) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(font) {
|
||||||
|
font-size: 0.7rem !important;
|
||||||
|
min-width: 40px !important;
|
||||||
|
display: inline-block !important;
|
||||||
|
}
|
||||||
|
.rightContent .dynamic-content :deep(h2) {
|
||||||
|
font-size: 1rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rightContent .dynamic-content :deep(h3) {
|
||||||
|
font-size: 0.9rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
color: rgba(0, 0, 0, 0.8);
|
||||||
padding-left: 5%;
|
padding-left: 5%;
|
||||||
}
|
}
|
||||||
.tableBox{
|
.tableBox {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 98%;
|
width: 98%;
|
||||||
min-height: 300px;
|
min-height: 300px;
|
||||||
|
@ -157,57 +280,54 @@ export default {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
box-shadow: 0px 0px 5px 2px #ccc;
|
box-shadow: 0px 0px 5px 2px #ccc;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
.table-title{
|
.table-title {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
background: #D2C4E8;
|
background: #d2c4e8;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
padding-left: 0 !important;
|
padding-left: 0 !important;
|
||||||
span{
|
span {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
span:nth-of-type(1){
|
span:nth-of-type(1) {
|
||||||
width:30% !important;
|
width: 30% !important;
|
||||||
}
|
}
|
||||||
span:nth-of-type(2){
|
span:nth-of-type(2) {
|
||||||
width:70% !important;
|
width: 70% !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.collapseTitle{
|
.collapseTitle {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-left: 0 !important;
|
padding-left: 0 !important;
|
||||||
font-size: 0.95rem !important;
|
font-size: 0.95rem !important;
|
||||||
span{
|
span {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
span:nth-of-type(1){
|
span:nth-of-type(1) {
|
||||||
width:40% !important;
|
width: 40% !important;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: left;
|
justify-content: left;
|
||||||
padding-left: 4%;
|
padding-left: 4%;
|
||||||
img{
|
img {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
span:nth-of-type(2){
|
span:nth-of-type(2) {
|
||||||
width:60% !important;
|
width: 60% !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::v-deep .el-collapse-item__wrap {
|
||||||
|
background: #f0e9f5;
|
||||||
}
|
}
|
||||||
|
.belowTable {
|
||||||
::v-deep .el-collapse-item__wrap{
|
|
||||||
background: #F0E9F5;
|
|
||||||
}
|
|
||||||
.belowTable{
|
|
||||||
|
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
|
@ -216,25 +336,21 @@ export default {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left: 8%;
|
padding-left: 8%;
|
||||||
font-size: 0.85rem !important;
|
font-size: 0.85rem !important;
|
||||||
p:nth-of-type(1){
|
p:nth-of-type(1) {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.paginationBox {
|
||||||
.paginationBox{
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
.rate {
|
||||||
|
|
||||||
|
|
||||||
.rate{
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-height: 600PX;
|
min-height: 600px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
background-image: url(../../assets/img/miningAccount/top.png);
|
background-image: url(../../assets/img/miningAccount/top.png);
|
||||||
background-size: 100% 50%;
|
background-size: 100% 50%;
|
||||||
|
@ -242,61 +358,59 @@ export default {
|
||||||
background-position: 30% -15%;
|
background-position: 30% -15%;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding-top: 60PX;
|
padding-top: 60px;
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
.rateBox {
|
||||||
|
|
||||||
.rateBox{
|
|
||||||
width: 80%;
|
width: 80%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
min-height: 700PX;
|
min-height: 700px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
border-radius: 8PX;
|
border-radius: 8px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 20PX;
|
padding: 20px;
|
||||||
transition: 0.3S linear;
|
transition: 0.3s linear;
|
||||||
|
|
||||||
.leftMenu{
|
.leftMenu {
|
||||||
width: 18%;
|
width: 18%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-right: 2%;
|
margin-right: 2%;
|
||||||
padding-top: 50PX;
|
padding-top: 50px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
box-shadow: 0px 0px 5px 2px #ccc;
|
box-shadow: 0px 0px 5px 2px #ccc;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
ul{
|
ul {
|
||||||
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
li{
|
li {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
min-height: 40PX;
|
min-height: 40px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin-top: 10PX;
|
margin-top: 10px;
|
||||||
border-radius: 5PX;
|
border-radius: 5px;
|
||||||
background: rgba(210,195,234,0.3);
|
background: rgba(210, 195, 234, 0.3);
|
||||||
|
|
||||||
width: 90%;
|
width: 90%;
|
||||||
padding:8px 8px;
|
padding: 8px 8px;
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover{
|
&:hover {
|
||||||
background: #D2C3EA;
|
background: #d2c3ea;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.rightText{
|
.rightText {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 80%;
|
width: 80%;
|
||||||
box-shadow: 0px 0px 5px 2px #ccc;
|
box-shadow: 0px 0px 5px 2px #ccc;
|
||||||
|
@ -304,16 +418,16 @@ export default {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding-top:30px;
|
padding-top: 30px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
h2{
|
h2 {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left: 50px;
|
padding-left: 50px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table{
|
.table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -321,21 +435,21 @@ export default {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
.tableTitle{
|
.tableTitle {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 60PX;
|
height: 60px;
|
||||||
background: #D2C3EA;
|
background: #d2c3ea;
|
||||||
border-radius: 5px 5px 0px 0px;
|
border-radius: 5px 5px 0px 0px;
|
||||||
span{
|
span {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: calc(100%/5);
|
width: calc(100% / 5);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ul{
|
ul {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
@ -344,27 +458,27 @@ export default {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
li{
|
li {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 50PX;
|
height: 50px;
|
||||||
background: #F8F8FA;
|
background: #f8f8fa;
|
||||||
margin-top: 8PX;
|
margin-top: 8px;
|
||||||
font-size: 0.95rem;
|
font-size: 0.95rem;
|
||||||
span{
|
span {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: calc(100%/5);
|
width: calc(100% / 5);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.coin{
|
.coin {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: left;
|
justify-content: left;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-left: 4%;
|
padding-left: 4%;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
img{
|
img {
|
||||||
width: 22px;
|
width: 22px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
@ -373,15 +487,14 @@ export default {
|
||||||
// li:nth-child(even) {
|
// li:nth-child(even) {
|
||||||
// background-color: #ffff; /* 甚至可以是你想要的任何颜色 */
|
// background-color: #ffff; /* 甚至可以是你想要的任何颜色 */
|
||||||
// }
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
.dynamic-content {
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dynamic-content {
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
|
font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
color: #222;
|
color: #222;
|
||||||
|
@ -392,36 +505,37 @@ export default {
|
||||||
margin: 16px 0;
|
margin: 16px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(th), :deep(td) {
|
:deep(th),
|
||||||
|
:deep(td) {
|
||||||
border: 1px solid #d1d5db;
|
border: 1px solid #d1d5db;
|
||||||
padding: 8px 8px;
|
padding: 8px 8px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
:deep(th) {
|
:deep(th) {
|
||||||
background: #D2C3EA;
|
background: #d2c3ea;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
:deep(strong), :deep(b) {
|
:deep(strong),
|
||||||
|
:deep(b) {
|
||||||
font-weight: bold !important;
|
font-weight: bold !important;
|
||||||
color: inherit !important;
|
color: inherit !important;
|
||||||
font-style: normal !important;
|
font-style: normal !important;
|
||||||
}
|
}
|
||||||
:deep(em), :deep(i) {
|
:deep(em),
|
||||||
|
:deep(i) {
|
||||||
font-style: italic !important;
|
font-style: italic !important;
|
||||||
color: inherit !important;
|
color: inherit !important;
|
||||||
}
|
}
|
||||||
:deep(a) {
|
:deep(a) {
|
||||||
color: #661FFB !important;
|
color: #661ffb !important;
|
||||||
text-decoration: none !important;
|
text-decoration: none !important;
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: underline !important;
|
text-decoration: underline !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.navActive{
|
|
||||||
background: #AC85E0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
.navActive {
|
||||||
|
background: #ac85e0 !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
||||||
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><meta name=google-site-verification content=pKAZogQ0NQ6L4j9-V58WJMjm7zYCFwkJXSJzWu9UDM8><meta name=robots content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta name=googlebot content="index, follow"><meta name=googlebot-news content="index, follow"><meta name=bingbot content="index, follow"><link rel=alternate hreflang=zh href=https://m2pool.com/zh><link rel=alternate hreflang=en href=https://m2pool.com/en><link rel=alternate hreflang=x-default href=https://m2pool.com/en><meta property=og:title content="M2pool - Stable leading high-yield mining pool"><meta property=og:description content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining"><meta property=og:url content=https://m2pool.com/en><meta property=og:site_name content=M2Pool><meta property=og:type content=website><meta property=og:image content=https://m2pool.com/logo.png><link rel=icon href=/favicon.ico><link rel=stylesheet href=//at.alicdn.com/t/c/font_4582735_7i8wfzc0art.css><title>M2pool - Stable leading high-yield mining pool</title><meta name=keywords content="M2Pool, cryptocurrency mining pool,entropyx, bitcoin mining, DGB mining, mining pool service, 加密货币矿池, 比特币挖矿, DGB挖矿"><meta name=description content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining, including nexa, grs, mona, dgb, rxd"><script defer=defer src=/js/chunk-vendors-c0d76f48.f34181ba.js></script><script defer=defer src=/js/chunk-vendors-bc050c32.8062ab74.js></script><script defer=defer src=/js/chunk-vendors-3003db77.d0b93d36.js></script><script defer=defer src=/js/chunk-vendors-9d134daf.bb668c99.js></script><script defer=defer src=/js/chunk-vendors-96cecd74.a7d9b845.js></script><script defer=defer src=/js/chunk-vendors-c2f7d60e.3710fdc2.js></script><script defer=defer src=/js/chunk-vendors-89d5c698.2190b4ca.js></script><script defer=defer src=/js/chunk-vendors-377fed06.0e89b4b7.js></script><script defer=defer src=/js/chunk-vendors-c9ff040c.57bd8c18.js></script><script defer=defer src=/js/app-42f9d7e6.8c4c8a91.js></script><script defer=defer src=/js/app-5c551db8.21e2fd11.js></script><script defer=defer src=/js/app-45954fd3.3129066e.js></script><script defer=defer src=/js/app-72600b29.938f975d.js></script><script defer=defer src=/js/app-5a0d40dd.21bd4ef8.js></script><script defer=defer src=/js/app-113c6c50.719bb771.js></script><link href=/css/chunk-vendors-bc050c32.6f97509c.css rel=stylesheet><link href=/css/app-189e7968.4089e4bb.css rel=stylesheet></head><body><div id=app></div></body></html>
|
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><meta name=google-site-verification content=pKAZogQ0NQ6L4j9-V58WJMjm7zYCFwkJXSJzWu9UDM8><meta name=robots content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta name=googlebot content="index, follow"><meta name=googlebot-news content="index, follow"><meta name=bingbot content="index, follow"><link rel=alternate hreflang=zh href=https://m2pool.com/zh><link rel=alternate hreflang=en href=https://m2pool.com/en><link rel=alternate hreflang=x-default href=https://m2pool.com/en><meta property=og:title content="M2pool - Stable leading high-yield mining pool"><meta property=og:description content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining"><meta property=og:url content=https://m2pool.com/en><meta property=og:site_name content=M2Pool><meta property=og:type content=website><meta property=og:image content=https://m2pool.com/logo.png><link rel=icon href=/favicon.ico><link rel=stylesheet href=//at.alicdn.com/t/c/font_4582735_7i8wfzc0art.css><title>M2pool - Stable leading high-yield mining pool</title><meta name=keywords content="M2Pool, cryptocurrency mining pool,entropyx, bitcoin mining, DGB mining, mining pool service, 加密货币矿池, 比特币挖矿, DGB挖矿"><meta name=description content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining, including nexa, grs, mona, dgb, rxd"><script defer=defer src=/js/chunk-vendors-c0d76f48.f34181ba.js></script><script defer=defer src=/js/chunk-vendors-bc050c32.8062ab74.js></script><script defer=defer src=/js/chunk-vendors-3003db77.d0b93d36.js></script><script defer=defer src=/js/chunk-vendors-9d134daf.bb668c99.js></script><script defer=defer src=/js/chunk-vendors-96cecd74.a7d9b845.js></script><script defer=defer src=/js/chunk-vendors-c2f7d60e.3710fdc2.js></script><script defer=defer src=/js/chunk-vendors-89d5c698.2190b4ca.js></script><script defer=defer src=/js/chunk-vendors-377fed06.0e89b4b7.js></script><script defer=defer src=/js/chunk-vendors-c9ff040c.57bd8c18.js></script><script defer=defer src=/js/app-42f9d7e6.91b45f91.js></script><script defer=defer src=/js/app-5c551db8.9f0ca7c2.js></script><script defer=defer src=/js/app-45954fd3.cc32605b.js></script><script defer=defer src=/js/app-72600b29.938f975d.js></script><script defer=defer src=/js/app-5a0d40dd.21bd4ef8.js></script><script defer=defer src=/js/app-113c6c50.0baa904d.js></script><link href=/css/chunk-vendors-bc050c32.6f97509c.css rel=stylesheet><link href=/css/app-189e7968.5f2e4f20.css rel=stylesheet></head><body><div id=app></div></body></html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue