From b48528b1a1a88e289fc0b7ad52f2da213a3f9dfe Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 23 四月 2025 16:34:38 +0800 Subject: [PATCH] Merge branch 'develop' --- src/tabviews/zshare/settingcomponent/index.jsx | 69 ++++++++++++++++++++++------------ 1 files changed, 44 insertions(+), 25 deletions(-) diff --git a/src/tabviews/zshare/settingcomponent/index.jsx b/src/tabviews/zshare/settingcomponent/index.jsx index f2488e9..f2e08de 100644 --- a/src/tabviews/zshare/settingcomponent/index.jsx +++ b/src/tabviews/zshare/settingcomponent/index.jsx @@ -1,7 +1,7 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' -import { Button, Modal, notification, Spin, Empty } from 'antd' +import { Button, Modal, notification, Spin, Empty, Tooltip } from 'antd' import Api from '@/api' import MKEmitter from '@/utils/events.js' @@ -22,6 +22,8 @@ components: null, // 缁勪欢闆嗗悎 revertLoading: false, // 鎭㈠榛樿璁剧疆 confirmLoading: false, // 鑷畾涔夎缃ā鎬佹鍔犺浇涓� + dict: window.GLOB.dict, + lang: sessionStorage.getItem('lang') } shouldComponentUpdate (nextProps, nextState) { @@ -316,9 +318,14 @@ }) } else if (!links.includes(item.verify.linkUrl)) { links.push(item.verify.linkUrl) + } + }) - let socket = null - socket = new WebSocket('ws://' + item.verify.linkUrl) + if (links.length === 0) return + + let defers = links.map(link => { + return new Promise((resolve) => { + let socket = new WebSocket('ws://' + link) // 鎵撳紑Socket socket.onopen = () =>{ let request = { @@ -360,29 +367,39 @@ }) } - window.GLOB.UserCacheMap.set(item.verify.linkUrl, _printers) - } else if (data && data.cmd === 'getPrinters') { - notification.warning({ - top: 92, - message: data.message, - duration: 5 - }) + resolve({status: true, printers: _printers}) + } else if (data && data.cmd === 'getPrinters' && data.message) { + resolve({status: false, printers: null, message: data.message}) } } socket.onerror = () => { - let tool = item.verify.linkUrl - if (item.verify.linkUrl === '127.0.0.1:13529') { + let tool = link + + if (link === '127.0.0.1:13529') { tool = '鏄庣閫氳缁勪欢' - } else if (item.verify.linkUrl === '127.0.0.1:13528') { + } else if (link === '127.0.0.1:13528') { tool = 'CAINIAO鎵撳嵃缁勪欢' } - notification.warning({ - top: 92, - message: '鏃犳硶杩炴帴鍒�: ' + tool, - duration: 5 - }) + + resolve({status: false, printers: null, message: '鏃犳硶杩炴帴鍒�: ' + tool}) + } + }) + }) + + Promise.all(defers).then(results => { + let res = results.filter(item => item.status)[0] + if (res) { + links.forEach(link => { + window.GLOB.UserCacheMap.set(link, res.printers) + }) + } else { + notification.warning({ + top: 92, + message: results[0].message, + duration: 5 + }) } }) } @@ -516,28 +533,30 @@ } render() { - const { components, visible } = this.state + const { components, visible, dict, lang } = this.state if (window.GLOB.mkHS || window.GLOB.sysType !== 'local') return null return ( <div className="tool-wrap"> - <Button icon="setting" shape="circle" onClick={this.trigger}/> + <Tooltip placement="left" title={dict['custom_settings'] || '鑷畾涔夎缃�'}> + <Button icon="setting" shape="circle" onClick={this.trigger}/> + </Tooltip> <Modal wrapClassName="custom-setting-modal" - title={'鑷畾涔夎缃�'} + title={dict['custom_settings'] || '鑷畾涔夎缃�'} maskClosable={false} width={950} visible={visible} onCancel={() => { this.setState({ visible: false }) }} footer={[ - <Button key="revert" type="danger" loading={this.state.revertLoading} onClick={this.settingRevert}>鎭㈠榛樿璁剧疆</Button>, - <Button key="cancel" onClick={() => { this.setState({ visible: false }) }}>鍙栨秷</Button>, - <Button key="confirm" type="primary" loading={this.state.confirmLoading} onClick={this.settingSubmit}>鎻愪氦</Button> + <Button key="revert" type="danger" loading={this.state.revertLoading} onClick={this.settingRevert}>{dict['restore_default'] || '鎭㈠榛樿璁剧疆'}</Button>, + <Button key="cancel" onClick={() => { this.setState({ visible: false }) }}>{dict['cancel'] || '鍙栨秷'}</Button>, + <Button key="confirm" type="primary" loading={this.state.confirmLoading} onClick={this.settingSubmit}>{dict['submit'] || '鎻愪氦'}</Button> ]} destroyOnClose > - <div className="tip">娉細琛岀骇鎸夐挳蹇嵎閿缃棤鏁堛��</div> + {lang !== 'en-US' ? <div className="tip">娉細琛岀骇鎸夐挳蹇嵎閿缃棤鏁堛��</div> : null} {components && components.length > 0 ? components.map(item => ( <div key={item.uuid}> <p className="component-title">{item.title}</p> -- Gitblit v1.8.0