From aa79b0e86158e8c32f3dbf9e949e3e6fc6646476 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Wed, 29 May 2024 14:18:43 +0800 Subject: [PATCH] fix: ocr --- src/onebot11/action/extends/OCRImage.ts | 92 ++++++++++++------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/src/onebot11/action/extends/OCRImage.ts b/src/onebot11/action/extends/OCRImage.ts index d2d8fffc..d6c206c6 100644 --- a/src/onebot11/action/extends/OCRImage.ts +++ b/src/onebot11/action/extends/OCRImage.ts @@ -1,46 +1,46 @@ -import { DeviceList } from '@/onebot11/main'; -import BaseAction from '../BaseAction'; -import { ActionName } from '../types'; -import { FromSchema, JSONSchema } from 'json-schema-to-ts'; -import { checkFileReceived, uri2local } from '@/common/utils/file'; -import { NTQQSystemApi } from '@/core'; -import fs from 'fs'; - -const SchemaData = { - type: 'object', - properties: { - image: { type: 'string' }, - }, - required: ['image'] -} as const satisfies JSONSchema; - -type Payload = FromSchema; - -export class OCRImage extends BaseAction { - actionName = ActionName.OCRImage; - PayloadSchema = SchemaData; - protected async _handle(payload: Payload) { - const { path, isLocal, errMsg } = (await uri2local(payload.image)); - if (errMsg) { - throw `OCR ${payload.file}失败,image字段可能格式不正确`; - } - if (path) { - await checkFileReceived(path, 5000); // 文件不存在QQ会崩溃,需要提前判断 - const ret = await NTQQSystemApi.ORCImage(path); - if (!isLocal) { - fs.unlink(path, () => { }); - } - if (!ret) { - throw `OCR ${payload.file}失败`; - } - return ret.result; - } - if (!isLocal) { - fs.unlink(path, () => { }); - } - throw `OCR ${payload.file}失败,文件可能不存在`; - } -} -export class IOCRImage extends OCRImage { - actionName = ActionName.IOCRImage; -} +import { DeviceList } from '@/onebot11/main'; +import BaseAction from '../BaseAction'; +import { ActionName } from '../types'; +import { FromSchema, JSONSchema } from 'json-schema-to-ts'; +import { checkFileReceived, uri2local } from '@/common/utils/file'; +import { NTQQSystemApi } from '@/core'; +import fs from 'fs'; + +const SchemaData = { + type: 'object', + properties: { + image: { type: 'string' }, + }, + required: ['image'] +} as const satisfies JSONSchema; + +type Payload = FromSchema; + +export class OCRImage extends BaseAction { + actionName = ActionName.OCRImage; + PayloadSchema = SchemaData; + protected async _handle(payload: Payload) { + const { path, isLocal, errMsg } = (await uri2local(payload.image)); + if (errMsg) { + throw `OCR ${payload.image}失败,image字段可能格式不正确`; + } + if (path) { + await checkFileReceived(path, 5000); // 文件不存在QQ会崩溃,需要提前判断 + const ret = await NTQQSystemApi.ORCImage(path); + if (!isLocal) { + fs.unlink(path, () => { }); + } + if (!ret) { + throw `OCR ${payload.file}失败`; + } + return ret.result; + } + if (!isLocal) { + fs.unlink(path, () => { }); + } + throw `OCR ${payload.file}失败,文件可能不存在`; + } +} +export class IOCRImage extends OCRImage { + actionName = ActionName.IOCRImage; +}