diff --git a/core/i18n/lang/en.yaml b/core/i18n/lang/en.yaml index a0a3bee1d..75d0866b4 100644 --- a/core/i18n/lang/en.yaml +++ b/core/i18n/lang/en.yaml @@ -57,6 +57,7 @@ ErrXpackTimeout: "Request timeout, network connection might be unstable, please ErrUnbindMaster: "Detected nodes in node management, unable to unbind the current license, please remove nodes first and retry!" ErrFreeNodeLimit: "Community version node limit reached, please go to www.lxware.cn/1panel to purchase and retry!" ErrNodeBound: "This license is bound to another node, please check and retry!" +ErrNodeBoundDelete: "This license is bound and does not support delete operations. Please check and try again!" ErrNodeBoundLimit: "The current free node has reached its limit, please check and try again!" ErrNoSuchNode: "Node information not found, please check and retry!" ErrNodeUnbind: "This node is not within the license binding range, please check and retry!" diff --git a/core/i18n/lang/ja.yaml b/core/i18n/lang/ja.yaml index c157610d6..7470dc768 100644 --- a/core/i18n/lang/ja.yaml +++ b/core/i18n/lang/ja.yaml @@ -58,6 +58,7 @@ ErrXpackTimeout: "リクエストタイムアウト、ネットワーク接続 ErrUnbindMaster: "ノード管理にノードが存在するため、現在のライセンスを解除できません。ノードを削除してから再試行してください!" ErrFreeNodeLimit: "コミュニティ版のノード数が無料上限に達しました、www.lxware.cn/1panel で購入して再試行してください!" ErrNodeBound: "このライセンスは他のノードにバインドされています、確認して再試行してください!" +ErrNodeBoundDelete: "このライセンスはバインドされており、削除操作はサポートされていません。確認して再試行してください!" ErrNodeBoundLimit: "現在の無料ノードは上限に達しました。確認して再試行してください!" ErrNoSuchNode: "そのノード情報が見つかりませんでした、確認して再試行してください!" ErrNodeUnbind: "そのノードはライセンスのバインド範囲内ではありません、確認して再試行してください!" diff --git a/core/i18n/lang/ko.yaml b/core/i18n/lang/ko.yaml index 908c998fa..094356466 100644 --- a/core/i18n/lang/ko.yaml +++ b/core/i18n/lang/ko.yaml @@ -57,6 +57,7 @@ ErrXpackTimeout: "요청 시간 초과, 네트워크 연결이 불안정할 수 ErrUnbindMaster: "노드 관리 내에 노드가 존재함을 감지하였습니다. 현재 라이선스를 해제할 수 없습니다. 먼저 제거 후 다시 시도해 주세요!" ErrFreeNodeLimit: "커뮤니티 에디션 노드 수가 무료 한도에 도달하였습니다. www.lxware.cn/1panel 에서 구매 후 다시 시도해 주세요!" ErrNodeBound: "이 라이선스는 다른 노드에 바인딩되어 있습니다. 다시 확인하고 시도해 주세요!" +ErrNodeBoundDelete: "이 라이센스는 바인딩되어 있으며 삭제 작업을 지원하지 않습니다. 확인 후 다시 시도해 주세요!" ErrNodeBoundLimit: "현재 무료 노드가 한도에 도달했습니다. 확인 후 다시 시도해 주세요!" ErrNoSuchNode: "노드 정보를 찾을 수 없습니다. 다시 확인하고 시도해 주세요!" ErrNodeUnbind: "이 노드가 라이선스 바인딩 범위에 있지 않음을 감지하였습니다. 다시 확인하고 시도해 주세요!" diff --git a/core/i18n/lang/ms.yml b/core/i18n/lang/ms.yml index 5854347bb..a81983f17 100644 --- a/core/i18n/lang/ms.yml +++ b/core/i18n/lang/ms.yml @@ -57,6 +57,7 @@ ErrXpackTimeout: "Permintaan tamat masa, sambungan rangkaian mungkin tidak stabi ErrUnbindMaster: "Terdapat nod dalam pengurusan nod, sila keluarkan dahulu dan cuba lagi!" ErrFreeNodeLimit: "Jumlah nod versi komuniti telah mencapai had percuma, sila lawati www.lxware.cn/1panel untuk pembelian!" ErrNodeBound: "Lesen ini telah diikat dengan nod lain, sila semak dan cuba lagi!" +ErrNodeBoundDelete: "Lisensi ini telah diikat dan tidak menyokong operasi penghapusan. Sila semak dan cuba lagi!" ErrNodeBoundLimit: "Nod percuma semasa telah mencapai had, sila semak dan cuba lagi!" ErrNoSuchNode: "Maklumat nod tidak ditemui, sila semak dan cuba lagi!" ErrNodeUnbind: "Nod di luar skop lesen dikesan, sila semak dan cuba lagi!" diff --git a/core/i18n/lang/pt-BR.yaml b/core/i18n/lang/pt-BR.yaml index 553f9de55..ec1c1b095 100644 --- a/core/i18n/lang/pt-BR.yaml +++ b/core/i18n/lang/pt-BR.yaml @@ -57,6 +57,7 @@ ErrXpackTimeout: "Requisição expirou, a conexão de rede pode estar instável, ErrUnbindMaster: "Foram encontrados nós na gestão de nós, remova-os primeiro e tente novamente!" ErrFreeNodeLimit: "O número de nós da versão comunitária atingiu o limite gratuito, por favor acesse www.lxware.cn/1panel para comprar!" ErrNodeBound: "Esta licença já está vinculada a outro nó, por favor verifique e tente novamente!" +ErrNodeBoundDelete: "Esta licença está vinculada e não suporta operações de exclusão. Por favor, verifique e tente novamente!" ErrNodeBoundLimit: "O nó gratuito atual atingiu seu limite, por favor verifique e tente novamente!" ErrNoSuchNode: "As informações deste nó não foram encontradas, por favor verifique e tente novamente!" ErrNodeUnbind: "Nó fora do escopo da licença detectado, por favor verifique e tente novamente!" diff --git a/core/i18n/lang/ru.yaml b/core/i18n/lang/ru.yaml index 1d02b0841..228efdc7e 100644 --- a/core/i18n/lang/ru.yaml +++ b/core/i18n/lang/ru.yaml @@ -57,6 +57,7 @@ ErrXpackTimeout: "Время ожидания запроса истекло, в ErrUnbindMaster: "В управлении узлами обнаружены узлы, сначала удалите их и повторите попытку!" ErrFreeNodeLimit: "Количество узлов в версии сообщества достигло бесплатного лимита, посетите www.lxware.cn/1panel для покупки!" ErrNodeBound: "Эта лицензия уже связана с другим узлом, проверьте и повторите попытку!" +ErrNodeBoundDelete: "Эта лицензия привязана и не поддерживает операции удаления. Пожалуйста, проверьте и попробуйте снова!" ErrNodeBoundLimit: "Текущий бесплатный узел достиг предела, пожалуйста, проверьте и попробуйте снова!" ErrNoSuchNode: "Информация об узле не найдена, проверьте и повторите попытку!" ErrNodeUnbind: "Обнаружен узел вне области действия лицензии, проверьте и повторите попытку!" diff --git a/core/i18n/lang/zh-Hant.yaml b/core/i18n/lang/zh-Hant.yaml index 29812b69a..f553be978 100644 --- a/core/i18n/lang/zh-Hant.yaml +++ b/core/i18n/lang/zh-Hant.yaml @@ -57,6 +57,7 @@ ErrXpackTimeout: "請求超時,網絡連接可能不穩定,請稍後再試 ErrUnbindMaster: "檢測到節點管理內存在節點,無法解綁當前許可證,請先移除後重試!" ErrFreeNodeLimit: "社區版節點數量已達免費上限,請前往 www.lxware.cn/1panel 購買後重試!" ErrNodeBound: "該許可證已綁定到其他節點,請檢查後重試!" +ErrNodeBoundDelete: "該許可證已被綁定,不支持刪除操作,請檢查後重試!" ErrNodeBoundLimit: "當前免費節點已達上限,請檢查後重試!" ErrNoSuchNode: "未能找到該節點信息,請檢查後重試!" ErrNodeUnbind: "檢測到該節點未在許可證綁定範圍內,請檢查後重試!" diff --git a/core/i18n/lang/zh.yaml b/core/i18n/lang/zh.yaml index fb466ebf9..da28d4a9f 100644 --- a/core/i18n/lang/zh.yaml +++ b/core/i18n/lang/zh.yaml @@ -54,9 +54,10 @@ ErrXpackOutOfDate: "当前许可证已过期,请重新在 面板设置-许可 ErrXpackLost: "许可证已达到最大重试次数,请进入【面板设置】【许可证】页面手动点击同步按钮,以确保专业版功能正常使用" ErrDeviceLost: "许可证校验必要文件丢失,请检查后重试!" ErrXpackTimeout: "请求超时,网络连接可能不稳定,请稍后再试!" -ErrUnbindMaster: "检测到节点管理内存在节点,无法解绑当前许可证,请先移除后重试!" +ErrUnbindMaster: "检测到节点管理内存在专业版节点,无法解绑当前许可证,请先移除或解绑后重试!" ErrFreeNodeLimit: "社区版节点数量已达到免费上限,请前往 www.lxware.cn/1panel 购买后重试!" ErrNodeBound: "该许可证已绑定到其他节点,请检查后重试!" +ErrNodeBoundDelete: "该许可证已被绑定,不支持删除操作,请检查后重试!" ErrNodeBoundLimit: "当前免费节点已经达到上限,请检查后重试!" ErrNoSuchNode: "未能找到该节点信息,请检查后重试!" ErrNodeUnbind: "检测到该节点未在许可证绑定范围内,请检查后重试!" diff --git a/frontend/src/api/modules/setting.ts b/frontend/src/api/modules/setting.ts index ce5095e85..927818e00 100644 --- a/frontend/src/api/modules/setting.ts +++ b/frontend/src/api/modules/setting.ts @@ -3,6 +3,7 @@ import { deepCopy } from '@/utils/util'; import { Base64 } from 'js-base64'; import { ResPage, SearchWithPage, DescriptionUpdate, ReqPage } from '../interface'; import { Setting } from '../interface/setting'; +import { TimeoutEnum } from '@/enums/http-enum'; // license export const uploadLicense = (oldLicense: string, params: FormData) => { @@ -14,8 +15,8 @@ export const uploadLicense = (oldLicense: string, params: FormData) => { export const searchLicense = (params: ReqPage) => { return http.post>('/core/licenses/search', params); }; -export const deleteLicense = (id: number, force: boolean) => { - return http.post('/core/licenses/del', { id: id, force: force }); +export const deleteLicense = (params: { ids: number }) => { + return http.post('/core/licenses/del', params); }; export const getLicenseStatus = () => { return http.get(`/core/licenses/status`); @@ -27,10 +28,10 @@ export const syncLicense = (id: number) => { return http.post(`/core/licenses/sync`, { id: id }); }; export const bindLicense = (id: number, nodeID: number) => { - return http.post(`/core/licenses/bind`, { nodeID: nodeID, licenseID: id }); + return http.post(`/core/licenses/bind`, { nodeID: nodeID, licenseID: id }, TimeoutEnum.T_60S); }; export const unbindLicense = (id: number) => { - return http.post(`/core/licenses/unbind`, { id: id }); + return http.post(`/core/licenses/unbind`, { id: id }, TimeoutEnum.T_60S); }; export const loadLicenseOptions = () => { return http.get(`/core/licenses/options`); diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index f833e6924..6f6d3fde8 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -1872,8 +1872,6 @@ const message = { quickUpdate: 'Quick Update', power: 'Authorization', unbindHelper: 'Unbinding will clear all professional edition settings for this node. Do you wish to continue?', - unbindMasterHelper: - 'There are currently other nodes besides the master node. The {0} operation is not supported. Please delete the nodes in the node management and try again.', importLicense: 'Import License', importHelper: 'Please click or drag the license file here', levelUpPro: 'Upgrade to Professional Edition', @@ -3215,7 +3213,7 @@ const message = { checkStatus: 'Check Node Service Availability', fixStatus: 'Investigate Node Logs', checkAPI: 'Check Node API Availability', - fixAPI: 'Check if the request address in the information is correct; if incorrect, modify the main node information', + fixAPI: 'Check the node logs and verify if the firewall ports are properly opened.', forceDelete: 'Force Delete', operateHelper: 'The following nodes will undergo {0} operation, do you want to continue?', forceDeleteHelper: 'Force delete will ignore node deletion errors and delete database metadata', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 876ff657e..f61ea2d9a 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -3025,7 +3025,7 @@ const message = { checkStatus: 'ノードサービスの可用性を確認', fixStatus: 'ノードログを調査', checkAPI: 'ノードAPIの可用性を確認', - fixAPI: '情報内のリクエストアドレスが正しいか確認し、誤っている場合は主ノード情報を修正', + fixAPI: 'ノードのログを確認し、ファイアウォールのポートが正常に開放されているか確認します。', forceDelete: '強制削除', operateHelper: '以下のノードに{0}操作を行います。続行しますか?', forceDeleteHelper: '強制削除はノード削除エラーを無視し、データベースメタデータを削除します', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index 41356569b..50d6ea2e2 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -2975,7 +2975,7 @@ const message = { checkStatus: '노드 서비스 가용성 확인', fixStatus: '노드 로그 조사', checkAPI: '노드 API 가용성 확인', - fixAPI: '정보 내 요청 주소가 올바른지 확인하고, 잘못된 경우 주 노드 정보를 수정해야 합니다', + fixAPI: '노드 로그를 확인하고 방화벽 포트가 정상적으로 열려 있는지 확인합니다.', forceDelete: '강제 삭제', operateHelper: '다음 노드에 대해 {0} 작업을 수행합니다. 계속하시겠습니까?', forceDeleteHelper: '강제 삭제는 노드 삭제 오류를 무시하고 데이터베이스 메타데이터를 삭제합니다', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 859f4e32d..774c17f91 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -3094,7 +3094,7 @@ const message = { checkStatus: 'Periksa Ketersediaan Perkhidmatan Nod', fixStatus: 'Siasat Log Nod', checkAPI: 'Periksa Ketersediaan API Nod', - fixAPI: 'Periksa jika alamat permintaan dalam maklumat adalah betul; jika tidak betul, perlu mengubah maklumat nod utama', + fixAPI: 'Semak log nod dan periksa sama ada port firewall dibuka dengan betul.', forceDelete: 'Hapus Secara Paksa', operateHelper: 'Operasi {0} akan dilakukan pada nod berikut, adakah anda ingin meneruskan?', forceDeleteHelper: diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index 9650d981d..ed26d9e7e 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -3098,7 +3098,7 @@ const message = { checkStatus: 'Verificar Disponibilidade do Serviço do Nó', fixStatus: 'Investigar Logs do Nó', checkAPI: 'Verificar Disponibilidade da API do Nó', - fixAPI: 'Verifique se o endereço de solicitação nas informações está correto; se estiver incorreto, será necessário modificar as informações do nó principal', + fixAPI: 'Verifique os logs do nó e confirme se as portas do firewall estão devidamente abertas.', forceDelete: 'Excluir Forçadamente', operateHelper: 'A operação {0} será realizada nos seguintes nós, deseja continuar?', forceDeleteHelper: diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index 8b4f09773..1095d5c74 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -3088,7 +3088,7 @@ const message = { checkStatus: 'Проверка доступности службы узла', fixStatus: 'Проверка журналов узла', checkAPI: 'Проверка доступности API узла', - fixAPI: 'Проверьте, правильный ли адрес запроса в информации; если он неправильный, необходимо изменить информацию о главном узле', + fixAPI: 'Проверьте журналы узла и убедитесь, что порты брандмауэра правильно открыты.', forceDelete: 'Принудительное удаление', operateHelper: 'Будет выполнена операция {0} для следующих узлов, вы хотите продолжить?', forceDeleteHelper: diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index dbb7b7c70..f514a15ce 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -1737,7 +1737,6 @@ const message = { quickUpdate: '快速更新', power: '授權', unbindHelper: '解除綁定後將清除該節點所有專業版相關設置,是否繼續?', - unbindMasterHelper: '當前已存在除主節點外其他節點,不支持 {0} 操作,請在節點管理中刪除節點後重試', importLicense: '導入許可證', importHelper: '請點擊或拖動許可文件到此處', levelUpPro: '升級專業版', @@ -2978,7 +2977,7 @@ const message = { checkStatus: '檢查節點服務可用性', fixStatus: '排查節點日誌', checkAPI: '檢查節點 API 可用性', - fixAPI: '檢查資訊中請求地址是否正確,如不正確則需要修改主節點資訊', + fixAPI: '檢查節點日誌,確認防火牆端口是否正常放行。', forceDelete: '強制刪除', operateHelper: '將對以下節點執行 {0} 操作,是否繼續?', forceDeleteHelper: '強制刪除將忽略節點刪除錯誤並刪除資料庫元資料', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 29c3236a1..15869edbe 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -1729,7 +1729,6 @@ const message = { quickUpdate: '快速更新', power: '授 权', unbindHelper: '解除绑定后将清除该节点所有专业版相关设置,是否继续?', - unbindMasterHelper: '当前已存在除主节点外其他节点,不支持 {0} 操作,请在节点管理中删除节点后重试', importLicense: '导入许可证', importHelper: '请点击或拖动许可文件到此处', levelUpPro: '升级专业版', @@ -2959,7 +2958,7 @@ const message = { checkStatus: '检查节点服务可用性', fixStatus: '排查节点日志', checkAPI: '检查节点 API 可用性', - fixAPI: '检查信息中请求地址是否正确,不正确则需要修改主节点信息', + fixAPI: '排查节点日志,检查防火墙端口是否正常放行', forceDelete: '强制删除', operateHelper: '将对以下节点进行 {0} 操作,是否继续?', forceDeleteHelper: '强制删除将会忽略节点删除错误,删除数据库元数据', diff --git a/frontend/src/views/setting/license/index.vue b/frontend/src/views/setting/license/index.vue index 6678f8767..04f7b7a8f 100644 --- a/frontend/src/views/setting/license/index.vue +++ b/frontend/src/views/setting/license/index.vue @@ -84,18 +84,19 @@ +