From 8ad21bfcbd4130ab71a15813beabeec045223ef2 Mon Sep 17 00:00:00 2001 From: enncy <877526278@qq.com> Date: Sun, 5 Jun 2022 02:05:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(core):=20=E4=BF=AE=E5=A4=8D=E8=B7=A8?= =?UTF-8?q?=E5=9F=9F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/src/core/utils/common.ts | 3 +-- packages/core/src/script/common/index.ts | 16 ++++++++++------ packages/core/src/script/cx/recognize.ts | 2 +- userjs.template | 2 ++ 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/core/src/core/utils/common.ts b/packages/core/src/core/utils/common.ts index 69c3284f..18134b87 100644 --- a/packages/core/src/core/utils/common.ts +++ b/packages/core/src/core/utils/common.ts @@ -123,12 +123,11 @@ export async function getRemoteSetting(port: number) { let count = 3; while (count > 0) { try { - const res = await request(`http://localhost:${port}/setting`, { + return await request(`http://localhost:${port}/setting`, { type: 'GM_xmlhttpRequest', method: 'get', contentType: 'json' }); - return res; } catch { } count--; } diff --git a/packages/core/src/script/common/index.ts b/packages/core/src/script/common/index.ts index 9b4e8020..c89dd4c2 100644 --- a/packages/core/src/script/common/index.ts +++ b/packages/core/src/script/common/index.ts @@ -1,6 +1,7 @@ import { createNote } from '../../components'; import { defineScript } from '../../core/define.script'; import { getRemoteSetting, onComplete, onInteractive, useUnsafeWindow } from '../../core/utils'; +import { logger } from '../../logger'; import { useSettings } from '../../store'; const supports = ['*']; @@ -63,12 +64,15 @@ export const CommonScript = defineScript({ name: '获取软件题库配置脚本', url: supports, async onload() { - const { common } = useSettings(); - if (common.answererWrappers.length) { - const setting = await getRemoteSetting(15319); - if (setting?.answererWrappers) { - const { common } = useSettings(); - common.answererWrappers = setting.answererWrappers; + if (top === self) { + const { common } = useSettings(); + if (common.answererWrappers.length === 0) { + const setting = await getRemoteSetting(15319); + if (setting?.answererWrappers) { + logger('debug', '成功读取本地题库配置'); + const { common } = useSettings(); + common.answererWrappers = setting.answererWrappers; + } } } } diff --git a/packages/core/src/script/cx/recognize.ts b/packages/core/src/script/cx/recognize.ts index 1bbde18e..1820122d 100644 --- a/packages/core/src/script/cx/recognize.ts +++ b/packages/core/src/script/cx/recognize.ts @@ -18,7 +18,7 @@ export async function mapRecognize() { logger('debug', '正在加载字典库...'); // 预加载字体库 const res = await request('https://cdn.ocsjs.com/resources/font/table.json', { - type: 'fetch', + type: 'GM_xmlhttpRequest', method: 'get', contentType: 'json' }); diff --git a/userjs.template b/userjs.template index ec96352d..529d377f 100644 --- a/userjs.template +++ b/userjs.template @@ -10,6 +10,8 @@ // @icon https://cdn.ocsjs.com/logo.ico // @connect enncy.cn // @connect icodef.com +// @connect ocsjs.com +// @connect localhost // @match *://*.chaoxing.com/* // @match *://*.edu.cn/* // @match *://*.org.cn/*