1 line
153 KiB
JavaScript
1 line
153 KiB
JavaScript
"use strict";(self["webpackChunkmining_pool"]=self["webpackChunkmining_pool"]||[]).push([[282],{857:function(e,t,i){Object.defineProperty(t,"B",{value:!0}),t.A=void 0,i(44114);var o=i(47149),n=i(6803),s=i(82908);t.A={computed:{key(){return this.$route.path}},data(){return{isLogin:!1,bthText:"English",token:"",accountList:[],miningAccountList:[],isOrderKey:"",activeIndex2:"",isDropdownVisible:!1,activeIndex:"",jurisdiction:{roleKey:""},ManagementShow:!1,currencyList:[],activeItem:{value:"nexa",label:"nexa",imgUrl:(0,s.getImageUrl)("/img/nexa.png")}}},watch:{token:{handler(e){this.isLogin=!!e},immediate:!0,deep:!0},accountList:{handler(e){},immediate:!0,deep:!0},miningAccountList:{handler(e){},immediate:!0,deep:!0},$route(e,t){"/miningAccount"!==e.path&&(this.activeIndex="")},activeItemCoin:{handler(e){this.changeMenuName($event,this.activeItem)},deep:!0}},mounted(){this.$addStorageEvent(1,"activeItemCoin",JSON.stringify(this.activeItem));let e=localStorage.getItem("token");this.token=JSON.parse(e);let t=localStorage.getItem("accountList");this.accountList=JSON.parse(t);let i=localStorage.getItem("miningAccountList");this.miningAccountList=JSON.parse(i);let o=localStorage.getItem("jurisdiction");this.jurisdiction=JSON.parse(o);let n=localStorage.getItem("currencyList");this.currencyList=JSON.parse(n),window.addEventListener("setItem",(()=>{let e=localStorage.getItem("token");this.token=JSON.parse(e);let t=localStorage.getItem("accountList");this.accountList=JSON.parse(t);let i=localStorage.getItem("miningAccountList");this.miningAccountList=JSON.parse(i);let o=localStorage.getItem("jurisdiction");this.jurisdiction=JSON.parse(o);let n=localStorage.getItem("currencyList");this.currencyList=JSON.parse(n);let s=localStorage.getItem("activeItemCoin");this.activeItem=JSON.parse(s),this.jurisdiction&&"admin"==this.jurisdiction.roleKey?this.ManagementShow=!0:this.ManagementShow=!1})),this.jurisdiction&&"admin"==this.jurisdiction.roleKey?this.ManagementShow=!0:this.ManagementShow=!1,document.addEventListener("click",(function(){const e=document.querySelector(".dropdown"),t=document.querySelector(".arrow");try{e.classList.contains("show")&&(e.classList.remove("show"),t.classList.remove("up"))}catch(i){console.log(i)}}))},methods:{toggleDropdown(e){if(!e)return;const t=e.currentTarget,i=t.querySelector(".dropdown"),o=t.querySelector(".arrow");i&&(i.classList.toggle("show"),o?.classList.toggle("up"))},changeMenuName(e,t){if(!e)return;e.stopPropagation();const i=document.getElementById("menu1");if(!i)return;this.activeItem=t;const o=i.querySelector(".dropdown"),n=i.querySelector(".arrow");o?.classList.remove("show"),n?.classList.remove("up"),this.$addStorageEvent(1,"activeItemCoin",JSON.stringify(t))},handelDarkMode(){},async fetchAccountGradeList(){const e=await(0,o.getAccountGradeList)();this.miningAccountList=e.data,this.$addStorageEvent(1,"miningAccountList",JSON.stringify(this.miningAccountList))},async fetchAccountList(e){const t=await(0,n.getAccountList)(e);t&&200==t.code&&(this.accountList=t.data,this.$addStorageEvent(1,"accountList",JSON.stringify(this.accountList)))},async fetchSignOut(){const e=await(0,o.getLogout)();if(e&&200==e.code){await this.$store.dispatch("logout");const e=this.$i18n.locale;this.$router.push(`/${e}`)}},handleDropdownClick(){this.isDropdownVisible=!0},handleCommand(e){},handleSelect(){},handelLogin(){this.isLogin=!0;const e=this.$i18n.locale;this.$router.push(`/${e}/login`)},handelRegister(){const e=this.$i18n.locale;this.$router.push(`/${e}/register`)},handelLogin222(){this.isLogin=!this.isLogin},handelJump(e){try{const t=this.$i18n.locale;if("personalCenter"===e)return void this.$router.push(`/${t}/personalCenter/personalMining`).catch((e=>{"NavigationDuplicated"!==e.name&&console.error("Navigation failed:",e)}));const i=`/${t}${"/"===e?"":"/"+e}`;this.$router.push(i).catch((e=>{"NavigationDuplicated"!==e.name&&console.error("Navigation failed:",e)}))}catch(t){console.error("Navigation error:",t),this.$message.error(this.$t("common.navigationError"))}},handelJumpAccount(e,t,i){const o=this.$i18n.locale;let n={ma:t.account,coin:i,id:t.id,img:e.img};this.$addStorageEvent(1,"accountItem",JSON.stringify(n)),this.$router.push({path:`/${o}/miningAccount`,query:{ma:t.account+i}}),this.isDropdownVisible=!1},handelLang(e){try{const t=this.$route.path,i=this.$i18n.locale,o=this.$route.query;if(!["zh","en"].includes(e))throw new Error("Unsupported language");this.$i18n.locale=e,localStorage.setItem("lang",e||"en");const n=t.replace(`/${i}`,`/${e}`);this.$router.push({path:n,query:o}).catch((e=>{"NavigationDuplicated"!==e.name&&(console.error("路由更新失败:",e),this.$message.error(this.$t("common.langChangeFailed")))})),document.documentElement.lang=e}catch(t){console.error("语言切换失败:",t),this.$message.error(this.$t("common.langChangeFailed"))}},handelSignOut(){this.fetchSignOut(),localStorage.removeItem("token"),localStorage.removeItem("username"),localStorage.removeItem("jurisdiction"),this.$addStorageEvent(1,"miningAccountList",JSON.stringify("")),this.isLogin=!1,this.isDropdownVisible=!1}}}},950:function(e){e.exports="data:image/png;base64,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"},1339:function(e,t,i){i.r(t),i.d(t,{__esModule:function(){return n.B},default:function(){return c}});var o=i(27230),n=i(8643),s=n.A,a=i(81656),r=(0,a.A)(s,o.XX,o.Yp,!1,null,"3185108e",null),c=r.exports},1708:function(e,t,i){e.exports=i.p+"img/高度资源 26.2af0541e.svg"},1717:function(e,t,i){e.exports=i.p+"img/接入矿池.57f89e2c.svg"},3832:function(e,t,i){e.exports=i.p+"img/profit.adb6726b.svg"},4940:function(e,t,i){e.exports=i.p+"img/menu.5760bd15.svg"},6006:function(e,t,i){e.exports=i.p+"img/logointop.60501418.svg"},6803:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.getAccountList=c,t.getAddBalace=s,t.getAddMinerAccount=a,t.getBindCode=f,t.getBindGoogle=p,t.getBindInfo=g,t.getCheck=u,t.getCheckAccount=d,t.getCheckBalance=h,t.getCloseCode=y,t.getCloseStepTwo=v,t.getDelMinerAccount=r,t.getEmailIfBind=b,t.getIfBind=m,t.getMinerAccountBalance=l,t.getUpdatePwd=w,t.getUpdatePwdCode=C;var n=o(i(35720));function s(e){return(0,n.default)({url:"pool/user/addBalance",method:"post",data:e})}function a(e){return(0,n.default)({url:"pool/user/addMinerAccount",method:"post",data:e})}function r(e){return(0,n.default)({url:"pool/user/delMinerAccount",method:"Delete",data:e})}function c(e){return(0,n.default)({url:"pool/user/getAccountList",method:"post",data:e})}function l(e){return(0,n.default)({url:"pool/user/getMinerAccountBalance",method:"post",data:e})}function d(e){return(0,n.default)({url:"pool/user/checkAccount",method:"post",data:e})}function h(e){return(0,n.default)({url:"pool/user/checkBalance",method:"post",data:e})}function u(e){return(0,n.default)({url:"pool/user/check",method:"post",data:e})}function m(e){return(0,n.default)({url:"pool/user/ifBind",method:"post",data:e})}function g(e){return(0,n.default)({url:"pool/user/getBindInfo",method:"post",data:e})}function p(e){return(0,n.default)({url:"pool/user/bindGoogle",method:"post",data:e})}function f(e){return(0,n.default)({url:"pool/user/getBindCode",method:"post",data:e})}function y(e){return(0,n.default)({url:"pool/user/getCloseCode",method:"post",data:e})}function v(e){return(0,n.default)({url:"pool/user/closeStepTwo",method:"post",data:e})}function b(e){return(0,n.default)({url:"pool/user/emailIfBind",method:"post",data:e})}function w(e){return(0,n.default)({url:"auth/updatePwd",method:"post",data:e})}function C(e){return(0,n.default)({url:"auth/updatePwdCode",method:"post",data:e})}},8643:function(e,t,i){var o=i(91774)["default"],n=i(3999)["default"];Object.defineProperty(t,"B",{value:!0}),t.A=void 0,i(44114),i(18111),i(20116);var s=n(i(91774)),a=i(84403),r=o(i(3574)),c=i(82908);t.A={name:"AppMain",components:{comHeard:()=>Promise.resolve().then((()=>(0,s.default)(i(19592))))},computed:{key(){return this.$route.path}},data(){return{activeName:"second",option:{...a.line},option2:{...a.line},powerDialogVisible:!1,minerDialogVisible:!1,currentPage:1,currency:"mona",currencyPath:"https://s2.coinmarketcap.com/static/img/coins/64x64/213.png",currencyList:[{value:"grs",label:"grs",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/258.png"},{value:"mona",label:"mona",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/213.png"},{value:"dgb_skein",label:"dgb-skein-pool1",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/109.png"},{value:"dgb_qubit",label:"dgb-qubit-pool1",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/109.png"},{value:"dgb_odo",label:"dgb-odocrypt-pool1",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/109.png"},{value:"dgb2_odo",label:"dgb-odocrypt-pool2",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/109.png"},{value:"dgb_qubit_a10",label:"dgb-qubit-pool2",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/109.png"},{value:"dgb_skein_a10",label:"dgb-skein-pool2",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/109.png"},{value:"dgb_odo_b20",label:"dgb-odoscrypt-pool3",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/109.png"}],scrollTop:0,isLogin:!0,bthText:"English",miningAccountList:[{title:"grs",coin:"grs",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/258.png",children:[{account:"miner",id:"1"},{account:"test",id:"2"}]},{title:"mona",coin:"mona",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/213.png",children:[{account:"miner",id:"1"},{account:"test",id:"2"}]},{title:"dgb-skein-pool1",coin:"dgb_skein",imgUrl:"https://s2.coinmarketcap.com/static/img/coins/64x64/109.png",children:[{account:"miner",id:"1"},{account:"test",id:"2"}]}],activeItemCoin:{coin:"nexa",imgUrl:(0,c.getImageUrl)("/img/nexa.png")},lang:"zh"}},created(){},mounted(){this.lang=this.$i18n.locale,window.scrollTo(0,0);let e=localStorage.getItem("activeItemCoin");this.activeItemCoin=JSON.parse(e);let t=localStorage.getItem("currencyList");this.currencyList=JSON.parse(t),window.addEventListener("setItem",(()=>{let e=localStorage.getItem("activeItemCoin");this.activeItemCoin=JSON.parse(e);let t=localStorage.getItem("currencyList");this.currencyList=JSON.parse(t)}))},methods:{jumpPage(){const e=this.$i18n.locale;this.$router.push(`/${e}/ServiceTerms`)},jumpPage1(){const e=this.$i18n.locale;this.$router.push(`/${e}/apiFile`)},jumpPage2(){const e=this.$i18n.locale;this.$router.push(`/${e}/rate`)},jumpPage3(e){console.log(e,1366565);const t=this.$i18n.locale;if("/AccessMiningPool"===e){const e=this.currencyList.find((e=>e.value===this.activeItemCoin.value));if(!e)return;let i=e.path.charAt(0).toUpperCase()+e.path.slice(1);this.$router.push({name:i,params:{lang:t,coin:this.activeItemCoin.value,imgUrl:this.activeItemCoin.imgUrl},replace:!1})}else{const i=e.startsWith("/")?e.slice(1):e;this.$router.push(`/${t}/${i}`)}},handleCommand(e){},handleScroll(e){"/"==this.$route.path&&(this.scrollTop=e.target.scrollTop,this.scrollTop>=300?(this.$refs.head.style.backgroundColor="#FFF",this.$refs.head.style.position="fixed",this.$refs.head.style.top="0"):(this.$refs.head.style.backgroundColor="initial",this.$refs.head.style.position="tatic"))},clickCurrency(e){this.currency=e.label,this.currencyPath=e.imgUrl},handleClick(e,t){console.log(e,t)},handelPower(){this.powerDialogVisible=!0,this.$nextTick((()=>{this.inCharts()}))},handelMiner(){this.minerDialogVisible=!0,this.$nextTick((()=>{this.myChart2=r.init(document.getElementById("minerChart")),this.myChart2.setOption(this.option2)}))},handleSizeChange(e){console.log(`每页 ${e} 条`)},handleCurrentChange(e){console.log(`当前页: ${e}`)},inCharts(){this.myChart=r.init(document.getElementById("chart")),this.myChart.setOption(this.option)},handelLogin(){this.isLogin=!0,this.$router.push("/login")},handelRegister(){this.$router.push({path:"/register"})},handelLogin222(){this.isLogin=!this.isLogin},handelJump(e){this.$router.push({path:e})},handelLang(){const e=this.$route.path,t=this.$i18n.locale,i="zh"===t?"en":"zh";this.$i18n.locale=i,this.lang=i,this.bthText="zh"===i?"English":"简体中文";const o=e.replace(`/${t}/`,`/${i}/`);this.$router.push(o).catch((e=>{"NavigationDuplicated"!==e.name&&console.error("路由跳转失败:",e)})),localStorage.setItem("lang",i)}}}},10673:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.getApiInfo=l,t.getApiKey=s,t.getApiList=a,t.getDelApi=c,t.getUpdateAPI=r;var n=o(i(35720));function s(e){return(0,n.default)({url:"pool/user/getApiKey",method:"post",data:e})}function a(e){return(0,n.default)({url:"pool/user/getApiList",method:"post",data:e})}function r(e){return(0,n.default)({url:"pool/user/updateAPI",method:"post",data:e})}function c(e){return(0,n.default)({url:"pool/user/delApi",method:"delete",data:e})}function l(e){return(0,n.default)({url:"pool/user/getApiInfo",method:"post",data:e})}},11427:function(e,t,i){e.exports=i.p+"img/registertop.d405fe96.svg"},11503:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.getBKendTicket=p,t.getDetails=u,t.getDownloadFile=h,t.getEndTicket=d,t.getPrivateTicket=c,t.getReadTicket=r,t.getReply=m,t.getResubmitTicket=a,t.getSubmitTicket=s,t.getTicketDetails=l,t.getTicketList=g;var n=o(i(35720));function s(e){return(0,n.default)({url:"pool/ticket/submitTicket",method:"post",data:e})}function a(e){return(0,n.default)({url:"pool/ticket/resubmitTicket",method:"post",data:e})}function r(e){return(0,n.default)({url:"pool/ticket/readTicket",method:"post",data:e})}function c(e){return(0,n.default)({url:"pool/ticket/getPrivateTicket",method:"post",data:e})}function l(e){return(0,n.default)({url:"pool/ticket/getTicketDetails",method:"post",data:e})}function d(e){return(0,n.default)({url:"pool/ticket/endTicket",method:"post",data:e})}function h(){return(0,n.default)({url:"pool/ticket/downloadFile",method:"get"})}function u(e){return(0,n.default)({url:"pool/ticket/bk/details",method:"post",data:e})}function m(e){return(0,n.default)({url:"pool/ticket/bk/respon",method:"post",data:e})}function g(e){return(0,n.default)({url:"pool/ticket/bk/list",method:"post",data:e})}function p(e){return(0,n.default)({url:"pool/ticket/bk/endTicket",method:"post",data:e})}},12173:function(e,t){Object.defineProperty(t,"B",{value:!0}),t.A=void 0;t.A={name:"Tooltip",props:{maxWidth:{type:Number,default:120}},data(){return{showTooltip:!1,hideTimer:null,top:0,left:0}},methods:{show(e){clearTimeout(this.hideTimer);const t=e.getBoundingClientRect(),i=t.top+window.pageYOffset,o=t.left+window.pageXOffset,n=t.width;this.showTooltip=!0,this.$nextTick((()=>{const e=this.$refs.tooltip.offsetWidth,t=this.$refs.tooltip.offsetHeight;this.top=i-t,this.left=o-(e-n)/2}))},onShow(){clearTimeout(this.hideTimer),this.showTooltip=!0},onHide(){this.hideTimer=setTimeout((()=>{this.showTooltip=!1}),100)}}}},16712:function(e,t,i){e.exports=i.p+"img/钱包.fbd8a674.svg"},19464:function(e,t,i){i.r(t),i.d(t,{__esModule:function(){return n.B},default:function(){return c}});var o=i(97131),n=i(45732),s=n.A,a=i(81656),r=(0,a.A)(s,o.XX,o.Yp,!1,null,null,null),c=r.exports},19592:function(e,t,i){i.r(t),i.d(t,{__esModule:function(){return n.B},default:function(){return c}});var o=i(82131),n=i(857),s=n.A,a=i(81656),r=(0,a.A)(s,o.XX,o.Yp,!1,null,"f7e3b4fa",null),c=r.exports},21525:function(e,t,i){e.exports=i.p+"img/安全.225650c3.svg"},22327:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.getAccountPowerDistribution=h,t.getHistoryIncome=l,t.getHistoryOutcome=d,t.getMinerAccountInfo=a,t.getMinerAccountPower=s,t.getMinerList=r,t.getMinerPower=c;var n=o(i(35720));function s(e){return(0,n.default)({url:"pool/getMinerAccountPower",method:"post",data:e})}function a(e){return(0,n.default)({url:"pool/getMinerAccountInfo",method:"post",data:e})}function r(e){return(0,n.default)({url:"pool/getMinerList",method:"post",data:e})}function c(e){return(0,n.default)({url:"pool/getMinerPower",method:"post",data:e})}function l(e){return(0,n.default)({url:"pool/getHistoryIncome",method:"post",data:e})}function d(e){return(0,n.default)({url:"pool/getHistoryOutcome",method:"post",data:e})}function h(e){return(0,n.default)({url:"pool/getAccountPowerDistribution",method:"post",data:e})}},22345:function(e,t,i){e.exports=i.p+"img/home.2a3cb050.png"},22704:function(e,t,i){t.Yp=t.XX=void 0;t.XX=function(){var e=this,t=e._self._c;return t("div",{staticClass:"MoveMain"},[t("header",{staticClass:"headerMove"},[t("img",{attrs:{src:i(87596),alt:"logo"},on:{click:function(t){return e.handelJump("/")}}}),t("span",{staticStyle:{"font-size":"0.9rem"}},[e._v(e._s(e.$t(e.key)))]),t("el-dropdown",{attrs:{trigger:"click","hide-on-click":!1}},[t("span",{staticClass:"el-dropdown-link",staticStyle:{"font-size":"0.9rem",color:"rgba(0, 0, 0, 1)"}},[t("img",{attrs:{src:i(4940),alt:"menu"}})]),t("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"}},[t("div",{staticClass:"menuItem",on:{click:function(t){return e.handelJump("/")}}},[t("img",{attrs:{src:i(47761),alt:"home"}}),t("span",[e._v(" "+e._s(e.$t("home.home")))])])]),t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"},nativeOn:{click:function(t){return e.handelJump("/reportBlock")}}},[t("div",{staticClass:"menuItem"},[t("img",{attrs:{src:i(36506),alt:"reportBlock"}}),t("span",[e._v(" "+e._s(e.$t("home.reportBlock")))])])]),t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"}},[t("el-collapse",{model:{value:e.activeNames,callback:function(t){e.activeNames=t},expression:"activeNames"}},[t("el-collapse-item",{attrs:{name:"1"}},[t("template",{slot:"title"},[t("div",{staticClass:"menuItem2"},[t("img",{attrs:{src:i(67069),alt:"account"}}),t("span",[e._v(e._s(e.$t("home.accountCenter")))])])]),e._l(e.newMiningAccountList,(function(i){return t("div",{key:i.id,staticClass:"accountBox",on:{click:function(t){return e.handelJumpAccount(i)}}},[t("div",{staticClass:"coinBox"},[t("img",{attrs:{src:i.img,alt:"coin"}}),t("span",{staticClass:"coin"},[e._v(e._s(i.coin))])]),t("span",{staticClass:"account"},[e._v(e._s(i.account))])])}))],2)],1)],1),t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"},nativeOn:{click:function(t){return e.handelJump("/personalCenter")}}},[t("div",{staticClass:"menuItem"},[t("img",{attrs:{src:i(91621),alt:"personalCenter"}}),t("span",[e._v(" "+e._s(e.$t("home.personalCenter")))])])]),t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"},nativeOn:{click:function(t){return e.handelJump("/workOrderRecords")}}},[t("div",{staticClass:"menuItem"},[t("img",{attrs:{src:i(46165),alt:"workRecord"}}),t("span",[e._v(" "+e._s(e.$t("personal.workOrderRecord")))])])]),t("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:e.ManagementShow,expression:"ManagementShow"}],staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"},nativeOn:{click:function(t){return e.handelJump("/workOrderBackend")}}},[t("div",{staticClass:"menuItem"},[t("img",{attrs:{src:i(60508),alt:"Work Order Management"}}),t("span",[e._v(" "+e._s(e.$t("work.WorkOrderManagement")))])])]),t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"},nativeOn:{click:function(t){return e.handelSignOut.apply(null,arguments)}}},[t("div",{staticClass:"menuItem"},[t("img",{attrs:{src:i(76994),alt:"sign out"}}),t("span",[e._v(" "+e._s(e.$t("user.signOut")))])])]),t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"}},[t("div",{staticClass:"langBox"},[t("el-radio",{attrs:{fill:"red",label:"zh"},on:{input:e.handelRadio},model:{value:e.radio,callback:function(t){e.radio=t},expression:"radio"}},[e._v("简体中文")]),t("el-radio",{attrs:{fill:"#fff",label:"en"},on:{input:e.handelRadio},model:{value:e.radio,callback:function(t){e.radio=t},expression:"radio"}},[e._v("English")])],1)]),t("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:!e.isLogin,expression:"!isLogin"}],staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"}},[t("div",{staticClass:"menuLogin"},[t("el-button",{staticClass:"lgBTH",on:{click:function(t){return e.handelJump("/login")}}},[e._v(e._s(e.$t("home.MLogin")))]),t("el-button",{staticClass:"reBTH",on:{click:function(t){return e.handelJump("/register")}}},[e._v(e._s(e.$t("home.MRegister")))])],1)])],1)],1)],1)])},t.Yp=[]},22792:function(e,t,i){e.exports=i.p+"img/404.458c248a.png"},27034:function(e,t,i){e.exports=i.p+"img/home.4c2d8f62.png"},27230:function(e,t,i){t.Yp=t.XX=void 0;t.XX=function(){var e=this,t=e._self._c;return t("div",{staticClass:"contentMain"},[t("div",{staticClass:"contentPage"},[t("router-view",{key:e.key})],1),e.$isMobile?t("section",{staticClass:"moveFooterBox"},[t("div",{staticClass:"footerBox"},[e._m(0),t("div",{staticClass:"missionBox"},[t("p",{staticClass:"mission"},[e._v(e._s(e.$t("home.mission")))]),t("p",{staticClass:"missionText"},[e._v(e._s(e.$t("home.missionText")))])]),t("div",{staticClass:"missionBox"},[t("p",{staticClass:"mission"},[e._v(e._s(e.$t("home.service")))]),t("div",{staticClass:"FMenu"},[t("p",[t("span",{on:{click:function(t){return e.jumpPage1("/apiFile")}}},[e._v(e._s(e.$t("home.APIfile")))])]),t("p",[t("span",{on:{click:function(t){return e.jumpPage2("/rate")}}},[e._v(e._s(e.$t("home.rateFooter")))])])])]),t("div",{staticClass:"missionBox"},[t("p",{staticClass:"mission"},[e._v(e._s(e.$t("home.userAssistance")))]),t("div",{staticClass:"FMenu"},[t("p",[t("span",{on:{click:function(t){return e.jumpPage3("/AccessMiningPool")}}},[e._v(e._s(e.$t("home.miningTutorial")))])]),t("p",[t("span",{on:{click:function(t){return e.jumpPage3("/submitWorkOrder")}}},[e._v(e._s(e.$t("home.submitWorkOrder")))])])])]),t("div",{staticClass:"missionBox"},[t("p",{staticClass:"mission"},[e._v(e._s(e.$t("home.aboutUs")))]),t("div",{staticClass:"FMenu"},[t("p",[t("a",{attrs:{href:"mailto:support@m2pool.com"}},[e._v(e._s(e.$t("home.joinUs")))])]),t("p",[t("a",{attrs:{href:"mailto:support@m2pool.com"}},[e._v(e._s(e.$t("home.contactCustomerService")))])]),t("p",[t("span",{on:{click:function(t){return e.jumpPage("/ServiceTerms")}}},[e._v(e._s(e.$t("home.serviceTerms")))])]),t("p",[t("a",{attrs:{href:"mailto:support@m2pool.com"}},[e._v(e._s(e.$t("home.businessCooperation")))])])])])])]):t("div",{staticClass:"footerBox"},[t("el-row",{staticStyle:{width:"100%"}},[t("el-col",{attrs:{xs:24,sm:24,md:5,lg:5,xl:5}},[t("div",{staticClass:"footerSon logo2"},[t("div",{staticClass:"logoBox"},[t("img",{staticClass:"logoImg",attrs:{src:i(65549),alt:"logo图片"}}),t("span",{staticClass:"copyright"},[e._v("Copyright © 2024 M2pool")])])])]),t("el-col",{attrs:{xs:24,sm:24,md:6,lg:6,xl:6}},[t("div",{staticClass:"footerSon text"},[t("h4",[e._v(e._s(e.$t("home.mission")))]),t("div",[e._v(e._s(e.$t("home.missionText")))])])]),t("el-col",{attrs:{xs:24,sm:24,md:4,lg:4,xl:4}},[t("div",{staticClass:"footerSon product"},[t("ul",[t("li",{staticClass:"productTitle"},[t("h4",[e._v(e._s(e.$t("home.service")))])]),t("li",[t("span",{on:{click:function(t){return e.jumpPage1("/apiFile")}}},[e._v(e._s(e.$t("home.APIfile")))])]),t("li",[t("span",{on:{click:function(t){return e.jumpPage2("/rate")}}},[e._v(e._s(e.$t("home.rateFooter")))])])])])]),t("el-col",{attrs:{xs:24,sm:24,md:4,lg:4,xl:4}},[t("div",{staticClass:"footerSon product"},[t("ul",[t("li",{staticClass:"productTitle"},[t("h4",[e._v(e._s(e.$t("home.userAssistance")))])]),t("li",[t("span",{on:{click:function(t){return e.jumpPage3("/AccessMiningPool")}}},[e._v(" "+e._s(e.$t("home.miningTutorial")))])]),t("li",[t("span",{on:{click:function(t){return e.jumpPage3("/submitWorkOrder")}}},[e._v(e._s(e.$t("home.submitWorkOrder")))])])])])]),t("el-col",{attrs:{xs:24,sm:24,md:4,lg:4,xl:4}},[t("div",{staticClass:"footerSon product"},[t("ul",[t("li",{staticClass:"productTitle"},[t("h4",[e._v(e._s(e.$t("home.aboutUs")))])]),t("li",[t("a",{attrs:{href:"mailto:support@m2pool.com"}},[e._v(e._s(e.$t("home.joinUs")))])]),t("li",[t("span",{on:{click:function(t){return e.jumpPage("/ServiceTerms")}}},[e._v(" "+e._s(e.$t("home.serviceTerms")))])]),t("li",[t("a",{attrs:{href:"mailto:support@m2pool.com"}},[e._v(e._s(e.$t("home.businessCooperation")))])]),t("li",[t("a",{attrs:{href:"mailto:support@m2pool.com"}},[e._v(e._s(e.$t("home.contactCustomerService")))])])])])])],1)],1)])},t.Yp=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"logoBox"},[t("img",{staticClass:"logoImg",attrs:{src:i(65549),alt:"logo图片"}}),t("span",{staticClass:"copyright"},[e._v("Copyright © 2024 M2pool")])])}]},27409:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.getBlockInfo=l,t.getCoinInfo=s,t.getLuck=c,t.getMinerCount=r,t.getNetPower=d,t.getParam=h,t.getPoolPower=a;var n=o(i(35720));function s(e){return(0,n.default)({url:"pool/getCoinInfo",method:"post",data:e})}function a(e){return(0,n.default)({url:"pool/getPoolPower",method:"post",data:e})}function r(e){return(0,n.default)({url:"pool/getMinerCount",method:"post",data:e})}function c(e){return(0,n.default)({url:"pool/getLuck",method:"post",data:e})}function l(e){return(0,n.default)({url:"pool/getBlockInfo",method:"post",data:e})}function d(e){return(0,n.default)({url:"pool/getNetPower",method:"post",data:e})}function h(e){return(0,n.default)({url:"pool/getParam",method:"post",data:e})}},27579:function(e,t,i){Object.defineProperty(t,"B",{value:!0}),t.A=void 0,i(44114),i(18111),i(20116),i(7588),i(61701),i(18237);var o=i(47149);t.A={data(){return{radio:"en",data:[{label:"一级 1",children:[{label:"二级 1-1",children:[{label:"三级 1-1-1"}]}]},{label:"一级 2",children:[{label:"二级 2-1",children:[{label:"三级 2-1-1"}]},{label:"二级 2-2",children:[{label:"三级 2-2-1"}]}]},{label:"一级 3",children:[{label:"二级 3-1",children:[{label:"三级 3-1-1"}]},{label:"二级 3-2",children:[{label:"三级 3-2-1"}]}]}],defaultProps:{children:"children",label:"label"},currencyList:[],miningAccountList:[],newMiningAccountList:[],activeNames:"",titleList:[{path:"/",label:"home.home"},{path:"/reportBlock",label:"home.reportBlock"},{path:"/miningAccount",label:"home.accountCenter"},{path:"/readOnlyDisplay",label:"personal.readOnlyPage"},{path:"/personalCenter",label:"home.personalCenter"},{path:"/personalCenter/personalMining",label:"home.accountSettings"},{path:"/personalCenter/readOnly",label:"personal.readOnlyPage"},{path:"/personalCenter/securitySetting",label:"personal.securitySetting"},{path:"/personalCenter/personalAPI",label:"home.API"}],token:"",isLogin:!1,jurisdiction:{roleKey:""},ManagementShow:!1}},computed:{key(){let e=this.titleList.find((e=>e.path==this.$route.path));return e?e.label:""}},watch:{token:{handler(e){this.isLogin=!!e},immediate:!0,deep:!0}},mounted(){this.radio=localStorage.getItem("lang")?localStorage.getItem("lang"):"en",this.currencyList=JSON.parse(localStorage.getItem("currencyList"));let e=localStorage.getItem("miningAccountList");this.miningAccountList=JSON.parse(e);let t=localStorage.getItem("token");this.token=JSON.parse(t);let i=localStorage.getItem("jurisdiction");this.jurisdiction=JSON.parse(i),window.addEventListener("setItem",(()=>{this.currencyList=JSON.parse(localStorage.getItem("currencyList"));let e=localStorage.getItem("miningAccountList");this.miningAccountList=JSON.parse(e);let t=localStorage.getItem("token");this.token=JSON.parse(t),this.miningAccountList[0]&&(this.newMiningAccountList=this.flattenArray(this.miningAccountList));let i=localStorage.getItem("jurisdiction");this.jurisdiction=JSON.parse(i),this.jurisdiction&&"admin"==this.jurisdiction.roleKey?(console.log(565656),this.ManagementShow=!0):this.ManagementShow=!1})),this.miningAccountList[0]&&(this.newMiningAccountList=this.flattenArray(this.miningAccountList)),this.jurisdiction&&"admin"==this.jurisdiction.roleKey?this.ManagementShow=!0:this.ManagementShow=!1},methods:{handelJump(e){console.log(e,"及附件");try{const t=this.$i18n.locale,i=e.startsWith("/")?e.slice(1):e,o=""===i?`/${t}`:`/${t}/${i}`;this.$router.push(o).catch((e=>{"NavigationDuplicated"!==e.name&&console.error("Navigation failed:",e)}))}catch(t){console.error("Navigation error:",t)}},toggleDropdown(){this.showDropdown=!this.showDropdown},handelRadio(e){const t=this.$i18n.locale;this.$i18n.locale=e,localStorage.setItem("lang",e);const i=this.$route.path,o=i.replace(`/${t}`,`/${e}`),n=this.$route.query;this.$router.push({path:o,query:n}).catch((e=>{"NavigationDuplicated"!==e.name&&console.error("Navigation failed:",e)}))},selectItem(e){this.selectedItem=e,this.showDropdown=!1,this.menuItems.forEach((t=>{t.isHighlighted=t.text===e}))},handelJumpAccount(e){const t=this.$i18n.locale;let i={ma:e.account,coin:e.coin,id:e.id,img:e.img};this.$addStorageEvent(1,"accountItem",JSON.stringify(i)),this.$router.push({path:`/${t}/miningAccount`,query:{ma:e.account+e.coin}})},async fetchSignOut(){const e=this.$i18n.locale,t=await(0,o.getLogout)();t&&200==t.code&&this.$router.push(`/${e}/login`)},handelSignOut(){this.fetchSignOut(),localStorage.removeItem("token"),localStorage.removeItem("username"),this.$addStorageEvent(1,"miningAccountList",JSON.stringify("")),this.isLogin=!1,this.isDropdownVisible=!1},flattenArray(e){if(console.log(e,"进来的数组"),e[0])return e.reduce(((e,t)=>e.concat(t.children.map((e=>({...e,coin:t.coin,img:t.img,title:t.title}))))),[])}}}},27596:function(e,t,i){e.exports=i.p+"img/算力.cbdd6975.svg"},29500:function(e,t,i){e.exports=i.p+"img/reincon.5da4795a.png"},31413:function(e,t,i){e.exports=i.p+"img/alph.bd2d12a3.svg"},34038:function(e,t,i){i.r(t),i.d(t,{__esModule:function(){return n.B},default:function(){return c}});var o=i(22704),n=i(27579),s=n.A,a=i(81656),r=(0,a.A)(s,o.XX,o.Yp,!1,null,"5f8aca30",null),c=r.exports},36506:function(e,t,i){e.exports=i.p+"img/reportBlock.95dfc0dc.svg"},37720:function(e,t,i){e.exports=i.p+"img/币价资源 19.3ae5191a.svg"},37851:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAnCAYAAACBvSFyAAAACXBIWXMAAAsSAAALEgHS3X78AAACGklEQVRYhe2YwVUDIRCGf33eYwfBChIrUCswVqA5yFWtwFiBOXNRKzB2oBVoOsAKNBXEN7x/fLw1uwub3ejB/8KDsPANMMyQreVyiVxZg8OKbz6dx1vOmMkQ1sAAmAA4Tej+DuAewNR5fLYCYU2Y/LrQPBerC20C2i/AjOpWphbCGkwBXESDTpwPVpb1F5AzAJcAegAWAA6rQCohrMEIwCOrD86HwZNkDYbckgFBTNnWbNcMOGX5lAMgouVnBOhxZVaqFIKroPtbOkACiBqSDyH7yFJWwTeBoBSiV+baVRBDllk+XxTPwZzNu7kQbUoP5HDVmJuCqNQ/hOofQvUnIHbiCoOPYVV92tTkDyn6MZbzeNbvQgBjsJFwfdyigXVaMMBNdCU02m1SPaYIfuu8v5RVeOXke2vGiWRFidK7HEyJlqKXTQFQGtj6O7VdK8SzNGJsmOUYIYHN0gUaQVgTTvsMwEHUfGsNxlWpX5ma3hPTCGDO3FN018Sdm0Jo2n/lPIbOh7vlhW1ZaeA6EKp46fXyMeXd24VYsAxW84yol2V7WFMIXQE5jG+ceFD4rVsI50Pm/MDqIHrkjOOY0CkEQWQrxlGTaeKea0FQ3/uf8vDtCqIV/b2kpoHEM45+FYLnINsbitqOXkcrn2hdialkkCQ1MvkH6zdtWJagXb7SJQg+aY4p/p3yX1QXOgneEV08Ggk3Iblx953H7AvKPqVJKgFSWQAAAABJRU5ErkJggg=="},40665:function(e,t,i){i.r(t)},43110:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.AccessMiningPool_zh=t.AccessMiningPool_en=void 0;t.AccessMiningPool_zh={course:{NEXAcourse:"Nexa 挖矿教程",selectServer:"选择挖矿地址",serverLocation:"服务器地点",difficulty:"难度",TCP:"TCP 端口",SSL:"SSL 端口",rateRelated:"币种矿池费率相关",currency:"币种",miningAddress:"挖矿地址",miningFeeRate:"挖矿费率",settlementMode:"收益结算模式",minimumPaymentAmount:"起付额",Step1:"步骤1 - 注册m2pool账号",accountContent1:"1. m2pool 矿池挖矿方式为用户名挖矿,需注册m2pool账号",accountContent2:"2. 注册账号成功后,请前往个人中心-挖矿账户页面,添加币种挖矿账户,此处创建的挖矿账户即为您需要在矿机上配置的用户名。",Step2:"步骤2 - 获得并绑定钱包地址",bindWalletText1:"1. 获取钱包,您可以通过以下方式获得币种的的钱包地址,用于接收挖矿收益。",bindWalletText2:"(1) 官方全节点钱包:",bindWalletText3:"该类型钱包需要实时同步币种区块链节点。",bindWalletText4:"(2) 交易所钱包:前往支持该币种现货交易的交易所,",bindWalletText5:"等,找到充值即可获得钱包。",bindWalletText6:"(3) 硬件钱包:",bindWalletText7:"取决于您的硬件钱包是否支持该币种区块链,该类型钱包安全性高,但不是所有硬件钱包都支持,请您仔细了解您的硬件钱包。",bindWalletText8:"2. 获得钱包地址后,在个人中心-挖矿账户页面,点击右上方添加按钮,在钱包地址一栏填入您的钱包即可。",Step3:"步骤4 - 坐等挖矿收益",miningIncome1:"1. 在您添加完挖矿钱包后,即可在您的nexa矿机上配置相关参数,开启nexa挖矿。由于nexa区块需要5000个高度才能成熟,因此您的挖矿收益,需要等待5000个高度才可提现(大约为7天时间)。",miningIncome2:"2. 您在m2pool上的所有挖矿收益均为自动结算(不同币种有不同的收益结算方式,请仔细查看您选择币种的收益结算方式)。",Step4:"步骤3 - 矿工接入参数示例",parameter:"1. Pool/Url: 见上方",parameter5:"挖矿地址",parameter6:"表格",parameter2:"2. Wallet/User/Worker: 挖矿账户名.矿工号(英文句号.分隔挖矿账户名和矿工号),(用户名为您在 ",parameter3:"3. Password:任意输入,不同的挖矿软件或矿机可能会有不同的配置方式,但只需保证上述3个参数配置正确,即可接入m2pool矿池,如果您需要帮助,请通过",parameter4:"联系我们。",parameter7:"步骤1的第2步",parameter8:"生成的挖矿账号(非m2pool的登陆邮箱号),矿工号为您自行定义(长度不超过36个字符),如果您有多个矿工,请勿设置相同的矿工号,设置相同矿工号会将多个矿工的算力合并,虽然不会影响您的收益,但这会导致无法区分不同的矿工,不便于您对矿工的管理。)",notOpen:"矿池暂未开放,请耐心等待....",RXDcourse:"Rxd 挖矿教程",GRScourse:"Grs 挖矿教程",MONAcourse:"Mona 挖矿教程",dgbsCourse:"Dgb(skein) 挖矿教程",dgbqCourse:"Dgb(qubit) 挖矿教程",dgboCourse:"Dgb(odocrypt) 挖矿教程",ENXcourse:"Entropyx(Enx) 挖矿教程",alphCourse:"Alephium(alph) 挖矿教程",rxdIncome1:"1. 在您添加完挖矿钱包后,即可在您的Rxd矿机上配置相关参数,开启Rxd挖矿。",Adaptation:"适配性",amount:"最小起付额",ASIC:"ASIC矿机型号",GPU:"GPU挖矿软件",careful:"注意:如果您的GPU挖矿软件或ASIC矿机与m2pool无法适配,请通过",mail:"邮件",careful2:"与我们取得联系",dragonBall:"龍珠A21",dragonBallA11:"龍珠A11",RX0:"冰河RXD RX0",dragonBallA11Move:"龍珠A11、冰河RXD RX0",notOpenCurrency:"该币种暂未开放,请耐心等待....",Wallet1:"(该数据来源于",Wallet2:"本网站不能完全保证该数据的准确性,请您仔细甄别)",general4_1:"1.在您添加完挖矿钱包后,即可在您的矿机上配置相关参数,开启挖矿。",allocationExplanation:"矿池分配及转账规则",conditionNexa:"5000高度",conditionRxd:"100高度",conditionGrs:"140高度",conditionDgbs:"40高度",conditionDgbq:"40高度",conditionDgbo:"40高度",conditionMona:"100高度",conditionAlph:"500分钟",conditionEnx:"",intervalNexa:"120秒",intervalRxd:"300秒",intervalGrs:"60秒",intervalDgbs:"15秒",intervalDgbq:"15秒",intervalDgbo:"15秒",intervalMona:"90秒",intervalAlph:"16秒",intervalEnx:"1秒",estimatedTimeNexa:"≈ 7天",estimatedTimeRxd:"≈ 8.3小时",estimatedTimeGrs:"≈ 2.3小时",estimatedTimeDgbs:"≈ 10分钟",estimatedTimeDgbq:"≈ 10分钟",estimatedTimeDgbo:"≈ 10分钟",estimatedTimeMona:"≈ 2.5小时",estimatedTimeAlph:"500分钟",estimatedTimeEnx:"",describeNexa:"例如1-1日获得了1000000 NEXA奖励,则该笔奖励会在大约7天之后(1-8日)支付,具体取决于实际区块高度",describeAlph:"alph是固定成熟时间,而非区块高度",describeGrs:"",describeDgbs:"",describeDgbq:"",describeDgbo:"",describeMona:"",describeRxd:"",describeEnx:"",condition:"成熟条件",interval:"出块间隔",estimatedTime:"预估时间",describe:"说明",timeLimited:"限时"}},t.AccessMiningPool_en={course:{NEXAcourse:"Nexa Mining Tutorial",selectServer:"Select mining address",serverLocation:"Server location",difficulty:"Difficulty",TCP:"TCP Port",SSL:"SSL Port",rateRelated:"Currency mining pool rate related",currency:"Currency",miningAddress:"Mining address",miningFeeRate:"Mining fee rate",settlementMode:"Revenue settlement mode",minimumPaymentAmount:"Minimum payment amount",notOpen:"Mining pool is not open yet, please be patient....",RXDcourse:"Rxd Mining Tutorial",GRScourse:"Grs Mining Tutorial",dgbsCourse:"Dgb(skein) Mining Tutorial",dgbqCourse:"Dgb(qubit) Mining Tutorial",dgboCourse:"Dgb(odocrypt) Mining Tutorial",Step1:"Step 1 - Register for an m2pool account",accountContent1:"1. m2pool mining pool mining method for the user name mining, need to register m2pool account",accountContent2:"2. After successfully registering an account, please go to Personal Center - Mining Accounts page to add a cryptocurrency mining account, the mining account created here is the user name you need to configure on the mining machine.",Step2:"Step 2 - Obtain and bind the wallet address",bindWalletText1:"1. Getting a wallet, you can get the wallet address of the coin for receiving mining proceeds in the following ways.",bindWalletText2:"(1) Official full node wallet:",bindWalletText3:"This type of wallet requires real-time synchronization of coin blockchain nodes.Type wallets need to synchronize coin blockchain nodes in real time.",bindWalletText4:"(2) Exchange Wallet: Go to an exchange that supports spot trading of this coin.",bindWalletText5:"etc., find the recharge to get your wallet.",bindWalletText6:"(3) Hardware wallet.",bindWalletText7:"Depends on whether your hardware wallet supports this coin blockchain or not, this type of wallet is highly secure, but not all hardware wallets support it, please know your hardware wallet carefully.",bindWalletText8:"2. Once you have obtained your wallet address, click the Add button at the top right of the Personal Center - Mining Account page, and fill in your wallet address in the Wallet Address column.",Step3:"Step 4 - Sit Back and Wait for the Mining Profits",miningIncome1:"1. After you have added your mining wallet, you can configure the relevant parameters on your nexa miner and start nexa mining. Since nexa blocks need 5000 heights to mature, you need to wait for 5000 heights before you can withdraw your mining earnings (about 7 days).",miningIncome2:"2. All your mining earnings on m2pool are automatically settled (different coins have different earnings settlement methods, please check the earnings settlement methods of the coins you choose carefully).",rxdIncome1:"1. After you have added your mining wallet, you can configure the relevant parameters on your Rxd mining machine to enable Rxd mining.",Adaptation:"Adaptability",amount:"Minimum Starting Amount",ASIC:"ASIC Miner Model",GPU:"GPU Mining Software",careful:"Note: If your GPU mining software or ASIC mining machine is not compatible with the m2pool, please check your GPU mining software through the",mail:" mail ",careful2:"Get in touch with us",dragonBall:"DragonBall Miner A21",dragonBallA11:"DragonBall Miner A11",Step4:"Step 3 - Example Miner Access Parameters",parameter:"1. Pool/Url: see above",parameter2:"2. Wallet/User/Worker: Mining account name. Miner number (period. Separate mining account name and miner number), (username is the name of the miner you are working with in the",parameter3:"3. Password: any input, different mining software or mining machine may have different configuration, but only need to ensure that the above three parameters are configured correctly, you can access the m2pool mining pool, if you need help, please through the",parameter4:"Contact Us",parameter5:" Mining address ",parameter6:" table ",parameter7:"Step 2 of Step 1",parameter8:"Generated mining account (not m2pool login email number), miner number for your own definition (length not more than 36 characters), if you have more than one miner, please do not set up the same miner number, set up the same miner number will be more than one miner arithmetic will be merged, although it will not affect your revenue, but this will lead to the inability to distinguish between the different miners, it is not easy for you to the management of the miners).",RX0:"ICERIVER RXD RX0",dragonBallA11Move:"DragonBall Miner A11、ICERIVER RXD RX0",notOpenCurrency:"This currency is currently not open, please be patient and wait....",MONAcourse:"Mona Mining Tutorial",Wallet1:"(This data is sourced from ",Wallet2:"This website cannot fully guarantee the accuracy of this data, please carefully verify)",general4_1:"1.After adding the mining wallet, you can configure the relevant parameters on your mining machine to enable mining.",conditionNexa:"5000 height",conditionRxd:"100 height",conditionGrs:"140 height",conditionDgbs:"40 height",conditionDgbq:"40 height",conditionDgbo:"40 height",conditionMona:"100 height",conditionAlph:"500 minutes",conditionEnx:"",intervalNexa:"120 seconds",intervalRxd:"300 seconds",intervalGrs:"60 seconds",intervalDgbs:"15 seconds",intervalDgbq:"15 seconds",intervalDgbo:"15 seconds",intervalMona:"90 seconds",intervalAlph:"16 seconds",intervalEnx:"1 second",estimatedTimeNexa:"≈ 7 days",estimatedTimeRxd:"≈ 8.3 hours",estimatedTimeGrs:"≈ 2.3 hours",estimatedTimeDgbs:"≈ 10 minutes",estimatedTimeDgbq:"≈ 10 minutes",estimatedTimeDgbo:"≈ 10 minutes",estimatedTimeMona:"≈ 25 hours",estimatedTimeAlph:" 500 minutes",estimatedTimeEnx:"",describeNexa:"For example, if a 1,000,000 NEXA reward was earned on 1-1, that reward will be paid out approximately 7 days later (1-8), depending on actual block heights",describeAlph:"alph is a fixed maturity time, not a block height",describeGrs:"",describeDgbs:"",describeDgbq:"",describeDgbo:"",describeMona:"",describeRxd:"",describeEnx:"",allocationExplanation:"Mining Pool Allocation and Transfer Rules",condition:"Maturity conditions",interval:"Chunking interval",estimatedTime:"Estimated time",describe:"Clarification",ENXcourse:"Entropyx(Enx) Mining Tutorial",timeLimited:"Time limited",alphCourse:"Alephium(alph) Mining Tutorial"}}},45438:function(e,t,i){i.r(t),i.d(t,{__esModule:function(){return n.B},default:function(){return c}});var o=i(97390),n=i(12173),s=n.A,a=i(81656),r=(0,a.A)(s,o.XX,o.Yp,!1,null,"763fcf11",null),c=r.exports},45732:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"B",{value:!0}),t.A=void 0;var n=o(i(97724)),s=i(82908),a=o(i(66848));t.A={name:"App",components:{ChatWidget:n.default},data(){return{flag:!1,isMobile:!1}},created(){window.addEventListener("resize",(0,s.Debounce)(this.updateWindowWidth,10))},beforeDestroy(){window.removeEventListener("resize",this.updateWindowWidth)},methods:{updateWindowWidth(){console.log(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth);const e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,t=e<1280;a.default.prototype.$isMobile=t,location.reload()}}}},46165:function(e,t,i){e.exports=i.p+"img/workRecord.5123ed47.svg"},46508:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.getAccountPowerDistribution=d,t.getChangeUrlInfo=f,t.getDelPage=y,t.getHistoryIncome=u,t.getHistoryOutcome=m,t.getHtmlUrl=s,t.getMinerAccountPower=l,t.getMinerList=h,t.getMinerPower=g,t.getPageInfo=r,t.getProfitInfo=c,t.getUrlInfo=p,t.getUrlList=a;var n=o(i(35720));function s(e){return(0,n.default)({url:"pool/read/getHtmlUrl",method:"post",data:e})}function a(e){return(0,n.default)({url:"pool/read/getUrlList",method:"post",data:e})}function r(e){return(0,n.default)({url:"pool/read/getPageInfo",method:"post",data:e})}function c(e){return(0,n.default)({url:"pool/read/getProfitInfo",method:"post",data:e})}function l(e){return(0,n.default)({url:"pool/read/getMinerAccountPower",method:"post",data:e})}function d(e){return(0,n.default)({url:"pool/read/getAccountPowerDistribution",method:"post",data:e})}function h(e){return(0,n.default)({url:"pool/read/getMinerList",method:"post",data:e})}function u(e){return(0,n.default)({url:"pool/read/getHistoryIncome",method:"post",data:e})}function m(e){return(0,n.default)({url:"pool/read/getHistoryOutcome",method:"post",data:e})}function g(e){return(0,n.default)({url:"pool/read/getMinerPower",method:"post",data:e})}function p(e){return(0,n.default)({url:"pool/read/getUrlInfo",method:"post",data:e})}function f(e){return(0,n.default)({url:"pool/read/changeUrlInfo",method:"post",data:e})}function y(e){return(0,n.default)({url:"pool/read/delPage",method:"delete",data:e})}},47149:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.getAccountGradeList=d,t.getLogin=s,t.getLoginCode=c,t.getLogout=l,t.getRegister=a,t.getRegisterCode=r,t.getResetPwd=h,t.getResetPwdCode=u,t.getUserProfile=m;var n=o(i(35720));function s(e){return(0,n.default)({url:"auth/login",method:"post",data:e})}function a(e){return(0,n.default)({url:"auth/register",method:"post",data:e})}function r(e){return(0,n.default)({url:"auth/registerCode",method:"post",data:e})}function c(e){return(0,n.default)({url:"auth/loginCode",method:"post",data:e})}function l(e){return(0,n.default)({url:"auth/logout",method:"Delete",data:e})}function d(e){return(0,n.default)({url:"pool/user/getAccountGradeList",method:"post",data:e})}function h(e){return(0,n.default)({url:"auth/resetPwd",method:"post",data:e})}function u(e){return(0,n.default)({url:"auth/resetPwdCode",method:"post",data:e})}function m(){return(0,n.default)({url:"system/user/profile",method:"get"})}},47761:function(e,t,i){e.exports=i.p+"img/homeMenu.877d301d.svg"},48370:function(e,t,i){e.exports=i.p+"img/power1.e301c95e.svg"},50628:function(e,t){t.Yp=t.XX=void 0;t.XX=function(){var e=this,t=e._self._c;return t("div",{staticClass:"chat-widget"},["offline"===e.networkStatus?t("div",{staticClass:"network-status"},[t("i",{staticClass:"el-icon-warning"}),t("span",[e._v(e._s(e.$t("chat.networkError")||"网络连接已断开"))])]):e._e(),t("div",{staticClass:"chat-icon",class:{active:e.isChatOpen},attrs:{"aria-label":e.$t("chat.openCustomerService")||"打开客服聊天",tabindex:"0"},on:{click:e.toggleChat,keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.toggleChat.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:e.toggleChat.apply(null,arguments)}]}},[t("i",{staticClass:"el-icon-chat-dot-round"}),e.unreadMessages>0?t("span",{staticClass:"unread-badge"},[e._v(e._s(e.unreadMessages))]):e._e()]),t("transition",{attrs:{name:"chat-slide"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.isChatOpen,expression:"isChatOpen"}],staticClass:"chat-dialog"},[t("div",{staticClass:"chat-header"},[t("div",{staticClass:"chat-title"},[e._v(e._s(e.$t("chat.title")||"在线客服"))]),t("div",{staticClass:"chat-actions"},[t("i",{staticClass:"el-icon-minus",on:{click:e.minimizeChat}}),t("i",{staticClass:"el-icon-close",on:{click:e.closeChat}})])]),t("div",{ref:"chatBody",staticClass:"chat-body"},[0===e.userType?t("div",{staticClass:"guest-notice"},[t("span",{staticClass:"guest-notice-content"},[t("i",{staticClass:"el-icon-info"}),t("span",[e._v(e._s(e.$t("chat.guestNotice")||"游客模式下聊天记录不会保存,")+" "),t("a",{staticClass:"login-link",on:{click:e.handleLoginClick}},[e._v(e._s(e.$t("chat.loginToSave")||"登录"))]),e._v(" "+e._s(e.$t("chat.guestNotice2")||"后即可保存")+" ")])])]):e._e(),"connecting"===e.connectionStatus?t("div",{staticClass:"chat-status connecting"},[t("i",{staticClass:"el-icon-loading"}),t("p",[e._v(" "+e._s(e.$t("chat.connectToCustomerService")||"正在连接客服系统...")+" ")])]):"error"===e.connectionStatus?t("div",{staticClass:"chat-status error"},[t("i",{staticClass:"el-icon-warning"}),t("p",[e._v(" "+e._s(e.connectionError||e.$t("chat.connectionFailed")||"连接失败,请稍后重试")+" ")]),t("div",{staticClass:"error-actions"},[t("button",{staticClass:"retry-button",on:{click:e.handleRetryConnect}},[e._v(" "+e._s(e.$t("chat.tryConnectingAgain")||"重试连接")+" ")]),e.showRefreshButton?t("button",{staticClass:"refresh-button",on:{click:e.refreshPage}},[e._v(" "+e._s(e.$t("chat.refreshPage")||"刷新页面")+" ")]):e._e()])]):[e.hasMoreHistory&&e.messages.length>0?t("div",{staticClass:"history-indicator",class:{"no-more":!e.hasMoreHistory},on:{click:function(t){return t.stopPropagation(),e.loadMoreHistory.apply(null,arguments)}}},[t("i",{staticClass:"el-icon-arrow-up"}),t("span",[e._v(e._s(e.isLoadingHistory?e.$t("chat.loading")||"加载中...":e.hasMoreHistory?e.$t("chat.loadMore")||"加载更多历史消息":e.$t("chat.noMoreHistory")||"没有更多历史消息了"))])]):e._e(),0===e.messages.length&&0!==e.userType?t("div",{staticClass:"chat-empty"},[e._v(" "+e._s(e.$t("chat.welcome")||"欢迎使用在线客服,请问有什么可以帮您?")+" ")]):e._e(),e._l(e.displayMessages,(function(i,o){return t("div",{key:i.id?`msg-${i.id}`:i.isTimeDivider?`divider-${o}-${i.time}`:`sys-${o}-${Date.now()}`},[i.isTimeDivider?t("div",{staticClass:"chat-time-divider"},[e._v(" "+e._s(e.formatTimeDivider(i.time))+" ")]):i.isLoading||i.isSystemHint?t("div",{staticClass:"system-hint"},[i.isLoading?t("i",{staticClass:"el-icon-loading"}):e._e(),t("span",[e._v(e._s(i.text))])]):t("div",{staticClass:"chat-message",class:{"chat-message-user":"user"===i.type,"chat-message-system":"system"===i.type,"chat-message-loading":i.isLoading,"chat-message-hint":i.isSystemHint,"chat-message-history":i.isHistory}},[t("div",{staticClass:"message-avatar"},["system"===i.type?t("i",{staticClass:"el-icon-service"}):t("i",{staticClass:"el-icon-user"})]),t("div",{staticClass:"message-content"},[i.isImage?t("div",{staticClass:"message-image"},[t("img",{attrs:{src:i.imageUrl,alt:e.$t("chat.picture")||"聊天图片"},on:{click:function(t){return e.previewImage(i.imageUrl)},load:function(t){return e.handleImageLoad(i)}}})]):t("div",{staticClass:"message-text",domProps:{innerHTML:e._s(e.formatMessageText(i.text))}})])])])}))]],2),t("div",{staticClass:"chat-footer"},[t("div",{staticClass:"chat-toolbar"},[t("label",{staticClass:"image-upload-label",class:{disabled:"connected"!==e.connectionStatus},attrs:{for:"imageUpload"}},[t("i",{staticClass:"el-icon-picture-outline"})]),t("input",{ref:"imageUpload",staticStyle:{display:"none"},attrs:{type:"file",id:"imageUpload",accept:"image/*",disabled:"connected"!==e.connectionStatus},on:{change:e.handleImageUpload}})]),t("div",{staticClass:"chat-input-wrapper",staticStyle:{display:"flex","align-items":"center"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.inputMessage,expression:"inputMessage"}],staticClass:"chat-input",attrs:{type:"text",maxlength:e.maxMessageLength,placeholder:e.$t("chat.inputPlaceholder")||"请输入您的问题...",disabled:"connected"!==e.connectionStatus},domProps:{value:e.inputMessage},on:{input:[function(t){t.target.composing||(e.inputMessage=t.target.value)},e.handleInputMessage],keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleEnterKey.apply(null,arguments)}}})]),t("button",{staticClass:"chat-send",on:{click:e.sendMessage}},[e._v(" "+e._s(e.$t("chat.send")||"发送")+" ")])]),e.showImagePreview?t("div",{staticClass:"image-preview-overlay",on:{click:e.closeImagePreview}},[t("div",{staticClass:"image-preview-container"},[t("img",{staticClass:"preview-image",attrs:{src:e.previewImageUrl}}),t("i",{staticClass:"el-icon-close preview-close",on:{click:e.closeImagePreview}})])]):e._e()])])],1)},t.Yp=[]},51775:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.getFileUpdate=h,t.getHistory=s,t.getHistory7=a,t.getReadMessage=r,t.getRoomList=c,t.getUpdateRoom=l,t.getUserid=d;var n=o(i(35720));function s(e){return(0,n.default)({url:"chat/message/find/history/message",method:"post",data:e})}function a(e){return(0,n.default)({url:"chat/message/find/recently/message",method:"post",data:e})}function r(e){return(0,n.default)({url:"chat/message/read/message",method:"post",data:e})}function c(e){return(0,n.default)({url:"/chat/rooms/find/room/list",method:"post",data:e})}function l(e){return(0,n.default)({url:"/chat/rooms/update/room",method:"post",data:e})}function d(e){return(0,n.default)({url:"chat/rooms/find/room/by/userid",method:"post",data:e})}function h(e){return(0,n.default)({url:"pool/ticket/uploadFile",method:"post",data:e})}},53263:function(e,t,i){e.exports=i.p+"img/notOpen.759679bf.png"},54752:function(e,t,i){Object.defineProperty(t,"B",{value:!0}),t.A=void 0,i(44114),i(18111),i(22489),i(20116),i(7588),i(61701),i(13579),i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698);var o=i(92500),n=i(51775);t.A={name:"ChatWidget",data(){return{isChatOpen:!1,inputMessage:"",messages:[],unreadMessages:0,showImagePreview:!1,previewImageUrl:"",stompClient:null,receivingEmail:"",connectionStatus:"disconnected",userType:0,userEmail:"",autoResponses:{hello:"您好,有什么可以帮助您的?","你好":"您好,有什么可以帮助您的?",hi:"您好,有什么可以帮助您的?","挖矿":"您可以查看我们的挖矿教程,或者直接创建矿工账户开始挖矿。","算力":"您可以在首页查看当前的矿池算力和您的个人算力。","收益":"收益根据您的算力贡献按比例分配,详情可以查看收益计算器。","帮助":"您可以查看我们的帮助文档,或者提交工单咨询具体问题。"},isLoadingHistory:!1,hasMoreHistory:!0,roomId:"",isWebSocketConnected:!1,heartbeatInterval:null,lastHeartbeatTime:null,heartbeatTimeout:12e4,cachedMessages:{},isMinimized:!1,reconnectAttempts:0,maxReconnectAttempts:3,reconnectInterval:3e3,isReconnecting:!1,lastActivityTime:Date.now(),activityCheckInterval:null,networkStatus:"online",reconnectTimer:null,connectionError:null,showRefreshButton:!1,heartbeatCheckInterval:3e4,maxMessageLength:300,connectionVerifyTimer:null,isConnectionVerified:!1,isHandlingError:!1,lastErrorTime:0,lastConnectedEmail:null,userViewHistory:!1,customerIsOnline:!0}},computed:{displayMessages(){const e=[],t=3e5;let i=null;return this.messages.forEach(((o,n)=>{if(!o.isSystemHint&&!o.isLoading){const s=new Date(o.time);(!i||s-i>t)&&(e.push({isTimeDivider:!0,time:o.time,id:`divider-${s.getTime()}-${n}`}),i=s)}e.push(o)})),e}},watch:{connectionStatus(e,t){e!==t&&(console.log(`🔄 连接状态变化: ${t} -> ${e}`),console.log(`🔍 当前时间: ${(new Date).toLocaleTimeString()}`),console.log(`🔍 WebSocket状态: ${this.isWebSocketConnected}`),console.log(`🔍 STOMP状态: ${this.stompClient?.connected}`),console.log(`🔍 重连状态: ${this.isReconnecting}`),console.log(`🔍 验证状态: ${this.isConnectionVerified}`),"connecting"===e&&"connected"===t&&(console.warn("⚠️ 连接状态从connected变为connecting,可能有问题"),console.trace("调用栈:")),"connected"===e&&(console.log("✅ 状态已变为connected,强制触发重新渲染"),this.$forceUpdate()))},isChatOpen(e){e&&this.$nextTick((()=>this.scrollToBottomOnInit()))}},async created(){this.initUnreadMessages(),this.determineUserType()},mounted(){window.addEventListener("beforeunload",this.handleBeforeUnload),window.addEventListener("storage",this.handleStorageChange),document.addEventListener("click",this.handleClickOutside),document.addEventListener("visibilitychange",this.handleVisibilityChange),window.addEventListener("online",this.handleNetworkChange),window.addEventListener("offline",this.handleNetworkChange),this.startActivityCheck(),document.addEventListener("mousemove",this.updateLastActivityTime),document.addEventListener("keydown",this.updateLastActivityTime),document.addEventListener("click",this.updateLastActivityTime),this.$bus.$on("user-logged-out",this.handleLogout),this.$bus.$on("user-logged-in",this.handleLoginSuccess),this.setupDebugMode(),this.$nextTick((()=>{this.$refs.chatBody&&this.$refs.chatBody.addEventListener("scroll",this.handleChatBodyScroll)})),this.scrollToBottomOnInit()},methods:{initUnreadMessages(){try{const e=this.getUnreadStorageKey(),t=localStorage.getItem(e);this.unreadMessages=t&&parseInt(t,10)||0,console.log("📋 初始化未读消息数:",this.unreadMessages)}catch(e){console.warn("读取未读消息数失败:",e),this.unreadMessages=0}},getUnreadStorageKey(){return`chat_unread_${this.userEmail||"guest"}`},updateUnreadMessages(e){try{const t=this.getUnreadStorageKey();this.unreadMessages=e,localStorage.setItem(t,String(e)),console.log("📝 更新未读消息数:",e)}catch(t){console.warn("保存未读消息数失败:",t)}},handleStorageChange(e){if(e.key&&e.key.startsWith("chat_unread_")){const t=this.getUnreadStorageKey();if(e.key===t){const t=parseInt(e.newValue,10)||0;console.log("🔄 检测到其他窗口更新未读消息数:",t),this.unreadMessages=t}}},async initChatSystem(){if(console.log("🔧 初始化聊天系统, userEmail:",this.userEmail),console.log("🔍 当前连接状态:",this.connectionStatus),console.log("🔍 当前WebSocket状态:",this.isWebSocketConnected),this.userEmail)if(this.isWebSocketConnected&&"connected"===this.connectionStatus&&this.userEmail===this.lastConnectedEmail)console.log("✅ 聊天系统已初始化且连接正常,跳过重复初始化");else try{const e=await this.fetchUserid({email:this.userEmail});e&&(this.roomId=e.id,this.receivingEmail=e.userEmail,this.customerIsOnline=e.customerIsOnline,this.updateUnreadMessages(e.clientReadNum||0),this.isWebSocketConnected&&this.userEmail===this.lastConnectedEmail?console.log("✅ WebSocket已连接,复用现有连接"):(console.log("🔄 需要建立新连接, 用户:",e.selfEmail),this.isWebSocketConnected&&this.userEmail!==this.lastConnectedEmail&&(console.log("🔄 用户身份变化,断开旧连接"),await this.forceDisconnectAll()),this.initWebSocket(e.selfEmail),this.lastConnectedEmail=this.userEmail))}catch(e){console.error("初始化聊天系统失败:",e)}else console.log("❌ userEmail为空,跳过初始化")},initWebSocket(e){this.connectWebSocket(e)},async determineUserType(){try{const i=localStorage.getItem("token");if(console.log("token",i),!i){const e=sessionStorage.getItem("chatGuestEmail");return e&&e.startsWith("guest_")?(console.log("📋 复用已缓存的游客身份:",e),this.userType=0,this.userEmail=e):(this.userType=0,this.userEmail=`guest_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,sessionStorage.setItem("chatGuestEmail",this.userEmail),console.log("🆕 生成新游客用户:",this.userEmail)),void this.initChatSystem()}try{const t=JSON.parse(localStorage.getItem("jurisdiction")||"{}"),i=localStorage.getItem("userEmail")||"{}";let o="";try{const e=JSON.parse(i);o=e.email||e.value||e.userEmail||e,"string"!==typeof o&&(o="")}catch(e){o=i}this.userEmail=o,"customer_service"===t.roleKey?(this.userType=2,this.userEmail=""):(this.userType=1,this.userEmail=o),this.initUnreadMessages(),await this.initChatSystem()}catch(t){console.error("解析用户信息失败:",t),this.setupGuestIdentity()}}catch(i){console.error("获取用户信息失败:",i),this.setupGuestIdentity()}},setupGuestIdentity(){const e=sessionStorage.getItem("chatGuestEmail");e&&e.startsWith("guest_")?(console.log("📋 异常处理时复用已缓存的游客身份:",e),this.userType=0,this.userEmail=e):(this.userType=0,this.userEmail=`guest_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,sessionStorage.setItem("chatGuestEmail",this.userEmail),console.log("🆕 异常处理时生成新游客身份:",this.userEmail)),this.initChatSystem()},subscribeToPersonalMessages(e){if(console.log("🔗 开始订阅流程,selfEmail:",e),console.log("🔍 订阅前状态检查:",{stompClient:!!this.stompClient,stompConnected:this.stompClient?.connected,isWebSocketConnected:this.isWebSocketConnected,connectionStatus:this.connectionStatus}),!this.stompClient||!this.isWebSocketConnected)return console.error("❌ STOMP客户端未连接,无法订阅消息"),this.connectionStatus="error",this.connectionError=this.$t("chat.unableToSubscribe"),this.isWebSocketConnected=!1,this.showRefreshButton=!1,void this.$forceUpdate();if(!this.stompClient.connected)return console.error("❌ STOMP客户端已断开,无法订阅消息"),this.connectionStatus="error",this.connectionError="chat.unableToSubscribe",this.isWebSocketConnected=!1,this.showRefreshButton=!1,void this.$forceUpdate();try{console.log("🔗 开始订阅消息频道:",`/sub/queue/user/${e}`),console.log("🔗 调用 stompClient.subscribe..."),console.log("🔍 订阅目标:",`/sub/queue/user/${e}`),console.log("🔍 STOMP客户端状态:",this.stompClient?.connected);const t=this.stompClient.subscribe(`/sub/queue/user/${e}`,(e=>{console.log("📨 收到消息,标记连接已验证"),this.lastHeartbeatTime=Date.now(),"connected"!==this.connectionStatus&&(console.log("🔧 收到消息时发现状态不对,强制修正为connected"),this.connectionStatus="connected",this.isWebSocketConnected=!0,this.isReconnecting=!1,this.connectionError=null),this.markConnectionVerified(),this.onMessageReceived(e)}));console.log("🔍 订阅调用完成,subscription:",t),console.log("🔍 subscription类型:",typeof t),console.log("🔍 subscription.id:",t?.id),console.log("🔍 subscription是否为有效对象:",!!t&&"object"===typeof t),console.log("🚀 立即设置连接状态为connected,解决卡顿问题"),this.connectionStatus="connected",this.isWebSocketConnected=!0,this.isReconnecting=!1,this.connectionError=null,this.reconnectAttempts=0,this.markConnectionVerified(),this.$forceUpdate(),console.log("✅ 订阅设置完成,启动活动检测"),this.startActivityCheck(),console.log("🔍 订阅最终状态检查:",{connectionStatus:this.connectionStatus,isWebSocketConnected:this.isWebSocketConnected,isReconnecting:this.isReconnecting,isConnectionVerified:this.isConnectionVerified,reconnectAttempts:this.reconnectAttempts})}catch(t){console.error("❌ 订阅消息异常:",t),console.log("🔍 订阅异常详情:",t.message),this.connectionStatus="error",this.connectionError=this.$t("chat.conflict"),this.isWebSocketConnected=!1,this.isReconnecting=!1,this.showRefreshButton=!1,console.log("🔥 订阅异常,立即设置错误状态"),this.$forceUpdate()}},async connectWebSocket(e){let t=e||this.userEmail;if(!t)try{const e=localStorage.getItem("userEmail");if(e){const i=JSON.parse(e);t=i.email||i.value||i.userEmail||i,"string"!==typeof t&&(t="")}}catch(n){console.warn("[DEBUG] 解析localStorage userEmail失败:",n)}if(!t){const e=sessionStorage.getItem("chatGuestEmail");e&&e.startsWith("guest_")&&(t=e)}if(t||(t=`guest_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,sessionStorage.setItem("chatGuestEmail",t),console.warn("[DEBUG] 自动生成游客邮箱:",t)),this.userEmail=t,e=t,console.log("[DEBUG] connectWebSocket called",{isWebSocketConnected:this.isWebSocketConnected,isReconnecting:this.isReconnecting,lastConnectedEmail:this.lastConnectedEmail,selfEmail:e,userEmail:this.userEmail,connectionStatus:this.connectionStatus}),!e)return console.warn("[DEBUG] connectWebSocket: 缺少用户邮箱参数"),Promise.reject(new Error("缺少用户邮箱参数"));if(this.isWebSocketConnected&&this.lastConnectedEmail===e)return console.log("[DEBUG] connectWebSocket: 已连接,复用"),Promise.resolve("already_connected");if(this.isReconnecting)return console.log("[DEBUG] connectWebSocket: 正在重连中,跳过"),Promise.resolve("reconnecting");this.connectionStatus="connecting",this.isReconnecting=!0,this.connectionError=null;const i=setTimeout((()=>{"connecting"!==this.connectionStatus||this.isConnectionVerified?console.log("连接超时检查:连接已验证或状态已变化,跳过超时处理"):(console.log("连接超时(30秒),强制断开重连"),console.log("🔍 超时时状态检查:",{connectionStatus:this.connectionStatus,isWebSocketConnected:this.isWebSocketConnected,isConnectionVerified:this.isConnectionVerified,stompConnected:this.stompClient?.connected}),this.handleConnectionTimeout())}),3e4);try{const t="https://test.m2pool.com/api/".replace("https","wss"),s=`${t}chat/ws`;if(this.stompClient){try{this.stompClient.disconnect(),console.log("[DEBUG] 旧stompClient已disconnect")}catch(n){console.warn("[DEBUG] stompClient.disconnect异常",n)}this.stompClient=null}console.log("[DEBUG] 即将新建stompClient:",s),this.stompClient=o.Stomp.client(s),console.log("[DEBUG] stompClient对象已创建:",this.stompClient),this.stompClient.webSocketFactory=()=>{const e=new WebSocket(s);return e.binaryType="arraybuffer",e.onerror=e=>{console.error("WebSocket连接错误:",e),clearTimeout(i),this.handleWebSocketError(e)},e.onopen=()=>{console.log("WebSocket连接已建立")},e.onclose=e=>{console.log("WebSocket连接已关闭:",e.code,e.reason),clearTimeout(i),this.isReconnecting||this.handleWebSocketClose(e)},e};const a={email:e,type:this.userType};return this.stompClient.onStompError=e=>{const t=e.headers?.message||"";console.error("🔴 STOMP 错误:",t),t.includes("1020")?this.handleConnectionLimitError():(this.connectionError=t||this.$t("chat.abnormal"),this.connectionStatus="error",this.isWebSocketConnected=!1,this.isReconnecting=!1,this.showRefreshButton=!0,this.$forceUpdate())},new Promise(((t,o)=>{this.stompClient.connect(a,(o=>{console.log("🎉 WebSocket Connected:",o),clearTimeout(i),this.isWebSocketConnected=!0,this.connectionStatus="connecting",this.reconnectAttempts=0,this.isReconnecting=!1,this.connectionError=null,console.log("🔗 开始订阅个人消息..."),this.subscribeToPersonalMessages(e),this.startHeartbeat(),console.log("⚡ 连接成功,等待订阅完成后验证"),setTimeout((()=>{"connecting"!==this.connectionStatus||this.isConnectionVerified||(console.warn("⚠️ 连接成功但5秒内未完成订阅验证,可能是多窗口冲突或订阅失败"),console.log("🔍 订阅超时时的状态:",{connectionStatus:this.connectionStatus,isWebSocketConnected:this.isWebSocketConnected,isConnectionVerified:this.isConnectionVerified,stompConnected:this.stompClient?.connected}),this.connectionStatus="error",this.connectionError=this.$t("chat.conflict"),this.isWebSocketConnected=!1,this.isReconnecting=!1,this.showRefreshButton=!0,this.$forceUpdate())}),5e3),t(o)}),(e=>(console.error("WebSocket Error:",e),clearTimeout(i),this.isHandshakeError(e)?(this.handleHandshakeError(e),void o(e)):this.isConnectionLimitError(e.headers.message)?(this.connectionError=e.headers.message,this.connectionStatus="error",this.isReconnecting=!1,this.handleConnectionLimitError(),void o(e)):(e.headers.message.includes("503")?this.connectionError=this.$t("chat.server500"):e.headers.message.includes("handshake")?this.connectionError=this.$t("chat.networkAnomaly"):this.connectionError=this.$t("chat.abnormal"),this.isReconnecting=!1,this.handleDisconnect(),void o(e))))),this.stompClient.heartbeat.outgoing=3e4,this.stompClient.heartbeat.incoming=3e4}))}catch(s){return console.error("初始化 WebSocket 失败:",s),clearTimeout(i),this.connectionError=this.$t("chat.initializationFailed"),this.isReconnecting=!1,this.handleDisconnect(),Promise.reject(s)}},handleDisconnect(){console.log("[DEBUG] handleDisconnect",{isWebSocketConnected:this.isWebSocketConnected,isReconnecting:this.isReconnecting,reconnectAttempts:this.reconnectAttempts,connectionStatus:this.connectionStatus}),this.isReconnecting||(console.log("🔌 处理连接断开..."),this.isChatOpen&&console.log("📱 聊天窗口已打开,保持打开状态"),this.isWebSocketConnected=!1,this.connectionStatus="error",this.isReconnecting=!0,this.clearConnectionVerification(),this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.isConnectionLimitError(this.connectionError)?this.handleConnectionLimitError():this.handleConnectionError(this.connectionError)||(this.reconnectAttempts<this.maxReconnectAttempts?(this.reconnectAttempts++,console.log(`🔄 尝试重连 (${this.reconnectAttempts}/${this.maxReconnectAttempts})...`),this.isChatOpen&&(this.connectionStatus="connecting"),console.log(`🔄 自动重连中 (${this.reconnectAttempts}/${this.maxReconnectAttempts})...`),this.reconnectTimer=setTimeout((()=>{if(this.isReconnecting=!1,!this.isWebSocketConnected){const e=this.connectWebSocket(this.userEmail);e&&"function"===typeof e.catch&&e.catch((e=>{console.error("[DEBUG] 自动重连失败:",e)}))}}),this.reconnectInterval)):(console.log("❌ 达到最大重连次数,停止重连"),this.isReconnecting=!1,this.showRefreshButton=!0)))},handleNetworkChange(){this.networkStatus=navigator.onLine?"online":"offline",console.log("[DEBUG] handleNetworkChange",{online:navigator.onLine,isWebSocketConnected:this.isWebSocketConnected,isReconnecting:this.isReconnecting,connectionStatus:this.connectionStatus}),navigator.onLine&&(location.reload(),this.isChatOpen=!1,this.isMinimized=!1,this.isLoadingHistory=!1,this.isLoading=!1,this.isWebSocketConnected=!1,this.isReconnecting=!1)},startActivityCheck(){this.activityCheckInterval=setInterval((()=>{const e=Date.now(),t=e-this.lastActivityTime;t>3e5&&!this.isWebSocketConnected&&this.handleDisconnect()}),6e4)},updateLastActivityTime(){this.lastActivityTime=Date.now()},handleBeforeUnload(){this.disconnectWebSocket()},handleInputMessage(){this.inputMessage.length>this.maxMessageLength&&(this.inputMessage=this.inputMessage.slice(0,this.maxMessageLength))},handleEnterKey(e){"Enter"!==e.key||e.shiftKey||(e.preventDefault(),this.inputMessage.trim()&&"connected"===this.connectionStatus&&this.sendMessage())},sendMessage(){if("online"!==this.networkStatus)return void this.$message({message:this.$t("chat.networkError")||"网络连接已断开,无法发送消息",type:"error",showClose:!0});if(0===this.userType&&!1===this.customerIsOnline)return void this.$message({message:this.$t("chat.customerServiceOffline")||"客服离线,请登录账号发送留言消息",type:"warning",showClose:!0});if(!this.inputMessage.trim())return void this.$message({message:this.$t("chat.sendMessageEmpty")||"发送消息不能为空",type:"warning",showClose:!0});if(this.inputMessage.length>this.maxMessageLength)return void this.$message.warning(this.$t("chat.contentMax")||"超出发送内容大小限制,请删除部分内容(300字以内)");if(!this.stompClient||!this.stompClient.connected)return console.log("发送消息时连接已断开,尝试重连..."),void this.handleDisconnect();const e=this.inputMessage.trim(),t=Date.now(),i=Math.random().toString(36).substr(2,9),o=`local_${t}_${i}`,n={id:o,content:e,type:1,sendEmail:this.userEmail,sendTime:(new Date).toISOString(),roomId:this.roomId,isLocalMessage:!0};console.log("📤 立即显示本地消息:",n),this.addMessageToChat(n,!0);try{const t={content:e,type:1,email:this.receivingEmail,receiveUserType:2,roomId:this.roomId};this.stompClient.send("/point/send/message/to/customer",{},JSON.stringify(t)),this.inputMessage=""}catch(s){console.error("发送消息失败:",s),this.$message.error(this.$t("chat.failInSend")||"发送失败,请重试")}},disconnectWebSocket(){if(this.stopHeartbeat(),this.clearConnectionVerification(),this.stompClient)try{this.stompClient.subscriptions&&Object.keys(this.stompClient.subscriptions).forEach((e=>{this.stompClient.unsubscribe(e)})),this.stompClient.deactivate(),this.isWebSocketConnected=!1,this.connectionStatus="disconnected",this.reconnectAttempts=0,this.isReconnecting=!1}catch(e){console.error("断开 WebSocket 连接失败:",e)}},handleVisibilityChange(){document.hidden||(this.isWebSocketConnected||this.handleDisconnect(),this.updateLastActivityTime())},async markMessagesAsRead(){if(this.roomId&&this.userEmail)try{const t={roomId:this.roomId,userType:this.userType,email:this.userEmail};let i=0;const o=3;let s=!1;while(i<o&&!s)try{const e=await(0,n.getReadMessage)(t);e&&200===e.code?(console.log("消息已标记为已读"),this.updateUnreadMessages(0),this.messages.forEach((e=>{"user"===e.type&&(e.isRead=!0)})),s=!0):(console.warn(`标记消息已读失败 (尝试 ${i+1}/${o}):`,e),i++,i<o&&await new Promise((e=>setTimeout(e,1e3*i))))}catch(e){i++,i<o&&await new Promise((e=>setTimeout(e,1e3*i)))}s||(console.warn("标记消息已读失败,已达到最大重试次数"),this.updateUnreadMessages(0),this.messages.forEach((e=>{"user"===e.type&&(e.isRead=!0)})))}catch(e){console.error("标记消息已读出错:",e),this.updateUnreadMessages(0),this.messages.forEach((e=>{"user"===e.type&&(e.isRead=!0)}))}else console.log("缺少必要参数,跳过标记已读")},async loadHistoryMessages(){if(!this.isLoadingHistory&&this.roomId){this.isLoadingHistory=!0;try{const e=await(0,n.getHistory7)({roomId:this.roomId,userType:this.userType,email:this.userEmail});if(console.log("📋 初始历史消息加载响应:",{code:e?.code,dataExists:!!e?.data,dataLength:e?.data?.length||0,isArray:Array.isArray(e?.data)}),200===e?.code&&Array.isArray(e.data)){const t=this.formatHistoryMessages(e.data);t.length>0?(this.messages=t.sort(((e,t)=>new Date(e.time)-new Date(t.time))),console.log("✅ 成功加载",t.length,"条初始历史消息"),this.isChatOpen=!0,this.isMinimized=!1,await this.$nextTick(),setTimeout((()=>{this.scrollToBottom(!0)}),100)):(this.messages=[{type:"system",text:this.$t("chat.noHistory")||"暂无历史消息",isSystemHint:!0,time:(new Date).toISOString()}],console.log("📋 初始历史消息为空(格式化后无有效消息)"))}else this.messages=[{type:"system",text:this.$t("chat.noHistory")||"暂无历史消息",isSystemHint:!0,time:(new Date).toISOString()}],console.log("📋 初始历史消息为空(响应无效)")}catch(e){console.error("加载历史消息失败:",e),this.$message.error(this.$t("chat.loadHistoryFailed")||"加载历史消息失败"),this.messages=[{type:"system",text:"加载历史消息失败,请重试",isSystemHint:!0,time:(new Date).toISOString(),isError:!0}]}finally{this.isLoadingHistory=!1}}},async loadMoreHistory(){if(!this.isLoadingHistory&&this.roomId){this.isLoadingHistory=!0;try{let e=null,t=0;const i=this.$refs.chatBody;if(i&&i.children&&i.children.length>0)for(let n=0;n<i.children.length;n++){const o=i.children[n];if(o.classList.contains("chat-message")){e=this.messages[n]?.id,t=o.offsetTop;break}}const o=this.messages.find((e=>!e.isSystemHint&&!e.isLoading)),s=await(0,n.getHistory7)({roomId:this.roomId,userType:this.userType,email:this.userEmail,id:o?.id});if(s&&200===s.code&&s.data&&Array.isArray(s.data)&&s.data.length>0){const o=this.formatHistoryMessages(s.data);if(o.length>0){const n=new Set(this.messages.map((e=>e.id)).filter((e=>e))),s=o.filter((e=>!n.has(e.id)));s.length>0?(this.messages=[...s,...this.messages],this.$nextTick((()=>{if(i&&e){let o=this.messages.findIndex((t=>t.id===e));if(-1!==o&&i.children[o]){const e=i.children[o].offsetTop;i.scrollTop=e-t}}}))):(this.hasMoreHistory=!1,this.messages.unshift({type:"system",text:this.$t("chat.noMoreHistory")||"没有更多历史消息了",isSystemHint:!0,time:(new Date).toISOString()}))}else this.hasMoreHistory=!1,this.messages.unshift({type:"system",text:this.$t("chat.noMoreHistory")||"没有更多历史消息了",isSystemHint:!0,time:(new Date).toISOString()})}else this.hasMoreHistory=!1,this.messages.unshift({type:"system",text:this.$t("chat.noMoreHistory")||"没有更多历史消息了",isSystemHint:!0,time:(new Date).toISOString()})}catch(e){this.$message.error(this.$t("chat.loadHistoryFailed")||"加载历史消息失败,请重试")}finally{this.isLoadingHistory=!1}}},formatHistoryMessages(e){if(!e||!Array.isArray(e)||0===e.length)return[];const t=e.filter((e=>e&&e.id&&(e.content||2===e.type))).map((e=>({type:1===e.isSelf?"user":"system",text:e.content||"",isImage:2===e.type,imageUrl:2===e.type?e.content:null,time:"string"===typeof e.createTime?e.createTime:e.createTime?new Date(e.createTime).toISOString():(new Date).toISOString(),id:e.id,roomId:e.roomId,sender:e.sendEmail,isHistory:!0,isRead:!0}))).sort(((e,t)=>{if(e.id&&t.id){const i=parseInt(e.id)-parseInt(t.id);if(0!==i)return i}const i=new Date(e.time).getTime(),o=new Date(t.time).getTime();return i-o}));return console.log("✅ 格式化历史消息完成,数量:",t.length),t},async fetchUserid(e){try{const t=await(0,n.getUserid)(e);return t&&200==t.code?(console.log("获取用户ID成功:",t),this.receivingEmail=t.data.userEmail,this.roomId=t.data.id,t.data):(console.warn("获取用户ID未返回有效数据"),null)}catch(t){throw console.error("获取用户ID失败:",t),t}},updateMessageReadStatus(e){Array.isArray(e)&&0!==e.length?this.messages.forEach((t=>{t.id&&e.includes(t.id)&&(t.isRead=!0)})):this.messages.forEach((e=>{"user"===e.type&&(e.isRead=!0)}))},onMessageReceived(e){try{const t=JSON.parse(e.body);if(console.log("收到新消息:",t),this.markConnectionVerified(),99===t.type||t.content&&(t.content.includes("__SYSTEM_PING__")||t.content.includes("connection_test_ping")||t.content.includes("SYSTEM_PING")))return void console.log("收到系统验证消息,跳过显示");this.handleIncomingMessage(t)}catch(t){console.error("处理消息失败:",t)}},handleIncomingMessage(e){const t=e.sendEmail===this.userEmail;console.log("📨 处理消息: "+(t?"自己发送的":"对方发送的"),{sendEmail:e.sendEmail,userEmail:this.userEmail,messageId:e.id});const i={id:e.id,sender:e.sendEmail,content:e.content,createTime:e.createTime,sendTime:e.sendTime,type:e.type,roomId:e.roomId,sendEmail:e.sendEmail,isImage:2===e.type,clientReadNum:e.clientReadNum,isLocalMessage:e.isLocalMessage||!1};if(t){const e=this.messages.findIndex((e=>{if(!e.isLocalMessage)return!1;const t=e.text===i.content,o=new Date(e.time),n=i.createTime||i.sendTime;if(!n)return t;const s=new Date(n),a=Math.abs(s-o),r=a<3e4;return t&&r}));if(-1!==e){console.log("🔄 找到对应本地消息,更新为服务器消息:",{localId:this.messages[e].id,serverId:i.id});const t=this.createMessageObject(i);return void this.$set(this.messages,e,{...this.messages[e],id:i.id,time:t.time,isLocalMessage:!1})}}if(this.checkDuplicateMessage(i))console.log("⚠️ 发现重复消息,跳过添加");else if(this.addMessageToChat(i,t),!t)if(this.isChatOpen&&this.isAtBottom())this.updateUnreadMessages(0);else{void 0!==e.clientReadNum?this.updateUnreadMessages(e.clientReadNum):this.updateUnreadMessages(this.unreadMessages+1);const t=this.createMessageObject(e);this.showNotification(t)}},checkDuplicateMessage(e){const t=e.time||e.createTime||e.sendTime;if(!t)return!1;const i=e.content,o=e.sendEmail,n=e.id;if(n&&this.messages.some((e=>e.id===n)))return console.log("🔍 发现相同ID的消息,判定为重复:",n),!0;const s=o===this.userEmail;if(!s)return!1;const a=Date.now()-3e4,r=new Date(t).getTime();return this.messages.some((e=>{if(e.isLocalMessage)return!1;if("user"!==e.type||e.text!==i)return!1;const o=new Date(e.time).getTime(),n=Math.abs(o-r),s=o>a,c=n<3e4;return!(!s||!c)&&(console.log("🔍 发现重复的回环消息:",{existingTime:e.time,newTime:t,timeDiff:n,content:i.substring(0,50)}),!0)}))},createMessageObject(e){let t;return t=e.sendTime?"string"===typeof e.sendTime?e.sendTime:new Date(e.sendTime).toISOString():e.createTime?"string"===typeof e.createTime?e.createTime:new Date(e.createTime).toISOString():(new Date).toISOString(),{type:e.sendEmail===this.userEmail?"user":"system",text:e.content,isImage:2===e.type,imageUrl:2===e.type?e.content:null,time:t,id:e.id,roomId:e.roomId,sender:e.sendEmail,isRead:!1,isLocalMessage:e.isLocalMessage||!1}},addMessageToChat(e,t=!1){const i=this.createMessageObject(e);this.messages.push(i),this.$nextTick((()=>{t||e.isNewMessage?(this.scrollToBottom(!0,"new"),setTimeout((()=>this.scrollToBottom(!0,"new")),100),this.userViewHistory=!1):this.userViewHistory||(this.scrollToBottom(!1,"new"),setTimeout((()=>this.scrollToBottom(!1,"new")),100))}))},showNotification(e){"Notification"in window&&("granted"===Notification.permission?this.createNotification(e):"denied"!==Notification.permission&&Notification.requestPermission().then((t=>{"granted"===t&&this.createNotification(e)})))},createNotification(e){const t=new Notification(this.$t("chat.newMessage")||"新消息",{body:e.isImage?`[ ${this.$t("chat.pictureMessage")}]`||"[图片消息]":e.text,icon:"/path/to/notification-icon.png"});t.onclick=()=>{window.focus(),this.openChat(e.roomId)}},async openChat(e){this.isChatOpen=!0,this.isMinimized=!1,e&&(this.currentContactId=e,this.messages=this.cachedMessages[e]||[],this.markMessagesAsRead(e),await this.$nextTick(),console.log("[SCROLL] openChat: 打开对话触发滚动"),this.scrollToBottom(!0,"new"))},async toggleChat(){console.log("🎯 toggleChat被调用, 当前状态:",{isChatOpen:this.isChatOpen,userEmail:this.userEmail,connectionStatus:this.connectionStatus,isWebSocketConnected:this.isWebSocketConnected});const e=this.isChatOpen;this.isChatOpen=!this.isChatOpen;const t=JSON.parse(localStorage.getItem("jurisdiction")||"{}");if("customer_service"!==t.roleKey)if(!e&&this.isChatOpen&&this.$nextTick((()=>{this.isAtBottom()&&this.markMessagesAsRead()})),this.isChatOpen)try{this.userEmail?console.log("✅ 用户身份已确定:",this.userEmail):(console.log("🔧 用户身份未确定,需要初始化"),await this.determineUserType()),this.isWebSocketConnected&&"disconnected"!==this.connectionStatus&&"error"!==this.connectionStatus?"connected"===this.connectionStatus&&this.isWebSocketConnected&&this.stompClient?.connected?(console.log("✅ 连接状态良好,直接标记验证成功"),this.markConnectionVerified()):(console.log("🔍 连接状态不明确,启动验证监控"),this.startConnectionVerification()):(console.log("🔄 需要重新连接WebSocket"),await this.connectWebSocket(this.userEmail)),0===this.messages.length?await this.loadHistoryMessages():(await this.$nextTick(),setTimeout((()=>{this.scrollToBottom(!0,"new")}),100)),setTimeout((()=>{this.isChatOpen&&this.$refs.chatBody&&(console.log("🔄 多窗口滚动保障:确保滚动到底部"),this.scrollToBottom(!0,"new"))}),300)}catch(i){console.error("初始化聊天失败:",i)}else this.clearConnectionVerification();else{this.userType=2;const e=this.$i18n.locale;this.$router.push(`/${e}/customerService`)}},minimizeChat(){this.isChatOpen=!1,this.isMinimized=!0},closeChat(){this.isChatOpen=!1,this.isMinimized=!0},addSystemMessage(e){this.messages.push({type:"system",text:e,isImage:!1,time:(new Date).toISOString()})},handleAutoResponse(e){setTimeout((()=>{let t=this.$t("chat.beSorry")||"抱歉,我暂时无法回答这个问题。请排队等待人工客服或提交工单。";for(const[i,o]of Object.entries(this.autoResponses))if(e.toLowerCase().includes(i.toLowerCase())){t=o;break}this.messages.push({type:"system",text:t,isImage:!1,time:(new Date).toISOString()}),this.isChatOpen||this.unreadMessages++}),1e3)},handleImageLoad(e){e&&e.isHistory?console.log("[SCROLL] handleImageLoad: 历史消息图片加载,不滚动"):(console.log("[SCROLL] handleImageLoad: 新消息图片加载触发滚动"),this.scrollToBottom(!0,"new"))},scrollToBottom(e=!1,t="new"){if(!this.$refs.chatBody)return void console.warn("[DEBUG] scrollToBottom: chatBody不存在");const i=this.$refs.chatBody,o=i.scrollTop,n=i.scrollHeight,s=i.clientHeight;console.log(`[DEBUG] scrollToBottom called. force=${e}, reason=${t}, before=${o}, scrollHeight=${n}, clientHeight=${s}`);const a=()=>{i.scrollTop=i.scrollHeight,console.log(`[DEBUG] performScroll: after=${i.scrollTop}`)};this.$nextTick((()=>{this.$nextTick((()=>{a(),e&&setTimeout((()=>{this.$refs.chatBody&&a()}),50)}))}))},formatTime(e){if(!e)return"";try{let t="";if("string"===typeof e)t=e;else{if(!(e instanceof Date))return String(e);t=e.toISOString()}if(t.includes("T")){const[e,i]=t.split("T");if(e&&i){const t=i.split(":").slice(0,2).join(":"),o=new Date,n=o.toISOString().split("T")[0],s=e;if(n===s)return`UTC ${this.$t("chat.today")} ${t}`;const a=new Date(Date.now()-864e5).toISOString().split("T")[0];return a===s?`UTC ${this.$t("chat.yesterday")} ${t}`:`UTC ${e} ${t} `}}const i=new Date(t);if(isNaN(i.getTime()))return t;const o=i.getUTCFullYear(),n=String(i.getUTCMonth()+1).padStart(2,"0"),s=String(i.getUTCDate()).padStart(2,"0"),a=String(i.getUTCHours()).padStart(2,"0"),r=String(i.getUTCMinutes()).padStart(2,"0");return`UTC ${o}-${n}-${s} ${a}:${r} `}catch(t){return console.error("格式化时间失败:",t),String(e)}},formatTimeDivider(e){if(!e)return"";try{let t="";if("string"===typeof e)t=e;else{if(!(e instanceof Date))return String(e);t=e.toISOString()}if(t.includes("T")){const[e,i]=t.split("T");if(e&&i){const t=i.split(":").slice(0,2).join(":"),o=new Date,n=o.toISOString().split("T")[0],s=e;if(n===s)return`UTC ${this.$t("chat.today")} ${t}`;const a=new Date(Date.now()-864e5).toISOString().split("T")[0];return a===s?`UTC ${this.$t("chat.yesterday")} ${t}`:`UTC ${e} ${t} `}}const i=new Date(t);if(isNaN(i.getTime()))return t;const o=i.getUTCFullYear(),n=String(i.getUTCMonth()+1).padStart(2,"0"),s=String(i.getUTCDate()).padStart(2,"0"),a=String(i.getUTCHours()).padStart(2,"0"),r=String(i.getUTCMinutes()).padStart(2,"0");return`UTC ${o}-${n}-${s} ${a}:${r} `}catch(t){return console.error("格式化分割条时间失败:",t),String(e)}},handleClickOutside(e){if(this.isChatOpen){const t=this.$el.querySelector(".chat-dialog"),i=this.$el.querySelector(".chat-icon"),o=this.$el.querySelector(".history-indicator");if(o&&o.contains(e.target))return;!t||t.contains(e.target)||i.contains(e.target)||(this.isChatOpen=!1)}},async handleImageUpload(e){if("connected"!==this.connectionStatus)return void console.log("当前连接状态:",this.connectionStatus);const t=e.target.files[0];if(!t)return;if(!t.type.startsWith("image/"))return void this.$message({message:this.$t("chat.onlyImages")||"只能上传图片文件!",type:"warning"});const i=5242880;if(t.size>i)this.$message({message:this.$t("chat.imageTooLarge")||"图片大小不能超过5MB!",type:"warning"});else try{console.log("📤 正在上传图片...");const e=new FormData;e.append("file",t);const i=await this.$axios({method:"post",url:"https://test.m2pool.com/api/pool/ticket/uploadFile",data:e,headers:{"Content-Type":"multipart/form-data"}});if(200!==i.data.code)throw new Error(i.data.msg||this.$t("chat.pictureFailed")||"发送图片失败,请重试");{const e=i.data.data.url;this.sendImageMessage(e)}}catch(o){console.error("图片处理失败:",o),this.$message.error("图片处理失败,请重试")}finally{this.$refs.imageUpload.value=""}},sendImageMessage(e){if(!this.stompClient||!this.stompClient.connected)return console.log("发送图片时连接已断开,尝试重连..."),void this.handleDisconnect();const t=Date.now(),i=Math.random().toString(36).substr(2,9),o=`local_img_${t}_${i}`,n={id:o,content:e,type:2,sendEmail:this.userEmail,sendTime:(new Date).toISOString(),roomId:this.roomId,isLocalMessage:!0};console.log("📤 立即显示本地图片消息:",n),this.addMessageToChat(n,!0);try{const t={type:2,email:this.receivingEmail,receiveUserType:2,roomId:this.roomId,content:e};this.stompClient.send("/point/send/message/to/customer",{},JSON.stringify(t))}catch(s){console.error("发送图片消息失败:",s)}},previewImage(e){this.previewImageUrl=e,this.showImagePreview=!0},closeImagePreview(){this.showImagePreview=!1,this.previewImageUrl=""},async handleRetryConnect(){try{console.log("🔄 用户点击重试连接..."),this.setWindowActive(),this.connectionStatus="connecting",this.connectionError=null,this.showRefreshButton=!1,this.isReconnecting=!1,this.isConnectionVerified=!1,this.isHandlingError=!1,this.lastErrorTime=0,this.reconnectAttempts=0,this.clearConnectionVerification(),console.log("⚡ 强制断开旧连接..."),await this.forceDisconnectAll(),await new Promise((e=>setTimeout(e,500))),this.userEmail||(console.log("🔍 重新初始化用户身份..."),await this.determineUserType()),console.log("🌐 开始重新连接 WebSocket..."),await this.connectWebSocket(this.userEmail),"connected"===this.connectionStatus&&(console.log("✅ 重试连接成功"),0===this.messages.length&&await this.loadHistoryMessages(),this.$nextTick((()=>{this.scrollToBottom(!0)})))}catch(e){console.error("❌ 重试连接失败:",e),this.connectionStatus="error",this.isReconnecting=!1,e.message&&(e.message.includes("handshake")||e.message.includes("503")||e.message.includes("网络"))?(this.connectionError=this.$t("chat.networkAnomaly")||"网络连接异常,请稍后重试",this.showRefreshButton=!1):(this.connectionError=this.$t("chat.abnormal")||"连接异常,请重试",this.showRefreshButton=e.message&&e.message.includes("1020"))}},refreshPage(){window.location.reload()},startHeartbeat(){this.stopHeartbeat(),this.lastHeartbeatTime=Date.now(),this.heartbeatInterval=setInterval((()=>{const e=Date.now();if(e-this.lastHeartbeatTime>this.heartbeatTimeout&&(console.log("心跳超时,检查连接状态..."),"connected"===this.connectionStatus&&this.stompClient&&this.stompClient.connected)){if(this.stompClient.ws.readyState===WebSocket.OPEN)return console.log("WebSocket 连接仍然活跃,更新心跳时间"),void(this.lastHeartbeatTime=e);console.log("连接状态异常,准备重连..."),this.handleDisconnect()}}),this.heartbeatCheckInterval)},stopHeartbeat(){this.heartbeatInterval&&(clearInterval(this.heartbeatInterval),this.heartbeatInterval=null)},handleLoginClick(){this.isChatOpen=!1;const e=this.$i18n.locale;this.$router.push(`/${e}/login`)},parseSocketError(e){let t="";if("string"===typeof e?t=e:e&&e.message?t=e.message:e&&e.body&&(t=e.body),console.log("🔍 parseSocketError 输入:",t),t.includes("ERROR message:")){const e=t.split("ERROR message:")[1];if(console.log("🔍 发现ERROR message格式,提取:",e),e&&e.match(/^\d+/)){const i=e.match(/^(\d+)(.*)$/);if(i){const e=i[1],o=i[2]||"";return console.log("🔍 解析ERROR message格式,码:",e,"消息:",o),{code:e,message:o.trim(),original:t}}}}if(t.includes(",")){const e=t.split(",");if(e.length>=2){const i=e[0].trim(),o=e.slice(1).join(",").trim();return console.log("🔍 解析逗号分隔格式,码:",i,"消息:",o),{code:i,message:o,original:t}}}const i=t.match(/^(\d+)(.*)$/);if(i){const e=i[1],o=i[2].trim();return console.log("🔍 解析数字开头格式,码:",e,"消息:",o),{code:e,message:o,original:t}}return console.log("🔍 未匹配到任何格式,返回原始消息"),{code:null,message:t,original:t}},isConnectionLimitError(e){if(console.log("🔍 检查是否为连接数上限错误,输入:",e),console.log("🔍 错误信息类型:",typeof e),!e)return console.log("🔍 错误信息为空,返回false"),!1;const t=String(e);console.log("🔍 转换为字符串后:",t);const{code:i,message:o}=this.parseSocketError(t);if(console.log("🔍 解析后的错误码:",i,"消息:",o),"1020"===i)return console.log("✅ 发现1020错误码"),!0;const n=o.toLowerCase();console.log("🔍 小写后的消息:",n);const s=n.includes("连接数已达上限")||n.includes("本机连接数已达上限")||n.includes("本机连接已达上限")||n.includes("无法连接到已上线")||n.includes("请先关闭已有链接")||n.includes("maximum connections")||n.includes("connection limit")||n.includes("too many connections")||n.includes("1020");if(console.log("🔍 连接数上限错误检查结果:",s),!s){if(t.includes("1020"))return console.log("🔍 兜底检查1:发现1020字符串"),!0;if(t.includes("ERROR message:1020"))return console.log("🔍 兜底检查2:发现ERROR message:1020"),!0;if(t.includes("连接数上限")||t.includes("连接数已达上限"))return console.log("🔍 兜底检查3:发现连接数上限关键词"),!0}return s},async handleConnectionLimitError(){console.log("🚫 检测到连接数上限错误(超过10个连接)"),this.connectionStatus="error",this.connectionError=this.$t("chat.connectionLimitError")||"连接数已达上限(超过10个窗口),请关闭一些窗口后重试",this.isWebSocketConnected=!1,this.isReconnecting=!1,this.showRefreshButton=!1,this.isChatOpen=!0,this.isMinimized=!1,this.$forceUpdate(),console.log("🔥 连接数上限错误处理完成,提示用户关闭多余窗口")},async forceDisconnectAll(){if(console.log("强制断开所有现有连接..."),this.stopHeartbeat(),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.activityCheckInterval&&(clearInterval(this.activityCheckInterval),this.activityCheckInterval=null),this.clearConnectionVerification(),this.stompClient){try{this.stompClient.subscriptions&&Object.keys(this.stompClient.subscriptions).forEach((e=>{try{this.stompClient.unsubscribe(e)}catch(t){console.warn("取消订阅失败:",t)}})),this.stompClient.connected&&this.stompClient.disconnect(),this.stompClient.ws&&this.stompClient.ws.readyState===WebSocket.OPEN&&this.stompClient.ws.close()}catch(e){console.warn("断开STOMP连接时出错:",e)}this.stompClient=null}this.isWebSocketConnected=!1,this.reconnectAttempts=0,this.connectionError=null,console.log("所有连接已强制断开")},handleConnectionError(e){if(!e)return!1;let t;t="string"===typeof e?this.parseSocketError(e):e.message?this.parseSocketError(e.message):this.parseSocketError(e),console.log("🔍 解析的错误信息:",t);const i=t.code;t.message||t.original;switch(i){case"1020":return console.log("🚫 处理1020错误:连接数上限"),!1;case"1021":return console.log("🚫 处理1021错误:服务器连接数上限"),this.connectionError=this.$t("chat.serverBusy")||"服务器繁忙,请稍后刷新重试",this.connectionStatus="error",this.isReconnecting=!1,this.showRefreshButton=!0,this.$message.error(this.connectionError),!0;case"1022":return console.log("🚫 处理1022错误:身份设置失败"),this.connectionError=this.$t("chat.identityError")||"身份验证失败,请刷新页面重试",this.connectionStatus="error",this.isReconnecting=!1,this.showRefreshButton=!0,this.$message.error(this.connectionError),!0;case"1023":return console.log("🚫 处理1023错误:用户信息获取失败"),this.connectionError=this.$t("chat.emailError")||"用户信息获取失败,请刷新页面重试",this.connectionStatus="error",this.isReconnecting=!1,this.showRefreshButton=!0,this.$message.error(this.connectionError),!0;default:return console.log("🔄 未知错误码或无错误码,使用默认处理"),!1}},startConnectionVerification(){if(console.log("🔍 启动连接验证机制(被动验证)..."),console.log("当前连接状态:",this.connectionStatus),console.log("当前WebSocket连接状态:",this.isWebSocketConnected),console.log("当前STOMP连接状态:",this.stompClient?.connected),this.isConnectionVerified=!1,this.clearConnectionVerification(),"connected"===this.connectionStatus&&this.isWebSocketConnected&&this.stompClient?.connected)return console.log("✅ 连接状态良好,立即标记为已验证"),void this.markConnectionVerified();this.connectionVerifyTimer=setTimeout((()=>{this.isConnectionVerified||(console.log("⏰ 连接验证超时(1分钟),当前状态:",this.connectionStatus),console.log("WebSocket连接状态:",this.isWebSocketConnected),console.log("STOMP连接状态:",this.stompClient?.connected),console.log("强制断开重连"),"connecting"===this.connectionStatus||"connected"===this.connectionStatus?this.handleConnectionTimeout():this.handleConnectionVerificationFailure())}),6e4),console.log("⏲️ 已设置1分钟验证超时定时器")},markConnectionVerified(){this.isConnectionVerified?console.log("🔄 连接已经验证过了,跳过重复验证"):(console.log("🎉 连接验证成功!清除所有定时器并确保状态正确"),this.isConnectionVerified=!0,this.clearConnectionVerification(),this.isHandlingError=!1,this.isReconnecting=!1,this.reconnectAttempts=0,this.connectionError=null,this.connectionStatus="connected",this.isWebSocketConnected=!0,console.log("✅ 连接验证完成,当前状态:",{connectionStatus:this.connectionStatus,isWebSocketConnected:this.isWebSocketConnected,isConnectionVerified:this.isConnectionVerified,reconnectAttempts:this.reconnectAttempts,isHandlingError:this.isHandlingError}),this.$forceUpdate())},setupDebugMode(){document.addEventListener("keydown",(e=>{e.ctrlKey&&e.shiftKey&&"D"===e.key&&this.debugConnectionStatus()}))},debugConnectionStatus(){console.log("🔍 === 连接状态调试信息 ==="),console.log("connectionStatus:",this.connectionStatus),console.log("isWebSocketConnected:",this.isWebSocketConnected),console.log("isConnectionVerified:",this.isConnectionVerified),console.log("isReconnecting:",this.isReconnecting),console.log("isHandlingError:",this.isHandlingError),console.log("reconnectAttempts:",this.reconnectAttempts),console.log("maxReconnectAttempts:",this.maxReconnectAttempts),console.log("connectionError:",this.connectionError),console.log("userEmail:",this.userEmail),console.log("lastConnectedEmail:",this.lastConnectedEmail),console.log("roomId:",this.roomId),console.log("STOMP connected:",this.stompClient?.connected),console.log("connectionVerifyTimer:",!!this.connectionVerifyTimer),console.log("reconnectTimer:",!!this.reconnectTimer),console.log("activityCheckInterval:",!!this.activityCheckInterval),console.log("heartbeatInterval:",!!this.heartbeatInterval),console.log("showRefreshButton:",this.showRefreshButton),console.log("isChatOpen:",this.isChatOpen),console.log("isMinimized:",this.isMinimized),"connecting"===this.connectionStatus&&this.isConnectionVerified&&(console.warn("⚠️ 状态不一致:连接中但已验证"),this.connectionStatus="connected",this.$forceUpdate()),"connected"!==this.connectionStatus||this.isWebSocketConnected||(console.warn("⚠️ 状态不一致:已连接但WebSocket未连接"),this.connectionStatus="connecting",this.$forceUpdate()),console.log("🔍 === 调试信息结束 ===")},clearConnectionVerification(){this.connectionVerifyTimer?(console.log("🧹 清除连接验证定时器"),clearTimeout(this.connectionVerifyTimer),this.connectionVerifyTimer=null):console.log("🔍 没有需要清除的验证定时器")},handleConnectionVerificationFailure(){console.log("⚠️ 连接验证失败,连接可能无法正常收发消息");const e=Date.now();this.isHandlingError&&e-this.lastErrorTime<5e3?console.log("正在处理错误中,跳过重复处理"):(this.isHandlingError=!0,this.lastErrorTime=e,this.isChatOpen=!0,this.isMinimized=!1,this.clearConnectionVerification(),this.isWebSocketConnected=!1,this.connectionStatus="connecting",this.connectionError=this.$t("chat.reconnecting")||"正在重新连接...",setTimeout((()=>{if(console.log("🔄 连接验证失败,开始重新连接..."),this.isHandlingError=!1,this.stompClient)try{this.stompClient.disconnect()}catch(e){console.warn("断开连接时出错:",e)}this.connectWebSocket(this.userEmail).catch((e=>{console.error("❌ 重新连接失败:",e),this.isHandlingError=!1,this.isChatOpen=!0,this.isMinimized=!1,this.connectionStatus="error",this.showRefreshButton=!0}))}),2e3))},handleConnectionTimeout(){console.log("⏰ 连接超时,开始处理超时重连");const e=Date.now();if(this.isHandlingError&&e-this.lastErrorTime<5e3)console.log("⚠️ 正在处理连接超时中,跳过重复处理");else{if(this.isHandlingError=!0,this.lastErrorTime=e,this.isChatOpen=!0,this.isMinimized=!1,this.reconnectAttempts++,console.log(`🔄 连接超时重连计数: ${this.reconnectAttempts}/${this.maxReconnectAttempts}`),this.reconnectAttempts>=this.maxReconnectAttempts)return console.log("❌ 连接超时且已达最大重连次数,停止重连"),this.isHandlingError=!1,this.connectionStatus="error",this.connectionError="连接超时,请刷新页面重试",void(this.showRefreshButton=!0);this.clearConnectionVerification(),this.forceDisconnectAll().then((()=>{this.connectionStatus="connecting",this.connectionError=this.$t("chat.connectionTimedOut")||"连接超时,稍后重试...",setTimeout((()=>{console.log("🔄 连接超时处理完成,开始重新连接..."),this.isHandlingError=!1,this.connectWebSocket(this.userEmail).catch((e=>{console.error("❌ 超时重连失败:",e),this.isHandlingError=!1,this.isChatOpen=!0,this.isMinimized=!1,this.connectionStatus="error",this.connectionError=this.$t("chat.reconnectFailed")||"重连失败,请稍后重试",this.reconnectAttempts>=this.maxReconnectAttempts&&(this.showRefreshButton=!0,this.connectionError=this.$t("chat.connectionFailed")||"连接失败,请刷新页面重试")}))}),2e3)})).catch((e=>{console.error("❌ 强制断开连接失败:",e),this.isHandlingError=!1,this.isChatOpen=!0,this.isMinimized=!1,this.connectionStatus="error",this.connectionError=this.$t("chat.connectionFailed")||"连接处理失败,请稍后重试",this.reconnectAttempts>=this.maxReconnectAttempts&&(this.showRefreshButton=!0,this.connectionError=this.$t("chat.connectionFailed")||"连接失败,请刷新页面重试")}))}},isHandshakeError(e){if(!e||!e.message)return!1;const t=e.message.toLowerCase();return t.includes("handshake")||t.includes("websocket")||t.includes("unexpected response code: 200")||t.includes("unexpected response code: 404")||t.includes("unexpected response code: 500")||t.includes("unexpected response code: 502")||t.includes("unexpected response code: 503")||t.includes("connection refused")||t.includes("connection denied")||t.includes("connection reset")||t.includes("network error")||t.includes("connection failed")||t.includes("upgrade required")||t.includes("bad handshake")},handleHandshakeError(e){console.log("🤝 检测到握手错误:",e.message);const t=Date.now();if(this.isHandlingError&&t-this.lastErrorTime<5e3)console.log("⚠️ 正在处理握手错误中,跳过重复处理");else{if(this.isHandlingError=!0,this.lastErrorTime=t,this.isWebSocketConnected=!1,this.connectionStatus="error",this.isReconnecting=!1,e.message.includes("unexpected response code: 200")?(this.connectionError=this.$t("chat.serviceConfigurationError")||"服务配置异常,请稍后重试",console.log("🔴 WebSocket握手失败:服务器返回200而非101升级响应")):e.message.includes("unexpected response code: 404")?(this.connectionError=this.$t("chat.serviceAddressUnavailable")||"服务地址不可用,请稍后重试",console.log("🔴 WebSocket握手失败:服务地址404")):e.message.includes("unexpected response code: 500")?(this.connectionError=this.$t("chat.server500")||"服务器暂时不可用,请稍后重试",console.log("🔴 WebSocket握手失败:服务器500错误")):e.message.includes("connection refused")?(this.connectionError=this.$t("chat.connectionFailedService")||"无法连接到服务器,请稍后重试",console.log("🔴 WebSocket握手失败:连接被拒绝")):(this.connectionError=this.$t("chat.connectionFailed")||"连接失败,请稍后重试",console.log("🔴 WebSocket握手失败:",e.message)),this.reconnectAttempts++,console.log(`🔄 握手错误重连计数: ${this.reconnectAttempts}/${this.maxReconnectAttempts}`),this.reconnectAttempts>=this.maxReconnectAttempts)return console.log("❌ 握手错误重连次数已达上限,停止重连"),this.isHandlingError=!1,this.showRefreshButton=!0,void(this.connectionError=this.$t("chat.connectionFailed")||"连接失败,请刷新页面重试");setTimeout((()=>{console.log("🔄 握手错误处理完成,开始重新连接..."),this.isHandlingError=!1,this.connectionStatus="connecting",this.connectWebSocket(this.userEmail).catch((e=>{console.error("❌ 握手错误重连失败:",e),this.isHandlingError=!1,this.connectionStatus="error",this.connectionError=this.$t("chat.reconnectFailed")||"重连失败,请稍后重试"}))}),3e3)}},handleWebSocketError(e){console.log("WebSocket级别错误:",e);const t=Date.now();this.isHandlingError&&t-this.lastErrorTime<3e3?console.log("正在处理错误中,跳过重复处理"):(this.isHandlingError=!0,this.lastErrorTime=t,this.isWebSocketConnected=!1,this.connectionStatus="error",this.connectionError=this.$t("chat.connectionFailedCustomer")||"连接客服系统失败,请检查网络或稍后重试",this.showRefreshButton=!1,setTimeout((()=>{this.isHandlingError=!1,this.handleDisconnect()}),1e3))},handleWebSocketClose(e){console.log("WebSocket连接关闭:",e.code,e.reason),1e3!==e.code&&(this.isWebSocketConnected=!1,this.connectionStatus="error",this.connectionError=this.$t("chat.connectionFailedCustomer")||"连接客服系统失败,请检查网络或稍后重试",this.showRefreshButton=!1,setTimeout((()=>{this.isWebSocketConnected||this.handleDisconnect()}),1e3))},handleLogout(){this.disconnectWebSocket(),this.isChatOpen=!1,this.isMinimized=!0,this.messages=[],this.updateUnreadMessages(0),this.connectionStatus="disconnected",this.isWebSocketConnected=!1,this.userType=0,this.userEmail="",this.roomId="",sessionStorage.removeItem("chatGuestEmail"),this.lastConnectedEmail=null,console.log("🧹 退出登录时清除游客身份缓存")},async handleLoginSuccess(){this.disconnectWebSocket(),sessionStorage.removeItem("chatGuestEmail"),this.lastConnectedEmail=null,console.log("🧹 登录成功时清除游客身份缓存"),await new Promise((e=>setTimeout(e,100)));let e=0;const t=3;while(e<t)try{if(await this.determineUserType(),console.log(this.userEmail,"userEmail 重新登录成功"),this.userEmail&&""!==this.userEmail){this.isWebSocketConnected||await this.connectWebSocket(this.userEmail),await this.loadHistoryMessages();break}throw new Error("未获取到有效的用户邮箱")}catch(i){e++,console.warn(`登录处理失败 (尝试 ${e}/${t}):`,i),e<t?await new Promise((t=>setTimeout(t,500*e))):console.error("登录处理最终失败,已达到最大重试次数")}},shouldAutoScrollOnNewMessage(){if(!this.isChatOpen)return!1;const e=this.$refs.chatBody;if(!e)return!1;const{scrollTop:t,scrollHeight:i,clientHeight:o}=e,n=Math.abs(i-(t+o)),s=n<100;return console.log("[DEBUG] scrollTop:",t,"clientHeight:",o,"scrollHeight:",i,"distanceToBottom:",n,"atBottom:",s),s},isAtBottom(){const e=this.$refs.chatBody;return!e||e.scrollHeight-e.scrollTop-e.clientHeight<2},handleChatBodyScroll(){this.$refs.chatBody&&(this.isAtBottom()?(this.userViewHistory=!1,this.markMessagesAsRead()):this.userViewHistory=!0)},scrollToBottomOnInit(){let e=0;const t=5,i=100,o=()=>{this.scrollToBottom(!0,"init"),e++,e<t&&setTimeout(o,i)};o()},formatMessageText(e){if(!e)return"";const t=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");return t(e).replace(/\n/g,"<br />")}},beforeDestroy(){this.$bus.$off("user-logged-out",this.handleLogout),this.handleLogout(),document.removeEventListener("visibilitychange",this.handleVisibilityChange),this.stompClient&&(this.stompClient.disconnect(),this.stompClient=null),this.disconnectWebSocket(),this.activityCheckInterval&&clearInterval(this.activityCheckInterval),this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.clearConnectionVerification(),window.removeEventListener("online",this.handleNetworkChange),window.removeEventListener("offline",this.handleNetworkChange),document.removeEventListener("mousemove",this.updateLastActivityTime),document.removeEventListener("keydown",this.updateLastActivityTime),document.removeEventListener("click",this.updateLastActivityTime),window.removeEventListener("storage",this.handleStorageChange),this.stopHeartbeat(),this.$bus.$off("user-logged-in",this.handleLoginSuccess),this.$refs.chatBody&&this.$refs.chatBody.removeEventListener("scroll",this.handleChatBodyScroll)}}},58455:function(e,t,i){e.exports=i.p+"img/logicon.e79b64d3.png"},60508:function(e,t,i){e.exports=i.p+"img/workAdministration.d8f96ac7.svg"},65549:function(e){e.exports="data:image/png;base64,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"},66560:function(e,t,i){e.exports=i.p+"img/算法资源 24.983ac6e7.svg"},67069:function(e,t,i){e.exports=i.p+"img/mining.63661eb9.svg"},67698:function(e,t,i){e.exports=i.p+"img/计算器.bf2f4fbd.svg"},69218:function(e,t,i){e.exports=i.p+"img/难度.374a30f2.svg"},72498:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAAsSAAALEgHS3X78AAACeUlEQVRYhcWX33HiQAzGv6QB6IDt4Ogg7uDoAL+cX0MqiNMB9+qXIx2QCs50YDpYOjgqIKOdb31Cif+QLIlmGMCrtX7SajXSzel0wqVSOGSVR633FQ5TAGsgfK8qDz/2vRdBiHEa+gHgACAXmMJhBaAEMFHqT6JbefxLAlE4OBpZ8tFRGdS/XwA0AB75X0A3QzC9EIXDAggfbbysPNaFQ86oRIA9QWseiRi/U68TwK2s26M6g6DHGQ3/VHpHvrTUHjEPVvzoo3ghjDdORNkTaFt5NAGCZ5rzrGFeFpV7z5aRWdAJDbQnUK3WZ2p9d/NrdpLNf/jgQGUxuu0zOgC0UBGNBh/kGLk+51rIHYEQ5b8AnisfvEkqhQuG7zWEgpVcON6qZy41AGXK78YARHvNrSo6U7s7kURjNqfa5zoSNimTQsgt6IBoIsQO/69capnxir8LZyMhMk8JoM+9B6KNxLXyoisf8GWR0N52rUmufGck2lz5lkjYXAkQV6wVgzUC70Qida0YrBEW4hq1YrBGWIgoSfJibI2wEKnzYlSNsBBRUt2QUTXCQtRaIYFEZ876STY0M3ZcsBCRePnZ5OT+2CDVZjk2Nm3n1kKwh3zm380nAxG78J3urAvXduBHBfOm254yfBM2ufmY4cXsX7O7FkNzgeBN0QCZrh1niUmDGRWl5fdsWscAZDzSpTLk2ck3BDhYgDeRMB5t1OzRGRXqlmxmwaIX80EPQL/t3NILoQws+KIJvcv1KEDvN6qtf6o8SjObtjNrl53BWbQjKnHqujfqB+bUoPcXQSgYHZUoYTblddOhH/T+QxAE0VEJZ2+uoORC0Bl9qwC8AjHhFndDIIoyAAAAAElFTkSuQmCC"},74910:function(e,t,i){e.exports=i.p+"img/费率.0ce18fa9.svg"},76994:function(e,t,i){e.exports=i.p+"img/lgout.189a539a.svg"},77738:function(e,t,i){e.exports=i.p+"img/lang.cef122f4.svg"},78628:function(e,t,i){e.exports=i.p+"img/grs.27ff84e3.svg"},78945:function(e,t,i){e.exports=i.p+"img/enx.44c38e4b.svg"},79412:function(e,t,i){i.r(t)},79613:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIoAAAAhCAMAAAAxgsN7AAAAM1BMVEVMaXH////////////////////////////////////////////////////////////////x7/yuAAAAEHRSTlMAYKAwECDwQIDA0HDgsFCQfHx6EQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAihJREFUWIXFl9m2wyAIRR1wytD6/197VxQHFPtym5SnGozs6hGIEMKocL7EYGZ/hxBO/4LR81VzMRkuaew1OElIucVqQT6GcubR2fy6A7ks6GdQoATci1vGyW7bGILyKmEtLEnuYyEovobzhERdSoaXwuGk61tRoqkijsGUySgc22Rt3GTFOXvE0gOfUM46Vh04bN2eLQ7QJmHrY+UxG+ORH1Bi+g/Oxo1sIqQIR9kTTkpp08CynuulwL5kWJQ8N4czmyMouA+anO5o7pNH8B7Pouj8qFxo45O9XIqf77t8CEXkm1LFWU49s4XYxHI/Ch70G48EUVA0M0p3hJ6i+OZpU9OPMHoWKGLPD69LrKvKMGJ8FgXPJAgoWa3uEYn+BAo+Ve1KFuXkpADPoZQS3Uz2M9S0/o0oJHlZr/BV2UT0GEqfeBUIyDntnR/s8/p3otTMHVok1LBi1r8TBc/iaM0JlsK+PNb1MSP7QFGCr6YoyjF6Gor33lGUlMt8awdKqe0LdUXZe2n9M9vmPSMosO+1URFC2kEnBIXW/X+jRENRiKFgLW0mC8rQLGghNB/wUj/bPlx/UfejFQpgmjmGdr+g0PNJklSRsdaPjbYBeSesUMoHyDl+khWUvhs6VJ7lp2Ztwwslp+ZpQ002zwLFcTKhWvm+sShl94/QTP8CBdhDX1XmO1GAac9/g6L5m/cDFPY79RkUl4pCHUIrFINhGs6lp8vJ3zEhxB/YQnlvC83hegAAAABJRU5ErkJggg=="},82131:function(e,t,i){t.Yp=t.XX=void 0;t.XX=function(){var e=this,t=e._self._c;return t("div",{staticClass:"headerBox",class:{whiteBg:"/"!==e.key}},[t("div",{staticClass:"header"},[t("div",{staticClass:"logo",on:{click:function(t){return e.handelJump("/")}}},[t("img",{attrs:{src:i(65549),alt:"logo图片"}})]),t("div",{staticClass:"topMenu"},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.isLogin&&(e.$route.path.includes("reportBlock")||"Home"==e.$route.name),expression:"isLogin &&( $route.path.includes(`reportBlock`) || $route.name == `Home` ) "}],staticClass:"nav"},[t("div",{staticClass:"nav-item",attrs:{id:"menu1"},on:{click:function(t){return t.stopPropagation(),e.toggleDropdown.apply(null,arguments)}}},[t("img",{staticClass:"itemImg",attrs:{src:e.activeItem.imgUrl,alt:e.activeItem.label}}),t("span",{staticStyle:{"text-transform":"capitalize"}},[e._v(" "+e._s(e.activeItem.label))]),t("i",{staticClass:"arrow"}),t("div",{staticClass:"dropdown"},e._l(e.currencyList,(function(i){return t("div",{key:i.value,staticClass:"option",class:{optionActive:i.value===e.activeItem.value},on:{click:function(t){return t.stopPropagation(),e.changeMenuName(t,i)}}},[t("img",{staticClass:"dropdownCoin",attrs:{src:i.imgUrl,alt:i.label}}),t("div",{staticClass:"dropdownText"},[e._v(e._s(i.label))])])})),0)])]),t("ul",{directives:[{name:"show",rawName:"v-show",value:e.isLogin,expression:"isLogin"}],staticClass:"menuBox afterLoggingIn"},[t("li",{staticClass:"home",class:{active:e.$route.path===`/${e.$i18n.locale}`||e.$route.path===`/${e.$i18n.locale}/`},on:{click:function(t){return e.handelJump("/")}}},[e._v(" "+e._s(e.$t("home.home"))+" "),t("div",{staticClass:"horizontalLine",class:{hidden:e.$route.path===`/${e.$i18n.locale}`||e.$route.path===`/${e.$i18n.locale}/`}},[t("span",{staticClass:"circular"}),t("span",{staticClass:"line"})])]),t("li",{directives:[{name:"show",rawName:"v-show",value:e.isLogin,expression:"isLogin"}],staticClass:"miningAccount"},[t("el-menu",{staticClass:"el-menu-demo",attrs:{"active-text-color":"#6E3EDB",mode:"horizontal"}},[t("el-submenu",{attrs:{index:"888888"}},[t("span",{staticClass:"miningAccountTitle",class:{active:e.$route.path.includes(`/${e.$i18n.locale}/miningAccount`)},staticStyle:{color:"#000"},attrs:{slot:"title"},slot:"title"},[e._v(e._s(e.$t("home.accountCenter")))]),e._l(e.miningAccountList,(function(i){return t("el-submenu",{key:i.coin,attrs:{index:i.coin}},[t("template",{slot:"title"},[t("img",{staticStyle:{width:"20px"},attrs:{src:i.img,alt:i.coin}}),e._v(" "+e._s(i.title))]),e._l(i.children,(function(o){return t("el-menu-item",{key:o.id,attrs:{index:o.id.toString()},nativeOn:{click:function(t){return e.handelJumpAccount(i,o,i.coin)}}},[e._v(" "+e._s(o.account))])}))],2)})),t("el-menu-item",{staticClass:"signOut",staticStyle:{"font-size":"0.9rem"},attrs:{index:"999999"},nativeOn:{click:function(t){return e.handelSignOut.apply(null,arguments)}}},[e._v(" "+e._s(e.$t("user.signOut")))])],2)],1),t("div",{staticClass:"horizontalLine",class:{hidden:"/miningAccount"==e.$route.path}},[t("span",{staticClass:"circular"}),t("span",{staticClass:"line"})])],1),t("li",{staticClass:"reportBlock",class:{active:e.$route.path.includes(`/${e.$i18n.locale}/reportBlock`)},on:{click:function(t){return e.handelJump("reportBlock")}}},[e._v(" "+e._s(e.$t("home.reportBlock"))+" "),t("div",{staticClass:"horizontalLine",class:{hidden:e.$route.path.includes(`/${e.$i18n.locale}/reportBlock`)}},[t("span",{staticClass:"circular"}),t("span",{staticClass:"line"})])]),t("li",{staticClass:"personalCenter",class:{active:e.$route.path.includes(`/${e.$i18n.locale}/personalCenter`)},on:{click:function(t){return e.handelJump("personalCenter")}}},[e._v(" "+e._s(e.$t("home.personalCenter"))+" "),t("div",{staticClass:"horizontalLine",class:{hidden:e.$route.path.includes(`/${e.$i18n.locale}/personalCenter`)||e.$route.path.includes(`/${e.$i18n.locale}/personalCenter/personalMining`)}},[t("span",{staticClass:"circular"}),t("span",{staticClass:"line"})])]),t("li",{staticClass:"personalCenter",class:{active:e.$route.path.includes(`/${e.$i18n.locale}/workOrderRecords`)},on:{click:function(t){return e.handelJump("workOrderRecords")}}},[e._v(" "+e._s(e.$t("personal.workOrderRecord"))+" "),t("div",{staticClass:"horizontalLine",class:{hidden:e.$route.path.includes("workOrderRecords")}},[t("span",{staticClass:"circular"}),t("span",{staticClass:"line"})])]),t("li",{directives:[{name:"show",rawName:"v-show",value:e.ManagementShow,expression:"ManagementShow"}],staticClass:"personalCenter",class:{active:e.$route.path.includes(`/${e.$i18n.locale}/workOrderBackend`)},on:{click:function(t){return e.handelJump("workOrderBackend")}}},[e._v(" "+e._s(e.$t("work.WorkOrderManagement"))+" "),t("div",{staticClass:"horizontalLine",class:{hidden:e.$route.path.includes("workOrderBackend")}},[t("span",{staticClass:"circular"}),t("span",{staticClass:"line"})])]),t("li",{staticClass:"langBox"},[t("div",{staticClass:"LangLine"}),t("el-dropdown",[t("span",{staticClass:"el-dropdown-link",staticStyle:{"font-size":"0.9rem",color:"rgba(0, 0, 0, 1)"}},[t("img",{staticStyle:{width:"20px"},attrs:{src:i(77738),alt:"lang"}}),t("i",{staticClass:"el-icon-caret-bottom el-icon--right"})]),t("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"},nativeOn:{click:function(t){return e.handelLang("zh")}}},[e._v("简体中文")]),t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"},nativeOn:{click:function(t){return e.handelLang("en")}}},[e._v("English")])],1)],1)],1)]),t("ul",{directives:[{name:"show",rawName:"v-show",value:!e.isLogin,expression:"!isLogin"}],staticClass:"menuBox notLoggedIn"},[t("li",{staticClass:"login",on:{click:e.handelLogin}},[e._v(e._s(e.$t("user.login")))]),t("li",{staticClass:"register",on:{click:e.handelRegister}},[e._v(" "+e._s(e.$t("user.register"))+" ")]),t("li",{staticClass:"langBox"},[t("div",{staticClass:"LangLine"}),t("el-dropdown",[t("span",{staticClass:"el-dropdown-link",staticStyle:{"font-size":"0.9rem",color:"rgba(0, 0, 0, 1)"}},[t("img",{staticStyle:{width:"20px"},attrs:{src:i(77738),alt:"lang"}}),t("i",{staticClass:"el-icon-caret-bottom el-icon--right"})]),t("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"},nativeOn:{click:function(t){return e.handelLang("zh")}}},[e._v("简体中文")]),t("el-dropdown-item",{staticStyle:{"font-size":"0.8rem",color:"rgba(0, 0, 0, 1)"},nativeOn:{click:function(t){return e.handelLang("en")}}},[e._v("English")])],1)],1)],1)])])])])},t.Yp=[]},83536:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.serviceTerms_zh=t.serviceTerms_en=void 0;t.serviceTerms_zh={ServiceTerms:{title:"服务条款内容",title1:"一、总则",clauseTotal1:"1.欢迎访问 M2pool 矿池网站(以下简称“本网站”)。使用本网站的服务(以下简称“服务”),即表示您同意遵守以下服务条款(以下简称“条款”)。",clauseTotal2:"2.请仔细阅读以下条款,如果您点击 “注册 ”按钮或查看、使用这些服务,即视为您已阅读并同意本服务条款及其所有附加条款。如果你不接受服务条款的限制,请不要查看或使用服务。",clauseTotal3:"3.我们保留随时修改这些条款的权利,修改后的条款将在网站上公布。您继续使用服务即表示您接受修改后的条款。",clauseTotal4:"4.我们希望您能定期查看本条款,以确保您已确认适用于您查看和使用的条款和条件。本条款及附加条款可供您查看,并可用于使用我们提供的任何服务,包括但不限于以下网站:https://www.m2pool.com/(以下简称 “本网站”)。",title2:"二、服务说明",clauseService1:"1.我们的服务旨在为用户提供数字货币挖矿相关的资源和支持,但不保证挖矿的收益或成功。",clauseService2:"2.服务可能会因维护、升级或其他原因而暂时中断,我们将尽力提前通知用户,但不对此类中断造成的损失负责。",clauseService3:"3.M2Pool 不向以下司法管辖区的个人或实体提供服务:阿富汗、白俄罗斯、中非共和国、刚果民主共和国、几内亚比绍、古巴、伊朗、伊拉克、朝鲜、利比亚、黎巴嫩、马里、叙利亚、委内瑞拉和津巴布韦。受限制的司法管辖区还包括M2pool选择不运营的任何国家/地区,包括但不限于阿尔及利亚、安哥拉、孟加拉国、中国、埃及、海地、科索沃、科威特、摩洛哥、俄罗斯、尼泊尔、索马里、南苏丹、苏丹、也门和新加坡。",clauseService4:" 通过访问和使用 M2Pool 服务,您声明并保证您不位于、不在上述任何国家/地区设立或不是上述任何国家的居民。M2Pool 保留自行决定限制或拒绝某些国家/地区提供服务的权利。如果 M2Pool 确定(自行决定)用户是指定国家/地区的居民,M2Pool 可能会冻结或终止这些帐户。",title3:"三、用户资格",clauseUser1:"1.您必须达到法定年龄并具备完全民事行为能力才能使用本服务。",clauseUser2:"2.您保证所提供的注册信息真实、准确、完整,并及时更新,您可以使用电子邮件地址我们允许的其他方式登录 M2Pool。如果您提供的注册信息不正确,我们将不承担任何责任。您将遭受任何直接或间接的损失和不利后果。",clauseUser3:"3.您应是具有完全行为能力和民事权利能力的法人、公司或其他组织。否则,您或您的监护人应承担一切后果。我们有权注销或永久中止您的账户,并要求您赔偿。",title4:"四、用户责任",clauseResponsibility1:"1.您应遵守所有适用的国家法律、法规等规范性文件及本规则的规定和要求,包括但不限于与数字货币挖矿相关的法律。不违反社会公共利益或公共道德,不损害他人合法权益,不偷逃应纳税款,不违反本规定及相关规则。如果您违反上述承诺并产生任何法律后果,您应自行承担所有法律责任,并确保我们免受任何损失。",clauseResponsibility2:"2.您不得利用本服务从事任何非法、欺诈、有害或侵犯他人权利的活动。",clauseResponsibility3:"3.您对自己的挖矿设备和网络连接负责,确保其符合相关要求并正常运行。",clauseResponsibility4:"4.您必须对您的M2Pool用户名和密码以及在您的用户名、M2Pool密码下发生的所有活动(包括但不限于信息披露和发布、在线点击同意或提交各种规则和协议、在线协议续签或购买服务、账户设置等)的保密性负责。",clauseResponsibility5:"5.如果任何人未经认证使用您的M2pool邮箱、账号等登录本网站,我们不对您因违反本条款而造成的任何损失负责。",title5:"五、费用与支付",clausePayment1:"1.我们可能会根据服务内容收取一定的费用,具体费用标准将在网站上公布。",clausePayment2:"2.您同意按照规定的支付方式和时间支付费用,逾期未支付可能导致服务暂停或终止。",clausePayment3:"3.您在使用本服务时所产生的应纳税额以及所有硬件、软件、服务或其他方面的费用均由您自行承担。",title6:"六、收益与分配",clauseProfit1:"1.挖矿收益将根据我们的分配机制进行分配,但不保证收益的稳定性和固定性。",clauseProfit2:"2.我们有权根据实际情况调整分配机制,但会提前通知用户。",title7:"七、数据与隐私",clausePrivacy1:"1.我们会收集和使用您在使用服务过程中产生的相关数据,但会严格遵守隐私政策保护您的隐私。",clausePrivacy2:"2.您同意我们对数据的收集、使用和处理,以提供和改进服务。",title8:"八、知识产权",clausePropertyRight1:"1.本网站的所有内容,包括但不限于商标、版权、专利等,均归本公司或相关权利人所有。",clausePropertyRight2:"2.未经授权,您不得复制、修改、传播或使用本网站的任何知识产权。",title9:"九、免责声明",clauseDisclaimer1:"1.对于因不可抗力、系统故障、网络问题等导致的服务中断或数据丢失,我们不承担责任。",clauseDisclaimer2:"2.对于您因使用本服务而产生的任何直接、间接、偶然、特殊或后果性的损失,包括但不限于挖矿收益损失、设备损坏等,我们不承担赔偿责任。",title10:"十、终止服务",clauseTermination1:"1.我们有权在以下情况下终止您的服务:违反本条款、法律法规、损害本公司或其他用户的利益。",clauseTermination2:"2.服务终止后,您的相关数据可能会被删除或保留,具体处理方式将根据法律法规和公司政策执行。",title11:"十一、法律适用与争议解决",clauseLaw1:"1.本条款受新加坡法律的管辖。",clauseLaw2:"2.如发生争议,双方应通过友好协商解决;协商不成的,可向有管辖权的法院提起诉讼。"}},t.serviceTerms_en={ServiceTerms:{title:"Content of Service Terms",title1:"1、 General Provisions",clauseTotal1:'Welcome to the M2pool mining pool website (hereinafter referred to as "this website"). By using the services of this website (hereinafter referred to as the "Services"), you agree to comply with the following terms of service (hereinafter referred to as the "Terms").',clauseTotal2:'2. Please carefully read the following terms. If you click the "Register" button or view or use these services, it is deemed that you have read and agreed to these terms of service and all its additional terms. If you do not accept the limitations of the terms of service, please do not view or use the service.',clauseTotal3:"3. We reserve the right to modify these terms at any time, and the modified terms will be published on the website. By continuing to use the service, you accept the revised terms.",clauseTotal4:'4. We hope that you can regularly review these terms to ensure that you have confirmed the terms and conditions applicable to your viewing and use. These terms and additional terms are available for your review and can be used to use any services we provide, including but not limited to the following websites: https://www.m2pool.com/ (hereinafter referred to as "this website").',title2:"2、 Service Description",clauseService1:"Our service aims to provide users with resources and support related to cryptocurrency mining, but we do not guarantee the profits or success of mining.",clauseService2:"2. The service may be temporarily interrupted due to maintenance, upgrades, or other reasons. We will do our best to notify users in advance, but we are not responsible for any losses caused by such interruptions.",clauseService3:"3.M2Pool does not provide services to individuals or entities in the following jurisdictions: Afghanistan, Belarus, Central African Republic, Democratic Republic of the Congo, Guinea Bissau, Cuba, Iran, Iraq, North Korea, Libya, Lebanon, Mali, Syria, Venezuela and Zimbabwe. Restricted jurisdictions also include any country/territory in which M2pool chooses not to operate, including but not limited to Algeria, Angola, Bangladesh, China, Egypt, Haiti, Kosovo, Kuwait, Morocco, Russia, Nepal, Somalia, South Sudan, Sudan, Yemen and Singapore.",title3:"3、 User Qualification",clauseUser1:"1. You must be of legal age and have full capacity for civil conduct to use this service.",clauseUser2:"2. You guarantee that the registration information provided is true, accurate, complete, and updated in a timely manner. You can log in to M2Pool using other methods allowed by our email address. If the registration information you provide is incorrect, we will not be held responsible. You will suffer any direct or indirect losses and adverse consequences.",clauseUser3:"3. You should be a legal person, company, or other organization with full capacity for conduct and civil rights. Otherwise, you or your guardian shall bear all consequences. We have the right to cancel or permanently suspend your account and demand compensation from you.",title4:"4、 User Responsibility",clauseResponsibility1:"1. You shall comply with all applicable national laws, regulations and normative documents, as well as the provisions and requirements of these rules, including but not limited to laws related to digital currency mining. Not violating the public interest or public morality, not harming the legitimate rights and interests of others, not evading taxes, and not violating these regulations and related rules. If you violate the above commitments and incur any legal consequences, you shall bear all legal responsibilities on your own and ensure that we are free from any losses.",clauseResponsibility2:"2. You are not allowed to engage in any illegal, fraudulent, harmful, or infringing activities using this service.",clauseResponsibility3:"3. You are responsible for your mining equipment and network connection, ensuring that it meets relevant requirements and operates normally.",clauseResponsibility4:"4. You are responsible for the confidentiality of your M2Pool username and password, as well as all activities that occur under your username and M2Pool password (including but not limited to information disclosure and publication, online click to agree or submit various rules and agreements, online agreement renewal or purchase of services, account settings, etc.).",clauseResponsibility5:"5. If anyone uses your M2pool email, account, etc. to log in to this website without authentication, we will not be responsible for any losses caused by your violation of these terms.",title5:"5、 Fees and Payment",clausePayment1:"We may charge a certain fee based on the service content, and the specific fee standard will be announced on the website.",clausePayment2:"2. You agree to pay the fees according to the prescribed payment method and time. Failure to pay on time may result in the suspension or termination of the service.",clausePayment3:"3. The taxable amount and all hardware, software, service or other expenses incurred by you when using this service shall be borne by you.",title6:"6、 Income and distribution",clauseProfit1:"1. Mining profits will be distributed according to our distribution mechanism, but we do not guarantee the stability and stability of the profits.",clauseProfit2:"2. We have the right to adjust the allocation mechanism according to the actual situation, but we will notify users in advance.",title7:"7、 Data and Privacy",clausePrivacy1:"1. We will collect and use relevant data generated during your use of the service, but we will strictly comply with the privacy policy to protect your privacy.",clausePrivacy2:"2. You agree to our collection, use, and processing of data to provide and improve services.",title8:"8、 Intellectual Property",clausePropertyRight1:"All content on this website, including but not limited to trademarks, copyrights, patents, etc., belongs to our company or relevant rights holders.",clausePropertyRight2:"2. Without authorization, you are not allowed to copy, modify, disseminate or use any intellectual property of this website.",title9:"9、 Disclaimer",clauseDisclaimer1:"We are not responsible for service interruptions or data loss caused by force majeure, system failures, network issues, etc.",clauseDisclaimer2:"2. We are not liable for any direct, indirect, incidental, special or consequential losses incurred by you as a result of using this service, including but not limited to mining revenue loss, equipment damage, etc.",title10:"10、 Termination of Service",clauseTermination1:"We have the right to terminate your service in the following circumstances: violation of these terms, laws and regulations, or damage to the interests of our company or other users.",clauseTermination2:"After the termination of the service, your relevant data may be deleted or retained, and the specific processing method will be implemented in accordance with laws, regulations, and company policies.",title11:"11、 Application of Law and Dispute Resolution",clauseLaw1:"1. This clause is governed by the laws of Singapore.",clauseLaw2:"2. In the event of a dispute, both parties shall resolve it through friendly consultation; If the negotiation fails, a lawsuit may be filed with a court with jurisdiction."}}},84441:function(e,t,i){e.exports=i.p+"img/客服.b3d473b9.svg"},85857:function(e,t,i){e.exports=i.p+"img/mona.643bf599.svg"},87596:function(e,t,i){e.exports=i.p+"img/LOGO.8ae69378.svg"},90444:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ChatWidget_zh=t.ChatWidget_en=void 0;t.ChatWidget_zh={chat:{title:"在线客服",welcome:"欢迎使用在线客服,请问有什么可以帮您?",placeholder:"请输入您的消息...",send:"发送",close:"关闭",inputPlaceholder:"请输入您的问题...",onlyImages:"只能上传图片文件!",imageTooLarge:"图片大小不能超过5MB!",imageReceived:"已收到您的图片,我们会尽快处理您的问题。",networkError:"网络连接已断开,请刷新页面重试",openCustomerService:"打开客服聊天",connectToCustomerService:"正在连接客服系统...",connectionFailed:"连接失败,请刷新页面重试",tryConnectingAgain:"重试连接",loading:"加载中...",loadMore:"加载更多历史消息",welcomeToUse:"欢迎使用在线客服,请问有什么可以帮您?",picture:"聊天图片",read:"已读",unread:"未读",subscriptionFailed:"消息订阅失败,可能无法接收新消息",break:"连接断开",retry:"秒后重试",disconnectWaiting:"断线重连中...",sendFailed:"发送消息失败,请重试",noHistory:"暂无历史消息",historicalFailure:"加载历史消息失败,请重试",loadingHistory:"正在加载更多历史消息...",noMoreHistory:"没有更多历史消息了",Loaded:"已加载历史消息",newMessage:"新消息",pictureMessage:"图片消息",initializationFailed:"初始化失败,请刷新页面重试",beSorry:"抱歉,我暂时无法回答这个问题。请排队等待人工客服或提交工单。",today:"今天",yesterday:"昨天",canOnlyUploadImages:"只能上传图片文件!",imageSizeExceeded:"图片大小不能超过5MB!",uploading:"正在上传图片...",pictureFailed:"发送图片失败,请重试",readImage:"读取图片失败,请重试",processingFailed:"图片处理失败,请重试",Disconnected:"连接已断开",reconnecting:"正在重连...",contactList:"联系列表",search:"搜索最近联系人",tourist:"游客",important:"重要",markAsImportant:"标记为重要",cancelImportant:"已取消重要标记",markingFailed:"标记操作失败,请重试",Marked:"已标记为重要",select:"请选择联系人",notSelected:"您尚未选择联系人",None:"暂无消息记录",sendPicture:"发送图片",inputMessage:"请输入消息,按Enter键发送,按Ctrl+Enter键换行",bottom:"回到底部",Preview:"预览图片",chatRoom:"聊天室",CLOSED:"已关闭",picture2:"图片",Unnamed:"未命名聊天室",noNewsAtTheMoment:"暂无未读消息",contactFailed:"加载更多联系人失败",listException:"获取聊天室列表异常",my:"我",unknownSender:"未知发送者",recordFailed:"加载聊天记录失败",messageException:"加载消息异常",chooseFirst:"请先选择联系人",chatDisconnected:"聊天连接已断开,请刷新页面重试",pictureSuccessful:"图片已发送",history:"历史记录",loadFailed:"加载失败",guestNotice:"您当前以游客身份聊天,聊天记录将不会保存。",guestNotice2:"后即可保存聊天记录",loginToSave:"登录",server500:"服务器暂时不可用,请稍后重试",CheckNetwork:"连接失败,请检查网络后重试",attemptToReconnect:"连接已断开,正在尝试重连...",retryFailed:"重试连接失败,请刷新页面",maxConnectionsError:"连接数已达上限,请刷新页面重试",ipLimitError:"本机连接数已达上限,请刷新页面重试",serverLimitError:"服务器连接数已达上限,请稍后刷新重试",identityError:"用户身份设置失败,请刷新页面重试",emailError:"用户信息获取失败,请刷新页面重试",refreshPage:"刷新页面",reconnectSuccess:"重新连接成功",sendMessageEmpty:"发送消息不能为空",unableToSubscribe:"连接状态异常,刷新页面重试",conflict:"连接异常,可能是多窗口冲突,请关闭其他窗口重试",abnormal:"连接异常",networkAnomaly:"网络连接异常",customerServiceOffline:"客服离线,请登录账号发送留言消息",contentMax:"超出发送内容大小限制,请删除部分内容(300字以内)",failInSend:"发送失败,请重试",connectionLimitError:"连接数已达上限,请关闭一些窗口后刷新重试",serverBusy:"服务器繁忙,请稍后刷新重试",connectionTimedOut:"连接超时,稍后重试...",reconnectFailed:"重连失败,请稍后重试",serviceConfigurationError:"服务配置异常,请稍后重试",serviceAddressUnavailable:"服务地址不可用,请稍后重试",connectionFailedService:"无法连接到服务器,请稍后重试",connectionFailedCustomer:"连接客服系统失败,请检查网络或稍后重试"}},t.ChatWidget_en={chat:{title:"Online Customer Service",welcome:"Welcome to the online customer service, what can I help you with?",placeholder:"Please enter your message...",send:"Send",close:"Close",inputPlaceholder:"Please enter your question...",onlyImages:"Only image files can be uploaded!",imageTooLarge:"The image size cannot exceed 5MB!",imageReceived:"We have received your image, and we will handle your question as soon as possible.",networkError:"Network disconnected, please refresh page",openCustomerService:"Open customer service chat",connectToCustomerService:"Connecting to customer service...",connectionFailed:"Connection failed, please refresh page",tryConnectingAgain:"Retry connection",loading:"Loading...",loadMore:"Load more history",welcomeToUse:"Welcome to online service, how can I help you?",picture:"Chat image",read:"Read",unread:"Unread",subscriptionFailed:"Message subscription failed",break:"Connection lost",retry:"Retry in seconds",disconnectWaiting:"Reconnecting...",sendFailed:"Send failed, please retry",noHistory:"No history",historicalFailure:"Failed to load history",loadingHistory:"Loading more history...",noMoreHistory:"No more history",Loaded:"History loaded",newMessage:"New message",pictureMessage:"Image message",initializationFailed:"Initialization failed, please refresh",beSorry:"Sorry, I cannot answer this. Please wait for agent or submit ticket",today:"Today",yesterday:"Yesterday",canOnlyUploadImages:"Only image files allowed",imageSizeExceeded:"Image size exceeds 5MB",uploading:"Uploading image...",pictureFailed:"Failed to send image",readImage:"Failed to read image",processingFailed:"Image processing failed",Disconnected:"Disconnected",reconnecting:"Reconnecting...",contactList:"Contact list",search:"Search contacts",tourist:"Guest",important:"Important",markAsImportant:"Mark as important",cancelImportant:"Unmarked as important",markingFailed:"Marking failed",select:"Select contact",notSelected:"No contact selected",None:"No messages",sendPicture:"Send image",inputMessage:"Type message, Enter to send, Ctrl+Enter for new line",bottom:"to bottom",Preview:"Preview image",chatRoom:"Chat room",CLOSED:"Closed",picture2:"Image",Unnamed:"Unnamed chat",noNewsAtTheMoment:"No unread messages",contactFailed:"Failed to load contacts",listException:"Failed to get chat list",my:"Me",unknownSender:"Unknown sender",recordFailed:"Failed to load chat records",messageException:"Failed to load messages",chooseFirst:"Please select contact first",chatDisconnected:"Chat disconnected, please refresh",pictureSuccessful:"Image sent",history:"History",loadFailed:"Load Fail",Marked:"Marked as important",guestNotice:"You are currently chatting as a guest, and your chat history will not be saved.",guestNotice2:" to save chat history",loginToSave:"Login",server500:"The server is temporarily unavailable, please try again later",CheckNetwork:"Connection failed, please check the network and try again",attemptToReconnect:"Connection lost, attempting to reconnect...",retryFailed:"Retry connection failed, please refresh page",maxConnectionsError:"Connection limit reached, please refresh page",ipLimitError:"Connection limit reached, please refresh page",serverLimitError:"Connection limit reached, please try again later",identityError:"Failed to set user identity, please refresh page",emailError:"Failed to get user information, please refresh page",refreshPage:"Refresh page",reconnectSuccess:"Reconnect successfully",sendMessageEmpty:"Message cannot be empty",unableToSubscribe:"Connection status abnormal, please refresh the page",conflict:"Connection exception, possibly due to multiple window conflicts, please close other windows and try again",abnormal:"Connection exception",networkAnomaly:"Network connection exception",customerServiceOffline:"Customer service offline, please login to send message",contentMax:"Content exceeds the size limit, please delete some content(300 characters or less)",failInSend:"Failed to send, please try again",connectionLimitError:"Connection limit reached, please close some windows and refresh to try again",serverBusy:"Server busy, please refresh later",connectionTimedOut:"Connection timed out, please try again later",reconnectFailed:"Reconnect failed, please try again later",serviceConfigurationError:"Service configuration exception, please try again later",serviceAddressUnavailable:"Service address unavailable, please try again later",connectionFailedService:"Failed to connect to the server, please try again later",connectionFailedCustomer:"Failed to connect to the customer service system, please check the network or try again later"}}},90929:function(e,t,i){var o=i(3999)["default"];Object.defineProperty(t,"__esModule",{value:!0}),t.deleteEmail=l,t.getAddNoticeEmail=s,t.getCode=a,t.getList=r,t.getUpdateInfo=c;var n=o(i(35720));function s(e){return(0,n.default)({url:"pool/notice/addNoticeEmail",method:"post",data:e})}function a(e){return(0,n.default)({url:"pool/notice/getCode",method:"post",data:e})}function r(e){return(0,n.default)({url:"pool/notice/getList",method:"post",data:e})}function c(e){return(0,n.default)({url:"pool/notice/updateInfo",method:"post",data:e})}function l(e){return(0,n.default)({url:"pool/notice/deleteEmail",method:"delete",data:e})}},91621:function(e,t,i){e.exports=i.p+"img/personal.dccd7ff6.svg"},94045:function(e,t,i){e.exports=i.p+"img/DGB.12066a7e.svg"},94158:function(e,t,i){e.exports=i.p+"img/rxd.e5ec03d4.png"},95194:function(e,t,i){e.exports=i.p+"img/currency-nexa.8d3a28b9.png"},97131:function(e,t){t.Yp=t.XX=void 0;t.XX=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},[t("router-view",{staticClass:"page"}),e.$route.path.includes("/customerService")||e.$isMobile?e._e():t("ChatWidget")],1)},t.Yp=[]},97390:function(e,t){t.Yp=t.XX=void 0;t.XX=function(){var e=this,t=e._self._c;return t("transition",{attrs:{name:"fade"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.showTooltip,expression:"showTooltip"}],ref:"tooltip",staticClass:"m-tooltip",style:`max-width: ${e.maxWidth}PX; top: ${e.top}PX; left: ${e.left}PX;`,on:{mouseenter:e.onShow,mouseleave:e.onHide}},[t("div",{staticClass:"u-tooltip-content"},[e._t("default",(function(){return[e._v("暂无内容")]}))],2),t("div",{staticClass:"u-tooltip-arrow"})])])},t.Yp=[]},97724:function(e,t,i){i.r(t),i.d(t,{__esModule:function(){return n.B},default:function(){return c}});var o=i(50628),n=i(54752),s=n.A,a=i(81656),r=(0,a.A)(s,o.XX,o.Yp,!1,null,"7fb76a94",null),c=r.exports}}]); |