在基本设置页面增加接口请求超时时间设置
This commit is contained in:
@@ -194,6 +194,10 @@ export const I18N = {
|
|||||||
zh: `重新翻译间隔时间 (100-5000ms)`,
|
zh: `重新翻译间隔时间 (100-5000ms)`,
|
||||||
en: `Retranslation Interval (100-5000ms)`,
|
en: `Retranslation Interval (100-5000ms)`,
|
||||||
},
|
},
|
||||||
|
http_timeout: {
|
||||||
|
zh: `请求超时时间 (5000-30000ms)`,
|
||||||
|
en: `Request Timeout Time (5000-30000ms)`,
|
||||||
|
},
|
||||||
min_translate_length: {
|
min_translate_length: {
|
||||||
zh: `最小翻译字符数 (1-100)`,
|
zh: `最小翻译字符数 (1-100)`,
|
||||||
en: `Minimum number Of Translated Characters (1-100)`,
|
en: `Minimum number Of Translated Characters (1-100)`,
|
||||||
|
|||||||
@@ -641,6 +641,7 @@ export const DEFAULT_SHORTCUTS = {
|
|||||||
export const TRANS_MIN_LENGTH = 5; // 最短翻译长度
|
export const TRANS_MIN_LENGTH = 5; // 最短翻译长度
|
||||||
export const TRANS_MAX_LENGTH = 5000; // 最长翻译长度
|
export const TRANS_MAX_LENGTH = 5000; // 最长翻译长度
|
||||||
export const TRANS_NEWLINE_LENGTH = 20; // 换行字符数
|
export const TRANS_NEWLINE_LENGTH = 20; // 换行字符数
|
||||||
|
export const HTTP_TIMEOUT = 5000; // 调用超时时间
|
||||||
export const DEFAULT_BLACKLIST = [
|
export const DEFAULT_BLACKLIST = [
|
||||||
"https://fishjar.github.io/kiss-translator/options.html",
|
"https://fishjar.github.io/kiss-translator/options.html",
|
||||||
"https://translate.google.com",
|
"https://translate.google.com",
|
||||||
@@ -658,6 +659,7 @@ export const DEFAULT_SETTING = {
|
|||||||
minLength: TRANS_MIN_LENGTH,
|
minLength: TRANS_MIN_LENGTH,
|
||||||
maxLength: TRANS_MAX_LENGTH,
|
maxLength: TRANS_MAX_LENGTH,
|
||||||
newlineLength: TRANS_NEWLINE_LENGTH,
|
newlineLength: TRANS_NEWLINE_LENGTH,
|
||||||
|
httpTimeout: HTTP_TIMEOUT,
|
||||||
clearCache: false, // 是否在浏览器下次启动时清除缓存
|
clearCache: false, // 是否在浏览器下次启动时清除缓存
|
||||||
injectRules: true, // 是否注入订阅规则
|
injectRules: true, // 是否注入订阅规则
|
||||||
// injectWebfix: true, // 是否注入修复补丁(作废)
|
// injectWebfix: true, // 是否注入修复补丁(作废)
|
||||||
|
|||||||
@@ -1,19 +1,23 @@
|
|||||||
import { isExt, isGm } from "./client";
|
import { isExt, isGm } from "./client";
|
||||||
import { sendBgMsg } from "./msg";
|
import { sendBgMsg } from "./msg";
|
||||||
import { taskPool } from "./pool";
|
import { taskPool } from "./pool";
|
||||||
|
import { storage,getSettingWithDefault } from "./storage";
|
||||||
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
MSG_FETCH,
|
MSG_FETCH,
|
||||||
MSG_GET_HTTPCACHE,
|
MSG_GET_HTTPCACHE,
|
||||||
CACHE_NAME,
|
CACHE_NAME,
|
||||||
DEFAULT_FETCH_INTERVAL,
|
DEFAULT_FETCH_INTERVAL,
|
||||||
DEFAULT_FETCH_LIMIT,
|
DEFAULT_FETCH_LIMIT,
|
||||||
|
HTTP_TIMEOUT,
|
||||||
} from "../config";
|
} from "../config";
|
||||||
import { isBg } from "./browser";
|
import { isBg } from "./browser";
|
||||||
import { genTransReq } from "../apis/trans";
|
import { genTransReq } from "../apis/trans";
|
||||||
import { kissLog } from "./log";
|
import { kissLog } from "./log";
|
||||||
import { blobToBase64 } from "./utils";
|
import { blobToBase64 } from "./utils";
|
||||||
|
|
||||||
const TIMEOUT = 5000;
|
let TIMEOUT = HTTP_TIMEOUT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造缓存 request
|
* 构造缓存 request
|
||||||
@@ -39,7 +43,8 @@ const newCacheReq = async (input, init) => {
|
|||||||
* @param {*} init
|
* @param {*} init
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export const fetchGM = async (input, { method = "GET", headers, body } = {}) =>
|
export const fetchGM = async (input, { method = "GET", headers, body } = {}) =>{
|
||||||
|
TIMEOUT = (await getSettingWithDefault()).httpTimeout;
|
||||||
new Promise((resolve, reject) => {
|
new Promise((resolve, reject) => {
|
||||||
GM.xmlHttpRequest({
|
GM.xmlHttpRequest({
|
||||||
method,
|
method,
|
||||||
@@ -66,7 +71,7 @@ export const fetchGM = async (input, { method = "GET", headers, body } = {}) =>
|
|||||||
onerror: reject,
|
onerror: reject,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 发起请求
|
* 发起请求
|
||||||
* @param {*} param0
|
* @param {*} param0
|
||||||
@@ -108,6 +113,10 @@ export const fetchPatcher = async (input, init, transOpts, apiSetting) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//const kiss_setting = await storage.get("KISS-Translator_setting");
|
||||||
|
//TIMEOUT = JSON.parse(kiss_setting)?.httpTimeout || TIMEOUT;
|
||||||
|
TIMEOUT = (await getSettingWithDefault()).httpTimeout;
|
||||||
|
console.log("TIMEOUT", TIMEOUT);
|
||||||
if (AbortSignal?.timeout && !init.signal) {
|
if (AbortSignal?.timeout && !init.signal) {
|
||||||
Object.assign(init, { signal: AbortSignal.timeout(TIMEOUT) });
|
Object.assign(init, { signal: AbortSignal.timeout(TIMEOUT) });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import {
|
|||||||
DEFAULT_CSPLIST,
|
DEFAULT_CSPLIST,
|
||||||
MSG_CONTEXT_MENUS,
|
MSG_CONTEXT_MENUS,
|
||||||
MSG_UPDATE_CSP,
|
MSG_UPDATE_CSP,
|
||||||
|
HTTP_TIMEOUT,
|
||||||
} from "../../config";
|
} from "../../config";
|
||||||
import { useShortcut } from "../../hooks/Shortcut";
|
import { useShortcut } from "../../hooks/Shortcut";
|
||||||
import ShortcutInput from "./ShortcutInput";
|
import ShortcutInput from "./ShortcutInput";
|
||||||
@@ -71,6 +72,9 @@ export default function Settings() {
|
|||||||
case "newlineLength":
|
case "newlineLength":
|
||||||
value = limitNumber(value, 1, 1000);
|
value = limitNumber(value, 1, 1000);
|
||||||
break;
|
break;
|
||||||
|
case "httpTimeout":
|
||||||
|
value = limitNumber(value, 5000, 30000);
|
||||||
|
break;
|
||||||
case "touchTranslate":
|
case "touchTranslate":
|
||||||
value = limitNumber(value, 0, 4);
|
value = limitNumber(value, 0, 4);
|
||||||
break;
|
break;
|
||||||
@@ -110,6 +114,7 @@ export default function Settings() {
|
|||||||
maxLength,
|
maxLength,
|
||||||
clearCache,
|
clearCache,
|
||||||
newlineLength = TRANS_NEWLINE_LENGTH,
|
newlineLength = TRANS_NEWLINE_LENGTH,
|
||||||
|
httpTimeout = HTTP_TIMEOUT,
|
||||||
contextMenuType = 1,
|
contextMenuType = 1,
|
||||||
touchTranslate = 2,
|
touchTranslate = 2,
|
||||||
blacklist = DEFAULT_BLACKLIST.join(",\n"),
|
blacklist = DEFAULT_BLACKLIST.join(",\n"),
|
||||||
@@ -188,7 +193,14 @@ export default function Settings() {
|
|||||||
defaultValue={transInterval}
|
defaultValue={transInterval}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
/>
|
/>
|
||||||
|
<TextField
|
||||||
|
size="small"
|
||||||
|
label={i18n("http_timeout")}
|
||||||
|
type="number"
|
||||||
|
name="httpTimeout"
|
||||||
|
defaultValue={httpTimeout}
|
||||||
|
onChange={handleChange}
|
||||||
|
/>
|
||||||
<FormControl size="small">
|
<FormControl size="small">
|
||||||
<InputLabel>{i18n("touch_translate_shortcut")}</InputLabel>
|
<InputLabel>{i18n("touch_translate_shortcut")}</InputLabel>
|
||||||
<Select
|
<Select
|
||||||
|
|||||||
Reference in New Issue
Block a user