From e8f7e5505ba7a3ad064e3515ef4ac2b9c8096276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Mon, 4 Aug 2025 11:30:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=96=E7=BD=91=E8=BF=9E?= =?UTF-8?q?=E9=80=9A=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- klp-ui/src/api/system/ocr.js | 17 ++++++++++++++++- .../purchasePlan/panels/qualityCerticate.vue | 13 ++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/klp-ui/src/api/system/ocr.js b/klp-ui/src/api/system/ocr.js index 9f22df3d..154cffb4 100644 --- a/klp-ui/src/api/system/ocr.js +++ b/klp-ui/src/api/system/ocr.js @@ -1,4 +1,5 @@ import request from '@/utils/request' +import axios from 'axios' /** * 调用ocr, 直接识别图像中的文字 @@ -41,4 +42,18 @@ export function recognizePdfText({ pdfUrl }) { method: 'post', data: { pdfUrl }, }) -} \ No newline at end of file +} + +/** + * 测试外网连接 + */ +export function testNet() { + // ping一下百度 + return new Promise((resolve, reject) => { + axios.get('https://api.thecatapi.com/v1/images/search?limit=1').then(res => { + resolve(true) + }).catch(err => { + resolve(false) + }) + }) +} diff --git a/klp-ui/src/views/wms/purchasePlan/panels/qualityCerticate.vue b/klp-ui/src/views/wms/purchasePlan/panels/qualityCerticate.vue index 8f57e809..ec8eae01 100644 --- a/klp-ui/src/views/wms/purchasePlan/panels/qualityCerticate.vue +++ b/klp-ui/src/views/wms/purchasePlan/panels/qualityCerticate.vue @@ -25,7 +25,7 @@ @click.stop="openKeyListDialog">
OCR识别 - +
@@ -37,7 +37,7 @@
大模型识别 - +
@@ -91,7 +91,7 @@ import FileUpload from '@/components/FileUpload' import { listByIds } from '@/api/system/oss' import { updatePurchasePlanDetail } from '@/api/wms/purchasePlanDetail' -import { recognizeText, recognizeBomByModel, recognizePdfText } from '@/api/system/ocr' +import { recognizeText, recognizeBomByModel, recognizePdfText, testNet } from '@/api/system/ocr' import { listBomItem } from '@/api/wms/bomItem' import { getRawMaterial } from '@/api/wms/rawMaterial' import Merger from './merger.vue' @@ -189,7 +189,14 @@ const so = { model: { loading: '等待大模型识别结果', handler: async (vm) => { + // 外网连通测试,如果失败给出提示请打开外网 + const flag = await testNet() + if (!flag) { + vm.$modal.msgError('请打开外网连接以使用大模型'); + return; + } const res = await recognizeBomByModel({ imageUrl: vm.file.url }) + vm.newResult = res.data.attributes; vm.$modal.msgSuccess("识别成功"); return res;