1 line
150 KiB
JavaScript
1 line
150 KiB
JavaScript
"use strict";(self["webpackChunkmining_pool"]=self["webpackChunkmining_pool"]||[]).push([[956],{4710:function(t,e,s){Object.defineProperty(e,"B",{value:!0}),e.A=void 0,s(44114),s(18111),s(22489),s(20116),s(7588),s(61701),s(18237),s(13579);var i=s(51775),a=s(92500);e.A={name:"CustomerServiceChat",data(){return{searchText:"",inputMessage:"",currentContactId:null,previewVisible:!1,previewImageUrl:"",contacts:[],messages:{},messagesLoading:!1,sending:!1,loadingRooms:!0,stompClient:null,wsConnected:!1,userEmail:"",userType:1,loadingHistory:!1,userViewHistory:!1,userScrolled:!1,history7Params:{id:"",roomId:"",userType:2,email:""},historyAllParams:{id:"",roomId:"",userType:2},receiveUserType:"",manualCreatedRooms:[],chatRooms:[],isWebSocketConnected:!1,connectionStatus:"disconnected",isLoadingMoreContacts:!1,lastContactTime:null,showScrollButton:!1,visibilityHandler:null,reconnectTimer:null,maxReconnectAttempts:5,reconnectInterval:5e3,reconnectAttempts:0,isHandlingError:!1,lastErrorTime:0,lastActivityTime:Date.now(),activityCheckInterval:null,activityEvents:null,activityHandler:null,connectionVerifyTimer:null,connectionVerifyTimeout:6e4,isConnectionVerified:!1,heartbeatInterval:null,heartbeatTimeout:3e4,lastHeartbeatTime:0,connectionCheckInterval:null,connectionCheckTimeout:6e4,hasMoreHistory:!0,noMoreHistoryMessage:"",networkStatus:"online"}},computed:{filteredContacts(){return this.searchText?this.contacts.filter((t=>t.name.toLowerCase().includes(this.searchText.toLowerCase()))):this.contacts},currentContact(){return this.contacts.find((t=>t.roomId===this.currentContactId))},currentMessages(){return this.messages[this.currentContactId]||[]}},async created(){try{let t=localStorage.getItem("userEmail");this.userEmail=JSON.parse(t),window.addEventListener("setItem",(()=>{let t=localStorage.getItem("userEmail");this.userEmail=JSON.parse(t)})),await this.fetchRoomList(),this.loadManualCreatedRooms(),console.log(this.userEmail,"初始化的时候"),this.initWebSocket()}catch(t){console.error("初始化失败:",t)}},async mounted(){await this.fetchRoomList();let t=localStorage.getItem("userEmail");this.userEmail=JSON.parse(t),window.addEventListener("setItem",(()=>{let t=localStorage.getItem("userEmail");this.userEmail=JSON.parse(t)})),window.addEventListener("online",this.handleNetworkChange),window.addEventListener("offline",this.handleNetworkChange),this.$nextTick((()=>{this.$refs.messageContainer&&this.$refs.messageContainer.addEventListener("scroll",this.handleScroll)})),this.$nextTick((()=>{const t=document.querySelector(".cs-contacts");t&&t.addEventListener("scroll",this.handleContactListScroll)})),this.visibilityHandler=()=>{"visible"===document.visibilityState?(console.log("🔍 客服页面重新可见,执行连接状态检查"),this.updateLastActivityTime(),this.performConnectionCheck(),"connected"===this.connectionStatus&&this.isWebSocketConnected?(console.log("✅ 客服页面可见,连接状态正常"),this.heartbeatInterval||this.startHeartbeat(),this.connectionCheckInterval||this.startConnectionCheck()):(console.log("🔄 客服页面可见,检测到连接异常,开始重连"),this.checkAndReconnect())):console.log("📱 客服页面变为隐藏状态")},document.addEventListener("visibilitychange",this.visibilityHandler),this.startActivityCheck(),this.activityEvents=["mousedown","mousemove","keypress","scroll","touchstart","click"],this.activityHandler=()=>{this.updateLastActivityTime()},this.activityEvents.forEach((t=>{document.addEventListener(t,this.activityHandler,!0)})),window.addEventListener("storage",this.handleStorageChange)},methods:{handleKeyDown(t){if("Enter"===t.key)if(t.ctrlKey){const e=t.target,s=e.value,i=e.selectionStart,a=e.selectionEnd;e.value=s.substring(0,i)+"\n"+s.substring(a),e.selectionStart=e.selectionEnd=i+1,t.preventDefault()}else t.preventDefault(),this.sendMessage()},initWebSocket(){if(this.isWebSocketConnected)console.log("WebSocket已连接,跳过初始化");else if(this.stompClient&&"DISCONNECTED"!==this.stompClient.state)console.log("WebSocket正在连接中,跳过初始化");else try{this.stompClient&&this.forceDisconnectAll(),console.log("开始初始化WebSocket连接...");const t="https://test.m2pool.com/api/".replace("https","wss"),e=`${t}chat/ws`;this.stompClient=a.Stomp.client(e),this.stompClient.splitLargeFrames=!0,this.stompClient.maxWebSocketFrameSize=16777216,this.stompClient.maxWebSocketMessageSize=16777216,this.stompClient.webSocketFactory=()=>{const t=new WebSocket(e);return t.binaryType="arraybuffer",t},this.stompClient.debug=t=>{(t.includes("CONNECTED")||t.includes("DISCONNECTED")||t.includes("ERROR"))&&console.log("[客服系统]",t)},this.userType=2;const s={email:this.userEmail,type:this.userType};this.stompClient.onStompError=t=>{console.error("[客服系统] STOMP 错误:",t),this.handleSocketError(t.headers?.message||t.body)},this.stompClient.connect(s,(t=>{console.log("🎉 [客服系统] WebSocket 连接成功",t),this.isWebSocketConnected=!0,this.connectionStatus="connected",this.reconnectAttempts=0,this.isConnectionVerified=!1,this.lastHeartbeatTime=Date.now(),console.log("🔗 开始订阅客服消息..."),this.subscribeToMessages(),this.updateLastActivityTime(),this.startHeartbeat(),this.startConnectionCheck(),console.log("⚡ 客服连接成功,等待订阅完成后验证")}),(t=>{console.error("[客服系统] WebSocket 错误:",t),this.handleSocketError(t)})),this.stompClient.heartbeat.outgoing=2e4,this.stompClient.heartbeat.incoming=2e4}catch(t){console.error("初始化 CustomerService WebSocket 失败:",t),this.handleDisconnect()}},subscribeToMessages(){if(this.stompClient&&this.isWebSocketConnected)try{console.log("开始订阅客服消息频道:",`/sub/queue/customer/${this.userEmail}`);const t=this.stompClient.subscribe(`/sub/queue/customer/${this.userEmail}`,this.handleIncomingMessage),e=this.stompClient.subscribe(`/sub/queue/close/room/${this.userEmail}`,this.handleRoomClose);t&&e?(console.log("✅ CustomerService 成功订阅消息频道:",`/sub/queue/customer/${this.userEmail}`),console.log("✅ CustomerService 成功订阅关闭消息频道:",`/sub/queue/close/room/${this.userEmail}`),console.log("📢 客服订阅成功,立即标记连接已验证"),this.markConnectionVerified(),"connected"!==this.connectionStatus&&(console.log("📡 修正客服连接状态为connected"),this.connectionStatus="connected")):(console.error("❌ 客服订阅失败,返回空subscription"),this.startConnectionVerification())}catch(t){console.error("❌ CustomerService 订阅消息异常:",t),this.startConnectionVerification()}else console.log("STOMP客户端未连接,无法订阅消息")},handleRoomClose(t){try{const e=t.body,s=t=>t?("object"===typeof t&&"value"in t&&(t=t.value),t=String(t).trim().toLowerCase(),t=t.replace(/^['"]+|['"]+$/g,""),t):"",i=s(e),a=this.contacts.findIndex((t=>{const e=s(t.name);return e===i}));if(-1!==a){this.currentContactId===this.contacts[a].roomId&&(this.currentContactId=null),this.contacts.splice(a,1),this.$delete(this.messages,this.contacts[a].roomId);const t=this.manualCreatedRooms.findIndex((t=>t.name===e));-1!==t&&(this.manualCreatedRooms.splice(t,1),this.saveManualCreatedRooms()),console.log(`聊天室 ${e} 已关闭`)}}catch(e){console.error("处理聊天室关闭消息失败:",e)}},disconnectWebSocket(){if(this.stompClient)try{this.stompClient.subscriptions&&Object.keys(this.stompClient.subscriptions).forEach((t=>{this.stompClient.unsubscribe(t)})),this.stompClient.deactivate(),this.isWebSocketConnected=!1,this.connectionStatus="disconnected"}catch(t){console.error("断开 CustomerService WebSocket 连接失败:",t)}},parseSocketError(t){let e="";if(e="string"===typeof t?t:t&&"object"===typeof t?t.message||t.body||t.headers?.message||String(t):String(t||""),e.includes(",")){const t=e.split(","),s=t[0].trim(),i=t.slice(1).join(",").trim();return{code:s,message:i}}const s=e.match(/(\d{4})/);return s?{code:s[1],message:e}:{code:"",message:e}},async handleSocketError(t){const e=Date.now();if(this.isHandlingError||e-this.lastErrorTime<5e3)console.log("正在处理错误或错误处理间隔太短,跳过此次错误处理");else{this.isHandlingError=!0,this.lastErrorTime=e;try{const{code:e,message:s}=this.parseSocketError(t);switch(console.log("解析的错误信息:",{code:e,message:s}),e){case"1020":await this.handleConnectionLimitError();break;case"1021":this.handleServerLimitError(s);break;case"1022":this.handlePrincipalError(s);break;case"1023":this.handlePrincipalError(s);break;default:s.includes("连接数已达上限")||s.includes("本机连接数已达上限")?await this.handleConnectionLimitError():this.handleDisconnect();break}}catch(s){console.error("处理Socket错误时发生异常:",s),this.handleDisconnect()}finally{setTimeout((()=>{this.isHandlingError=!1}),2e3)}}},async handleConnectionLimitError(){console.log("检测到连接数上限错误,开始强制断开并重连..."),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.isWebSocketConnected=!1,this.connectionStatus="error",console.log("💡 检测到连接数上限,后台自动重连中...");try{this.forceDisconnectAll(),await new Promise((t=>setTimeout(t,3e3))),console.log("尝试重新连接..."),await this.initWebSocket(),this.isWebSocketConnected?console.log("✅ 客服连接已自动恢复正常"):console.error("❌ 客服连接重连失败")}catch(t){console.error("处理连接数上限错误失败:",t)}},handleServerLimitError(t){this.isWebSocketConnected=!1,this.connectionStatus="error",console.log("服务器连接数已达上限"),console.error("服务器繁忙,连接数已达上限"),this.reconnectTimer&&clearTimeout(this.reconnectTimer)},handlePrincipalError(t){this.isWebSocketConnected=!1,this.connectionStatus="error",console.log("用户身份验证失败:",t),console.error("身份验证失败:",t),this.reconnectTimer&&clearTimeout(this.reconnectTimer)},startConnectionVerification(){if(console.log("🔍 启动客服连接验证机制(被动验证)..."),console.log("当前连接状态:",this.connectionStatus),console.log("当前WebSocket连接状态:",this.isWebSocketConnected),console.log("当前STOMP连接状态:",this.stompClient?.connected),this.isConnectionVerified=!1,this.clearConnectionVerifyTimer(),"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("连接可能不可用"),this.handleConnectionVerificationFailure())}),this.connectionVerifyTimeout),console.log("⏲️ 已设置客服1分钟验证超时定时器")},markConnectionVerified(){this.isConnectionVerified?console.log("🔄 客服连接已经验证过了,跳过重复验证"):(console.log("🎉 客服连接验证成功!清除验证定时器"),this.isConnectionVerified=!0,this.clearConnectionVerifyTimer(),"connected"!==this.connectionStatus&&(console.log("📡 修正客服连接状态为connected"),this.connectionStatus="connected"))},handleConnectionVerificationFailure(){console.log("连接验证失败,连接可能无法正常收发消息");const t=Date.now();this.isHandlingError&&t-this.lastErrorTime<5e3?console.log("正在处理错误中,跳过重复处理"):(this.isHandlingError=!0,this.lastErrorTime=t,this.clearConnectionVerifyTimer(),this.isWebSocketConnected=!1,this.connectionStatus="error",setTimeout((()=>{if(console.log("连接验证失败,开始重新连接..."),this.isHandlingError=!1,this.stompClient)try{this.stompClient.disconnect()}catch(t){console.warn("断开连接时出错:",t)}this.initWebSocket().catch((t=>{console.error("重新连接失败:",t),this.isHandlingError=!1}))}),2e3))},async checkAndEnsureConnection(){return console.log("🔍 检查客服连接状态..."),this.updateLastActivityTime(),this.stompClient?this.stompClient.connected?this.stompClient.ws&&this.stompClient.ws.readyState!==WebSocket.OPEN?(console.log("❌ WebSocket底层连接异常,需要重新连接"),await this.reconnectForSend()):this.isWebSocketConnected&&"connected"===this.connectionStatus?(console.log("✅ 客服连接状态良好"),!0):(console.log("❌ 应用层连接状态异常,需要重新连接"),await this.reconnectForSend()):(console.log("❌ STOMP连接已断开,需要重新连接"),await this.reconnectForSend()):(console.log("❌ STOMP客户端不存在,需要重新连接"),await this.reconnectForSend())},async reconnectForSend(){try{return console.log("🔄 开始为发送消息重新连接..."),this.connectionStatus="connecting",this.forceDisconnectAll(),await new Promise((t=>setTimeout(t,1e3))),await this.initWebSocket(),this.isWebSocketConnected&&"connected"===this.connectionStatus?(console.log("✅ 重连成功"),!0):(console.log("❌ 重连失败"),console.error("❌ 重连失败"),!1)}catch(t){return console.error("重连过程异常:",t),console.error("❌ 连接异常"),!1}},isConnectionError(t){if(!t)return!1;const e=t.message||t.toString();return e.includes("ExecutorSubscribableChannel")||e.includes("NullPointerException")||e.includes("Failed to send message")||e.includes("connection")||e.includes("disconnect")||e.includes("websocket")||e.includes("STOMP")},async handleConnectionErrorInSend(t){console.log("🚨 发送消息时检测到连接错误:",t.message),console.log("🔄 连接已断开,正在重新连接..."),this.isWebSocketConnected=!1,this.connectionStatus="connecting";try{const t=await this.reconnectForSend();t&&console.log("✅ 发送消息时自动重连成功")}catch(e){console.error("🔄 客服自动重连失败:",e),this.connectionStatus="error"}},clearConnectionVerifyTimer(){this.connectionVerifyTimer?(console.log("🧹 清除客服连接验证定时器"),clearTimeout(this.connectionVerifyTimer),this.connectionVerifyTimer=null):console.log("🔍 没有需要清除的客服验证定时器")},startHeartbeat(){console.log("💓 启动客服心跳检测..."),this.stopHeartbeat(),this.heartbeatInterval=setInterval((()=>{this.isWebSocketConnected&&this.stompClient?.connected?this.sendHeartbeat():(console.warn("💔 客服心跳检测发现连接异常"),this.handleHeartbeatFailure())}),this.heartbeatTimeout),console.log(`💓 客服心跳检测已启动,间隔: ${this.heartbeatTimeout/1e3}秒`)},stopHeartbeat(){this.heartbeatInterval&&(console.log("💔 停止客服心跳检测"),clearInterval(this.heartbeatInterval),this.heartbeatInterval=null)},sendHeartbeat(){try{if(!this.stompClient?.connected)return console.warn("💔 STOMP未连接,无法发送心跳"),void this.handleHeartbeatFailure();this.stompClient.ws&&this.stompClient.ws.readyState===WebSocket.OPEN?(this.lastHeartbeatTime=Date.now(),this.updateLastActivityTime()):(console.warn("💔 WebSocket底层连接异常"),this.handleHeartbeatFailure())}catch(t){console.error("💔 客服心跳检测异常:",t),this.handleHeartbeatFailure()}},handleHeartbeatFailure(){console.warn("💔 客服心跳失败,开始重连..."),this.stopHeartbeat(),this.isWebSocketConnected=!1,this.connectionStatus="error",this.handleDisconnect()},startConnectionCheck(){console.log("🔍 启动客服连接状态检查..."),this.stopConnectionCheck(),this.connectionCheckInterval=setInterval((()=>{this.performConnectionCheck()}),this.connectionCheckTimeout),console.log(`🔍 客服连接状态检查已启动,间隔: ${this.connectionCheckTimeout/1e3}秒`)},stopConnectionCheck(){this.connectionCheckInterval&&(console.log("🔍 停止客服连接状态检查"),clearInterval(this.connectionCheckInterval),this.connectionCheckInterval=null)},performConnectionCheck(){const t=Date.now(),e=t-this.lastHeartbeatTime;return this.stompClient&&this.stompClient.connected&&this.isWebSocketConnected?e>18e4?(console.warn("🚨 客服连接状态检查:心跳超时"),void this.handleConnectionFailure("心跳超时")):this.stompClient.ws&&this.stompClient.ws.readyState!==WebSocket.OPEN?(console.warn("🚨 客服连接状态检查:WebSocket底层连接异常"),void this.handleConnectionFailure("WebSocket底层连接异常")):void 0:(console.warn("🚨 客服连接状态检查:基本连接异常"),void this.handleConnectionFailure("基本连接状态异常"))},handleConnectionFailure(t){console.warn(`🚨 客服连接失败: ${t}`);const e=Date.now();this.isHandlingError&&e-this.lastErrorTime<1e4?console.log("正在处理连接失败,跳过重复处理"):(this.isHandlingError=!0,this.lastErrorTime=e,this.stopHeartbeat(),this.stopConnectionCheck(),this.isWebSocketConnected=!1,this.connectionStatus="error",setTimeout((()=>{this.isHandlingError=!1,this.handleDisconnect()}),1e3))},forceDisconnectAll(){try{if(console.log("开始强制断开所有连接..."),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.clearConnectionVerifyTimer(),this.stopHeartbeat(),this.stopConnectionCheck(),this.stompClient){this.stompClient.subscriptions&&Object.keys(this.stompClient.subscriptions).forEach((t=>{try{this.stompClient.unsubscribe(t)}catch(e){console.log("取消订阅失败:",e)}}));try{this.stompClient.deactivate()}catch(t){console.log("断开连接失败:",t)}setTimeout((()=>{this.stompClient=null}),100)}this.isWebSocketConnected=!1,this.connectionStatus="disconnected",console.log("已强制断开所有连接")}catch(t){console.error("强制断开连接失败:",t),this.stompClient=null}},handleDisconnect(){this.isHandlingError?console.log("正在处理特殊错误,跳过普通断开处理"):(this.clearConnectionVerifyTimer(),this.stopHeartbeat(),this.stopConnectionCheck(),this.isWebSocketConnected=!1,this.connectionStatus="error",this.isConnectionVerified=!1,this.reconnectAttempts<this.maxReconnectAttempts?(this.reconnectAttempts++,console.log(`🔄 客服自动重连中 (${this.reconnectAttempts}/${this.maxReconnectAttempts})...`),this.reconnectTimer=setTimeout((()=>{this.isWebSocketConnected||this.isHandlingError||this.initWebSocket()}),this.reconnectInterval)):(console.log("❌ 达到最大重连次数,停止自动重连"),console.error("❌ 达到最大重连次数,连接失败")))},async checkAndReconnect(){this.isWebSocketConnected||(console.log("页面恢复可见,尝试重新连接..."),await this.initWebSocket())},startActivityCheck(){this.activityCheckInterval=setInterval((()=>{const t=Date.now(),e=t-this.lastActivityTime;e>144e5&&(console.log("客服系统:4小时无活动,断开连接防止僵尸连接"),this.disconnectWebSocket()),e>18e5&&e%18e5<6e4&&console.log(`客服系统:已无活动 ${Math.floor(e/6e4)} 分钟,连接状态:${this.connectionStatus}`)}),6e4)},updateLastActivityTime(){this.lastActivityTime=Date.now()},getUTCTime(){const t=new Date;return new Date(t.getTime()+6e4*t.getTimezoneOffset())},async sendMessage(){if("online"!==this.networkStatus)return void this.$message({message:this.$t("chat.networkError")||"网络连接已断开,无法发送消息",type:"error",showClose:!0});if(!this.inputMessage.trim()||!this.currentContact||this.sending)return;const t=this.inputMessage.trim();this.inputMessage="",this.sending=!0;try{const e=await this.checkAndEnsureConnection();if(!e)return console.log("客服连接检查失败,无法发送消息"),this.sending=!1,void(this.inputMessage=t);const s=void 0!==this.currentContact.sendUserType?this.currentContact.sendUserType:1,i={content:t,type:1,email:this.currentContact.name,receiveUserType:s,roomId:this.currentContactId};this.stompClient.send("/point/send/message/to/user",{},JSON.stringify(i));const a=(new Date).toISOString(),o=`local_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;console.log("📤 发送消息 - 立即添加到本地:",{currentContactId:this.currentContactId,currentContactName:this.currentContact?.name,messageContent:t,currentTime:a,localMessageId:o}),this.addMessageToChat({id:o,sender:this.$t("chat.my")||"我",avatar:"iconfont icon-icon28",content:t,time:a,isSelf:!0,isImage:!1,type:1,roomId:this.currentContactId,isLocalMessage:!0},!0),this.updateContactLastMessage({roomId:this.currentContactId,content:t,isImage:!1,time:a});const r=this.contacts.find((t=>t.roomId===this.currentContactId));r&&(r.unread=0),this.sending=!1,this.$nextTick((()=>{this.scrollToBottom()}))}catch(e){if(console.error("客服发送消息失败:",e),this.sending=!1,this.isConnectionError(e))console.log("检测到客服连接错误,开始重连..."),this.handleConnectionErrorInSend(e);else{const{code:t}=this.parseSocketError(e);if(["1020","1021","1022","1023"].includes(t))return;console.error("💬 客服发送消息错误详情:",e),e.message&&(e.message.includes("connection")||e.message.includes("WebSocket")||e.message.includes("STOMP"))?console.log("🔄 发送失败,触发自动重连机制"):(console.error("💬 发送消息失败,需要用户重试"),this.$message.error(this.$t("chat.failInSend")||"发送失败,请重试"))}}},formatMessageContent(t){return t?t.replace(/\n/g,"<br>"):""},subscribeToPersonalMessages(){this.stompClient&&this.wsConnected&&this.stompClient.subscribe(`/user/queue/${this.userEmail}`,this.handleIncomingMessage)},async handleIncomingMessage(t){try{console.log("🎉 客服收到消息,标记连接已验证"),this.markConnectionVerified(),this.updateLastActivityTime(),this.lastHeartbeatTime=Date.now();const e=JSON.parse(t.body);console.log("客服收到的消息",e);const s=e.createTime||e.sendTime;let i;i=s?"string"===typeof s&&s.includes("T")?s:"number"===typeof s||/^\d+$/.test(s)?new Date(parseInt(s)).toISOString():new Date(s).toISOString():(new Date).toISOString();const a={id:e.id,sender:e.sendUserType===this.userType&&e.sendEmail===this.userEmail?this.$t("chat.my")||"我":e.sendEmail||this.$t("chat.unknownSender")||"未知发送者",avatar:2===e.sendUserType?"iconfont icon-icon28":"iconfont icon-user",content:e.content,time:i,isSelf:e.sendUserType===this.userType&&e.sendEmail===this.userEmail,isImage:2===e.type,type:e.type,roomId:e.roomId,sendUserType:e.sendUserType,isCreate:e.isCreate,clientReadNum:e.clientReadNum};if(a.isSelf){const t=this.messages[a.roomId]||[],e=t.findIndex((t=>{if(!t.isLocalMessage||t.content!==a.content)return!1;const e=new Date(t.time).getTime(),s=new Date(a.time).getTime(),i=Math.abs(s-e);return i<3e4}));if(-1!==e)return void this.$set(t,e,{...t[e],id:a.id,time:a.time,isLocalMessage:!1});const s=this.checkDuplicateMessage(a);if(s)return}const o=this.contacts.find((t=>t.roomId===a.roomId));if(o)o.lastMessage=a.isImage?this.$t("chat.picture2")||"[图片]":a.content,o.lastTime=a.time;else{const t={roomId:a.roomId,name:a.sender,lastMessage:a.isImage?this.$t("chat.picture2")||"[图片]":a.content,lastTime:a.time,unread:a.isSelf?0:1,important:!1,isGuest:0===e.sendUserType,sendUserType:a.sendUserType,isManualCreated:!0};this.contacts.push(t),this.$set(this.messages,a.roomId,[])}if(this.messages[a.roomId]||this.$set(this.messages,a.roomId,[]),this.messages[a.roomId].push({id:a.id,sender:a.sender,avatar:a.avatar,content:a.content,time:a.time,isSelf:a.isSelf,isImage:a.isImage,type:a.type,roomId:a.roomId}),this.needsResort(this.messages[a.roomId])&&(this.messages[a.roomId]=this.sortMessages(this.messages[a.roomId])),a.roomId===this.currentContactId)if(this.userViewHistory){const t=this.contacts.find((t=>t.roomId===a.roomId));t&&(t.unread=a.clientReadNum||t.unread+1||1,this.setUnreadCount(a.roomId,t.unread))}else await this.markMessagesAsRead(a.roomId);else if(!a.isSelf){const t=this.contacts.find((t=>t.roomId===a.roomId));t&&(t.unread=a.clientReadNum||t.unread+1||1,this.setUnreadCount(a.roomId,t.unread))}this.sortContacts()}catch(e){console.error("处理新消息失败:",e)}},handleContactListScroll(t){const e=t.target;e.scrollHeight-e.scrollTop-e.clientHeight<2&&this.loadMoreContacts()},async loadMoreContacts(){if(this.isLoadingMoreContacts)return;const t=this.contacts[this.contacts.length-1];if(t){this.isLoadingMoreContacts=!0;try{const e=t=>{if(!t)return null;const e=new Date(t),s=e.getFullYear(),i=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0"),o=String(e.getHours()).padStart(2,"0"),r=String(e.getMinutes()).padStart(2,"0"),n=String(e.getSeconds()).padStart(2,"0");return`${s}-${i}-${a} ${o}:${r}:${n}`},s={sendDateTime:e(t.lastTime),userType:2,email:this.userEmail},a=await(0,i.getRoomList)(s);if(200===a?.code){const t=a.rows.map((t=>{const e=this.contacts.find((e=>e.roomId===t.id)),s=this.manualCreatedRooms.find((e=>e.roomId===t.id)),i=1===t.flag||0!==t.flag&&(1===t.important||!!e&&e.important),a=t.lastUserSendTime;let o;return o=a?"string"===typeof a&&a.includes("T")?a:"number"===typeof a||/^\d+$/.test(a)?new Date(parseInt(a)).toISOString():new Date(a).toISOString():(new Date).toISOString(),{roomId:t.id,name:t.userEmail||this.$t("chat.Unnamed")||"未命名聊天室",avatar:this.getDefaultAvatar(t.roomName||this.$t("chat.Unnamed")||"未命名聊天室"),lastMessage:t.lastMessage||(e?e.lastMessage:this.$t("chat.noNewsAtTheMoment")||"暂无消息"),lastTime:o,unread:e?.unread??t.clientReadNum??0,important:i,isManualCreated:!!s,sendUserType:t.sendUserType,isGuest:0===t.sendUserType}})),e=t.filter((t=>!this.contacts.some((e=>e.roomId===t.roomId))));e.length>0&&(this.contacts=[...this.contacts,...e],this.sortContacts())}else this.$message({message:this.$t("chat.contactFailed")||"加载更多联系人失败",type:"error",duration:3e3,showClose:!0})}catch(e){console.error("5858",e)}finally{this.isLoadingMoreContacts=!1}}},handleNewChatRoom(t){const e=this.contacts.find((e=>e.roomId===t.roomId));if(!e){const e={roomId:t.roomId,name:t.sender,lastMessage:t.isImage?this.$t("chat.picture2")||"[图片]":t.content,lastTime:t.time,unread:1,important:!1,isGuest:0===t.sendUserType,sendUserType:t.sendUserType,isManualCreated:!0,clientReadNum:t.clientReadNum};this.contacts.push(e),this.$set(this.messages,t.roomId,[]),this.messages[t.roomId].push({id:t.id,sender:t.sender,avatar:2===t.sendUserType?"iconfont icon-icon28":"iconfont icon-user",content:t.content,time:t.time,isSelf:!1,isImage:2===t.type,type:t.type,roomId:t.roomId}),this.needsResort(this.messages[t.roomId])&&(this.messages[t.roomId]=this.sortMessages(this.messages[t.roomId])),this.manualCreatedRooms.push(e),this.saveManualCreatedRooms(),this.sortContacts()}},saveManualCreatedRooms(){localStorage.setItem("manualCreatedRooms",JSON.stringify(this.manualCreatedRooms))},async loadManualCreatedRooms(){try{const t=localStorage.getItem("manualCreatedRooms");if(t){this.manualCreatedRooms=JSON.parse(t);for(const t of this.manualCreatedRooms){const e=this.contacts.find((e=>e.roomId===t.roomId));e||(this.contacts.push({...t,lastTime:t.lastTime||(new Date).toISOString()}),this.messages[t.roomId]||(this.$set(this.messages,t.roomId,[]),await this.loadMessages(t.roomId)))}this.sortContacts()}}catch(t){console.error("加载手动创建的聊天室失败:",t)}},async createNewChatRoom(t){try{const e=await createChatRoom({userEmail:t.sender,userType:t.sendUserType});if(e&&200===e.code){const s={userEmail:t.sender,roomId:e.data.roomId,lastMessage:t.content,lastMessageTime:t.time,unreadCount:t.clientReadNum||0,userType:t.sendUserType};return this.chatRooms.unshift(s),s}}catch(e){throw console.error("创建新聊天室失败:",e),e}},updateChatRoomList(t){const e=this.chatRooms.findIndex((e=>e.roomId===t.roomId));if(-1!==e){this.chatRooms[e]={...this.chatRooms[e],lastMessage:t.content,lastMessageTime:t.time,unreadCount:t.clientReadNum||this.chatRooms[e].unreadCount};const s=this.chatRooms.splice(e,1)[0];this.chatRooms.unshift(s)}},async markMessagesAsRead(t=this.currentContactId){if(t)try{const e={roomId:t,userType:2},s=await(0,i.getReadMessage)(e);if(s&&200===s.code){console.log("消息已标记为已读");const e=this.contacts.find((e=>e.roomId===t));e&&(e.unread=0,this.setUnreadCount(t,0))}else console.warn("标记消息已读失败",s)}catch(e){console.error("标记消息已读出错:",e)}},parseUTCTime(t){if(!t)return new Date;try{return new Date(t)}catch(e){return console.error("解析时间错误:",e),new Date}},async fetchRoomList(){try{this.loadingRooms=!0;const t={lastTime:null,userType:2,email:this.userEmail},e=await(0,i.getRoomList)(t);if(200===e?.code){const t=e.rows.map((t=>{const e=this.contacts.find((e=>e.roomId===t.id)),s=this.manualCreatedRooms.find((e=>e.roomId===t.id)),i=1===t.flag||0!==t.flag&&(1===t.important||!!e&&e.important),a=t.lastUserSendTime||t.createTime;let o;return o=a?"string"===typeof a&&a.includes("T")?a:"number"===typeof a||/^\d+$/.test(a)?new Date(parseInt(a)).toISOString():new Date(a).toISOString():(new Date).toISOString(),{roomId:t.id,name:t.userEmail||this.$t("chat.Unnamed")||"未命名聊天室",avatar:this.getDefaultAvatar(t.roomName||this.$t("chat.Unnamed")||"未命名聊天室"),lastMessage:t.lastMessage||(e?e.lastMessage:this.$t("chat.noNewsAtTheMoment")||"暂无消息"),lastTime:o,unread:e?.unread??t.clientReadNum??0,important:i,isManualCreated:!!s,sendUserType:t.sendUserType,isGuest:0===t.sendUserType}}));this.contacts=t,this.sortContacts()}}catch(t){if(t&&("canceled"===t.message||"Cancel"===t.message||t.message?.includes("canceled")))return;console.error("获取聊天室列表异常:",t),this.$message({message:this.$t("chat.listException")||"获取聊天室列表异常",type:"error",duration:3e3,showClose:!0})}finally{this.loadingRooms=!1}},async loadMoreHistory(){if(!this.currentContactId)return;const t=this.messages[this.currentContactId]||[];if(0===t.length)return this.hasMoreHistory=!1,void(this.noMoreHistoryMessage=this.$t("chat.noMoreHistory")||"没有更多历史消息");const e=this.getEarliestMessage(t);if(!e||!e.id)return this.hasMoreHistory=!1,void(this.noMoreHistoryMessage=this.$t("chat.noMoreHistory")||"没有更多历史消息");this.history7Params.id=e.id,this.history7Params.roomId=this.currentContactId,this.history7Params.email=this.userEmail;try{this.messagesLoading=!0;const t=await(0,i.getHistory7)(this.history7Params);if(!t||200!==t.code||!t.data||0===t.data.length)return this.hasMoreHistory=!1,void(this.noMoreHistoryMessage=this.$t("chat.noMoreHistory")||"没有更多历史消息");const e=t.data.filter((t=>t.roomId==this.currentContactId||String(t.roomId)===String(this.currentContactId)));if(0===e.length)return this.hasMoreHistory=!1,void(this.noMoreHistoryMessage=this.$t("chat.noMoreHistory")||"没有更多历史消息");let s=e.map((t=>({id:t.id,sender:1===t.isSelf?this.$t("chat.my")||"我":t.sendEmail||this.$t("chat.unknownSender")||"未知发送者",avatar:"iconfont icon-icon28",content:t.content,time:t.createTime,isSelf:1===t.isSelf,isImage:2===t.type,isRead:1===t.isRead,type:t.type,roomId:t.roomId})));const a=(this.messages[this.currentContactId]||[]).map((t=>t.id)),o=s.filter((t=>!a.includes(t.id)));if(0===o.length)return this.hasMoreHistory=!1,void(this.noMoreHistoryMessage=this.$t("chat.noMoreHistory")||"没有更多历史消息");s=this.sortMessages(o);const r=this.messages[this.currentContactId]||[];this.$set(this.messages,this.currentContactId,[...s,...r])}catch(s){console.error("加载更多历史消息失败:",s),this.$message.error(this.$t("chat.historicalFailure")||"加载更多历史消息失败")}finally{this.messagesLoading=!1}},async selectContact(t){if(this.currentContactId!==t){this.updateLastActivityTime();try{this.messagesLoading=!0,this.currentContactId=t,this.userViewHistory=!1,this.hasMoreHistory=!0,this.noMoreHistoryMessage="",this.history7Params={id:"",roomId:t,userType:2},await this.loadMessages(t),await this.markMessagesAsRead(t)}catch(e){console.error("选择联系人失败:",e),this.$message({message:this.$t("chat.loadFailed")||"加载失败",type:"error",duration:3e3,showClose:!0})}finally{this.messagesLoading=!1,this.$nextTick((()=>{this.scrollToBottom()}))}}},isAtBottom(){const t=this.$refs.messageContainer;return!t||t.scrollHeight-t.scrollTop-t.clientHeight<2},async loadMessages(t){if(t)try{console.log(this.userEmail,"加载聊天消息"),this.history7Params.email=this.userEmail,this.history7Params.roomId=t;const e=await(0,i.getHistory7)(this.history7Params);if(200===e?.code&&e.data){let s=e.data.filter((e=>e.roomId==t)).map((t=>({id:t.id,sender:1===t.isSelf?this.$t("chat.my")||"我":t.sendEmail||this.$t("chat.unknownSender")||"未知发送者",avatar:2==t.sendUserType?"iconfont icon-icon28":"iconfont icon-user",content:t.content,time:t.createTime,isSelf:1===t.isSelf,isImage:2===t.type,isRead:1===t.isRead,type:t.type,roomId:t.roomId,sendUserType:t.sendUserType})));s=this.sortMessages(s),this.$set(this.messages,t,s);const i=this.contacts.find((e=>e.roomId===t));if(i&&s.length>0){const t=s[s.length-1].time;i.lastTime=t}i&&(i.unread=0)}else this.$set(this.messages,t,[]),200!==e?.code&&this.$message({message:this.$t("chat.recordFailed")||"加载聊天记录失败",type:"error",duration:3e3,showClose:!0})}catch(e){console.error("加载消息异常:",e),this.$set(this.messages,t,[])}},checkDuplicateMessage(t){const e=this.messages[t.roomId];if(!e)return!1;if(t.id&&e.some((e=>e.id===t.id)))return console.log("🔍 发现相同ID的消息,判定为重复:",t.id),!0;const s=Date.now()-3e4,i=new Date(t.time).getTime();return e.some((e=>{if(e.isLocalMessage)return!1;if(!e.isSelf||e.content!==t.content)return!1;const a=new Date(e.time).getTime(),o=Math.abs(a-i),r=a>s,n=o<3e4;return!(!r||!n)&&(console.log("🔍 发现重复消息:",{existingTime:e.time,newTime:t.time,timeDiff:o,content:t.content.substring(0,50)}),!0)}))},addMessageToChat(t,e=!1){const s=t.roomId||this.currentContactId;this.messages[s]||this.$set(this.messages,s,[]);const i={id:t.id||Date.now(),sender:t.sender,avatar:t.avatar||(t.isSelf?"iconfont icon-icon28":"iconfont icon-user"),content:t.content,time:t.time||new Date,isSelf:t.isSelf,isImage:t.isImage||!1,type:t.type||1,roomId:s,isRead:t.isRead||!1,isLocalMessage:t.isLocalMessage||!1};this.messages[s].push(i),this.updateContactLastMessage({roomId:s,content:i.isImage?this.$t("chat.picture2")||"[图片]":i.content,isImage:i.isImage,time:i.time}),s===this.currentContactId&&(e?this.$nextTick((()=>{this.scrollToBottom(!0),this.userViewHistory=!1})):this.userViewHistory||this.$nextTick((()=>{this.scrollToBottom()})))},async handleImageUpload(t){if(!this.currentContact)return void this.$message({message:this.$t("chat.chooseFirst")||"请先选择联系人",type:"error",duration:3e3,showClose:!0});if(!this.stompClient||!this.isWebSocketConnected)return void this.$message({message:this.$t("chat.chatDisconnected")||"聊天连接已断开,请刷新页面重试",type:"error",duration:3e3,showClose:!0});const e=t.target.files[0];if(!e)return;if(!e.type.startsWith("image/"))return void this.$message({message:this.$t("chat.onlyImages")||"只能上传图片文件!",type:"error",duration:3e3,showClose:!0});const s=5242880;if(e.size>s)this.$message({message:this.$t("chat.imageTooLarge")||"图片大小不能超过5MB!",type:"error",duration:3e3,showClose:!0});else{this.sending=!0;try{console.log("📤 正在上传图片...");const t=new FormData;t.append("file",e);const s=await this.$axios({method:"post",url:"https://test.m2pool.com/api/pool/ticket/uploadFile",data:t,headers:{"Content-Type":"multipart/form-data"}});if(200!==s.data.code)throw new Error(s.data.msg||"上传失败");{const t=s.data.data.url;this.sendImageMessage(t),console.log("✅ 图片发送成功")}}catch(i){console.error("上传图片异常:",i),this.$message({message:this.$t("chat.pictureFailed")||"图片发送失败,请重试",type:"error",duration:3e3,showClose:!0})}finally{this.sending=!1,this.$refs.imageInput.value=""}}},async sendImageMessage(t){try{const e=await this.checkAndEnsureConnection();if(!e)return console.log("客服图片发送连接检查失败"),void console.error("❌ 连接异常,图片发送失败");const s={type:2,email:this.currentContact.name,receiveUserType:this.currentContact.sendUserType||1,roomId:this.currentContactId,content:t};this.stompClient.send("/point/send/message/to/user",{},JSON.stringify(s));const i=(new Date).toISOString(),a=`local_img_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;console.log("📤 发送图片 - 立即添加到本地:",{currentContactId:this.currentContactId,imageUrl:t,currentTime:i,localImageId:a}),this.addMessageToChat({id:a,sender:this.$t("chat.my")||"我",avatar:"iconfont icon-icon28",content:t,time:i,isSelf:!0,isImage:!0,type:2,roomId:this.currentContactId,isLocalMessage:!0},!0),this.updateContactLastMessage({roomId:this.currentContactId,content:t,isImage:!0,time:i})}catch(e){console.error("发送图片消息失败:",e),this.isConnectionError(e)?(console.log("图片发送时检测到连接错误,开始重连..."),this.handleConnectionErrorInSend(e)):(console.error("💬 图片发送失败,需要用户重试"),this.$message.error(this.$t("chat.pictureFailed")||"发送图片消息失败,请重试"))}},updateContactLastMessage(t){let e=this.contacts.find((e=>e.roomId===t.roomId));if(e||"string"!==typeof t.roomId||(e=this.contacts.find((e=>e.name&&e.name.includes(t.roomId)||e.roomId&&e.roomId.includes(t.roomId)))),e){const s=e.lastTime,i=t.time||(new Date).toISOString();e.lastMessage=t.isImage?this.$t("chat.picture2")||"[图片]":t.content,e.lastTime=i,console.log("⚡ updateContactLastMessage - 执行时间更新:",{contactName:e.name,roomId:t.roomId,oldTime:s,newTime:i,messageTime:t.time,isImage:t.isImage,contactsTotal:this.contacts.length}),this.$set(e,"lastTime",i),this.$set(e,"lastMessage",e.lastMessage),this.sortContacts(),this.$nextTick((()=>{this.$forceUpdate()}))}else console.error("❌ updateContactLastMessage - 未找到联系人:",{searchRoomId:t.roomId,messageContent:t.content,allContacts:this.contacts.map((t=>({roomId:t.roomId,name:t.name,lastTime:t.lastTime})))})},incrementUnreadCount(t,e=1){const s=this.contacts.find((e=>e.roomId===t));s&&(s.unread=e>1?e:(s.unread||0)+1)},previewImage(t){this.previewImageUrl=t,this.previewVisible=!0},async toggleImportant(t,e){if(t)try{const s=await(0,i.getUpdateRoom)({id:t,flag:e?1:0});if(s&&200===s.code){const s=this.contacts.find((e=>e.roomId===t));s&&(s.important=e),this.sortContacts(),console.log(e?"✅ 已标记为重要聊天":"✅ 已取消重要标记")}else this.$message({message:s?.msg||this.$t("chat.markingFailed")||"标记操作失败",type:"error",duration:3e3,showClose:!0})}catch(s){console.error("标记聊天状态异常:",s)}},parseTimeForSort(t){if(!t)return Date.now();let e;if("string"===typeof t){let s=t;s.includes("Z")||s.includes("+")||s.includes("-")||(s+="Z"),e=new Date(s).getTime()}else e=t instanceof Date?t.getTime():Date.now();return isNaN(e)&&(e=Date.now()),e},fixContactTimes(){this.contacts.forEach((t=>{if(!t.lastTime){const e=(new Date).toISOString();console.warn("🔧 修复联系人空时间:",{contactName:t.name,roomId:t.roomId,fixedTime:e}),this.$set(t,"lastTime",e)}}))},sortContacts(){this.fixContactTimes(),this.contacts=this.sortContactsByTime(this.contacts)},scrollToBottom(t=!1){const e=this.$refs.messageContainer;e&&this.$nextTick((()=>{setTimeout((()=>{const s={top:e.scrollHeight,behavior:t?"auto":"smooth"};try{e.scrollTo(s)}catch(i){e.scrollTop=e.scrollHeight}t&&(this.showScrollButton=!1)}),100)}))},showMessageTime(t){if(0===t)return!0;const e=this.currentMessages[t],s=this.currentMessages[t-1];if(!e.time||!s.time)return!1;const i=new Date(e.time).getTime(),a=new Date(s.time).getTime(),o=(i-a)/6e4;return o>5},formatTime(t){if(!t)return"";let e="";if("string"===typeof t&&t.includes("T"))e=t;else if(t instanceof Date)e=t.toISOString();else if("number"===typeof t||/^\d+$/.test(t))try{const s=new Date(parseInt(t));if(isNaN(s.getTime()))return String(t);e=s.toISOString()}catch(d){return String(t)}else try{const s=new Date(t);if(isNaN(s.getTime()))return String(t);e=s.toISOString()}catch(d){return String(t)}const[s,i]=e.split("T");if(!i)return e;const[a,o]=i.split(":"),r=new Date,n=r.toISOString().split("T")[0],l=s;if(n===l)return`UTC ${this.$t("chat.today")} ${a}:${o}`;const c=new Date(Date.now()-864e5).toISOString().split("T")[0];return c===l?`UTC ${this.$t("chat.yesterday")} ${a}:${o}`:`UTC ${s} ${a}:${o}`},formatLastTime(t){if(!t)return"";try{if("string"===typeof t&&t.includes("T")){const[e,s]=t.split("T");if(e&&s){const t=s.split(":").slice(0,2).join(":");return`UTC ${e} ${t}`}}else if(t instanceof Date){const e=t.toISOString(),[s,i]=e.split("T");if(s&&i){const t=i.split(":").slice(0,2).join(":");return`UTC ${s} ${t}`}}else if("number"===typeof t||/^\d+$/.test(t)){const e=new Date(parseInt(t));if(!isNaN(e.getTime())){const t=e.toISOString(),[s,i]=t.split("T");if(s&&i){const t=i.split(":").slice(0,2).join(":");return`UTC ${s} ${t}`}}}const e=new Date(t);if(!isNaN(e.getTime())){const t=e.toISOString(),[s,i]=t.split("T");if(s&&i){const t=i.split(":").slice(0,2).join(":");return`UTC ${s} ${t}`}}return String(t)}catch(e){return console.error("格式化时间失败:",e),String(t)}},getDefaultAvatar(t){if(!t)return"";const e=["#4CAF50","#9C27B0","#FF5722","#2196F3","#FFC107","#607D8B","#E91E63"],s=Math.abs(t.charCodeAt(0))%e.length,i=(e[s],t.charAt(0).toUpperCase());return i},handleScroll(){const t=this.$refs.messageContainer;t&&(this.updateLastActivityTime(),this.showScrollButton=!this.isAtBottom(),this.isAtBottom()?(this.userViewHistory=!1,this.markMessagesAsRead(this.currentContactId)):this.userViewHistory=!0)},async loadHistory(){if(this.loadingHistory=!0,this.userViewHistory=!0,this.currentContactId)try{this.messagesLoading=!0;const t=this.messages[this.currentContactId]||[];if(0===t.length)return void this.$message({message:this.$t("chat.noMoreHistory")||"没有更多历史消息",type:"warning",duration:3e3,showClose:!0});const e=this.getEarliestMessage(t);if(!e||!e.id)return void this.$message({message:this.$t("chat.noMoreHistory")||"没有更多历史消息",type:"warning",duration:3e3,showClose:!0});this.history7Params.id=e.id,console.log("🕐 小时钟加载历史消息 - 使用最早消息ID:",{totalMessages:t.length,earliestMessageId:e.id,earliestMessageTime:e.time}),this.history7Params.roomId=this.currentContactId,this.history7Params.email=this.userEmail;const s=await(0,i.getHistory7)(this.history7Params);if(console.log("📡 loadHistory - 小时钟接口响应详情:",{responseCode:s?.code,hasData:!!s?.data,dataLength:s?.data?.length||0,currentContactId:this.currentContactId,requestParams:this.history7Params}),s&&200===s.code&&s.data){console.log("📦 loadHistory - 小时钟原始数据:",s.data);const t=s.data.filter((t=>t.roomId==this.currentContactId||String(t.roomId)===String(this.currentContactId)));console.log("🔍 loadHistory - 小时钟过滤后数据:",{originalCount:s.data.length,filteredCount:t.length,targetRoomId:this.currentContactId,messageRoomIds:s.data.map((t=>t.roomId)).slice(0,5)});let e=t.map((t=>({id:t.id,sender:t.sendEmail,avatar:"iconfont icon-icon28",content:t.content,time:t.createTime,isSelf:1===t.isSelf,isImage:2===t.type,isRead:1===t.isRead,type:t.type,roomId:t.roomId})));console.log("🔄 loadHistory - 小时钟处理后消息:",{processedCount:e.length,messageIds:e.map((t=>t.id)),messageTimes:e.map((t=>t.time)).slice(0,3)});const i=(this.messages[this.currentContactId]||[]).map((t=>t.id)),a=e.map((t=>t.id)),o=a.filter((t=>i.includes(t)));if(console.log("🔍 loadHistory - 小时钟重复消息检查:",{currentMessageCount:i.length,newHistoryCount:a.length,duplicateCount:o.length,duplicateIds:o}),0===e.length)return console.warn("⚠️ loadHistory - 小时钟过滤后无消息,设置无更多历史状态"),this.hasMoreHistory=!1,void(this.noMoreHistoryMessage=this.$t("chat.noMoreHistory")||"没有更多历史消息");const r=e.filter((t=>!i.includes(t.id)));if(console.log("✂️ loadHistory - 小时钟去重后消息:",{originalCount:e.length,uniqueCount:r.length,removedDuplicates:e.length-r.length}),0===r.length)return console.warn("⚠️ loadHistory - 小时钟去重后无新消息,设置无更多历史状态"),this.hasMoreHistory=!1,void(this.noMoreHistoryMessage=this.$t("chat.noMoreHistory")||"没有更多历史消息");e=r,e=this.sortMessages(e);const n=this.messages[this.currentContactId]||[];this.$set(this.messages,this.currentContactId,[...e,...n]),console.log("✅ loadHistory - 小时钟历史消息加载完成:",{loadedCount:e.length,totalCount:this.messages[this.currentContactId].length})}else console.warn("⚠️ loadHistory - 小时钟接口返回无数据,设置无更多历史状态"),this.hasMoreHistory=!1,this.noMoreHistoryMessage=this.$t("chat.noMoreHistory")||"没有更多历史消息"}catch(t){console.error("加载历史消息异常:",t),this.$message({message:this.$t("chat.historicalFailure")||"加载历史消息失败,请重试",type:"error",duration:3e3,showClose:!0})}finally{this.messagesLoading=!1,this.loadingHistory=!1}},async refreshMessages(){this.currentContactId&&await this.loadMessages(this.currentContactId)},openImageUpload(){this.currentContact&&this.$refs.imageInput.click()},convertToUTC(t){if(!t)return null;const e=new Date(t);return new Date(e.getTime()-6e4*e.getTimezoneOffset())},convertToLocal(t){if(!t)return null;const e=new Date(t);return new Date(e.getTime()+6e4*e.getTimezoneOffset())},fixToUTC(t){return"string"!==typeof t||t.endsWith("Z")||/[+-]\d{2}:?\d{2}$/.test(t)?t:t+"Z"},sortMessages(t){return!t||t.length<=1?t:t.sort(((t,e)=>{if(t.id&&e.id){const s=parseInt(t.id),i=parseInt(e.id);if(!isNaN(s)&&!isNaN(i)){const t=s-i;if(0!==t)return t}}const s=t.time?new Date(t.time).getTime():0,i=e.time?new Date(e.time).getTime():0;return s-i}))},needsResort(t){if(!t||t.length<=1)return!1;const e=Math.min(5,t.length),s=t.slice(-e);for(let i=1;i<s.length;i++){const t=s[i-1],e=s[i];if(t.id&&e.id){if(parseInt(t.id)>parseInt(e.id))return!0}else{const s=new Date(t.time).getTime(),i=new Date(e.time).getTime();if(s>i)return!0}}return!1},getEarliestMessage(t){if(!t||0===t.length)return console.warn("⚠️ getEarliestMessage: 消息数组为空"),null;console.log("🔍 查找最早消息:",{totalCount:t.length,messageIds:t.map((t=>t.id)).slice(0,5),messageTimes:t.map((t=>t.time)).slice(0,3)});const e=t.filter((t=>{const e=parseInt(t.id);return t.id&&!isNaN(e)&&e>0}));if(e.length>0){const t=e.reduce(((t,e)=>{const s=parseInt(t.id),i=parseInt(e.id);return i<s?e:t}));return console.log("✅ 使用ID最小的消息:",{messageId:t.id,messageTime:t.time,content:t.content?.substring(0,30)+"..."}),t}console.log("⚠️ 没有有效ID,降级使用时间最早的消息");const s=t.reduce(((t,e)=>{const s=new Date(t.time||0).getTime(),i=new Date(e.time||0).getTime();return i<s?e:t}));return console.log("✅ 使用时间最早的消息:",{messageTime:s.time,content:s.content?.substring(0,30)+"...",hasId:!!s.id}),s},sortContactsByTime(t){return t.sort(((t,e)=>{if(t.important&&!e.important)return-1;if(!t.important&&e.important)return 1;const s=this.parseTimeForSort(t.lastTime),i=this.parseTimeForSort(e.lastTime);return i-s}))},debugHistoryLoading(){console.log("🔍 历史消息加载调试信息:"),console.log("当前联系人ID:",this.currentContactId,typeof this.currentContactId),console.log("当前消息数量:",this.messages[this.currentContactId]?.length||0),console.log("历史消息状态:",{hasMoreHistory:this.hasMoreHistory,noMoreHistoryMessage:this.noMoreHistoryMessage}),console.log("请求参数:",this.history7Params);const t=this.messages[this.currentContactId]||[];if(t.length>0){const e=this.getEarliestMessage(t);console.log("最早消息:",e),console.log("消息ID分布:",t.map((t=>({id:t.id,time:t.time}))).slice(0,10))}return{currentContactId:this.currentContactId,messageCount:t.length,hasMoreHistory:this.hasMoreHistory,noMoreHistoryMessage:this.noMoreHistoryMessage,requestParams:this.history7Params,earliestMessage:this.getEarliestMessage(t)}},getUnreadStorageKey(t){return`cs_unread_${t}`},getUnreadCount(t){const e=this.getUnreadStorageKey(t);return parseInt(localStorage.getItem(e),10)||0},setUnreadCount(t,e){const s=this.getUnreadStorageKey(t);localStorage.setItem(s,String(e))},handleStorageChange(t){if(t.key&&t.key.startsWith("cs_unread_")){const e=t.key.replace("cs_unread_",""),s=parseInt(t.newValue,10)||0,i=this.contacts.find((t=>t.roomId==e));i&&(i.unread=s)}},handleNetworkChange(){this.networkStatus=navigator.onLine?"online":"offline",navigator.onLine&&location.reload()}},beforeDestroy(){this.stompClient&&this.stompClient.connected&&this.stompClient.disconnect((()=>{console.log("WebSocket 已断开连接")})),this.disconnectWebSocket(),this.$refs.messageContainer&&this.$refs.messageContainer.removeEventListener("scroll",this.handleScroll),this.visibilityHandler&&document.removeEventListener("visibilitychange",this.visibilityHandler),this.activityCheckInterval&&clearInterval(this.activityCheckInterval),this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.activityEvents&&this.activityHandler&&this.activityEvents.forEach((t=>{document.removeEventListener(t,this.activityHandler,!0)})),this.clearConnectionVerifyTimer(),this.stopHeartbeat(),this.stopConnectionCheck(),window.removeEventListener("storage",this.handleStorageChange),window.removeEventListener("online",this.handleNetworkChange),window.removeEventListener("offline",this.handleNetworkChange)}}},17037:function(t,e,s){s.r(e),s.d(e,{__esModule:function(){return a.B},default:function(){return l}});var i=s(92216),a=s(35899),o=a.A,r=s(81656),n=(0,r.A)(o,i.XX,i.Yp,!1,null,"195e0320",null),l=n.exports},17308:function(t,e,s){var i=s(3999)["default"];Object.defineProperty(e,"B",{value:!0}),e.A=void 0;var a=i(s(77452));e.A={mixins:[a.default]}},18244:function(t,e,s){s.r(e),s.d(e,{__esModule:function(){return a.B},default:function(){return l}});var i=s(92524),a=s(55603),o=a.A,r=s(81656),n=(0,r.A)(o,i.XX,i.Yp,!1,null,"1324c172",null),l=n.exports},23389:function(t,e,s){s.r(e),s.d(e,{__esModule:function(){return a.B},default:function(){return l}});var i=s(23819),a=s(95664),o=a.A,r=s(81656),n=(0,r.A)(o,i.XX,i.Yp,!1,null,"7b2f7ae5",null),l=n.exports},23819:function(t,e){e.Yp=e.XX=void 0;e.XX=function(){var t=this,e=t._self._c;return e("div",{staticClass:"rate"},[t.$isMobile?e("section",{staticClass:"rateMobile"},[e("h4",[t._v(t._s(t.$t("course.allocationExplanation")))]),e("div",{staticClass:"tableBox"},[e("div",{staticClass:"table-title"},[e("span",{attrs:{title:t.$t("course.currency")}},[t._v(t._s(t.$t("course.currency")))]),e("span",{attrs:{title:t.$t("course.condition")}},[t._v(t._s(t.$t("course.condition")))])]),e("el-collapse",{attrs:{accordion:""}},t._l(t.rateList,(function(s){return e("el-collapse-item",{key:s.value,attrs:{name:s.value}},[e("template",{slot:"title"},[e("div",{staticClass:"collapseTitle"},[e("span",[e("img",{attrs:{src:s.img,alt:"coin",loading:"lazy"}}),t._v(" "+t._s(s.label))]),e("span",[t._v(t._s(t.$t(s.condition)))])])]),e("section",{staticClass:"contentBox2"},[e("div",{staticClass:"belowTable"},[e("div",[e("p",[t._v(t._s(t.$t("course.interval")))]),e("p",[t._v(t._s(t.$t(s.interval))+" ")])])]),e("div",{staticClass:"belowTable"},[e("div",[e("p",[t._v(t._s(t.$t("course.estimatedTime")))]),e("p",[t._v(t._s(t.$t(s.estimatedTime)))])])]),e("div",{staticClass:"belowTable describe"},[e("div",[e("p",[t._v(t._s(t.$t("course.describe")))]),e("p",[t._v(t._s(t.$t(s.describe))+" ")])])])])],2)})),1)],1)]):e("section",{staticClass:"rateBox"},[e("section",{staticClass:"rightText"},[e("h2",[t._v(t._s(t.$t("course.allocationExplanation")))]),e("section",{staticClass:"table"},[e("div",{staticClass:"tableTitle"},[e("span",{staticClass:"coin"},[t._v(t._s(t.$t("course.currency")))]),e("span",[t._v(t._s(t.$t("course.condition")))]),e("span",[t._v(t._s(t.$t("course.interval")))]),e("span",[t._v(t._s(t.$t("course.estimatedTime")))]),e("span",{staticClass:"describe"},[t._v(t._s(t.$t("course.describe")))])]),e("ul",t._l(t.rateList,(function(s){return e("li",{key:s.value},[e("span",{staticClass:"coin"},[e("img",{attrs:{src:s.img,alt:"coin",loading:"lazy"}}),t._v(" "+t._s(s.label))]),e("span",[t._v(t._s(t.$t(s.condition)))]),e("span",[t._v(t._s(t.$t(s.interval)))]),e("span",[t._v(t._s(t.$t(s.estimatedTime)))]),e("span",{staticClass:"describe"},[t._v(t._s(t.$t(s.describe)))])])})),0)])])])])},e.Yp=[]},35221:function(t,e,s){var i=s(3999)["default"];Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0,s(44114),s(18111),s(22489),s(20116),s(13579);i(s(86425));var a=i(s(35720)),o=s(11503);e["default"]={data(){return{imgSrc:"https://studio.glassnode.com/images/crypto-icons/btc.png",navLabel:"Bitcoin (BTC)",userName:"LX",from:{title:"",kinds:"",description:"",radio:""},kindsList:[{value:"购买咨询",label:"购买咨询"},{value:"财务咨询",label:"财务咨询"},{value:"网页问题",label:"网页问题"},{value:"账户问题",label:"账户问题"},{value:"移动端问题",label:"移动端问题"},{value:"消息订阅",label:"消息订阅"},{value:"指标数据问题",label:"指标数据问题"},{value:"其他",label:"其他"}],params:[],input:1,tableData:[{num:1,time:"2022-09-01 16:00",problem:"账户问题",questionTitle:"账户不能登录",state:"已解决"}],textarea:"我是提交内容",textarea1:"我是回复内容",textarea2:"",replyInput:!0,ticketDetails:{id:"",type:"",title:"",userName:"",desc:"",responName:"",respon:"",submitTime:"",status:"",fileIds:"",files:"",responTime:""},fileList:[],fileType:["jpg","jpeg","png","mp3","aif","aiff","wav","wma","mp4","avi","rmvb"],fileSize:20,fileLimit:3,headers:{"Content-Type":"multipart/form-data"},FormDatas:null,filesId:[],paramsDownload:{id:""},paramsResponTicket:{id:"",files:"",respon:""},paramsAuditTicket:{id:"",msg:""},paramsSubmitAuditTicket:{id:""},identity:{},detailsID:"",downloadUrl:"",workOrderId:"",recordList:[],replyParams:{id:"",respon:"",files:""},totalDetailsLoading:!1,faultList:[],statusList:[{value:1,label:"work.pendingProcessing"},{value:2,label:"work.processed"},{value:10,label:"work.completeWK"}],typeList:[],machineCoding:"",warrantyList:[],closeDialogVisible:!1,lang:"zh"}},mounted(){this.lang=this.$i18n.locale,this.workOrderId=localStorage.getItem("totalID"),this.fetchTicketDetails({id:this.workOrderId}),this.registerRecoveryMethod("fetchTicketDetails",{id:this.workOrderId})},methods:{async fetchBKendTicket(t){this.setLoading("totalDetailsLoading",!0);const e=await(0,o.getBKendTicket)(t);e&&200==e.code&&(this.$message({message:this.$t("work.WKend"),type:"success"}),this.$router.push(`/${this.lang}/workOrderBackend`)),this.setLoading("totalDetailsLoading",!1)},async fetchReply(t){this.setLoading("totalDetailsLoading",!0);const e=await(0,o.getReply)(t);if(e&&200==e.code){this.$message({message:this.$t("work.submitted"),type:"success"});for(const t in this.replyParams)this.replyParams[t]="";this.fileList=[],this.fetchTicketDetails({id:this.workOrderId})}this.setLoading("totalDetailsLoading",!1)},handelType2(t){if(t)return this.typeList.find((e=>e.name==t)).label},handelStatus2(t){try{if(t){let e=this.statusList.find((e=>e.value==t)).label;return this.$t(e)}}catch{return""}},handelPhenomenon(t){if(t)return this.faultList.find((e=>e.id==t)).label},async fetchTicketDetails(t){this.setLoading("totalDetailsLoading",!0);const{data:e}=await(0,o.getDetails)(t);this.recordList=e.list,this.ticketDetails=e,this.setLoading("totalDetailsLoading",!1)},downloadExcel(t){this.downloadUrl=` ${a.default.defaults.baseURL}pool/ticket/downloadFile?ids=${t}`;let e=document.createElement("a");e.href=this.downloadUrl,e.click()},handelChange(t,e){const s=t.name.slice(t.name.lastIndexOf(".")+1).toLowerCase(),i=this.fileType.includes(s),a=t.size/1024/1024<=this.fileSize;if(!i)return this.$message.error(`${this.$t("work.notSupported")}${s}`),this.fileList=this.fileList.filter((e=>e.name!=t.name)),!1;if(!a)return this.fileList=this.fileList.filter((e=>e.name!=t.name)),this.$message.error(`${this.$t("work.notSupported2")} ${this.fileSize} MB.`),!1;let o=this.fileList.some((e=>e.name==t.name));if(o)return this.$message.warning(this.$t("work.notSupported3")),this.$refs.upload.handleRemove(t),!1;this.fileList.push(t.raw)},handleRemove(t,e){let s=this.fileList.indexOf(t);-1!==s&&this.fileList.splice(s,1)},handleExceed(){this.$message({type:"warning",message:this.$t("work.notSupported4")})},handelDownload(t){if(t){this.downloadUrl=` ${a.default.defaults.baseURL}pool/ticket/downloadFile?ids=${t}`;let e=document.createElement("a");e.href=this.downloadUrl,e.click()}},handleSuccess(){},handelTime(t){if(t&&t.includes("T"))return`${t.split("T")[0]} ${t.split("T")[1].split(".")[0]}`},handelResubmit(){if(!this.replyParams.respon)return console.log(),void this.$message({message:this.$t("work.replyContent2"),type:"error",customClass:"messageClass"});this.replyParams.id=this.ticketDetails.id,this.fetchReply(this.replyParams)},handelEnd(){this.closeDialogVisible=!0},handleClose(){this.closeDialogVisible=!1},confirmCols(){this.fetchBKendTicket({id:this.ticketDetails.id})}}}},35899:function(t,e){Object.defineProperty(e,"B",{value:!0}),e.A=void 0;e.A={metaInfo:{meta:[{name:"keywords",content:"服务条款,用户权益,权利义务,Terms of Service, User Rights, Rights and Obligations"},{name:"description",content:window.vm.$t("seo.ServiceTerms")}]}}},36425:function(t,e,s){var i=s(3999)["default"];Object.defineProperty(e,"B",{value:!0}),e.A=void 0;var a=i(s(67975));e.A={mixins:[a.default]}},43421:function(t,e,s){Object.defineProperty(e,"B",{value:!0}),e.A=void 0,s(44114);e.A={metaInfo:{meta:[{name:"keywords",content:"API 文档,认证 token,接口调用,API documentation, authentication tokens, interface calls"},{name:"description",content:window.vm.$t("seo.apiFile")}]},data(){return{}},mounted(){},methods:{handelJump(t){const e=this.$i18n.locale,s=t.startsWith("/")?t.slice(1):t;this.$router.push(`/${e}/${s}`)}}}},48548:function(t,e){e.Yp=e.XX=void 0;e.XX=function(){var t=this,e=t._self._c;return e("div",{staticClass:"rate"},[t.$isMobile?e("section",{staticClass:"rateMobile"},[e("section",{staticClass:"rightText"},[e("h3",[t._v(t._s(t.$t("apiFile.file")))]),e("div",{staticClass:"content"},[e("h4",[t._v(t._s(t.$t("apiFile.survey")))]),e("p",[t._v(t._s(t.$t("apiFile.survey1")))]),e("p",[t._v(t._s(t.$t("apiFile.survey2")))])]),e("div",{staticClass:"content"},[e("h3",[t._v(t._s(t.$t("apiFile.apiAuthentication")))]),e("p",[t._v(t._s(t.$t("apiFile.apiAuthentication1"))+" "),e("span",{staticStyle:{color:"#651FFF",cursor:"pointer"},on:{click:function(e){return t.handelJump("personalCenter/personalAPI")}}},[t._v(t._s(t.$t("apiFile.apiAuthentication5")))]),t._v(" "+t._s(t.$t("apiFile.apiAuthentication6")))]),e("p",[t._v(t._s(t.$t("apiFile.apiAuthentication2")))]),e("p",[t._v(t._s(t.$t("apiFile.apiAuthentication3")))]),e("p",[t._v(t._s(t.$t("apiFile.apiAuthentication4")))]),t._m(0)]),e("div",{staticClass:"ExampleTable"},[e("div",{staticClass:"title"},[e("span",[t._v(t._s(t.$t("apiFile.url")))]),t._v(" "),e("span",[t._v(t._s(t.$t("apiFile.explain")))])]),e("div",[e("code",[t._v("https://m2pool.com/oapi/v1/pool/watch?coin={coin}")]),e("span",[t._v(t._s(t.$t("apiFile.explain1")))])]),e("div",[e("code",[t._v("https://m2pool.com/oapi/v1/pool/ hashrate_history?coin={coin}&start={yyyy-MM-dd}&end={yyyy-MM-dd }")]),e("span",[t._v(t._s(t.$t("apiFile.explain2")))])])]),e("div",{staticClass:"text-container"},[e("p",[t._v(t._s(t.$t("apiFile.explain3")))]),e("div",{staticClass:"container"},[e("p",[t._v("{")]),e("p",{staticStyle:{color:"crimson"}},[t._v('"code": {ERR_CODE},')]),e("p",[t._v(' "msg": "'+t._s(t.$t("apiFile.explain4"))+'"')]),e("p",[t._v("}")])])]),e("div",{staticClass:"text-container"},[e("p",[t._v(t._s(t.$t("apiFile.explain5")))]),t._m(1),e("p",[t._v(t._s(t.$t("apiFile.explain6")))])]),e("section",{staticClass:"MiningPool",attrs:{id:"HashRate"}},[e("h3",[t._v(t._s(t.$t("apiFile.miningPoolInformation")))]),e("div",{staticClass:"Pool"},[e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation1")))]),e("p",{staticClass:"hash"},[t._v("HashRate")]),e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation2")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("date")]),e("td",[t._v("Date")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.powerStatistics")))])]),e("tr",[e("td",[t._v("hashrate")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.power")))])])])]),e("div",{staticClass:"Pool",attrs:{id:"MinersList"}},[e("p",{staticClass:"hash"},[t._v("MinersList")]),e("p",[t._v(t._s(t.$t("apiFile.minersNum")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("total")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.totalMiners")))])]),e("tr",[e("td",[t._v("online")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.onLineMiners")))])]),e("tr",[e("td",[t._v("offline")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.offLineMiners")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.overviewOfMiningPool")))]),e("p",{staticClass:"Interface"},[t._v("Get /oapi/v1/pool/watch")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" pool")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("pool_fee")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.serviceCharge")))])]),e("tr",[e("td",[t._v("min_pay")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.minimumPaymentAmount")))])]),e("tr",[e("td",[t._v("miners")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.onLineMiners")))])]),e("tr",[e("td",[t._v("history_last_7days")]),t._m(2),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.latelyPower24h")))])]),e("tr",[e("td",[t._v("hashrate")]),e("td",[t._v("Double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Power24h")))])]),e("tr",[e("td",[t._v("last_found")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.height")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.currentMiners")))]),e("p",{staticClass:"Interface"},[t._v("Get /oapi/v1/pool/miners_list")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" pool")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("miners_list")]),t._m(3),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.eachState")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.realTimePower")))]),e("p",{staticClass:"Interface"},[t._v("Get /oapi/v1/pool/hashrate")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" pool")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_realtime")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower30m")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+" (h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.historyPower")))]),e("p",{staticClass:"Interface"},[t._v("Get /oapi/v1/pool/hashrate_history")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" pool")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("start")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.start2")))]),e("td",[t._v(t._s(t.$t("apiFile.start")))])]),e("tr",[e("td",[t._v("end")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.end2")))]),e("td",[t._v(t._s(t.$t("apiFile.end")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_30m")]),t._m(4),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.historyPower30m")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),t._m(5),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.historyPower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])])]),e("section",{staticClass:"MiningPool",attrs:{id:"accountHashRate"}},[e("h3",[t._v(t._s(t.$t("apiFile.miningAccount")))]),e("div",{staticClass:"Pool"},[e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation1")))]),e("p",{staticClass:"hash"},[t._v("HashRate")]),e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation2")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("date")]),e("td",[t._v("Date")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.powerStatistics")))])]),e("tr",[e("td",[t._v("hashrate")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.power")))])])])]),e("div",{staticClass:"Pool",attrs:{id:"accountList"}},[e("p",{staticClass:"hash"},[t._v("MinersList")]),e("p",[t._v(t._s(t.$t("apiFile.minerData")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("total")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.totalMiners")))])]),e("tr",[e("td",[t._v("online")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.onLineMiners")))])]),e("tr",[e("td",[t._v("offline")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.offLineMiners")))])])])]),e("div",{staticClass:"Pool",attrs:{id:"MinerInfo"}},[e("p",{staticClass:"hash"},[t._v("MinerInfo")]),e("p",[t._v(t._s(t.$t("apiFile.stateData")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("miner")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.minerId")))])]),e("tr",[e("td",[t._v("state")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.minerStatus"))),e("br"),t._v(" "+t._s(t.$t("apiFile.minerStatus0"))),e("br"),t._v(" "+t._s(t.$t("apiFile.minerStatus1"))),e("br"),t._v(" "+t._s(t.$t("apiFile.minerStatus2")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.overviewOfMiners")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/watch")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("miners_list")]),t._m(6),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.eachState")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.allMiners")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/miners_list")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("miners_list")]),t._m(7),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.eachState")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.realTimeAccount")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/hashrate_real")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_realtime")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower30m")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.account24h")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/hashrate_history")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])]),e("tr",[e("td",[t._v("start")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.start2")))]),e("td",[t._v(t._s(t.$t("apiFile.start")))])]),e("tr",[e("td",[t._v("end")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.end2")))]),e("td",[t._v(t._s(t.$t("apiFile.end")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),t._m(8),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.historyPower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.account24h30m")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/hashrate_last24h")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_30m")]),t._m(9),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.average24h30m")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])])]),e("section",{staticClass:"MiningPool",attrs:{id:"minerHashRate"}},[e("h3",[t._v(t._s(t.$t("apiFile.miningMachineInformation")))]),e("div",{staticClass:"Pool"},[e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation1")))]),e("p",{staticClass:"hash"},[t._v("HashRate")]),e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation2")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("date")]),e("td",[t._v("Date")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.powerStatistics")))])]),e("tr",[e("td",[t._v("hashrate")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.power")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.realTimeMiningMachine")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/miner/hashrate_real")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" miner")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])]),e("tr",[e("td",[t._v("miner")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.aCertainMiner")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_realtime")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower30m")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.miningMachineHistory24h")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/miner/hashrate_history")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" miner")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])]),e("tr",[e("td",[t._v("miner")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.aCertainMiner")))])]),e("tr",[e("td",[t._v("start")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.start2")))]),e("td",[t._v(t._s(t.$t("apiFile.start")))])]),e("tr",[e("td",[t._v("end")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.end2")))]),e("td",[t._v(t._s(t.$t("apiFile.end")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),t._m(10),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.historyPower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v(" string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.realTimeMiningMachine24h30m")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/miner/hashrate_last24h")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" miner")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])]),e("tr",[e("td",[t._v("miner")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.aCertainMiner")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_30m")]),t._m(11),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.average24h30m")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])])])])]):e("section",{staticClass:"rateBox"},[e("section",{staticClass:"leftMenu"},[e("ul",[e("li",[e("i",{staticClass:"iconfont icon-baogao file"}),t._v(t._s(t.$t("apiFile.leftMenu"))+" ")])])]),e("section",{staticClass:"rightText"},[e("h2",[t._v(t._s(t.$t("apiFile.file")))]),e("div",{staticClass:"content"},[e("h3",[t._v(t._s(t.$t("apiFile.survey")))]),e("p",[t._v(t._s(t.$t("apiFile.survey1")))]),e("p",[t._v(t._s(t.$t("apiFile.survey2")))])]),e("div",{staticClass:"content"},[e("h3",[t._v(t._s(t.$t("apiFile.apiAuthentication")))]),e("p",[t._v(t._s(t.$t("apiFile.apiAuthentication1"))+" "),e("span",{staticStyle:{color:"#651FFF",cursor:"pointer"},on:{click:function(e){return t.handelJump("personalCenter/personalAPI")}}},[t._v(t._s(t.$t("apiFile.apiAuthentication5")))]),t._v(" "+t._s(t.$t("apiFile.apiAuthentication6")))]),e("p",[t._v(t._s(t.$t("apiFile.apiAuthentication2")))]),e("p",[t._v(t._s(t.$t("apiFile.apiAuthentication3")))]),e("p",[t._v(t._s(t.$t("apiFile.apiAuthentication4")))]),t._m(12)]),e("div",{staticClass:"ExampleTable"},[e("div",{staticClass:"title"},[e("span",[t._v(t._s(t.$t("apiFile.url")))]),t._v(" "),e("span",[t._v(t._s(t.$t("apiFile.explain")))])]),e("div",[e("span",[t._v("https://m2pool.com/oapi/v1/pool/watch?coin={coin}")]),e("span",[t._v(t._s(t.$t("apiFile.explain1")))])]),e("div",[e("span",[t._v("https://m2pool.com/oapi/v1/pool/ hashrate_history?coin={coin}&start={yyyy-MM-dd}&end={yyyy-MM-dd }")]),e("span",[t._v(t._s(t.$t("apiFile.explain2")))])])]),e("div",{staticClass:"text-container"},[e("p",[t._v(t._s(t.$t("apiFile.explain3")))]),e("div",{staticClass:"container"},[e("p",[t._v("{")]),e("p",{staticStyle:{color:"crimson"}},[t._v('"code": {ERR_CODE},')]),e("p",[t._v(' "msg": "'+t._s(t.$t("apiFile.explain4"))+'"')]),e("p",[t._v("}")])])]),e("div",{staticClass:"text-container"},[e("p",[t._v(t._s(t.$t("apiFile.explain5")))]),t._m(13),e("p",[t._v(t._s(t.$t("apiFile.explain6")))])]),e("section",{staticClass:"MiningPool",attrs:{id:"HashRate"}},[e("h3",[t._v(t._s(t.$t("apiFile.miningPoolInformation")))]),e("div",{staticClass:"Pool"},[e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation1")))]),e("p",{staticClass:"hash"},[t._v("HashRate")]),e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation2")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("date")]),e("td",[t._v("Date")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.powerStatistics")))])]),e("tr",[e("td",[t._v("hashrate")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.power")))])])])]),e("div",{staticClass:"Pool",attrs:{id:"MinersList"}},[e("p",{staticClass:"hash"},[t._v("MinersList")]),e("p",[t._v(t._s(t.$t("apiFile.minersNum")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("total")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.totalMiners")))])]),e("tr",[e("td",[t._v("online")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.onLineMiners")))])]),e("tr",[e("td",[t._v("offline")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.offLineMiners")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.overviewOfMiningPool")))]),e("p",{staticClass:"Interface"},[t._v("Get /oapi/v1/pool/watch")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" pool")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("pool_fee")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.serviceCharge")))])]),e("tr",[e("td",[t._v("min_pay")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.minimumPaymentAmount")))])]),e("tr",[e("td",[t._v("miners")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.onLineMiners")))])]),e("tr",[e("td",[t._v("history_last_7days")]),t._m(14),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.latelyPower24h")))])]),e("tr",[e("td",[t._v("hashrate")]),e("td",[t._v("Double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Power24h")))])]),e("tr",[e("td",[t._v("last_found")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.height")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.currentMiners")))]),e("p",{staticClass:"Interface"},[t._v("Get /oapi/v1/pool/miners_list")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" pool")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("miners_list")]),t._m(15),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.eachState")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.realTimePower")))]),e("p",{staticClass:"Interface"},[t._v("Get /oapi/v1/pool/hashrate")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" pool")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_realtime")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower30m")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+" (h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.historyPower")))]),e("p",{staticClass:"Interface"},[t._v("Get /oapi/v1/pool/hashrate_history")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" pool")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("start")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.start2")))]),e("td",[t._v(t._s(t.$t("apiFile.start")))])]),e("tr",[e("td",[t._v("end")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.end2")))]),e("td",[t._v(t._s(t.$t("apiFile.end")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_30m")]),t._m(16),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.historyPower30m")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),t._m(17),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.historyPower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])])]),e("section",{staticClass:"MiningPool",attrs:{id:"accountHashRate"}},[e("h3",[t._v(t._s(t.$t("apiFile.miningAccount")))]),e("div",{staticClass:"Pool"},[e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation1")))]),e("p",{staticClass:"hash"},[t._v("HashRate")]),e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation2")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("date")]),e("td",[t._v("Date")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.powerStatistics")))])]),e("tr",[e("td",[t._v("hashrate")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.power")))])])])]),e("div",{staticClass:"Pool",attrs:{id:"accountList"}},[e("p",{staticClass:"hash"},[t._v("MinersList")]),e("p",[t._v(t._s(t.$t("apiFile.minerData")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("total")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.totalMiners")))])]),e("tr",[e("td",[t._v("online")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.onLineMiners")))])]),e("tr",[e("td",[t._v("offline")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.offLineMiners")))])])])]),e("div",{staticClass:"Pool",attrs:{id:"MinerInfo"}},[e("p",{staticClass:"hash"},[t._v("MinerInfo")]),e("p",[t._v(t._s(t.$t("apiFile.stateData")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("miner")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.minerId")))])]),e("tr",[e("td",[t._v("state")]),e("td",[t._v("int")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.minerStatus"))),e("br"),t._v(" "+t._s(t.$t("apiFile.minerStatus0"))),e("br"),t._v(" "+t._s(t.$t("apiFile.minerStatus1"))),e("br"),t._v(" "+t._s(t.$t("apiFile.minerStatus2")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.overviewOfMiners")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/watch ")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("miners_list")]),t._m(18),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.eachState")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.allMiners")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/miners_list")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("miners_list")]),t._m(19),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.eachState")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.realTimeAccount")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/hashrate_real")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_realtime")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower30m")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.account24h")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/hashrate_history")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])]),e("tr",[e("td",[t._v("start")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.start2")))]),e("td",[t._v(t._s(t.$t("apiFile.start")))])]),e("tr",[e("td",[t._v("end")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.end2")))]),e("td",[t._v(t._s(t.$t("apiFile.end")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),t._m(20),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.historyPower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.account24h30m")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/account/hashrate_last24h")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" account")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_30m")]),t._m(21),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.average24h30m")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])])]),e("section",{staticClass:"MiningPool",attrs:{id:"minerHashRate"}},[e("h3",[t._v(t._s(t.$t("apiFile.miningMachineInformation")))]),e("div",{staticClass:"Pool"},[e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation1")))]),e("p",{staticClass:"hash"},[t._v("HashRate")]),e("p",[t._v(t._s(t.$t("apiFile.miningPoolInformation2")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("date")]),e("td",[t._v("Date")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.powerStatistics")))])]),e("tr",[e("td",[t._v("hashrate")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.power")))])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.realTimeMiningMachine")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/miner/hashrate_real")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" miner")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])]),e("tr",[e("td",[t._v("miner")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.aCertainMiner")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_realtime")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower30m")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),e("td",[t._v("double")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.averagePower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.miningMachineHistory24h")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/miner/hashrate_history")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" miner")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])]),e("tr",[e("td",[t._v("miner")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.aCertainMiner")))])]),e("tr",[e("td",[t._v("start")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.start2")))]),e("td",[t._v(t._s(t.$t("apiFile.start")))])]),e("tr",[e("td",[t._v("end")]),e("td",[t._v("string")]),e("td",[t._v(t._s(t.$t("apiFile.end2")))]),e("td",[t._v(t._s(t.$t("apiFile.end")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_24h")]),t._m(22),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.historyPower24h")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v(" string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])]),e("div",{staticClass:"Pool"},[e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.realTimeMiningMachine24h30m")))]),e("p",{staticClass:"Interface"},[t._v("Post /oapi/v1/miner/hashrate_last24h")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.jurisdiction"))+" miner")]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.parameter")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("coin")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.currency")))])]),e("tr",[e("td",[t._v("mining_user")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.accountApiKey")))])]),e("tr",[e("td",[t._v("miner")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.aCertainMiner")))])])]),e("p",{staticClass:"hash"},[t._v(t._s(t.$t("apiFile.response")))]),e("table",{attrs:{border:"1"}},[e("tr",[e("th",[t._v(t._s(t.$t("apiFile.name")))]),e("th",[t._v(t._s(t.$t("apiFile.type")))]),e("th",[t._v(t._s(t.$t("apiFile.remarks")))]),e("th",[t._v(t._s(t.$t("apiFile.Explain")))])]),e("tr",[e("td",[t._v("hashrate_30m")]),t._m(23),e("td",[t._v("repeated")]),e("td",[t._v(t._s(t.$t("apiFile.average24h30m")))])]),e("tr",[e("td",[t._v("unit")]),e("td",[t._v("string")]),e("td"),e("td",[t._v(t._s(t.$t("apiFile.Company"))+"(h/s, kh/s, mh/s, gh/s …)")])])])])])])])])},e.Yp=[function(){var t=this,e=t._self._c;return e("ul",[e("li",[t._v("curl --request GET {url} \\")]),e("li",[t._v("--header 'Content-Type: application/json' \\")]),e("li",[t._v("--header 'API-KEY: {token}'")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"container"},[e("p",[t._v("{")]),e("p",{staticStyle:{color:"green"}},[t._v('"code": 200,')]),e("p",[t._v('"data": object')]),e("p",[t._v("}")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#HashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#MinersList"}},[t._v("MinersList")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#HashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#HashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#accountList"}},[t._v("MinersList")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#MinerInfo"}},[t._v("MinerInfo")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#accountHashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#accountHashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#minerHashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#minerHashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("ul",[e("li",[t._v("curl --request GET {url} \\")]),e("li",[t._v("--header 'Content-Type: application/json' \\")]),e("li",[t._v("--header 'API-KEY: {token}'")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"container"},[e("p",[t._v("{")]),e("p",{staticStyle:{color:"green"}},[t._v('"code": 200,')]),e("p",[t._v('"data": object')]),e("p",[t._v("}")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#HashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#MinersList"}},[t._v("MinersList")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#HashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#HashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#accountList"}},[t._v("MinersList")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#MinerInfo"}},[t._v("MinerInfo")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#accountHashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#accountHashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#minerHashRate"}},[t._v("HashRate")])])},function(){var t=this,e=t._self._c;return e("td",{staticClass:"active"},[e("a",{attrs:{href:"#minerHashRate"}},[t._v("HashRate")])])}]},48818:function(t,e,s){s.r(e),s.d(e,{__esModule:function(){return a.B},default:function(){return l}});var i=s(48548),a=s(43421),o=a.A,r=s(81656),n=(0,r.A)(o,i.XX,i.Yp,!1,null,"456e1b62",null),l=n.exports},50600:function(t,e,s){e.Yp=e.XX=void 0;e.XX=function(){var t=this,e=t._self._c;return e("div",{staticClass:"dataMain"},[e("section",{staticClass:"content"},[e("p",{staticClass:"title2"},[t._v(t._s(t.$t("chooseUs.why")))]),e("section",{staticClass:"topBox"},[e("div",{staticClass:"top top1"},[e("div",{staticClass:"icon"},[e("img",{staticStyle:{width:"45px"},attrs:{src:s(16712),alt:"wallet",loading:"lazy"}}),e("h4",[t._v(t._s(t.$t("chooseUs.title1")))])]),e("p",[t._v(" "+t._s(t.$t("chooseUs.text1")))])]),e("div",{staticClass:"top top2"},[e("div",{staticClass:"icon"},[e("img",{attrs:{src:s(21525),alt:"security",loading:"lazy"}}),e("h4",[t._v(t._s(t.$t("chooseUs.title2")))])]),e("p",[t._v(" "+t._s(t.$t("chooseUs.text2")))])]),e("div",{staticClass:"top top3"},[e("div",{staticClass:"icon"},[e("img",{attrs:{src:s(84441),alt:"customer service",loading:"lazy"}}),e("h4",[t._v(t._s(t.$t("chooseUs.title3")))])]),e("p",[t._v(" "+t._s(t.$t("chooseUs.text3")))])])])])])},e.Yp=[]},55603:function(t,e,s){var i=s(3999)["default"];Object.defineProperty(e,"B",{value:!0}),e.A=void 0;i(s(86425));var a=i(s(35221));e.A={mixins:[a.default],mounted(){},methods:{}}},58253:function(t,e){e.Yp=e.XX=void 0;e.XX=function(){var t=this,e=t._self._c;return e("div",{staticClass:"cs-chat-container"},["offline"===t.networkStatus?e("div",{staticClass:"network-status"},[e("i",{staticClass:"el-icon-warning"}),e("span",[t._v(t._s(t.$t("chat.networkError")||"网络连接已断开"))])]):t._e(),"connected"!==t.connectionStatus?e("div",{staticClass:"connection-status",class:t.connectionStatus},[e("i",{class:"error"===t.connectionStatus?"el-icon-warning":"el-icon-loading"}),e("span",[t._v(t._s("error"===t.connectionStatus?t.$t("chat.Disconnected")||"连接已断开":t.$t("chat.reconnecting")||"正在连接...")+" ")])]):t._e(),e("div",{staticClass:"cs-chat-wrapper"},[e("div",{staticClass:"cs-contact-list"},[e("div",{staticClass:"cs-header"},[e("i",{staticClass:"el-icon-s-custom"}),t._v(" "+t._s(t.$t("chat.contactList")||"联系列表")+" ")]),e("div",{staticClass:"cs-search"},[e("el-input",{attrs:{"prefix-icon":"el-icon-search",placeholder:t.$t("chat.search")||"搜索最近联系人",clearable:""},model:{value:t.searchText,callback:function(e){t.searchText=e},expression:"searchText"}})],1),e("div",{staticClass:"cs-contacts"},t._l(t.filteredContacts,(function(s,i){return e("div",{key:i,staticClass:"cs-contact-item",class:{active:t.currentContactId===s.roomId},attrs:{title:s.name},on:{click:function(e){return t.selectContact(s.roomId)}}},[e("div",{staticClass:"cs-avatar"},[e("i",{staticClass:"iconfont icon-icon28",staticStyle:{"font-size":"1.5vw"}}),s.unread?e("span",{staticClass:"unread-badge"},[t._v(t._s(s.unread))]):t._e(),s.isGuest?e("span",{staticClass:"guest-badge"},[t._v(t._s(t.$t("chat.tourist")||"游客"))]):t._e()]),e("div",{staticClass:"cs-contact-info"},[e("div",{staticClass:"cs-contact-name"},[t._v(" "+t._s(s.name)+" ")]),e("div",{staticClass:"cs-contact-msg"},[s.important?e("span",{staticClass:"important-tag"},[t._v("["+t._s(t.$t("chat.important")||"重要")+"] ")]):t._e()]),e("div",[e("span",{staticClass:"cs-contact-time",attrs:{title:s.lastTime}},[t._v(t._s(t.formatLastTime(s.lastTime)))])])]),e("div",{staticClass:"important-star",class:{"is-important":s.important},attrs:{title:t.$t("chat.markAsImportant")||"标记为重要聊天"},on:{click:function(e){return e.stopPropagation(),t.toggleImportant(s.roomId,!s.important)}}},[e("i",{staticClass:"el-icon-star-on"})])])})),0)]),e("div",{staticClass:"cs-chat-area"},[e("div",{staticClass:"cs-chat-header"},[e("div",{staticClass:"cs-chat-title"},[t._v(" "+t._s(t.currentContact?t.currentContact.name:t.$t("chat.chooseFirst")||"请选择联系人")+" "),t.currentContact&&t.currentContact.important?e("el-tag",{attrs:{size:"small",type:"danger"},on:{click:function(e){return t.toggleImportant(t.currentContact.roomId,!t.currentContact.important)}}},[t._v(" "+t._s(t.$t("chat.important")||"重要")+" ")]):t.currentContact?e("el-tag",{attrs:{size:"small",type:"info"},on:{click:function(e){return t.toggleImportant(t.currentContact.roomId,!t.currentContact.important)}}},[t._v(" "+t._s(t.$t("chat.markAsImportant")||"标记为重要")+" ")]):t._e()],1),e("div",{staticClass:"cs-header-actions"},[e("i",{staticClass:"el-icon-time",attrs:{title:t.$t("chat.history")||"历史记录"},on:{click:t.loadMoreHistory}})])]),e("div",{ref:"messageContainer",staticClass:"cs-chat-messages",on:{scroll:t.handleScroll}},[t.currentContact?[t.currentMessages.length>0?e("div",{staticClass:"history-section"},[t.hasMoreHistory?e("div",{staticClass:"history-indicator",staticStyle:{cursor:"pointer","text-align":"center",color:"#409eff","margin-bottom":"10px","font-size":"0.7vw"},on:{click:t.loadMoreHistory}},[e("i",{staticClass:"el-icon-arrow-up"}),e("span",[t._v(t._s(t.$t("chat.loadMore")||"加载更多历史消息"))])]):e("div",{staticClass:"no-more-history",staticStyle:{"text-align":"center",color:"#909399","margin-bottom":"10px","font-size":"0.7vw",padding:"8px 0"}},[e("i",{staticClass:"el-icon-info"}),e("span",[t._v(t._s(t.noMoreHistoryMessage||t.$t("chat.noMoreHistory")||"没有更多历史消息"))])])]):t._e(),t.messagesLoading?e("div",{staticClass:"cs-loading"},[e("i",{staticClass:"el-icon-loading"}),e("p",[t._v(t._s(t.$t("chat.loading")||"加载消息中..."))])]):0===t.currentMessages.length?e("div",{staticClass:"cs-empty-chat"},[e("i",{staticClass:"el-icon-chat-line-round"}),e("p",[t._v(t._s(t.$t("chat.None")||"暂无消息记录"))])]):e("div",{staticClass:"cs-message-list"},t._l(t.currentMessages,(function(s,i){return e("div",{key:i,staticClass:"cs-message",class:{"cs-message-self":s.isSelf}},[t.showMessageTime(i)?e("div",{staticClass:"cs-message-time"},[t._v(" "+t._s(t.formatTime(s.time))+" ")]):t._e(),e("div",{staticClass:"cs-message-content"},[t._m(0,!0),e("div",{staticClass:"cs-bubble"},[e("div",{staticClass:"cs-sender"},[t._v(t._s(s.sender))]),s.isImage?e("div",{staticClass:"cs-image"},[e("img",{attrs:{src:s.content},on:{click:function(e){return t.previewImage(s.content)}}})]):e("div",{staticClass:"cs-text",domProps:{innerHTML:t._s(t.formatMessageContent(s.content))}})])])])})),0)]:e("div",{staticClass:"cs-empty-chat"},[e("i",{staticClass:"el-icon-chat-dot-round"}),e("p",[t._v(t._s(t.$t("chat.notSelected")||"您尚未选择联系人"))])])],2),e("div",{staticClass:"cs-chat-input"},[e("div",{staticClass:"cs-toolbar"},[e("i",{staticClass:"el-icon-picture-outline",attrs:{title:t.$t("chat.sendPicture")||"发送图片"},on:{click:t.openImageUpload}}),e("input",{ref:"imageInput",staticStyle:{display:"none"},attrs:{type:"file",accept:"image/*"},on:{change:t.handleImageUpload}})]),e("div",{staticClass:"cs-input-area"},[e("el-input",{attrs:{type:"textarea",rows:3,maxlength:400,disabled:!t.currentContact,placeholder:t.$t("chat.inputMessage")||"请输入消息,按Enter键发送,按Ctrl+Enter键换行"},nativeOn:{keydown:function(e){return t.handleKeyDown.apply(null,arguments)}},model:{value:t.inputMessage,callback:function(e){t.inputMessage=e},expression:"inputMessage"}})],1),e("div",{staticClass:"cs-send-area"},[e("span",{staticClass:"cs-counter"},[t._v(t._s(t.inputMessage.length)+"/400")]),e("el-button",{attrs:{type:"primary",disabled:!t.currentContact||!t.inputMessage.trim()||t.sending},on:{click:t.sendMessage}},[t.sending?e("i",{staticClass:"el-icon-loading"}):e("span",[t._v(t._s(t.$t("chat.send")||"发送"))])])],1)])])]),t.showScrollButton?e("div",{staticClass:"scroll-to-bottom",on:{click:function(e){return t.scrollToBottom(!0)}}},[t._v(" "+t._s(t.$t("chat.bottom")||"回到底部")+" "),e("i",{staticClass:"el-icon-arrow-down"})]):t._e(),e("el-dialog",{staticClass:"image-preview-dialog",attrs:{visible:t.previewVisible,"append-to-body":""},on:{"update:visible":function(e){t.previewVisible=e}}},[e("img",{staticClass:"preview-image",attrs:{src:t.previewImageUrl,alt:t.$t("chat.Preview")||"预览图片"}})])],1)},e.Yp=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"cs-avatar"},[e("i",{staticClass:"iconfont icon-icon28",staticStyle:{"font-size":"2vw"}})])}]},63683:function(t,e,s){s.r(e),s.d(e,{__esModule:function(){return a.B},default:function(){return l}});var i=s(91312),a=s(17308),o=a.A,r=s(81656),n=(0,r.A)(o,i.XX,i.Yp,!1,null,"ec5988d8",null),l=n.exports},66888:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;e["default"]={data(){return{rateList:[{value:"nexa",label:"nexa",img:`${this.$baseApi}img/nexa.png`,condition:"course.conditionNexa",interval:"course.intervalNexa",estimatedTime:"course.estimatedTimeNexa",describe:"course.describeNexa"},{value:"grs",label:"grs",img:`${this.$baseApi}img/grs.svg`,condition:"course.conditionGrs",interval:"course.intervalGrs",estimatedTime:"course.estimatedTimeGrs",describe:"course.describeGrs"},{value:"mona",label:"mona",img:`${this.$baseApi}img/mona.svg`,condition:"course.conditionMona",interval:"course.intervalMona",estimatedTime:"course.estimatedTimeMona",describe:"course.describeMona"},{value:"dgbs",label:"dgb(skein)",img:`${this.$baseApi}img/dgb.svg`,condition:"course.conditionDgbs",interval:"course.intervalDgbs",estimatedTime:"course.estimatedTimeDgbs",describe:"course.describeDgbs"},{value:"dgbq",label:"dgb(qubit)",img:`${this.$baseApi}img/dgb.svg`,condition:"course.conditionDgbq",interval:"course.intervalDgbq",estimatedTime:"course.estimatedTimeDgbq",describe:"course.describeDgbq"},{value:"dgbo",label:"dgb(odocrypt)",img:`${this.$baseApi}img/dgb.svg`,condition:"course.conditionDgbo",interval:"course.intervalDgbo",estimatedTime:"course.estimatedTimeDgbo",describe:"course.describeDgbo"},{value:"rxd",label:"radiant",img:`${this.$baseApi}img/rxd.png`,condition:"course.conditionRxd",interval:"course.intervalRxd",estimatedTime:"course.estimatedTimeRxd",describe:"course.describeRxd"},{value:"enx",label:"Entropyx(enx)",img:`${this.$baseApi}img/enx.svg`,condition:"course.conditionEnx",interval:"course.intervalEnx",estimatedTime:"course.estimatedTimeEnx",describe:"course.describeEnx"},{value:"alph",label:"alephium",img:`${this.$baseApi}img/alph.svg`,condition:"course.conditionAlph",interval:"course.intervalAlph",estimatedTime:"course.estimatedTimeAlph",describe:"course.describeAlph"}]}}}},67975:function(t,e,s){Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;e["default"]={data(){return{currencyList:[{value:"nexa",label:"nexa",img:s(95194),imgUrl:`${this.$baseApi}img/nexa.png`,poolPower:"565656",totalPower:"5656",totalDifficulty:"879789",algorithm:"545",height:"898989",price:"3333 USD",describe:"NEXA 全名为NEXA Coin。它的主要目标是建立一个安全、高效的去中心化数字资产交易生态系统,提供更好的交易体验和丰富的金融服务。"},{value:"grs",label:"grs",img:s(78628),imgUrl:`${this.$baseApi}img/grs.svg`,poolPower:"565656",totalPower:"5656",totalDifficulty:"879789",algorithm:"545",height:"898989",price:"3333 USD",describe:"GRS全称为Grscoin,也称为Groestlcoin。它于2014年创立,采用Groestl算法,旨在提供更快速、更节能的交易环境"},{value:"mona",label:"mona",img:s(85857),imgUrl:`${this.$baseApi}img/mona.svg`,poolPower:"565656",totalPower:"5656",totalDifficulty:"879789",algorithm:"545",height:"898989",price:"3333 USD",describe:"Mona币(Monacoin),中文名为萌奈币,是2013年12月诞生的日本第一个数字货币。Mona币采用Scrypt算法和Proof of Work机制,旨在成为一种广泛接受的数字货币,主要用于日本的在线交易、游戏和文化产业。"},{value:"dgbs",label:"dgb(skein)",img:s(94045),imgUrl:`${this.$baseApi}img/dgb.svg`,poolPower:"565656",totalPower:"5656",totalDifficulty:"879789",algorithm:"545",height:"898989",price:"3333 USD",describe:"DGB币(DigiByte)是一种全球性的去中心化支付网络和数字货币,灵感来源于比特币 DGB币的中文名称为“极特币”,其设计理念是提供一个快速、安全且低成本的交易平台"},{value:"dgbq",label:"dgb(qubit)",img:s(94045),imgUrl:`${this.$baseApi}img/dgb.svg`,poolPower:"565656",totalPower:"5656",totalDifficulty:"879789",algorithm:"545",height:"898989",price:"3333 USD",describe:"DGB币(DigiByte)是一种全球性的去中心化支付网络和数字货币,灵感来源于比特币 DGB币的中文名称为“极特币”,其设计理念是提供一个快速、安全且低成本的交易平台"},{value:"dgbo",label:"dgb(odocrypt)",img:s(94045),imgUrl:`${this.$baseApi}img/dgb.svg`,poolPower:"565656",totalPower:"5656",totalDifficulty:"879789",algorithm:"545",height:"898989",price:"3333 USD",describe:"DGB币(DigiByte)是一种全球性的去中心化支付网络和数字货币,灵感来源于比特币 DGB币的中文名称为“极特币”,其设计理念是提供一个快速、安全且低成本的交易平台"},{value:"rxd",label:"radiant",img:s(94158),imgUrl:`${this.$baseApi}img/rxd.png`,poolPower:"565656",totalPower:"5656",totalDifficulty:"879789",algorithm:"545",height:"898989",price:"3333 USD",describe:"Radiant币(RDNT)是Radiant Capital项目的原生代币,主要用于借款利息支付、流动性挖矿释放以及提前提款的罚金.Radiant Capital是一个建立在Arbitrum上的跨链借贷协议平台,旨在发展成为一个跨链借贷市场,允许用户在多个区块链上进行借贷操作"}]}}}},77452:function(t,e,s){Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var i=s(90929),a=s(82908);e["default"]={data(){return{receiveData:{img:"",maId:"",coin:"",ma:""},dialogVisible:!1,params:{email:"",remark:"",code:"",maId:""},tableData:[{email:"5656"}],alertsLoading:!1,addMinerLoading:!1,btnDisabled:!1,btnDisabledClose:!1,btnDisabledPassword:!1,bthText:"user.obtainVerificationCode",bthTextClose:"user.obtainVerificationCode",bthTextPassword:"user.obtainVerificationCode",time:"",countDownTime:60,timer:null,countDownTimeClose:60,timerclose:null,countDownTimePassword:60,timerPassword:null,listParams:{maId:"",limit:10,page:1},modifyDialogVisible:!1,modifyRemark:"",modifyParams:{id:"",remark:""},deleteLoading:!1,userEmail:""}},computed:{countDownPassword(){Math.floor(this.countDownTimePassword/60);const t=this.countDownTimePassword%60,e=t<10?"0"+t:t;return`${e}`}},created(){window.sessionStorage.getItem("alerts_time")&&(this.countDownTimePassword=Number(window.sessionStorage.getItem("alerts_time")),this.startCountDownPassword(),this.btnDisabledPassword=!0,this.bthTextPassword="user.again")},mounted(){let t=localStorage.getItem("userEmail");this.userEmail=JSON.parse(t),window.addEventListener("setItem",(()=>{let t=localStorage.getItem("userEmail");this.userEmail=JSON.parse(t)})),this.params.email=this.userEmail,this.$route.query&&(this.receiveData=this.$route.query,this.listParams.maId=this.receiveData.id,this.params.maId=this.receiveData.id),this.fetchList(this.listParams),this.registerRecoveryMethod("fetchList",this.listParams)},methods:{getImageUrl(t){return(0,a.getImageUrl)(t)},async fetchAddNoticeEmail(t){this.setLoading("addMinerLoading",!0);const e=await(0,i.getAddNoticeEmail)(t);if(e&&200==e.code){this.$message({type:"success",message:this.$t("alerts.addedSuccessfully")}),this.fetchList(this.listParams),this.dialogVisible=!1;for(const t in this.params)"maId"!==t&&(this.params[t]="")}this.setLoading("addMinerLoading",!1)},async fetchList(t){this.setLoading("alertsLoading",!0);const e=await(0,i.getList)(t);e&&200==e.code&&(this.tableData=e.rows),this.setLoading("alertsLoading",!1)},async fetchCode(t){const e=await(0,i.getCode)(t);e&&200==e.code&&this.$message({type:"success",message:this.$t("user.verificationCodeSuccessful")})},async fetchUpdateInfo(t){this.setLoading("addMinerLoading",!0);const e=await(0,i.getUpdateInfo)(t);e&&200==e.code&&(this.$message({type:"success",message:this.$t("alerts.modifiedSuccessfully")}),this.modifyDialogVisible=!1,this.fetchList(this.listParams)),this.setLoading("addMinerLoading",!1)},async fetchDeleteEmail(t){this.setLoading("deleteLoading",!0);const e=await(0,i.deleteEmail)(t);e&&200==e.code&&(this.$message({type:"success",message:this.$t("alerts.deleteSuccessfully")}),this.fetchList(this.listParams)),this.setLoading("deleteLoading",!1)},add(){this.dialogVisible=!0},confirmAdd(){const t=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/;this.params.email=this.params.email.trim();let e=t.test(this.params.email);this.params.email&&e?this.params.code?this.fetchAddNoticeEmail(this.params):this.$message({message:this.$t("personal.eCode"),type:"error",customClass:"messageClass",showClose:!0}):this.$message({message:this.$t("user.emailVerification"),type:"error",customClass:"messageClass",showClose:!0})},modify(t){this.modifyParams.id=t.id,this.modifyParams.remark=t.remark,this.modifyDialogVisible=!0},confirmModify(){this.modifyParams.remark?this.fetchUpdateInfo(this.modifyParams):this.$message({message:this.$t("alerts.modificationReminder"),type:"error",customClass:"messageClass",showClose:!0})},handelDelete(t){this.fetchDeleteEmail({id:t.id})},handelCode(){const t=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/;this.params.email=this.params.email.trim();let e=t.test(this.params.email);this.params.email&&e?0===this.listParams.maId||this.listParams.maId?(this.fetchCode({email:this.params.email,maId:this.listParams.maId}),null==window.sessionStorage.getItem("alerts_time")||(this.countDownTimePassword=Number(window.sessionStorage.getItem("alerts_time"))),this.startCountDownPassword()):this.$message({message:this.$t("alerts.acquisitionFailed"),type:"error",customClass:"messageClass",showClose:!0}):this.$message({message:this.$t("user.emailVerification"),type:"error",customClass:"messageClass",showClose:!0})},startCountDownPassword(){this.timerPassword=setInterval((()=>{this.countDownTimePassword<=1?(clearInterval(this.timerPassword),sessionStorage.removeItem("alerts_time"),this.countDownTimePassword=60,this.btnDisabledPassword=!1,this.bthTextPassword="user.obtainVerificationCode"):this.countDownTimePassword>0&&(this.countDownTimePassword--,this.btnDisabledPassword=!0,this.bthTextPassword="user.again",window.sessionStorage.setItem("alerts_time",this.countDownTimePassword))}),1e3)}}}},81475:function(t,e,s){s.r(e),s.d(e,{__esModule:function(){return a.B},default:function(){return l}});var i=s(50600),a=s(36425),o=a.A,r=s(81656),n=(0,r.A)(o,i.XX,i.Yp,!1,null,"81190992",null),l=n.exports},85744:function(t,e,s){s.r(e),s.d(e,{__esModule:function(){return a.B},default:function(){return l}});var i=s(58253),a=s(4710),o=a.A,r=s(81656),n=(0,r.A)(o,i.XX,i.Yp,!1,null,"53074482",null),l=n.exports},91312:function(t,e){e.Yp=e.XX=void 0;e.XX=function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"loading",rawName:"v-loading",value:t.alertsLoading,expression:"alertsLoading"}],staticClass:"alerts"},[t.$isMobile?e("section",{staticClass:"mobileMain"},[e("div",{staticClass:"accountInformation"},[e("img",{attrs:{src:t.receiveData.img,alt:"coin",loading:"lazy"}}),e("span",{staticClass:"coin"},[t._v(t._s(t.receiveData.coin))]),e("i",{staticClass:"iconfont icon-youjiantou"}),e("span",{staticClass:"ma"},[t._v(" "+t._s(t.receiveData.ma))])]),e("h4",[t._v(t._s(t.$t("alerts.Alarm")))]),e("p",{staticClass:"explain"},[e("i",{staticClass:"iconfont icon-zhuyi"}),t._v(" "+t._s(t.$t("alerts.beCareful")))]),e("p",{staticClass:"explain"},[e("i",{staticClass:"iconfont icon-zhuyi"}),t._v(" "+t._s(t.$t("alerts.beCareful1")))]),e("section",{staticClass:"BthBox"},[e("el-button",{staticClass:"addBth",on:{click:t.add}},[t._v(" "+t._s(t.$t("alerts.add"))+" "),e("i",{staticClass:"iconfont icon-youjiantou1 arrow",attrs:{"data-v-76e7f323":""}})])],1),e("div",{staticClass:"tableBox"},[e("div",{staticClass:"table-title"},[e("span",{staticClass:"coin"},[t._v(t._s(t.$t("user.Account")))]),e("span",{staticClass:"coin quota"},[t._v(t._s(t.$t("work.operation")))])]),e("el-collapse",t._l(t.tableData,(function(s){return e("el-collapse-item",{key:s.id,attrs:{name:"1"}},[e("template",{slot:"title"},[e("div",{staticClass:"collapseTitle"},[e("span",{staticClass:"coinBox"},[t._v(t._s(s.email))]),e("div",{staticClass:"operationBox"},[e("el-button",{staticClass:"modifyBth",attrs:{size:"small"},nativeOn:{click:function(e){return t.modify(s)}}},[t._v(" "+t._s(t.$t("personal.modify"))+" ")]),e("el-popconfirm",{attrs:{"confirm-button-text":t.$t("work.confirm"),"cancel-button-text":t.$t("work.cancel"),icon:"el-icon-info","icon-color":"red",title:t.$t("alerts.deleteRemind")},on:{confirm:function(e){return t.handelDelete(t.scope.row)}}},[e("el-button",{staticClass:"elBtn",attrs:{slot:"reference",loading:t.deleteLoading,size:"small"},slot:"reference"},[t._v(t._s(t.$t("personal.delete")))])],1)],1)])]),e("div",{staticClass:"belowTable"},[e("div",[e("p",[t._v(t._s(t.$t("user.Account")))]),e("p",[t._v(t._s(s.email))])]),e("div",[e("p",[t._v(t._s(t.$t("apiFile.remarks")))]),e("p",[t._v(t._s(s.remark))])])])],2)})),1)],1),e("el-dialog",{attrs:{visible:t.dialogVisible,width:"45%","close-on-click-modal":!1},on:{"update:visible":function(e){t.dialogVisible=e}}},[e("section",{staticClass:"dialogBox"},[e("div",{staticClass:"title",staticStyle:{"font-size":"1.3em"}},[t._v(t._s(t.$t("alerts.addAlarmEmail")))]),e("div",{staticClass:"inputBox"},[e("div",{staticClass:"inputItem"},[e("span",{staticClass:"title"},[t._v(t._s(t.$t("user.Account")))]),e("el-input",{staticClass:"input",attrs:{type:"email",placeholder:t.$t("personal.pleaseEnter")},model:{value:t.params.email,callback:function(e){t.$set(t.params,"email",e)},expression:"params.email"}})],1),e("div",{staticClass:"inputItem"},[e("span",{staticClass:"title"},[t._v(t._s(t.$t("personal.verificationCode")))]),e("div",{staticClass:"verificationCode"},[e("el-input",{attrs:{type:"text",autocomplete:"off",placeholder:t.$t("user.verificationCode")},model:{value:t.params.code,callback:function(e){t.$set(t.params,"code",e)},expression:"params.code"}}),e("el-button",{staticClass:"codeBtn",attrs:{disabled:t.btnDisabledPassword},on:{click:t.handelCode}},[t.countDownTimePassword<60&&t.countDownTimePassword>0?e("span",[t._v(t._s(t.countDownTimePassword))]):t._e(),t._v(t._s(t.$t(t.bthTextPassword)))])],1)]),e("div",{staticClass:"inputItem"},[e("span",{staticClass:"title"},[t._v(t._s(t.$t("apiFile.remarks")))]),e("el-input",{staticClass:"input",attrs:{placeholder:t.$t("personal.pleaseEnter")},model:{value:t.params.remark,callback:function(e){t.$set(t.params,"remark",e)},expression:"params.remark"}})],1)]),e("el-button",{staticStyle:{width:"30%","font-size":"1.1em"},attrs:{loading:t.addMinerLoading,type:"primary"},on:{click:t.confirmAdd}},[t._v(t._s(t.$t("personal.determine")))])],1)]),e("el-dialog",{attrs:{visible:t.modifyDialogVisible,width:"35%","close-on-click-modal":!1},on:{"update:visible":function(e){t.modifyDialogVisible=e}}},[e("section",{staticClass:"dialogBox"},[e("div",{staticClass:"title",staticStyle:{"font-size":"1.3em"}},[t._v(t._s(t.$t("alerts.modifyRemarks")))]),e("div",{staticClass:"inputBox"},[e("div",{staticClass:"inputItem"},[e("span",{staticClass:"title"},[t._v(t._s(t.$t("apiFile.remarks")))]),e("el-input",{staticClass:"input",attrs:{placeholder:t.$t("personal.pleaseEnter")},model:{value:t.modifyParams.remark,callback:function(e){t.$set(t.modifyParams,"remark",e)},expression:"modifyParams.remark"}})],1)]),e("el-button",{staticStyle:{width:"30%","font-size":"1.1em"},attrs:{loading:t.addMinerLoading,type:"primary"},on:{click:t.confirmModify}},[t._v(t._s(t.$t("personal.determine")))])],1)])],1):e("section",{staticClass:"pcMain"},[e("div",{staticClass:"accountInformation"},[e("img",{attrs:{src:t.receiveData.img,alt:"coin",loading:"lazy"}}),e("span",{staticClass:"coin"},[t._v(t._s(t.receiveData.coin))]),e("i",{staticClass:"iconfont icon-youjiantou"}),e("span",{staticClass:"ma"},[t._v(" "+t._s(t.receiveData.ma))])]),e("section",{staticClass:"content"},[e("h2",[t._v(t._s(t.$t("alerts.Alarm")))]),e("p",{staticClass:"explain"},[e("i",{staticClass:"iconfont icon-zhuyi"}),t._v(" "+t._s(t.$t("alerts.beCareful")))]),e("p",{staticClass:"explain"},[e("i",{staticClass:"iconfont icon-zhuyi"}),t._v(" "+t._s(t.$t("alerts.beCareful1")))]),e("section",{staticClass:"BthBox"},[e("el-button",{staticClass:"addBth",on:{click:t.add}},[t._v(" "+t._s(t.$t("alerts.add"))+" "),e("i",{staticClass:"iconfont icon-youjiantou1 arrow",attrs:{"data-v-76e7f323":""}})])],1),e("el-table",{staticClass:"table",staticStyle:{width:"100%","text-transform":"none","border-radius":"5px","margin-top":"18px"},attrs:{height:"500","header-cell-style":{"text-align":"center",background:"#D2C3EA",color:"#36246F",height:"60px"},"cell-style":{"text-align":"center"},data:t.tableData,"max-height":"600",stripe:""}},[e("el-table-column",{attrs:{prop:"email",label:t.$t("user.Account"),width:"230"}}),e("el-table-column",{attrs:{prop:"remark",label:t.$t("apiFile.remarks"),"show-overflow-tooltip":!0}}),e("el-table-column",{attrs:{fixed:"right",label:t.$t("work.operation"),width:"230"},scopedSlots:t._u([{key:"default",fn:function(s){return[e("el-button",{staticClass:"modifyBth",attrs:{size:"small"},on:{click:function(e){return t.modify(s.row)}}},[t._v(" "+t._s(t.$t("personal.modify"))+" ")]),e("el-popconfirm",{attrs:{"confirm-button-text":t.$t("work.confirm"),"cancel-button-text":t.$t("work.cancel"),icon:"el-icon-info","icon-color":"red",title:t.$t("alerts.deleteRemind")},on:{confirm:function(e){return t.handelDelete(s.row)}}},[e("el-button",{staticClass:"elBtn",attrs:{slot:"reference",loading:t.deleteLoading,size:"small"},slot:"reference"},[t._v(t._s(t.$t("personal.delete")))])],1)]}}])})],1)],1),e("el-dialog",{attrs:{visible:t.dialogVisible,width:"45%","close-on-click-modal":!1},on:{"update:visible":function(e){t.dialogVisible=e}}},[e("section",{staticClass:"dialogBox"},[e("div",{staticClass:"title",staticStyle:{"font-size":"1.3em"}},[t._v(t._s(t.$t("alerts.addAlarmEmail")))]),e("div",{staticClass:"inputBox"},[e("div",{staticClass:"inputItem"},[e("span",{staticClass:"title"},[t._v(t._s(t.$t("user.Account")))]),e("el-input",{staticClass:"input",attrs:{type:"email",placeholder:t.$t("personal.pleaseEnter")},model:{value:t.params.email,callback:function(e){t.$set(t.params,"email",e)},expression:"params.email"}})],1),e("div",{staticClass:"inputItem"},[e("span",{staticClass:"title"},[t._v(t._s(t.$t("personal.verificationCode")))]),e("div",{staticClass:"verificationCode"},[e("el-input",{attrs:{type:"text",autocomplete:"off",placeholder:t.$t("user.verificationCode")},model:{value:t.params.code,callback:function(e){t.$set(t.params,"code",e)},expression:"params.code"}}),e("el-button",{staticClass:"codeBtn",attrs:{disabled:t.btnDisabledPassword},on:{click:t.handelCode}},[t.countDownTimePassword<60&&t.countDownTimePassword>0?e("span",[t._v(t._s(t.countDownTimePassword))]):t._e(),t._v(t._s(t.$t(t.bthTextPassword)))])],1)]),e("div",{staticClass:"inputItem"},[e("span",{staticClass:"title"},[t._v(t._s(t.$t("apiFile.remarks")))]),e("el-input",{staticClass:"input",attrs:{placeholder:t.$t("personal.pleaseEnter")},model:{value:t.params.remark,callback:function(e){t.$set(t.params,"remark",e)},expression:"params.remark"}})],1)]),e("el-button",{staticStyle:{width:"30%","font-size":"1.1em"},attrs:{loading:t.addMinerLoading,type:"primary"},on:{click:t.confirmAdd}},[t._v(t._s(t.$t("personal.determine")))])],1)]),e("el-dialog",{attrs:{visible:t.modifyDialogVisible,width:"35%","close-on-click-modal":!1},on:{"update:visible":function(e){t.modifyDialogVisible=e}}},[e("section",{staticClass:"dialogBox"},[e("div",{staticClass:"title",staticStyle:{"font-size":"1.3em"}},[t._v(t._s(t.$t("alerts.modifyRemarks")))]),e("div",{staticClass:"inputBox"},[e("div",{staticClass:"inputItem"},[e("span",{staticClass:"title"},[t._v(t._s(t.$t("apiFile.remarks")))]),e("el-input",{staticClass:"input",attrs:{placeholder:t.$t("personal.pleaseEnter")},model:{value:t.modifyParams.remark,callback:function(e){t.$set(t.modifyParams,"remark",e)},expression:"modifyParams.remark"}})],1)]),e("el-button",{staticStyle:{width:"30%","font-size":"1.1em"},attrs:{loading:t.addMinerLoading,type:"primary"},on:{click:t.confirmModify}},[t._v(t._s(t.$t("personal.determine")))])],1)])],1)])},e.Yp=[]},92216:function(t,e){e.Yp=e.XX=void 0;e.XX=function(){var t=this,e=t._self._c;return e("div",{staticClass:"ServiceTerms"},[t.$isMobile?e("section",[e("h4",[t._v(t._s(t.$t("ServiceTerms.title")))]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title1")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTotal1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTotal2")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTotal3")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTotal4")))])])]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title2")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseService1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseService2")))]),e("p",{staticStyle:{"text-align":"justify"}},[e("span",{staticStyle:{"font-weight":"600","text-align":"justify"}},[t._v(t._s(t.$t("ServiceTerms.clauseService3"))+" ")]),t._v(t._s(t.$t("ServiceTerms.clauseService4")))])])]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title3")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseUser1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseUser2")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseUser3")))])])]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title4")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility2")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility3")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility4")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility5")))])])]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title5")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clausePayment1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clausePayment2")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clausePayment3")))])])]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title6")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseProfit1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseProfit2")))])])]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title7")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clausePrivacy1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clausePrivacy2")))])])]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title8")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clausePropertyRight1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clausePropertyRight2")))])])]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title9")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseDisclaimer1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseDisclaimer2")))])])]),e("section",{staticClass:"clauseBox"},[e("h5",[t._v(t._s(t.$t("ServiceTerms.title10")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTermination1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTermination2")))])])])]):e("section",[e("h2",[t._v(t._s(t.$t("ServiceTerms.title")))]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title1")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTotal1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTotal2")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTotal3")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTotal4")))])])]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title2")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseService1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseService2")))]),e("p",{staticStyle:{"text-align":"justify"}},[e("span",{staticStyle:{"font-weight":"600","text-align":"justify"}},[t._v(t._s(t.$t("ServiceTerms.clauseService3"))+" ")]),t._v(t._s(t.$t("ServiceTerms.clauseService4")))])])]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title3")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseUser1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseUser2")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseUser3")))])])]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title4")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility2")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility3")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility4")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseResponsibility5")))])])]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title5")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clausePayment1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clausePayment2")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clausePayment3")))])])]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title6")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseProfit1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseProfit2")))])])]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title7")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clausePrivacy1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clausePrivacy2")))])])]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title8")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clausePropertyRight1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clausePropertyRight2")))])])]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title9")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseDisclaimer1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseDisclaimer2")))])])]),e("section",{staticClass:"clauseBox"},[e("h3",[t._v(t._s(t.$t("ServiceTerms.title10")))]),e("div",{staticClass:"textBox"},[e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTermination1")))]),e("p",[t._v(t._s(t.$t("ServiceTerms.clauseTermination2")))])])])])])},e.Yp=[]},92524:function(t,e){e.Yp=e.XX=void 0;e.XX=function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"loading",rawName:"v-loading",value:t.totalDetailsLoading,expression:"totalDetailsLoading"}],staticClass:"main"},[t.$isMobile?e("section",{staticClass:"MobileMain"},[e("h4",[t._v(t._s(t.$t("work.WKDetails")))]),e("div",{staticClass:"contentMobile"},[e("el-row",[e("el-col",{attrs:{xs:24,sm:10,md:10,lg:12,xl:12}},[e("p",[e("span",{staticClass:"orderTitle"},[t._v(" "+t._s(t.$t("work.WorkID"))+":")]),e("span",{staticClass:"orderContent"},[t._v(t._s(t.ticketDetails.id))])])]),e("el-col",{attrs:{xs:24,sm:10,md:10,lg:10,xl:10}},[e("p",[e("span",{staticClass:"orderTitle"},[t._v(t._s(t.$t("work.mailbox"))+":")]),e("span",{staticClass:"orderContent"},[t._v(t._s(t.ticketDetails.email))])])])],1),e("el-row",[e("el-col",{attrs:{xs:24,sm:10,md:10,lg:10,xl:10}},[e("p",[e("span",{staticClass:"orderTitle"},[t._v(" "+t._s(t.$t("work.status"))+":")]),e("span",{staticClass:"orderContent"},[t._v(t._s(t.$t(t.handelStatus2(t.ticketDetails.status))))])])])],1),e("el-row",{staticStyle:{"margin-top":"30px !important"}},[e("el-col",[e("h5",[t._v(t._s(t.$t("work.describe"))+":")]),e("div",{staticStyle:{border:"1px solid rgba(0, 0, 0, 0.1)",padding:"20px 10px","word-wrap":"break-word","overflow-wrap":"break-word","max-height":"200px","margin-top":"18px","overflow-y":"auto","border-radius":"5px"}},[t._v(" "+t._s(t.ticketDetails.desc)+" ")])])],1),e("h5",{staticStyle:{"margin-top":"30px"}},[t._v(t._s(t.$t("work.record"))+":")]),e("div",{staticClass:"submitContent"},[e("el-row",{staticStyle:{margin:"0"}},t._l(t.recordList,(function(s){return e("div",{key:s.time,staticStyle:{"margin-top":"20px"}},[e("div",{staticClass:"submitTitle"},[e("div",{staticClass:"userName"},[t._v(t._s(s.name))]),e("div",{staticClass:"time"},[t._v(" "+t._s(t.handelTime(s.time)))])]),e("div",{attrs:{id:"contentBox"}},[t._v(" "+t._s(s.content)+" ")]),e("span",{directives:[{name:"show",rawName:"v-show",value:s.files,expression:"item.files"}],staticClass:"downloadBox",on:{click:function(e){return t.handelDownload(s.files)}}},[t._v(t._s(t.$t("work.downloadFile")))])])})),0)],1),"10"!==t.ticketDetails.status?e("section",{staticStyle:{"margin-top":"30px"}},[e("div",[e("el-row",[e("el-col",[e("h5",{staticStyle:{"margin-bottom":"18px"}},[t._v(t._s(t.$t("work.ReplyContent"))+":")]),e("el-input",{attrs:{type:"textarea",placeholder:t.$t("work.input"),resize:"none",maxlength:"250","show-word-limit":"",autosize:{minRows:2,maxRows:6}},model:{value:t.replyParams.respon,callback:function(e){t.$set(t.replyParams,"respon",e)},expression:"replyParams.respon"}})],1)],1),e("el-form",[e("el-form-item",{staticStyle:{width:"100%"}},[e("div",{staticStyle:{width:"100%"}},[t._v(t._s(t.$t("work.enclosure")))]),e("div",{staticClass:"prompt"},[t._v(" "+t._s(t.$t("work.fileType"))+":jpg, jpeg, png, mp3, aif, aiff, wav, wma, mp4, avi, rmvb ")]),e("el-upload",{ref:"upload",staticClass:"upload-demo",attrs:{drag:"",action:"",multiple:"",limit:t.fileLimit,"on-exceed":t.handleExceed,"on-remove":t.handleRemove,"file-list":t.fileList,"on-change":t.handelChange,"show-file-list":"","auto-upload":!1}},[e("i",{staticClass:"el-icon-upload"}),e("div",{staticClass:"el-upload__text"},[t._v(" "+t._s(t.$t("work.fileCharacters"))),e("em",[t._v(" "+t._s(t.$t("work.fileCharacters2")))])])])],1),e("el-button",{staticClass:"elBtn",staticStyle:{"border-radius":"20px"},attrs:{type:"plain"},on:{click:t.handelResubmit}},[t._v(" "+t._s(t.$t("work.ReplyWork")))]),e("el-button",{staticClass:"elBtn",staticStyle:{"border-radius":"20px"},attrs:{type:"plain"},on:{click:t.handelEnd}},[t._v(" "+t._s(t.$t("work.endWork")))])],1)],1)]):t._e(),e("el-dialog",{attrs:{title:t.$t("work.Tips"),visible:t.closeDialogVisible,width:"70%","before-close":t.handleClose},on:{"update:visible":function(e){t.closeDialogVisible=e}}},[e("span",[t._v(t._s(t.$t("work.confirmClose")))]),e("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e("el-button",{staticStyle:{"border-radius":"20px"},on:{click:function(e){t.closeDialogVisible=!1}}},[t._v(t._s(t.$t("work.cancel")))]),e("el-button",{staticClass:"elBtn",staticStyle:{border:"none","border-radius":"20px"},attrs:{type:"primary",loading:t.totalDetailsLoading},on:{click:t.confirmCols}},[t._v(t._s(t.$t("work.confirm")))])],1)])],1)]):e("div",{staticClass:"content"},[e("el-row",{attrs:{type:"flex",justify:"end"}},[e("el-col",{staticClass:"orderDetails"},[e("h3",[t._v(t._s(t.$t("work.WKDetails")))]),e("el-row",[e("el-col",{attrs:{span:12}},[e("p",[e("span",{staticClass:"orderTitle"},[t._v(" "+t._s(t.$t("work.WorkID"))+":")]),e("span",{staticClass:"orderContent"},[t._v(t._s(t.ticketDetails.id))])])]),e("el-col",{attrs:{span:12}},[e("p",[e("span",{staticClass:"orderTitle"},[t._v(t._s(t.$t("work.mailbox"))+":")]),e("span",{staticClass:"orderContent"},[t._v(t._s(t.ticketDetails.email))])])])],1),e("el-row",[e("el-col",{attrs:{span:12}},[e("p",[e("span",{staticClass:"orderTitle"},[t._v(" "+t._s(t.$t("work.status"))+":")]),e("span",{staticClass:"orderContent"},[t._v(t._s(t.$t(t.handelStatus2(t.ticketDetails.status))))])])])],1)],1)],1),e("el-row",{staticStyle:{"margin-top":"30px"}},[e("el-col",[e("h4",[t._v(t._s(t.$t("work.describe"))+":")]),e("p",{staticStyle:{border:"1px solid rgba(0, 0, 0, 0.1)",padding:"20px 10px","word-wrap":"break-word","overflow-wrap":"break-word","max-height":"200px","margin-top":"18px","overflow-y":"auto","border-radius":"5px"}},[t._v(" "+t._s(t.ticketDetails.desc)+" ")])])],1),e("h4",[t._v(t._s(t.$t("work.record"))+":")]),e("div",{staticClass:"submitContent"},[e("el-row",{staticStyle:{margin:"0"}},t._l(t.recordList,(function(s){return e("div",{key:s.time,staticStyle:{"margin-top":"20px"}},[e("div",{staticClass:"submitTitle"},[e("span",[t._v(t._s(t.$t("work.user1"))+":"+t._s(s.name))]),e("span",[t._v(" "+t._s(t.$t("work.time4"))+":"+t._s(t.handelTime(s.time)))])]),e("div",{staticClass:"contentBox"},[e("span",{staticStyle:{display:"inline-block",width:"100%","word-wrap":"break-word","overflow-wrap":"break-word","max-height":"200px","overflow-y":"auto"}},[t._v(t._s(s.content))])]),e("span",{directives:[{name:"show",rawName:"v-show",value:s.files,expression:"item.files"}],staticClass:"downloadBox",on:{click:function(e){return t.handelDownload(s.files)}}},[t._v(t._s(t.$t("work.downloadFile")))])])})),0)],1),"10"!==t.ticketDetails.status?e("section",[e("div",[e("el-row",[e("el-col",[e("h4",{staticStyle:{"margin-bottom":"18px"}},[t._v(t._s(t.$t("work.ReplyContent"))+":")]),e("el-input",{attrs:{type:"textarea",placeholder:t.$t("work.input"),resize:"none",maxlength:"250","show-word-limit":"",autosize:{minRows:2,maxRows:6}},model:{value:t.replyParams.respon,callback:function(e){t.$set(t.replyParams,"respon",e)},expression:"replyParams.respon"}})],1)],1),e("el-form",[e("el-form-item",{staticStyle:{width:"50%"}},[e("div",{staticStyle:{width:"100%"}},[t._v(t._s(t.$t("work.enclosure")))]),e("p",{staticClass:"prompt"},[t._v(" "+t._s(t.$t("work.fileType"))+":jpg, jpeg, png, mp3, aif, aiff, wav, wma, mp4, avi, rmvb ")]),e("el-upload",{ref:"upload",staticClass:"upload-demo",attrs:{drag:"",action:"",multiple:"",limit:t.fileLimit,"on-exceed":t.handleExceed,"on-remove":t.handleRemove,"file-list":t.fileList,"on-change":t.handelChange,"show-file-list":"","auto-upload":!1}},[e("i",{staticClass:"el-icon-upload"}),e("div",{staticClass:"el-upload__text"},[t._v(" "+t._s(t.$t("work.fileCharacters"))),e("em",[t._v(" "+t._s(t.$t("work.fileCharacters2")))])])])],1),e("el-button",{staticClass:"elBtn",staticStyle:{width:"200px","border-radius":"20px"},attrs:{type:"plain"},on:{click:t.handelResubmit}},[t._v(" "+t._s(t.$t("work.ReplyWork")))]),e("el-button",{staticClass:"elBtn",staticStyle:{width:"200px","border-radius":"20px"},attrs:{type:"plain"},on:{click:t.handelEnd}},[t._v(" "+t._s(t.$t("work.endWork")))])],1)],1)]):t._e(),e("el-dialog",{attrs:{title:t.$t("work.Tips"),visible:t.closeDialogVisible,width:"30%","before-close":t.handleClose},on:{"update:visible":function(e){t.closeDialogVisible=e}}},[e("span",[t._v(t._s(t.$t("work.confirmClose")))]),e("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e("el-button",{staticStyle:{"border-radius":"20px"},on:{click:function(e){t.closeDialogVisible=!1}}},[t._v(t._s(t.$t("work.cancel")))]),e("el-button",{staticClass:"elBtn",staticStyle:{border:"none","border-radius":"20px"},attrs:{type:"primary",loading:t.totalDetailsLoading},on:{click:t.confirmCols}},[t._v(t._s(t.$t("work.confirm")))])],1)])],1)])},e.Yp=[]},95664:function(t,e,s){var i=s(3999)["default"];Object.defineProperty(e,"B",{value:!0}),e.A=void 0;var a=i(s(66888));e.A={metaInfo:{meta:[{name:"keywords",content:"分配、转账说明,矿池分配,转账说明,Allocation,Transfer,Mining Pool,Pool allocation,Transfer instructions"},{name:"description",content:window.vm.$t("seo.allocationExplanation")}]},mixins:[a.default]}}}]); |