From 2c1600ddfb3ccaff6d925648b9719ca258058446 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Tue, 23 Sep 2025 23:27:36 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=96=B0=E7=BD=91dns=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/system/basic/service/ocr-service.ts | 24 +++++++++++++++++++ .../src/system/basic/service/plus-service.ts | 2 +- packages/plugins/plugin-lib/src/index.ts | 1 + packages/plugins/plugin-lib/src/lib/index.ts | 1 + .../plugins/plugin-lib/src/lib/ocr-api.ts | 3 +++ 5 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 packages/libs/lib-server/src/system/basic/service/ocr-service.ts create mode 100644 packages/plugins/plugin-lib/src/lib/index.ts create mode 100644 packages/plugins/plugin-lib/src/lib/ocr-api.ts diff --git a/packages/libs/lib-server/src/system/basic/service/ocr-service.ts b/packages/libs/lib-server/src/system/basic/service/ocr-service.ts new file mode 100644 index 00000000..19558c99 --- /dev/null +++ b/packages/libs/lib-server/src/system/basic/service/ocr-service.ts @@ -0,0 +1,24 @@ +import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core"; +import { PlusService } from "./plus-service.js"; +import { IOcrService } from "@certd/plugin-lib"; + +/** + */ +@Provide("ocrService") +@Scope(ScopeEnum.Request, { allowDowngrade: true }) +export class OcrService implements IOcrService { + @Inject() + plusService: PlusService; + + async doOcrFromImage(opts: { image: string }): Promise<{ texts: string[] }> { + const res = await this.plusService.requestWithToken({ + url: "/activation/certd/ocr", + method: "post", + data: { + image: opts.image + } + }); + return res; + } + +} diff --git a/packages/libs/lib-server/src/system/basic/service/plus-service.ts b/packages/libs/lib-server/src/system/basic/service/plus-service.ts index 7472228f..2b54833a 100644 --- a/packages/libs/lib-server/src/system/basic/service/plus-service.ts +++ b/packages/libs/lib-server/src/system/basic/service/plus-service.ts @@ -4,7 +4,7 @@ import { cache, http, HttpRequestConfig, logger } from '@certd/basic'; import { SysInstallInfo, SysLicenseInfo, SysSettingsService } from '../../settings/index.js'; import { merge } from 'lodash-es'; -@Provide() +@Provide("plusService") @Scope(ScopeEnum.Request, { allowDowngrade: true }) export class PlusService { @Inject() diff --git a/packages/plugins/plugin-lib/src/index.ts b/packages/plugins/plugin-lib/src/index.ts index ab1d48c1..00f11d4b 100644 --- a/packages/plugins/plugin-lib/src/index.ts +++ b/packages/plugins/plugin-lib/src/index.ts @@ -7,3 +7,4 @@ export * from "./qiniu/index.js"; export * from "./ctyun/index.js"; export * from "./oss/index.js"; export * from "./s3/index.js"; +export * from "./lib/index.js"; diff --git a/packages/plugins/plugin-lib/src/lib/index.ts b/packages/plugins/plugin-lib/src/lib/index.ts new file mode 100644 index 00000000..d6682793 --- /dev/null +++ b/packages/plugins/plugin-lib/src/lib/index.ts @@ -0,0 +1 @@ +export * from "./ocr-api.js"; diff --git a/packages/plugins/plugin-lib/src/lib/ocr-api.ts b/packages/plugins/plugin-lib/src/lib/ocr-api.ts new file mode 100644 index 00000000..5d972a08 --- /dev/null +++ b/packages/plugins/plugin-lib/src/lib/ocr-api.ts @@ -0,0 +1,3 @@ +export interface IOcrService { + doOcrFromImage(opts: { image: string }): Promise<{ texts: string[] }>; +}