feat: api fetch timeout

This commit is contained in:
Gabe
2025-07-01 12:38:06 +08:00
parent 30129abef3
commit 97b4935bc4
4 changed files with 64 additions and 21 deletions

View File

@@ -29,6 +29,7 @@ import {
URL_NIUTRANS_REG,
DEFAULT_FETCH_LIMIT,
DEFAULT_FETCH_INTERVAL,
DEFAULT_HTTP_TIMEOUT,
} from "../../config";
import { useState } from "react";
import { useI18n } from "../../hooks/I18n";
@@ -125,6 +126,7 @@ function ApiFields({ translator }) {
thinkIgnore = "",
fetchLimit = DEFAULT_FETCH_LIMIT,
fetchInterval = DEFAULT_FETCH_INTERVAL,
httpTimeout = DEFAULT_HTTP_TIMEOUT,
dictNo = "",
memoryNo = "",
reqHook = "",
@@ -144,6 +146,9 @@ function ApiFields({ translator }) {
case "fetchInterval":
value = limitNumber(value, 0, 5000);
break;
case "httpTimeout":
value = limitNumber(value, 5000, 30000);
break;
case "temperature":
value = limitFloat(value, 0, 2);
break;
@@ -263,7 +268,7 @@ function ApiFields({ translator }) {
</>
)}
{(translator.startsWith(OPT_TRANS_OLLAMA)) && (
{translator.startsWith(OPT_TRANS_OLLAMA) && (
<>
<TextField
select
@@ -368,13 +373,22 @@ function ApiFields({ translator }) {
onChange={handleChange}
/>
<TextField
size="small"
label={i18n("http_timeout")}
type="number"
name="httpTimeout"
defaultValue={httpTimeout}
onChange={handleChange}
/>
<FormControlLabel
control={
<Switch
size="small"
name="isDisabled"
checked={isDisabled}
onChange={()=>{
onChange={() => {
updateApi({ isDisabled: !isDisabled });
}}
/>

View File

@@ -27,7 +27,7 @@ import {
DEFAULT_CSPLIST,
MSG_CONTEXT_MENUS,
MSG_UPDATE_CSP,
HTTP_TIMEOUT,
DEFAULT_HTTP_TIMEOUT,
} from "../../config";
import { useShortcut } from "../../hooks/Shortcut";
import ShortcutInput from "./ShortcutInput";
@@ -114,7 +114,7 @@ export default function Settings() {
maxLength,
clearCache,
newlineLength = TRANS_NEWLINE_LENGTH,
httpTimeout = HTTP_TIMEOUT,
httpTimeout = DEFAULT_HTTP_TIMEOUT,
contextMenuType = 1,
touchTranslate = 2,
blacklist = DEFAULT_BLACKLIST.join(",\n"),