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[] }>; +}