From a4afc95abfa3dd160a3e33b34ec42b1960da7fe1 Mon Sep 17 00:00:00 2001 From: "97694732@qq.com" Date: Fri, 5 Jun 2026 11:19:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:syncServerTime=E6=94=B9=E7=94=A8uni.request?= =?UTF-8?q?=E7=A1=AE=E4=BF=9DDate=E5=93=8D=E5=BA=94=E5=A4=B4=E5=8F=AF?= =?UTF-8?q?=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/minio.js | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/utils/minio.js b/utils/minio.js index 64542c8..908faa8 100644 --- a/utils/minio.js +++ b/utils/minio.js @@ -81,37 +81,42 @@ var _timeSyncing = false function syncServerTime() { return new Promise(function (resolve) { if (_timeSyncing) { - // 已有同步请求在进行中,重试 500ms 后获取 setTimeout(function () { resolve(getServerDate()) }, 500) return } _timeSyncing = true var url = CFG.protocol + '://' + CFG.endpoint + '/' - var XHRClass = getXHR() - if (XHRClass) { - var xhr = new XHRClass() - xhr.open('GET', url, true) - xhr.onload = function () { - var serverDateStr = xhr.getResponseHeader('Date') + console.log('【MinIO】同步服务器时间:', url) + uni.request({ + url: url, + method: 'GET', + success: function (res) { + var serverDateStr = null + // 尝试从多个地方取 Date 头 + if (res.header) { + serverDateStr = res.header.Date || res.header.date || res.header['Date'] + } + if (res.headers) { + serverDateStr = serverDateStr || res.headers.Date || res.headers.date || res.headers['Date'] + } if (serverDateStr) { var serverMs = new Date(serverDateStr).getTime() if (serverMs) { _timeOffset = serverMs - Date.now() - console.log('【MinIO】时间同步完成,服务器偏移:', _timeOffset, 'ms') + console.log('【MinIO】时间同步完成,服务器偏移:', _timeOffset, 'ms, 服务器时间:', serverDateStr) } + } else { + console.warn('【MinIO】未获取到Date响应头, header:', JSON.stringify(res.header || res.headers)) } _timeSyncing = false resolve(getServerDate()) - } - xhr.onerror = function () { + }, + fail: function (err) { + console.warn('【MinIO】时间同步请求失败:', JSON.stringify(err)) _timeSyncing = false resolve(new Date()) } - xhr.send() - } else { - _timeSyncing = false - resolve(new Date()) - } + }) }) }