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 000000000..19558c99f --- /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 7472228fc..2b54833a7 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 ab1d48c10..00f11d4bc 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 000000000..d66827933 --- /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 000000000..5d972a08b --- /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[] }>; +}