电脑端聊天客服系统完成
This commit is contained in:
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<router-view class="page" />
|
<router-view class="page" />
|
||||||
<!-- <ChatWidget v-if="!$route.path.includes('/customerService') && !$isMobile" /> -->
|
<ChatWidget v-if="!$route.path.includes('/customerService') && !$isMobile" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script >
|
<script >
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -89,6 +89,8 @@ export const ChatWidget_zh = {
|
|||||||
serverLimitError:"服务器连接数已达上限,请稍后刷新重试",
|
serverLimitError:"服务器连接数已达上限,请稍后刷新重试",
|
||||||
identityError:"用户身份设置失败,请刷新页面重试",
|
identityError:"用户身份设置失败,请刷新页面重试",
|
||||||
emailError:"用户信息获取失败,请刷新页面重试",
|
emailError:"用户信息获取失败,请刷新页面重试",
|
||||||
|
refreshPage:"刷新页面",
|
||||||
|
reconnectSuccess:"重新连接成功",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
@@ -186,6 +188,8 @@ export const ChatWidget_en = {
|
|||||||
serverLimitError:"Connection limit reached, please try again later",
|
serverLimitError:"Connection limit reached, please try again later",
|
||||||
identityError:"Failed to set user identity, please refresh page",
|
identityError:"Failed to set user identity, please refresh page",
|
||||||
emailError:"Failed to get user information, please refresh page",
|
emailError:"Failed to get user information, please refresh page",
|
||||||
|
refreshPage:"Refresh page",
|
||||||
|
reconnectSuccess:"Reconnect successfully",
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -4,6 +4,13 @@ import { Notification, MessageBox, Message } from 'element-ui'
|
|||||||
import loadingManager from './loadingManager';
|
import loadingManager from './loadingManager';
|
||||||
import errorNotificationManager from './errorNotificationManager';
|
import errorNotificationManager from './errorNotificationManager';
|
||||||
|
|
||||||
|
|
||||||
|
const pendingRequestMap = new Map(); //处理Request aborted 错误
|
||||||
|
|
||||||
|
function getRequestKey(config) { //处理Request aborted 错误 生成唯一 key 的函数
|
||||||
|
const { url, method, params, data } = config;
|
||||||
|
return [url, method, JSON.stringify(params), JSON.stringify(data)].join('&');
|
||||||
|
}
|
||||||
// 创建axios实例
|
// 创建axios实例
|
||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||||
@@ -143,9 +150,6 @@ window.addEventListener('online', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 使用错误提示管理器控制网络断开提示
|
// 使用错误提示管理器控制网络断开提示
|
||||||
window.addEventListener('offline', () => {
|
window.addEventListener('offline', () => {
|
||||||
if (window.vm && window.vm.$message && errorNotificationManager.canShowError('networkOffline')) {
|
if (window.vm && window.vm.$message && errorNotificationManager.canShowError('networkOffline')) {
|
||||||
@@ -215,6 +219,22 @@ service.interceptors.request.use(config => {
|
|||||||
config.params = {};
|
config.params = {};
|
||||||
config.url = url;
|
config.url = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 生成请求唯一key 处理Request aborted 错误
|
||||||
|
const requestKey = getRequestKey(config);
|
||||||
|
|
||||||
|
// 如果有相同请求,先取消 处理Request aborted 错误
|
||||||
|
if (pendingRequestMap.has(requestKey)) {
|
||||||
|
const cancel = pendingRequestMap.get(requestKey);
|
||||||
|
cancel(); // 取消上一次请求
|
||||||
|
pendingRequestMap.delete(requestKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建新的CancelToken 处理Request aborted 错误
|
||||||
|
config.cancelToken = new axios.CancelToken(cancel => {
|
||||||
|
pendingRequestMap.set(requestKey, cancel);
|
||||||
|
});
|
||||||
|
|
||||||
return config
|
return config
|
||||||
}, error => {
|
}, error => {
|
||||||
Promise.reject(error)
|
Promise.reject(error)
|
||||||
@@ -222,6 +242,10 @@ service.interceptors.request.use(config => {
|
|||||||
|
|
||||||
// 响应拦截器
|
// 响应拦截器
|
||||||
service.interceptors.response.use(res => {
|
service.interceptors.response.use(res => {
|
||||||
|
|
||||||
|
// 请求完成后移除
|
||||||
|
const requestKey = getRequestKey(res.config);
|
||||||
|
pendingRequestMap.delete(requestKey);
|
||||||
// 未设置状态码则默认成功状态
|
// 未设置状态码则默认成功状态
|
||||||
const code = res.data.code || 200;
|
const code = res.data.code || 200;
|
||||||
// 获取错误信息
|
// 获取错误信息
|
||||||
@@ -284,8 +308,15 @@ service.interceptors.response.use(res => {
|
|||||||
|
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
|
if (error.message && error.message.includes('canceled') || error.message.includes('Request aborted')) {
|
||||||
|
// 主动取消的请求,直接忽略,不提示
|
||||||
|
return Promise.reject(error);
|
||||||
|
}
|
||||||
|
// 请求异常也要移除 处理Request aborted 错误
|
||||||
|
if (error.config) {
|
||||||
|
const requestKey = getRequestKey(error.config);
|
||||||
|
pendingRequestMap.delete(requestKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
let { message } = error;
|
let { message } = error;
|
||||||
|
|||||||
@@ -89,13 +89,13 @@
|
|||||||
<p>{{ $t(`ServiceTerms.clauseTermination2`) }}</p>
|
<p>{{ $t(`ServiceTerms.clauseTermination2`) }}</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section class="clauseBox">
|
<!-- <section class="clauseBox">
|
||||||
<h5>{{ $t(`ServiceTerms.title11`) }}</h5>
|
<h5>{{ $t(`ServiceTerms.title11`) }}</h5>
|
||||||
<div class="textBox">
|
<div class="textBox">
|
||||||
<p>{{ $t(`ServiceTerms.clauseLaw1`) }}</p>
|
<p>{{ $t(`ServiceTerms.clauseLaw1`) }}</p>
|
||||||
<p>{{ $t(`ServiceTerms.clauseLaw2`) }}</p>
|
<p>{{ $t(`ServiceTerms.clauseLaw2`) }}</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> -->
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -189,13 +189,13 @@
|
|||||||
<p>{{ $t(`ServiceTerms.clauseTermination2`) }}</p>
|
<p>{{ $t(`ServiceTerms.clauseTermination2`) }}</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section class="clauseBox">
|
<!-- <section class="clauseBox">
|
||||||
<h3>{{ $t(`ServiceTerms.title11`) }}</h3>
|
<h3>{{ $t(`ServiceTerms.title11`) }}</h3>
|
||||||
<div class="textBox">
|
<div class="textBox">
|
||||||
<p>{{ $t(`ServiceTerms.clauseLaw1`) }}</p>
|
<p>{{ $t(`ServiceTerms.clauseLaw1`) }}</p>
|
||||||
<p>{{ $t(`ServiceTerms.clauseLaw2`) }}</p>
|
<p>{{ $t(`ServiceTerms.clauseLaw2`) }}</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> -->
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -276,20 +276,20 @@ export default {
|
|||||||
name: "GH/s",
|
name: "GH/s",
|
||||||
nameTextStyle: {
|
nameTextStyle: {
|
||||||
padding: [0, 0, 0, -40],
|
padding: [0, 0, 0, -40],
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
formatter: function (value) {
|
||||||
|
// let data
|
||||||
|
// if (value > 10000000) {
|
||||||
|
// data = `${(value / 10000000)} KW`
|
||||||
|
// } else if (value > 1000000) {
|
||||||
|
// data = `${(value / 1000000)} M`
|
||||||
|
// } else if (value / 10000) {
|
||||||
|
// data = `${(value / 10000)} W`
|
||||||
|
// }
|
||||||
|
return value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// axisLabel: {
|
|
||||||
// formatter: function (value) {
|
|
||||||
// let data
|
|
||||||
// if (value > 10000000) {
|
|
||||||
// data = `${(value / 10000000)} KW`
|
|
||||||
// } else if (value > 1000000) {
|
|
||||||
// data = `${(value / 1000000)} M`
|
|
||||||
// } else if (value / 10000) {
|
|
||||||
// data = `${(value / 10000)} W`
|
|
||||||
// }
|
|
||||||
// return data
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
position: "right",
|
position: "right",
|
||||||
@@ -833,6 +833,7 @@ export default {
|
|||||||
const maxValue = Math.max(...this.option.series[0].data); // 获取数据最大值
|
const maxValue = Math.max(...this.option.series[0].data); // 获取数据最大值
|
||||||
const formatter = yAxis.axisLabel.formatter;
|
const formatter = yAxis.axisLabel.formatter;
|
||||||
const formattedValue = formatter(maxValue); // 格式化最大值
|
const formattedValue = formatter(maxValue); // 格式化最大值
|
||||||
|
|
||||||
|
|
||||||
// 创建一个临时 DOM 元素计算宽度
|
// 创建一个临时 DOM 元素计算宽度
|
||||||
const tempDiv = document.createElement('div');
|
const tempDiv = document.createElement('div');
|
||||||
@@ -847,11 +848,30 @@ export default {
|
|||||||
// 动态设置 grid.left,加上安全边距
|
// 动态设置 grid.left,加上安全边距
|
||||||
const safeMargin = 20;
|
const safeMargin = 20;
|
||||||
this.option.grid.left = labelWidth + safeMargin + 'px';
|
this.option.grid.left = labelWidth + safeMargin + 'px';
|
||||||
// this.$nextTick(
|
|
||||||
// // 更新图表
|
|
||||||
// this.inCharts()
|
|
||||||
|
|
||||||
// )
|
|
||||||
|
// ------------全网算力图---------------
|
||||||
|
//
|
||||||
|
|
||||||
|
const yAxis2 = this.minerOption.yAxis[0]; // 第一个 Y 轴
|
||||||
|
const maxValue2 = Math.max(...this.minerOption.series[0].data); // 获取数据最大值
|
||||||
|
const formatter2 = yAxis2.axisLabel.formatter;
|
||||||
|
const formattedValue2 = formatter2(maxValue2); // 格式化最大值
|
||||||
|
|
||||||
|
|
||||||
|
// 创建一个临时 DOM 元素计算宽度
|
||||||
|
const tempDiv2 = document.createElement('div');
|
||||||
|
tempDiv2.style.position = 'absolute';
|
||||||
|
tempDiv2.style.visibility = 'hidden';
|
||||||
|
tempDiv2.style.fontSize = '12px'; // 与 axisLabel.fontSize 一致
|
||||||
|
tempDiv2.innerText = formattedValue2;
|
||||||
|
document.body.appendChild(tempDiv2);
|
||||||
|
const labelWidth2 = tempDiv2.offsetWidth;
|
||||||
|
document.body.removeChild(tempDiv2);
|
||||||
|
// 动态设置 grid.left,加上安全边距
|
||||||
|
const safeMargin2 = 20;
|
||||||
|
this.minerOption.grid.left = labelWidth2 + safeMargin2 + 'px';
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -888,6 +908,30 @@ export default {
|
|||||||
|
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
handelOptionYAxis(option){
|
||||||
|
const yAxis = option.yAxis[0]; // 第一个 Y 轴
|
||||||
|
const maxValue = Math.max(...option.series[0].data); // 获取数据最大值
|
||||||
|
const formatter = yAxis.axisLabel.formatter;
|
||||||
|
const formattedValue = formatter(maxValue); // 格式化最大值
|
||||||
|
|
||||||
|
|
||||||
|
// 创建一个临时 DOM 元素计算宽度
|
||||||
|
const tempDiv = document.createElement('div');
|
||||||
|
tempDiv.style.position = 'absolute';
|
||||||
|
tempDiv.style.visibility = 'hidden';
|
||||||
|
tempDiv.style.fontSize = '12px'; // 与 axisLabel.fontSize 一致
|
||||||
|
tempDiv.innerText = formattedValue;
|
||||||
|
document.body.appendChild(tempDiv);
|
||||||
|
const labelWidth = tempDiv.offsetWidth;
|
||||||
|
document.body.removeChild(tempDiv);
|
||||||
|
|
||||||
|
// 动态设置 grid.left,加上安全边距
|
||||||
|
const safeMargin = 20;
|
||||||
|
option.grid.left = labelWidth + safeMargin + 'px';
|
||||||
|
|
||||||
|
return option
|
||||||
|
},
|
||||||
slideLeft() {
|
slideLeft() {
|
||||||
const allLength = this.currencyList.length * 120
|
const allLength = this.currencyList.length * 120
|
||||||
const boxLength = document.getElementById('list-box').clientWidth
|
const boxLength = document.getElementById('list-box').clientWidth
|
||||||
@@ -940,7 +984,7 @@ export default {
|
|||||||
this.MinerChart = echarts.init(document.getElementById("minerChart"));
|
this.MinerChart = echarts.init(document.getElementById("minerChart"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.minerOption= this.handelOptionYAxis(this.minerOption) // Y轴文字显示动态调整grid.left
|
||||||
this.minerOption.series[0].name = this.$t(`home.networkPower`)
|
this.minerOption.series[0].name = this.$t(`home.networkPower`)
|
||||||
this.minerOption.series[1].name = this.$t(`home.currencyPrice`)
|
this.minerOption.series[1].name = this.$t(`home.currencyPrice`)
|
||||||
this.MinerChart.setOption(this.minerOption);
|
this.MinerChart.setOption(this.minerOption);
|
||||||
|
|||||||
@@ -214,6 +214,7 @@ import {
|
|||||||
import { encryption } from "../../utils/fun";
|
import { encryption } from "../../utils/fun";
|
||||||
import { getAccountList } from "../../api/personalCenter";
|
import { getAccountList } from "../../api/personalCenter";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -372,6 +373,11 @@ export default {
|
|||||||
JSON.stringify(data.data.access_token)
|
JSON.stringify(data.data.access_token)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// 等待一小段时间确保写入完成
|
||||||
|
await new Promise(resolve => setTimeout(resolve, 50));
|
||||||
|
// 登录成功后
|
||||||
|
this.$bus.$emit('user-logged-in'); // 触发登录成功全局事件
|
||||||
this.fetchAccountList();
|
this.fetchAccountList();
|
||||||
this.fetchAccountGradeList();
|
this.fetchAccountGradeList();
|
||||||
this.fetchJurisdiction();
|
this.fetchJurisdiction();
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
import { getCheck,getAddBalace, getAddMinerAccount, getAccountList, getDelMinerAccount, getMinerAccountBalance, getCheckAccount,getCheckBalance,getIfBind } from "../../../api/personalCenter"
|
import { getCheck,getAddBalace, getAddMinerAccount, getAccountList, getDelMinerAccount, getMinerAccountBalance, getCheckAccount,getCheckBalance,getIfBind } from "../../../api/personalCenter"
|
||||||
import {getAccountGradeList } from "../../../api/login"
|
import {getAccountGradeList } from "../../../api/login"
|
||||||
|
import { Debounce,throttle }from "../../../utils/publicMethods";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
@@ -542,13 +543,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
confirmAdd() {
|
confirmAdd:Debounce(function(){
|
||||||
// this.accountList.push({
|
|
||||||
// account: this.params.account,
|
|
||||||
// miningPool: this.params.miningPool,
|
|
||||||
// currency: this.params.miningPool,
|
|
||||||
// remarks: this.params.remarks,
|
|
||||||
// })
|
|
||||||
if (!this.AccountParams.ma) {
|
if (!this.AccountParams.ma) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: this.$t(`personal.accountNumber`),
|
message: this.$t(`personal.accountNumber`),
|
||||||
@@ -600,12 +595,66 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.fetchCheck({ coin: this.AccountParams.coin, ma: this.AccountParams.ma,balance: this.AccountParams.balance})
|
this.fetchCheck({ coin: this.AccountParams.coin, ma: this.AccountParams.ma,balance: this.AccountParams.balance})
|
||||||
// this.fetchCheckAccount({ coin: this.AccountParams.coin, ma: this.AccountParams.ma })
|
},200),
|
||||||
|
// confirmAdd() {
|
||||||
|
|
||||||
|
// if (!this.AccountParams.ma) {
|
||||||
|
// this.$message({
|
||||||
|
// message: this.$t(`personal.accountNumber`),
|
||||||
|
// type: "error",
|
||||||
|
// showClose: true
|
||||||
|
// });
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
// if (!this.AccountParams.balance) {
|
||||||
|
// this.$message({
|
||||||
|
// message: this.$t(`personal.inputWalletAddress`),
|
||||||
|
// type: "error",
|
||||||
|
// showClose: true
|
||||||
|
// });
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
// if (!this.AccountParams.coin) {
|
||||||
|
// this.$message({
|
||||||
|
// message:this.$t(`personal.selectCurrency`),
|
||||||
|
// type: "error",
|
||||||
|
// showClose: true
|
||||||
|
// });
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (!this.AccountParams.code && this.isItBound) {
|
||||||
|
// this.$message({
|
||||||
|
// showClose: true,
|
||||||
|
// message: this.$t(`personal.gCode`),
|
||||||
|
// type: 'error'
|
||||||
|
// });
|
||||||
|
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // 账户只能输入字母、数字、下划线,且不能以数字开头,长度不小于4位,不大于24位
|
||||||
|
// const regexAccount=/^[a-zA-Z_][a-zA-Z0-9_]{3,23}$/
|
||||||
|
|
||||||
|
// const PasswordIsValid = regexAccount.test(this.AccountParams.ma);
|
||||||
|
// if (!PasswordIsValid) {
|
||||||
|
// // 如果输入不符合要求,可以根据具体需求给出错误提示或进行其他处理
|
||||||
|
// this.$message({
|
||||||
|
// message: this.$t(`personal.accountFormat`),
|
||||||
|
// type: "error",
|
||||||
|
// showClose: true
|
||||||
|
// });
|
||||||
|
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// this.fetchCheck({ coin: this.AccountParams.coin, ma: this.AccountParams.ma,balance: this.AccountParams.balance})
|
||||||
|
// // this.fetchCheckAccount({ coin: this.AccountParams.coin, ma: this.AccountParams.ma })
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
// },
|
||||||
handelAddClose(){
|
handelAddClose(){
|
||||||
for (let key in this.AccountParams) {
|
for (let key in this.AccountParams) {
|
||||||
this.AccountParams[key] = "";
|
this.AccountParams[key] = "";
|
||||||
|
|||||||
@@ -247,7 +247,7 @@
|
|||||||
import { getResetPwd, getResetPwdCode } from "../../api/login";
|
import { getResetPwd, getResetPwdCode } from "../../api/login";
|
||||||
import { encryption } from "../../utils/fun";
|
import { encryption } from "../../utils/fun";
|
||||||
import { getEmailIfBind } from "../../api/personalCenter";
|
import { getEmailIfBind } from "../../api/personalCenter";
|
||||||
|
import { Debounce,throttle }from "../../utils/publicMethods";
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -419,6 +419,10 @@ export default {
|
|||||||
type: "success",
|
type: "success",
|
||||||
showClose: true,
|
showClose: true,
|
||||||
});
|
});
|
||||||
|
for (const key in this.loginForm) {//清空表单
|
||||||
|
this.loginForm[key] = "";
|
||||||
|
}
|
||||||
|
|
||||||
this.$router.push(`/${this.lang}/login`);
|
this.$router.push(`/${this.lang}/login`);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -521,7 +525,8 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
submitForm() {
|
|
||||||
|
submitForm:Debounce(function(){
|
||||||
this.$refs.ruleForm.validate((valid) => {
|
this.$refs.ruleForm.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
//去空格
|
//去空格
|
||||||
@@ -596,7 +601,83 @@ export default {
|
|||||||
this.fetchResetPwd(form);
|
this.fetchResetPwd(form);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},200),
|
||||||
|
// submitForm() {
|
||||||
|
// this.$refs.ruleForm.validate((valid) => {
|
||||||
|
// if (valid) {
|
||||||
|
// //去空格
|
||||||
|
// this.loginForm.userName = this.loginForm.email.trim();
|
||||||
|
// this.loginForm.password = this.loginForm.password.trim();
|
||||||
|
// this.loginForm.newPassword = this.loginForm.newPassword.trim();
|
||||||
|
// if (this.loginForm.password !== this.loginForm.newPassword) {
|
||||||
|
// this.$message({
|
||||||
|
// message: this.$t(`user.confirmPassword2`),
|
||||||
|
// type: "error",
|
||||||
|
// customClass: "messageClass",
|
||||||
|
// showClose: true,
|
||||||
|
// });
|
||||||
|
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// //邮箱格式验证
|
||||||
|
// const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/;
|
||||||
|
|
||||||
|
// let isMailbox = emailRegex.test(this.loginForm.email);
|
||||||
|
// if (!isMailbox) {
|
||||||
|
// this.$message({
|
||||||
|
// message: this.$t(`user.emailVerification`),
|
||||||
|
// type: "error",
|
||||||
|
// customClass: "messageClass",
|
||||||
|
// showClose: true,
|
||||||
|
// });
|
||||||
|
|
||||||
|
// return;
|
||||||
|
|
||||||
|
// //用户名规则1.长度限制:3<=用户名<=16; 字符限制:仅允许使用字母、数字、下划线 用户名必须以字母开头
|
||||||
|
// // const regex = /^[a-zA-Z][a-zA-Z0-9_]{2,15}$/; // 正则表达式
|
||||||
|
// // const isValid = regex.test(this.loginForm.email);
|
||||||
|
// // if (!isValid) {
|
||||||
|
// // // 如果输入不符合要求,可以根据具体需求给出错误提示或进行其他处理
|
||||||
|
// // this.$message({
|
||||||
|
// // message: this.$t(`user.accountReminder`),
|
||||||
|
// // type: "error",
|
||||||
|
// // customClass: "messageClass",
|
||||||
|
// // showClose: true
|
||||||
|
// // });
|
||||||
|
|
||||||
|
// // return;
|
||||||
|
// // }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // 密码验证 8<=密码<=32 包含大小写字母、数字和特殊字符(!@#¥%……&*)
|
||||||
|
// const regexPassword =
|
||||||
|
// /^(?!.*[\u4e00-\u9fa5])(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,32}$/; // 正则表达式
|
||||||
|
// const PasswordIsValid = regexPassword.test(this.loginForm.password);
|
||||||
|
// if (!PasswordIsValid) {
|
||||||
|
// // 如果输入不符合要求,可以根据具体需求给出错误提示或进行其他处理
|
||||||
|
// this.$message({
|
||||||
|
// message: this.$t(`user.PasswordReminder`),
|
||||||
|
// type: "error",
|
||||||
|
// showClose: true,
|
||||||
|
// });
|
||||||
|
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// // ,gCode: this.loginForm.gCode,
|
||||||
|
// let obj = {
|
||||||
|
// email: this.loginForm.email,
|
||||||
|
// password: this.loginForm.password,
|
||||||
|
// resetPwdCode: this.loginForm.resetPwdCode,
|
||||||
|
// };
|
||||||
|
// //加密
|
||||||
|
// // const form = { ...this.loginForm };
|
||||||
|
// // form.password = encryption(this.loginForm.password);
|
||||||
|
// const form = { ...obj };
|
||||||
|
// form.password = encryption(obj.password);
|
||||||
|
// this.fetchResetPwd(form);
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// },
|
||||||
handleClick() {
|
handleClick() {
|
||||||
this.$router.push(`/${this.lang}`);
|
this.$router.push(`/${this.lang}`);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -103,11 +103,21 @@ export default {
|
|||||||
data: this.FormDatas,
|
data: this.FormDatas,
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(res,"文件返回");
|
console.log(res,"文件返回");
|
||||||
|
if (res.status == 200 && res.data.code != 200) {
|
||||||
|
this.$message.error(res.data.msg);
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
this.ruleForm.files = res.data.data.id
|
this.ruleForm.files = res.data.data.id
|
||||||
// if (this.ruleForm.files) {//成功拿到返回ID
|
if (this.ruleForm.files) {//成功拿到返回ID
|
||||||
// this.fetchSubmitWork(this.ruleForm)
|
this.fetchSubmitWork(this.ruleForm)
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
1
mining-pool/test/css/app-113c6c50.dfa1d227.css
Normal file
1
mining-pool/test/css/app-113c6c50.dfa1d227.css
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/css/app-113c6c50.dfa1d227.css.gz
Normal file
BIN
mining-pool/test/css/app-113c6c50.dfa1d227.css.gz
Normal file
Binary file not shown.
1
mining-pool/test/css/app-189e7968.0fe23a85.css
Normal file
1
mining-pool/test/css/app-189e7968.0fe23a85.css
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/css/app-189e7968.0fe23a85.css.gz
Normal file
BIN
mining-pool/test/css/app-189e7968.0fe23a85.css.gz
Normal file
Binary file not shown.
1
mining-pool/test/css/app-72600b29.0c194743.css
Normal file
1
mining-pool/test/css/app-72600b29.0c194743.css
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/css/app-72600b29.0c194743.css.gz
Normal file
BIN
mining-pool/test/css/app-72600b29.0c194743.css.gz
Normal file
Binary file not shown.
1
mining-pool/test/css/app-8e0489d9.2416bb84.css
Normal file
1
mining-pool/test/css/app-8e0489d9.2416bb84.css
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/css/app-8e0489d9.2416bb84.css.gz
Normal file
BIN
mining-pool/test/css/app-8e0489d9.2416bb84.css.gz
Normal file
Binary file not shown.
@@ -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(enx),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, enx"><meta name=format-detection content="telephone=no"><meta name=apple-mobile-web-app-capable content=yes><script defer src=/js/chunk-vendors-945ce2fe.648a91a9.js></script><script defer src=/js/chunk-vendors-aacc2dbb.d317c558.js></script><script defer src=/js/chunk-vendors-bc050c32.3f2f14d2.js></script><script defer src=/js/chunk-vendors-3003db77.d0b93d36.js></script><script defer src=/js/chunk-vendors-9d134daf.bb668c99.js></script><script defer src=/js/chunk-vendors-439af1fa.48a48f35.js></script><script defer src=/js/chunk-vendors-5c533fba.b9c00e08.js></script><script defer src=/js/chunk-vendors-96cecd74.a7d9b845.js></script><script defer src=/js/chunk-vendors-c2f7d60e.3710fdc2.js></script><script defer src=/js/chunk-vendors-89d5c698.2190b4ca.js></script><script defer src=/js/chunk-vendors-377fed06.159de137.js></script><script defer src=/js/chunk-vendors-5a805870.4cfc0ae8.js></script><script defer src=/js/chunk-vendors-cf2e0a28.c6e99da0.js></script><script defer src=/js/app-42f9d7e6.8aa0cd9f.js></script><script defer src=/js/app-5c551db8.6973b329.js></script><script defer src=/js/app-01dc9ae1.e746f05c.js></script><script defer src=/js/app-8e0489d9.fc698aa0.js></script><script defer src=/js/app-72600b29.eb14747d.js></script><script defer src=/js/app-f035d474.4fade95e.js></script><script defer src=/js/app-113c6c50.c73554a4.js></script><link href=/css/chunk-vendors-5c533fba.6f97509c.css rel=stylesheet><link href=/css/app-42f9d7e6.48b4c830.css rel=stylesheet><link href=/css/app-01dc9ae1.04da7d85.css rel=stylesheet><link href=/css/app-8e0489d9.4f99dab4.css rel=stylesheet><link href=/css/app-72600b29.9a75824f.css rel=stylesheet><link href=/css/app-f035d474.0348646a.css rel=stylesheet><link href=/css/app-113c6c50.729eb983.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(enx),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, enx"><meta name=format-detection content="telephone=no"><meta name=apple-mobile-web-app-capable content=yes><script defer src=/js/chunk-vendors-945ce2fe.648a91a9.js></script><script defer src=/js/chunk-vendors-aacc2dbb.d317c558.js></script><script defer src=/js/chunk-vendors-bc050c32.3f2f14d2.js></script><script defer src=/js/chunk-vendors-3003db77.d0b93d36.js></script><script defer src=/js/chunk-vendors-9d134daf.bb668c99.js></script><script defer src=/js/chunk-vendors-439af1fa.48a48f35.js></script><script defer src=/js/chunk-vendors-5c533fba.b9c00e08.js></script><script defer src=/js/chunk-vendors-96cecd74.a7d9b845.js></script><script defer src=/js/chunk-vendors-c2f7d60e.3710fdc2.js></script><script defer src=/js/chunk-vendors-89d5c698.2190b4ca.js></script><script defer src=/js/chunk-vendors-377fed06.159de137.js></script><script defer src=/js/chunk-vendors-5a805870.4cfc0ae8.js></script><script defer src=/js/chunk-vendors-cf2e0a28.c6e99da0.js></script><script defer src=/js/app-42f9d7e6.9eb6b4eb.js></script><script defer src=/js/app-d363ae0c.ec582e15.js></script><script defer src=/js/app-5c551db8.aa772a92.js></script><script defer src=/js/app-01dc9ae1.e746f05c.js></script><script defer src=/js/app-8e0489d9.cbdab613.js></script><script defer src=/js/app-72600b29.a3b71b37.js></script><script defer src=/js/app-f035d474.92e1d288.js></script><script defer src=/js/app-113c6c50.56b97e4e.js></script><link href=/css/chunk-vendors-5c533fba.6f97509c.css rel=stylesheet><link href=/css/app-189e7968.0fe23a85.css rel=stylesheet><link href=/css/app-01dc9ae1.04da7d85.css rel=stylesheet><link href=/css/app-8e0489d9.2416bb84.css rel=stylesheet><link href=/css/app-72600b29.0c194743.css rel=stylesheet><link href=/css/app-f035d474.0348646a.css rel=stylesheet><link href=/css/app-113c6c50.dfa1d227.css rel=stylesheet></head><body><div id=app></div></body></html>
|
||||||
1
mining-pool/test/js/app-113c6c50.56b97e4e.js
Normal file
1
mining-pool/test/js/app-113c6c50.56b97e4e.js
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/js/app-113c6c50.56b97e4e.js.gz
Normal file
BIN
mining-pool/test/js/app-113c6c50.56b97e4e.js.gz
Normal file
Binary file not shown.
1
mining-pool/test/js/app-42f9d7e6.9eb6b4eb.js
Normal file
1
mining-pool/test/js/app-42f9d7e6.9eb6b4eb.js
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/js/app-42f9d7e6.9eb6b4eb.js.gz
Normal file
BIN
mining-pool/test/js/app-42f9d7e6.9eb6b4eb.js.gz
Normal file
Binary file not shown.
1
mining-pool/test/js/app-5c551db8.aa772a92.js
Normal file
1
mining-pool/test/js/app-5c551db8.aa772a92.js
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/js/app-5c551db8.aa772a92.js.gz
Normal file
BIN
mining-pool/test/js/app-5c551db8.aa772a92.js.gz
Normal file
Binary file not shown.
1
mining-pool/test/js/app-72600b29.a3b71b37.js
Normal file
1
mining-pool/test/js/app-72600b29.a3b71b37.js
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/js/app-72600b29.a3b71b37.js.gz
Normal file
BIN
mining-pool/test/js/app-72600b29.a3b71b37.js.gz
Normal file
Binary file not shown.
1
mining-pool/test/js/app-8e0489d9.cbdab613.js
Normal file
1
mining-pool/test/js/app-8e0489d9.cbdab613.js
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/js/app-8e0489d9.cbdab613.js.gz
Normal file
BIN
mining-pool/test/js/app-8e0489d9.cbdab613.js.gz
Normal file
Binary file not shown.
1
mining-pool/test/js/app-d363ae0c.ec582e15.js
Normal file
1
mining-pool/test/js/app-d363ae0c.ec582e15.js
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/js/app-d363ae0c.ec582e15.js.gz
Normal file
BIN
mining-pool/test/js/app-d363ae0c.ec582e15.js.gz
Normal file
Binary file not shown.
1
mining-pool/test/js/app-f035d474.92e1d288.js
Normal file
1
mining-pool/test/js/app-f035d474.92e1d288.js
Normal file
File diff suppressed because one or more lines are too long
BIN
mining-pool/test/js/app-f035d474.92e1d288.js.gz
Normal file
BIN
mining-pool/test/js/app-f035d474.92e1d288.js.gz
Normal file
Binary file not shown.
@@ -1 +1 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://m2pool.com/en</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url><url><loc>https://m2pool.com/en/dataDisplay</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://m2pool.com/en/ServiceTerms</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://m2pool.com/en/apiFile</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/rate</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/nexaAccess</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/grsAccess</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/monaAccess</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/dgbsAccess</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/dgbqAccess</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/dgboAccess</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/rxdAccess</loc><lastmod>2025-06-06T06:37:26.048Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url></urlset>
|
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://m2pool.com/en</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url><url><loc>https://m2pool.com/en/dataDisplay</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://m2pool.com/en/ServiceTerms</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>monthly</changefreq><priority>0.6</priority></url><url><loc>https://m2pool.com/en/apiFile</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/rate</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/nexaAccess</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/grsAccess</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/monaAccess</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/dgbsAccess</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/dgbqAccess</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/dgboAccess</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/en/AccessMiningPool/rxdAccess</loc><lastmod>2025-06-13T06:54:37.634Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url></urlset>
|
||||||
Binary file not shown.
@@ -1 +1 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://m2pool.com/zh</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/dataDisplay</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/ServiceTerms</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/apiFile</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/rate</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/nexaAccess</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/grsAccess</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/monaAccess</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/dgbsAccess</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/dgbqAccess</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/dgboAccess</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/rxdAccess</loc><lastmod>2025-06-06T06:37:26.039Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url></urlset>
|
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://m2pool.com/zh</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/dataDisplay</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/ServiceTerms</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/apiFile</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/rate</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/nexaAccess</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/grsAccess</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/monaAccess</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/dgbsAccess</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/dgbqAccess</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/dgboAccess</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url><url><loc>https://m2pool.com/zh/AccessMiningPool/rxdAccess</loc><lastmod>2025-06-13T06:54:37.623Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url></urlset>
|
||||||
Binary file not shown.
Reference in New Issue
Block a user