修复错误处理问题

pull/1686/head
lyswhut 2023-11-08 15:27:36 +08:00
parent e2f6ec308c
commit 887cf39321
1 changed files with 28 additions and 20 deletions

View File

@ -137,6 +137,13 @@ const handleShowUpdateAlert = (data, resolve, reject) => {
resolve() resolve()
} }
const onError = (errorMessage) => {
if (isInitedApi) return
isInitedApi = true
if (errorMessage.length > 1024) errorMessage = errorMessage.substring(0, 1024) + '...'
sendMessage(USER_API_RENDERER_EVENT_NAME.init, null, false, errorMessage)
}
const initEnv = (userApi) => { const initEnv = (userApi) => {
contextBridge.exposeInMainWorld('lx', { contextBridge.exposeInMainWorld('lx', {
EVENT_NAMES, EVENT_NAMES,
@ -158,22 +165,26 @@ const initEnv = (userApi) => {
let request = needle.request(method, url, data, options, (err, resp, body) => { let request = needle.request(method, url, data, options, (err, resp, body) => {
// console.log(err, resp, body) // console.log(err, resp, body)
if (err) { try {
callback(err, null, null) if (err) {
} else { callback.call(this, err, null, null)
body = resp.body = resp.raw.toString() } else {
try { body = resp.body = resp.raw.toString()
resp.body = JSON.parse(resp.body) try {
} catch (_) {} resp.body = JSON.parse(resp.body)
body = resp.body } catch (_) {}
callback(err, { body = resp.body
statusCode: resp.statusCode, callback.call(this, err, {
statusMessage: resp.statusMessage, statusCode: resp.statusCode,
headers: resp.headers, statusMessage: resp.statusMessage,
bytes: resp.bytes, headers: resp.headers,
raw: resp.raw, bytes: resp.bytes,
body, raw: resp.raw,
}, body) body,
}, body)
}
} catch (err) {
onError(err.message)
} }
}).request }).request
@ -290,10 +301,7 @@ const initEnv = (userApi) => {
contextBridge.exposeInMainWorld('__lx_init_error_handler__', { contextBridge.exposeInMainWorld('__lx_init_error_handler__', {
sendError(errorMessage) { sendError(errorMessage) {
if (isInitedApi) return onError(errorMessage)
isInitedApi = true
if (errorMessage.length > 1024) errorMessage = errorMessage.substring(0, 1024) + '...'
sendMessage(USER_API_RENDERER_EVENT_NAME.init, null, false, errorMessage)
}, },
}) })