m2pool_web_frontend/mining-pool/test/js/app-5c551db8.bded73eb.js

1 line
29 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";(self["webpackChunkmining_pool"]=self["webpackChunkmining_pool"]||[]).push([[774],{9526:function(e,t,o){var n=o(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.loadingRecoveryDirective=void 0;var r=n(o(66848));const a=t.loadingRecoveryDirective={inserted(e,t,o){const n=o.context,{loading:r,recovery:a}=t.value||{};if(!r||!a||!Array.isArray(a))return;const i=()=>{n[r]&&(n[r]=!1)};e._loadingRecovery=i,window.addEventListener("network-retry-complete",i),console.log(`[LoadingRecovery] 添加加载状态恢复: ${r}`)},unbind(e){e._loadingRecovery&&(window.removeEventListener("network-retry-complete",e._loadingRecovery),delete e._loadingRecovery)}};r.default.directive("loading-recovery",a)},19526:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0;t["default"]={401:"认证失败,无法访问系统资源,请重新登录",403:"当前操作没有权限",404:"访问资源不存在",default:"系统未知错误,请反馈给管理员"}},35720:function(e,t,o){var n=o(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0,o(44114),o(18111),o(7588);var r=n(o(86425)),a=n(o(19526)),i=o(89143),s=n(o(84994)),l=n(o(37465));const d=r.default.create({baseURL:"https://test.m2pool.com/api/",timeout:1e4}),c=6e4;let u=new Map,m={online:0,offline:0},p=!1;window.addEventListener("online",(()=>{const e=Date.now();if(p)return void console.log("[网络] 网络恢复处理已在进行中,忽略重复事件");if(p=!0,e-m.online>3e4){m.online=e;try{window.vm&&window.vm.$message&&(window.vm.$message({message:window.vm.$i18n.t("home.networkReconnected")||"网络已重新连接,正在恢复数据...",type:"success",duration:5e3,showClose:!0}),console.log("[网络] 显示网络恢复提示, 时间:",(new Date).toLocaleTimeString()))}catch(o){console.error("[网络] 显示网络恢复提示失败:",o)}}else console.log("[网络] 抑制重复的网络恢复提示, 间隔过短:",e-m.online+"ms");const t=[];u.forEach((async(o,n)=>{if(e-o.timestamp<=c)try{const e=await d(o.config);t.push(e),o.callback&&"function"===typeof o.callback&&o.callback(e),window.vm&&(o.config.url.includes("getPoolPower")&&e&&e.data?window.dispatchEvent(new CustomEvent("chart-data-updated",{detail:{type:"poolPower",data:e.data}})):o.config.url.includes("getNetPower")&&e&&e.data?window.dispatchEvent(new CustomEvent("chart-data-updated",{detail:{type:"netPower",data:e.data}})):o.config.url.includes("getBlockInfo")&&e&&e.rows&&window.dispatchEvent(new CustomEvent("chart-data-updated",{detail:{type:"blockInfo",data:e.rows}}))),u.delete(n)}catch(r){console.error("重试请求失败:",r),u.delete(n)}else u.delete(n)})),Promise.allSettled(t).then((()=>{if(s.default&&s.default.resetAllLoadingStates(),window.vm){const e=["minerChartLoading","reportBlockLoading","apiPageLoading","MiningLoading","miniLoading"];e.forEach((e=>{"undefined"!==typeof window.vm[e]&&(window.vm[e]=!1)}))}window.dispatchEvent(new CustomEvent("network-retry-complete")),setTimeout((()=>{p=!1}),5e3)}))})),window.addEventListener("offline",(()=>{window.vm&&window.vm.$message&&l.default.canShowError("networkOffline")&&window.vm.$message({message:window.vm.$i18n.t("home.networkOffline")||"网络连接已断开,系统将在恢复连接后自动重试",type:"error",duration:5e3,showClose:!0})})),d.defaults.retry=2,d.defaults.retryDelay=2e3,d.defaults.shouldRetry=e=>"Network Error"===e.message||e.message.includes("timeout"),localStorage.setItem("superReportError","");let h=localStorage.getItem("superReportError");window.addEventListener("setItem",(()=>{h=localStorage.getItem("superReportError")})),d.interceptors.request.use((e=>{let t;h="",localStorage.setItem("superReportError","");try{t=JSON.parse(localStorage.getItem("token"))}catch(n){console.log(n)}if(t&&(e.headers["Authorization"]=t),"get"==e.method&&e.data&&(e.params=e.data),"get"===e.method&&e.params){let t=e.url+"?";for(const n of Object.keys(e.params)){const r=e.params[n];var o=encodeURIComponent(n)+"=";if(null!==r&&"undefined"!==typeof r)if("object"===typeof r){for(const e of Object.keys(r))if(null!==r[e]&&"undefined"!==typeof r[e]){let o=n+"["+e+"]",a=encodeURIComponent(o)+"=";t+=a+encodeURIComponent(r[e])+"&"}}else t+=o+encodeURIComponent(r)+"&"}t=t.slice(0,-1),e.params={},e.url=t}return e}),(e=>{Promise.reject(e)})),d.interceptors.response.use((e=>{const t=e.data.code||200,o=a.default[t]||e.data.msg||a.default["default"];return 421===t?(localStorage.removeItem("token"),h=localStorage.getItem("superReportError"),h||(h=421,localStorage.setItem("superReportError",h),i.MessageBox.confirm(window.vm.$i18n.t("user.loginExpired"),window.vm.$i18n.t("user.overduePrompt"),{distinguishCancelAndClose:!0,confirmButtonText:window.vm.$i18n.t("user.login"),cancelButtonText:window.vm.$i18n.t("user.Home"),closeOnClickModal:!1,showClose:!1,type:"warning"}).then((()=>{window.vm.$router.push("/login"),localStorage.removeItem("token")})).catch((()=>{window.vm.$router.push("/"),localStorage.removeItem("token")}))),Promise.reject("登录状态已过期")):t>=500&&!h?(h=500,localStorage.setItem("superReportError",h),void(0,i.Message)({dangerouslyUseHTMLString:!0,message:o,type:"error",showClose:!0})):200!==t?(i.Notification.error({title:o}),Promise.reject("error")):e.data}),(e=>{let{message:t}=e;if("Network Error"==t||t.includes("timeout"))if(navigator.onLine){if(e.config.__retryCount=e.config.__retryCount||0,e.config.__retryCount<d.defaults.retry&&d.defaults.shouldRetry(e))return e.config.__retryCount+=1,console.log(`[请求重试] ${e.config.url} - 第 ${e.config.__retryCount} 次重试`),new Promise((t=>{setTimeout((()=>{t(d(e.config))}),d.defaults.retryDelay)}));console.log(`[请求失败] ${e.config.url} - 已达到最大重试次数`)}else{const t=JSON.stringify({url:e.config.url,method:e.config.method,params:e.config.params,data:e.config.data});let o=null;e.config.url.includes("getPoolPower")?o=e=>{window.vm&&(window.vm.minerChartLoading=!1)}:e.config.url.includes("getBlockInfo")&&(o=e=>{window.vm&&(window.vm.reportBlockLoading=!1)}),u.has(t)||(u.set(t,{config:e.config,timestamp:Date.now(),retryCount:0,callback:o}),console.log("请求已加入断网重连队列:",e.config.url))}return h||(h="error",localStorage.setItem("superReportError",h),l.default.canShowError(t)?"Network Error"==t?(0,i.Message)({message:window.vm.$i18n.t("home.NetworkError"),type:"error",duration:4e3,showClose:!0}):t.includes("timeout")?(0,i.Message)({message:window.vm.$i18n.t("home.requestTimeout"),type:"error",duration:5e3,showClose:!0}):t.includes("Request failed with status code")?(0,i.Message)({message:"系统接口"+t.substr(t.length-3)+"异常",type:"error",duration:5e3,showClose:!0}):(0,i.Message)({message:t,type:"error",duration:5e3,showClose:!0}):console.log("[错误提示] 已抑制重复错误:",t)),Promise.reject(e)}));t["default"]=d},37465:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0,o(18111),o(7588);class n{constructor(){this.recentErrors=new Map,this.throttleTime=3e3,this.errorTypes={"Network Error":"network",timeout:"timeout","Request failed with status code":"statusCode",networkReconnected:"networkStatus",NetworkError:"network"}}getErrorType(e){for(const[t,o]of Object.entries(this.errorTypes))if(e.includes(t))return o;return"unknown"}canShowError(e){const t=this.getErrorType(e),o=Date.now();if(this.recentErrors.has(t)){const e=this.recentErrors.get(t);if(o-e<this.throttleTime)return console.log(`[错误提示] 已抑制重复错误: ${t}`),!1}return this.recentErrors.set(t,o),!0}cleanup(){const e=Date.now();this.recentErrors.forEach(((t,o)=>{e-t>this.throttleTime&&this.recentErrors.delete(o)}))}}const r=new n;t["default"]=r},39325:function(e,t,o){var n=o(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0,o(18111),o(13579);var r=n(o(91774)),a=n(o(66848)),i=n(o(22484)),s=n(o(22173)),l=o(89143),d=n(o(58044));a.default.use(i.default);const c=[{path:"",name:"Home",component:()=>Promise.resolve().then((()=>(0,r.default)(o(1369)))),meta:{title:"首页",description:d.default.t("seo.Home"),allAuthority:["all"],keywords:{en:"M2Pool, cryptocurrency mining pool, bitcoin mining, DGB mining, mining pool service, 加密货币矿池, 比特币挖矿, DGB挖矿, 矿池服务",zh:"M2Pool, 加密货币矿池, 比特币挖矿, DGB挖矿, 矿池服务"}}},{path:"miningAccount",name:"MiningAccount",component:()=>Promise.resolve().then((()=>(0,r.default)(o(30751)))),meta:{title:"挖矿账户页面",description:d.default.t("seo.miningAccount"),allAuthority:["admin","registered"],keywords:{en:"M2Pool mining account, crypto mining stats, mining rewards, hashrate monitor, 矿池账户, 挖矿收益, 算力监控",zh:"M2Pool 挖矿账户, 加密挖矿统计, 挖矿奖励, 算力监控, 矿池账户, 挖矿收益, 算力监控"}}},{path:"readOnlyDisplay",name:"ReadOnlyDisplay",component:()=>Promise.resolve().then((()=>(0,r.default)(o(61969)))),meta:{title:"只读页面展示页",description:d.default.t("seo.readOnlyDisplay"),allAuthority:["all"],keywords:{en:"Read only page,Revenue situation,Mining Pool,Miner information",zh:"M2Pool 矿池,只读页面,收益状况,矿工信息"}}},{path:"reportBlock",name:"ReportBlock",component:()=>Promise.resolve().then((()=>(0,r.default)(o(58437)))),meta:{title:"报块页面",description:d.default.t("seo.reportBlock"),allAuthority:["admin","registered"],keywords:{en:"Block page,Lucky Value,block height,Mining Pool",zh:"M2Pool 矿池,报块页面,幸运值,区块高度"}}},{path:"rate",name:"Rate",component:()=>Promise.resolve().then((()=>(0,r.default)(o(26445)))),meta:{title:"费率页面",description:d.default.t("seo.rate"),allAuthority:["all"],keywords:{en:"Mining Pool,Rate,Mining fee rate,Profit calculation",zh:"M2Pool 矿池,费率页面,挖矿费率,收益计算"}}},{path:"allocationExplanation",name:"AllocationExplanation",component:()=>Promise.resolve().then((()=>(0,r.default)(o(23389)))),meta:{title:"分配说明页面",description:d.default.t("seo.rate"),allAuthority:["all"],keywords:{en:"Allocation,Transfer,Mining Pool,Pool allocation,Transfer instructions",zh:"分配、转账说明,矿池分配,转账说明"}}},{path:"apiFile",name:"ApiFile",component:()=>Promise.resolve().then((()=>(0,r.default)(o(48818)))),meta:{title:"API文档页面",description:d.default.t("seo.apiFile"),allAuthority:["all"],keywords:{en:"API file,authentication token,Interface call",zh:"M2Pool 矿池,API 文档,认证 token,接口调用"}}},{path:"customerService",name:"CustomerService",component:()=>Promise.resolve().then((()=>(0,r.default)(o(96452)))),meta:{title:"在线客服",description:d.default.t("seo.apiFile"),allAuthority:["customer_service"],keywords:{en:"API file,authentication token,Interface call",zh:"M2Pool 矿池,API 文档,认证 token,接口调用"}}},{path:"/:lang/AccessMiningPool",name:"AccessMiningPool",component:()=>Promise.resolve().then((()=>(0,r.default)(o(18079)))),meta:{title:"接入矿池页面",description:d.default.t("seo.allocationExplanation"),allAuthority:["all"],keywords:{en:"Access to Mining Pools,Coin Access,Mining Guide",zh:"M2Pool 矿池,接入矿池,币种接入,挖矿指南"}},children:[{path:"nexaAccess",name:"NexaAccess",component:()=>Promise.resolve().then((()=>(0,r.default)(o(27048)))),meta:{title:"nexa 挖矿页面",description:d.default.t("seo.nexaAccess"),allAuthority:["all"],keepAlive:!0,requiresAuth:!1,keywords:{en:"Nexa Access,Mining Tutorial",zh:"nexa,挖矿教程,Nexa接入,Nexa Access,Mining Tutorial"}}},{path:"rxdAccess",name:"RxdAccess",component:()=>Promise.resolve().then((()=>(0,r.default)(o(11874)))),meta:{title:"rxd 挖矿页面",description:d.default.t("seo.rxdAccess"),allAuthority:["all"],keywords:{en:"rxd Access,Radiant Access,Mining Tutorial,radiant",zh:"rxd,矿池挖矿教程,Radiant接入,"}}},{path:"monaAccess",name:"MonaAccess",component:()=>Promise.resolve().then((()=>(0,r.default)(o(76177)))),meta:{title:"mona 挖矿页面",description:d.default.t("seo.monaAccess"),allAuthority:["all"],keywords:{en:"Mona Access,MONA Access,Mining Tutorial",zh:"mona,挖矿教程,mona接入,"}}},{path:"grsAccess",name:"GrsAccess",component:()=>Promise.resolve().then((()=>(0,r.default)(o(61034)))),meta:{title:"grs 挖矿页面",description:d.default.t("seo.grsAccess"),allAuthority:["all"],keywords:{en:"GRS Access,grs Access,Mining Tutorial",zh:"GRS,Grs接入,GRS挖矿教程"}}},{path:"dgbqAccess",name:"DgbqAccess",component:()=>Promise.resolve().then((()=>(0,r.default)(o(85278)))),meta:{title:"Dgbq 挖矿页面",description:d.default.t("seo.dgbAccess"),allAuthority:["all"],keywords:{en:"Dgb(qubit) Access,DGB(qubit) Access,Mining Tutorial,DGB",zh:"Dgbq,dgb(qubit)接入,dgb(qubit)挖矿教程"}}},{path:"dgboAccess",name:"DgboAccess",component:()=>Promise.resolve().then((()=>(0,r.default)(o(31863)))),meta:{title:"Dgbo 挖矿页面",description:d.default.t("seo.dgbAccess"),allAuthority:["all"],keywords:{en:"Dgb(odocrypt) Access,DGB(odocrypt) Access,Mining Tutorial,DGB",zh:"dgbo,dgb(odocrypt)接入,dgb(odocrypt)挖矿教程"}}},{path:"dgbsAccess",name:"DgbsAccess",component:()=>Promise.resolve().then((()=>(0,r.default)(o(89350)))),meta:{title:"Dgbs 挖矿页面",description:d.default.t("seo.dgbAccess"),allAuthority:["all"],keywords:{en:"Dgb(skein) Access,DGB(skein) Access,Mining Tutorial,DGB",zh:"dgbs,dgb(skein)接入,dgb(skein)挖矿教程"}}},{path:"enxAccess",name:"EnxAccess",component:()=>Promise.resolve().then((()=>(0,r.default)(o(29808)))),meta:{title:" Entropyx(enx) 挖矿页面",description:d.default.t("seo.enxAccess"),allAuthority:["all"],keywords:{en:"Entropyx(Enx), enx,ENX,Mining Tutorial",zh:"Entropyx(enx)接入,Entropyx挖矿教程"}}},{path:"alphminingPool",name:"AlphminingPool",component:()=>Promise.resolve().then((()=>(0,r.default)(o(65035)))),meta:{title:" alephium 挖矿页面",description:d.default.t("seo.alphAccess"),allAuthority:["all"],keywords:{en:"alephium(alph), Alephium,Mining Tutorial",zh:"alephium(alph)接入,alephium挖矿教程"}}}]},{path:"ServiceTerms",name:"ServiceTerms",component:()=>Promise.resolve().then((()=>(0,r.default)(o(27609)))),meta:{title:"服务条款页面",description:d.default.t("seo.ServiceTerms"),allAuthority:["all"],keywords:{en:"Terms of Service, User Rights, Rights and Obligations",zh:"M2Pool 矿池,服务条款,用户权益,权利义务"}}},{path:"submitWorkOrder",name:"SubmitWorkOrder",component:()=>Promise.resolve().then((()=>(0,r.default)(o(92879)))),meta:{title:"提交工单页面",description:d.default.t("seo.submitWorkOrder"),allAuthority:["admin","registered"],keywords:{en:"Mining Pool,Work Order Submission, Technical Support, Troubleshooting",zh:"M2Pool 矿池,提交工单,技术支持,问题处理"}}},{path:"workOrderRecords",name:"WorkOrderRecords",component:()=>Promise.resolve().then((()=>(0,r.default)(o(18311)))),meta:{title:"工单记录页面(用户)",description:d.default.t("seo.workOrderRecords"),allAuthority:["admin","registered"],keywords:{en:"User Work Order Records, Processing Status, Issue Progress",zh:"M2Pool 矿池,用户工单记录,处理状态,问题进度"}}},{path:"userWorkDetails",name:"UserWorkDetails",component:()=>Promise.resolve().then((()=>(0,r.default)(o(71995)))),meta:{title:"工单详情页面(用户)",description:d.default.t("seo.userWorkDetails"),allAuthority:["admin","registered"],keywords:{en:"User Work Order Details, Problem Description, Additional Submissions",zh:"M2Pool 矿池,用户工单详情,问题描述,补充提交"}}},{path:"workOrderBackend",name:"WorkOrderBackend",component:()=>Promise.resolve().then((()=>(0,r.default)(o(26497)))),meta:{title:"工单管理页面(后台)",description:"M2Pool 矿池后台工单管理页面,供 M2Pool 管理员查看和管理用户提交的工单记录,确保问题及时处理,提升用户体验。",allAuthority:["admin"],keywords:{en:"Back-office work order management, user work orders, timely processing",zh:"M2Pool 矿池,后台工单管理,用户工单,及时处理"}}},{path:"BKWorkDetails",name:"BKWorkDetails",component:()=>Promise.resolve().then((()=>(0,r.default)(o(18244)))),meta:{title:"工单详情页面(后台)",description:"M2Pool 矿池后台工单详情页面,管理员可在此查看提交工单的详细情况,包括提交时间、详细问题描述以及处理过程,并通过本页面对该工单进行回复处理。",allAuthority:["admin"],keywords:{en:"Backend Work Order Details, Problem Handling, Responding to Work Orders",zh:"M2Pool 矿池,后台工单详情,问题处理,回复工单"}}},{path:"dataDisplay",name:"DataDisplay",component:()=>Promise.resolve().then((()=>(0,r.default)(o(81475)))),meta:{title:"数据展示页面",description:"M2Pool 矿池数据展示页面",allAuthority:["all"],keywords:{en:"Mining Pool,Data Display",zh:"M2Pool 矿池,数据展示"}}},{path:"alerts",name:"Alerts",component:()=>Promise.resolve().then((()=>(0,r.default)(o(63683)))),meta:{title:"警报通知",description:d.default.t("seo.alerts"),allAuthority:["admin","registered"],keywords:{en:"Mining Pool,Offline Alarm Setting,Mining Machine Offline",zh:"M2Pool 矿池,离线告警设置,矿机离线"}}},{path:"personalCenter",name:"PersonalCenter",component:()=>Promise.resolve().then((()=>(0,r.default)(o(66683)))),meta:{title:"个人中心页面",description:d.default.t("seo.personalCenter"),allAuthority:["admin","registered"],keywords:{en:"Personal Center,Mining Account,Read-Only Page Setup,Security Settings,API Key Generation",zh:"M2Pool 矿池,个人中心,挖矿账户,只读页面设置安全设置API密钥生成"}},children:[{path:"personalMining",name:"PersonalMining",component:()=>Promise.resolve().then((()=>(0,r.default)(o(4572)))),meta:{title:"挖矿账户设置页面",description:d.default.t("seo.personalMining"),allAuthority:["admin","registered"],keywords:{en:"Personal Center,Mining Account Settings,Coin Accounts",zh:"M2Pool 矿池,个人中心,挖矿账户设置,币种账户"}}},{path:"readOnly",name:"ReadOnly",component:()=>Promise.resolve().then((()=>(0,r.default)(o(7267)))),meta:{title:"只读页面设置",description:d.default.t("seo.readOnly"),allAuthority:["admin","registered"],keywords:{en:"Personal Center,Read-Only Page Setting,Mining Pool Sharing",zh:"M2Pool 矿池,个人中心,只读页面设置,矿池分享"}}},{path:"securitySetting",name:"SecuritySetting",component:()=>Promise.resolve().then((()=>(0,r.default)(o(51625)))),meta:{title:"安全设置页面",description:d.default.t("seo.securitySetting"),allAuthority:["admin","registered"],keywords:{en:"Security settings, password change",zh:"M2Pool 矿池,安全设置,密码修改"}}},{path:"personal",name:"personal",component:()=>Promise.resolve().then((()=>(0,r.default)(o(36155)))),meta:{title:"个人信息页面",description:d.default.t("seo.personal"),allAuthority:["admin","registered"],keywords:{en:"Personal Information, Login History",zh:"M2Pool 矿池,个人信息,登录历史"}}},{path:"miningReport",name:"MiningReport",component:()=>Promise.resolve().then((()=>(0,r.default)(o(65784)))),meta:{title:"挖矿报告页面",description:d.default.t("seo.miningReport"),allAuthority:["admin","registered"],keywords:{en:"Mining Report, Subscription Service",zh:"M2Pool 矿池,个人中心,挖矿报告,订阅服务"}}},{path:"personalAPI",name:"PersonalAPI",component:()=>Promise.resolve().then((()=>(0,r.default)(o(89175)))),meta:{title:"API页面",description:d.default.t("seo.personalAPI"),allAuthority:["admin","registered"],keywords:{en:"API Page,API Key Generation",zh:"M2Pool 矿池,个人中心,API 页面,API密钥生成"}}}]}],u=[{path:"/:lang/login",name:"Login",component:()=>Promise.resolve().then((()=>(0,r.default)(o(47547)))),meta:{title:"登录页面",description:"M2Pool 矿池登录页面",allAuthority:["all"],keywords:{en:"M2Pool Mining Pool,login page,account password",zh:"M2Pool 矿池,登录页面,账号密码,安全登录"}}},{path:"/:lang/register",name:"Register",component:()=>Promise.resolve().then((()=>(0,r.default)(o(36167)))),meta:{title:"注册页面",description:"M2Pool 矿池注册页面,新用户可在此便捷注册账号,加入 M2Pool 矿池大家庭。",allAuthority:["all"],keywords:{en:"M2Pool Mining Pool,register page,new user registration,account creation",zh:"M2Pool 矿池,注册页面,新用户注册,账号创建"}}},{path:"/:lang/simulation",name:"simulation",component:()=>Promise.resolve().then((()=>(0,r.default)(o(35936)))),meta:{title:"测试页面",description:"M2Pool 矿池测试页面,用于进行系统功能的模拟和测试,确保矿池稳定运行",allAuthority:["all"],keywords:{en:"M2Pool Mining Pool,test page,system test,stable operation",zh:"M2Pool 矿池,测试页面,系统测试,稳定运行"}}},{path:"/:lang/resetPassword",name:"ResetPassword",component:()=>Promise.resolve().then((()=>(0,r.default)(o(15510)))),meta:{title:"重置密码页面",description:"M2Pool 矿池重置密码页面,用户可在此修改矿池网站账号密码,保障账户安全。",allAuthority:["all"],keywords:{en:"M2Pool Mining Pool,reset password,modify password,account security",zh:"M2Pool 矿池,重置密码,修改密码,账户安全"}}},{path:"/:lang/404",component:()=>Promise.resolve().then((()=>(0,r.default)(o(91064)))),meta:{title:"404页面",description:"M2Pool 矿池 404 页面,当 URL 错误时将跳转至此页面,提示用户页面不存在。",allAuthority:["all"],keywords:{en:"M2Pool Mining Pool,404 page,page not found,error redirect",zh:"M2Pool 矿池,404 页面,页面不存在,错误跳转"}}}],m=[{path:"/:lang",component:s.default,beforeEnter:(e,t,o)=>{const n=e.params.lang,r=["zh","en"];return r.includes(n)?(d.default.locale!==n&&(d.default.locale=n,localStorage.setItem("lang",n)),o()):o(`/en${e.path}`)},children:c},{path:"/",redirect:()=>{const e=localStorage.getItem("lang")||"en";return`/${e}`}},...u,{path:"*",redirect:e=>{const t=localStorage.getItem("lang")||"en";return`/${t}/404`}}],p=new i.default({mode:"history",base:"/",routes:m,strict:!0});p.beforeEach(((e,t,o)=>{const n=e.params.lang;if(e.path.endsWith("/")&&e.path.length>1){const t=e.path.slice(0,-1);return o({path:t,query:e.query,hash:e.hash,params:e.params})}if(!n&&"/"!==e.path){const t=localStorage.getItem("lang")||"en";return o(`/${t}${e.path}`)}let r=localStorage.getItem("jurisdiction"),a=JSON.parse(r);localStorage.setItem("superReportError","");let i,s=document.getElementsByClassName("el-main")[0];s&&(s.scrollTop=0);try{i=JSON.parse(localStorage.getItem("token"))}catch(c){console.log(c)}if(i)e.path===`/${n}/login`||e.path===`/${n}/register`?o({path:`/${n}`}):e.meta.allAuthority&&"all"==e.meta.allAuthority[0]||a.roleKey&&e.meta.allAuthority&&e.meta.allAuthority.some((e=>e==a.roleKey))?o():(console.log(e.meta.allAuthority,e.path,"权限"),(0,l.Message)({showClose:!0,message:d.default.t("mining.jurisdiction"),type:"error"}),o({path:`/${n}`}));else{let t=[`/${n}/miningAccount`,`/${n}/workOrderRecords`,`/${n}/userWorkDetails`,`/${n}/submitWorkOrder`,`/${n}/workOrderBackend`,`/${n}/BKWorkDetails`];t.includes(e.path)||e.path.includes("personalCenter")?((0,l.Message)({showClose:!0,message:d.default.t("mining.logInFirst"),type:"error"}),o({path:`/${n}/login`})):o()}}));const h=i.default.prototype.push;i.default.prototype.push=function(e){return h.call(this,e).catch((e=>e))};t["default"]=p},49704:function(e,t,o){var n=o(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.encryption=void 0;var r=n(o(47522));const a="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwHkUfT2GAupZAL5DMnwETSywuPLIKUAR3hjhKvOls2u0YtIHlcfjhqGBfg0NEPi6Ig2GmK5KnjcdIppfNfBpSiJBEtMwM2E7WJbXBsYU0B4wB86XGW9fFQi0e8pGYvVbKvwP9MQeLnUC4xf2L+6Nw3xQZ9GAsE6GUJ4tUOSKK/QIDAQAB",i=e=>{const t=new r.default;t.setPublicKey(a);let o=t.encrypt(e);return o};t.encryption=i},54211:function(e,t,o){var n=o(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0,o(18111),o(7588);var r=n(o(84994));t["default"]={data(){return{componentId:this.$options.name||"unnamed-component"}},methods:{setLoading(e,t){this[e]=t,r.default.setLoading(this.componentId,e,t)},getLoading(e){return r.default.getLoading(this.componentId,e)}},mounted(){this._resetHandler=e=>{const{componentsToUpdate:t}=e.detail;t.forEach((e=>{e.componentId===this.componentId&&(this[e.stateKey]=!1)}))},window.addEventListener("reset-loading-states",this._resetHandler)},beforeDestroy(){window.removeEventListener("reset-loading-states",this._resetHandler);const e=r.default.resetComponentLoadingStates(this.componentId);e.forEach((e=>{this[e.stateKey]=!1}))}}},55129:function(e,t,o){var n=o(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0;var r=n(o(66848)),a=n(o(93518));r.default.use(a.default);t["default"]=new a.default.Store({state:{},getters:{},mutations:{},actions:{},modules:{}})},82908:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.$addStorageEvent=void 0,t.Debounce=n,t.getImageUrl=void 0,t.throttle=r;const o=function(e,t,o){if(1===e){var n=document.createEvent("StorageEvent");const e={setItem:function(e,t){localStorage.setItem(e,t),n.initStorageEvent("setItem",!1,!1,e,null,t,null,null),window.dispatchEvent(n)}};return e.setItem(t,o)}{n=document.createEvent("StorageEvent");const e={setItem:function(e,t){sessionStorage.setItem(e,t),n.initStorageEvent("setItem",!1,!1,e,null,t,null,null),window.dispatchEvent(n)}};return e.setItem(t,o)}};function n(e,t){let o=null;return function(){let n=this,r=arguments;clearTimeout(o),o=setTimeout((function(){e.apply(n,r)}),t)}}function r(e,t){let o,n,r;return function(){const a=this,i=arguments;o?(clearTimeout(n),n=setTimeout((function(){Date.now()-r>=t&&(e.apply(a,i),r=Date.now())}),Math.max(t-(Date.now()-r),0))):(e.apply(a,i),r=Date.now(),o=!0)}}t.$addStorageEvent=o;const a=e=>{const t="https://test.m2pool.com/";return e?e.startsWith("http")?e.replace("https://test.m2pool.com",t):`${t}${e.startsWith("/")?"":"/"}${e}`:""};t.getImageUrl=a},84403:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.line=t.bar=void 0;o(3574);t.line={legend:{right:100,formatter:function(e){return e}},tooltip:{trigger:"axis",textStyle:{align:"left"},animation:!1,axisPointer:{animation:!1,snap:!0,label:{precision:2},type:"cross",crossStyle:{width:.5},lineStyle:{}}},xAxis:{boundaryGap:!1,axisTick:{show:!1},axisLine:{show:!1},data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},yAxis:[{position:"left",type:"value"},{position:"right",splitNumber:"5",show:!0},{position:"right",splitNumber:"5",show:!1},{position:"right",splitNumber:"5",show:!1}],dataZoom:[{type:"inside",start:10,end:100,maxSpan:100,minSpan:2,animation:!1},{type:"inside",start:10,end:100}],series:[{name:"line",type:"line",smooth:!1,symbol:"circle",symbolSize:5,showSymbol:!1,itemStyle:{color:"#5721E4",borderColor:"rgba(221,220,107,0.1)",borderWidth:12},lineStyle:{color:"#5721E4",width:"2"},data:[150,230,224,218,135,147,260]}]},t.bar={tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:[{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisTick:{alignWithLabel:!0}}],yAxis:[{type:"value",show:!0}],series:[{name:"Direct",type:"bar",barWidth:"60%",data:[10,52,200,334,390,330,220],itemStyle:{borderRadius:[100,100,0,0],color:"#7645EE"}}]}},84994:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0,o(44114),o(18111),o(7588);class n{constructor(){this.loadingStates=new Map,this.setupListeners()}setupListeners(){window.addEventListener("network-retry-complete",(()=>{this.resetAllLoadingStates()}))}setLoading(e,t,o){const n=`${e}:${t}`;this.loadingStates.set(n,{value:o,timestamp:Date.now()})}getLoading(e,t){const o=`${e}:${t}`,n=this.loadingStates.get(o);return!!n&&n.value}resetAllLoadingStates(){const e=[];this.loadingStates.forEach(((t,o)=>{if(!0===t.value){const[t,n]=o.split(":");e.push({componentId:t,stateKey:n}),this.loadingStates.set(o,{value:!1,timestamp:Date.now()})}})),window.dispatchEvent(new CustomEvent("reset-loading-states",{detail:{componentsToUpdate:e}}))}resetComponentLoadingStates(e){const t=[];return this.loadingStates.forEach(((o,n)=>{if(n.startsWith(`${e}:`)&&!0===o.value){const o=n.split(":")[1];t.push({componentId:e,stateKey:o}),this.loadingStates.set(n,{value:!1,timestamp:Date.now()})}})),t}}const r=new n;t["default"]=r},98986:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0,o(44114),o(18111),o(7588);t["default"]={data(){return{recoveryMethods:[],methodParams:{}}},methods:{registerRecoveryMethod(e,t){"function"!==typeof this[e]||this.recoveryMethods.includes(e)||(this.recoveryMethods.push(e),this.methodParams[e]=t,console.log(`[NetworkRecovery] 注册方法: ${e}`))},updateMethodParams(e,t){this.recoveryMethods.includes(e)&&(this.methodParams[e]=t)},handleNetworkRecovery(){console.log("[NetworkRecovery] 网络已恢复,正在刷新数据..."),this.recoveryMethods.forEach((e=>{if("function"===typeof this[e]){const t=this.methodParams[e];console.log(`[NetworkRecovery] 重新调用方法: ${e}`),this[e](t)}}))}},mounted(){window.addEventListener("network-retry-complete",this.handleNetworkRecovery)},beforeDestroy(){window.removeEventListener("network-retry-complete",this.handleNetworkRecovery)}}}}]);