Browse Source

[web_demo] 添加ocr api,打包

yanxin 2 years ago
parent
commit
4a035df393

+ 0 - 1
.gitignore

@@ -9,7 +9,6 @@ lerna-debug.log*
 
 node_modules
 .DS_Store
-dist
 dist-ssr
 coverage
 *.local

+ 17 - 3
src/api/api.ts

@@ -4,11 +4,25 @@ interface InputData {
   image: File;
 }
 
+interface PredictRes<T>{
+  code: number
+  costTime: number;
+  data: T
+}
+
 interface MagciColorRes {
-  code: number;
   image: string;
-  costTime: number;
 }
 
-export const IMMagicColor = (data: InputData):Promise<MagciColorRes> =>
+interface OcrRecRes {
+  image: string;
+  text: string[];
+}
+
+export const IMMagicColor = (data: InputData): Promise<PredictRes<MagciColorRes>> =>
   server.post("/IM/magicColor", data);
+
+export const OcrRec = (data: InputData): Promise<PredictRes<OcrRecRes>> =>
+  server.post("/Ocr/ocr", data);
+
+export {};

File diff suppressed because it is too large
+ 1 - 0
src/dist/assets/index-622960b7.css


File diff suppressed because it is too large
+ 58 - 0
src/dist/assets/index-e6c20de7.js


+ 14 - 0
src/dist/index.html

@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>DocumentAI Web Demo</title>
+    <script type="module" crossorigin src="./assets/index-e6c20de7.js"></script>
+    <link rel="stylesheet" href="./assets/index-622960b7.css">
+  </head>
+  <body>
+    <div id="app"></div>
+    
+  </body>
+</html>

+ 0 - 1
src/index.html

@@ -2,7 +2,6 @@
 <html lang="en">
   <head>
     <meta charset="UTF-8" />
-    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>DocumentAI Web Demo</title>
   </head>

+ 15 - 0
src/pages/main/views/Recognize/ocr.vue

@@ -45,6 +45,7 @@
 <script lang='ts' setup>
 import { reactive, ref, toRefs } from 'vue'
 import { onMounted } from "vue";
+import { OcrRec } from '../../../../api/api'
 
 let loading = ref(false)
 let predictTime = ref(0)
@@ -90,6 +91,10 @@ const predict = async () => {
   }
   const img = document.getElementById("raw-img") as HTMLImageElement;
   const predictImg = document.getElementById("predict-img") as HTMLImageElement;
+  const inputElement = document
+    .getElementsByClassName("el-input")[0]
+    .getElementsByTagName("input")[0];
+  const file = inputElement.files![0];
 
   loading.value = !loading.value
   setTimeout(() => {
@@ -97,6 +102,16 @@ const predict = async () => {
     predictImg.src = "https://cdn.pixabay.com/photo/2021/03/14/18/03/cat-6095007_1280.jpg"
     predictTime.value = Math.ceil(Math.random() * 10);
   }, 2000);
+
+  // OcrRec({
+  //   image: file,
+  // }).then(res => {
+  //   console.log(res.code)
+  //   predictImg.src = res.image
+  //   predictTime.value = res.costTime
+  //   result.value = res.text.reduce((total, cur) => total + `<p>${cur}</p>`);
+  //   loading.value = !loading.value
+  // })
 };
 
 </script>

+ 1 - 0
vite.config.ts

@@ -5,6 +5,7 @@ import vue from '@vitejs/plugin-vue'
 // https://vitejs.dev/config/
 export default defineConfig({
   root: "src/",
+  base: './',
   plugins: [vue()],
   resolve: {
     alias: {