vue3+ts+flask+websocket实现实时异物检测

文章目录

1.学习目的

最近有个需求,界面需要有两种检测方式,一种是静态的,也就是使用普通的flask接口即可,一种是利用前后端建立websocket通信,实现数据实时传输,然后我们后端检测模型实时进行视频检测,这样一来,我们就可以方便的进行检测见面展示,以及后期的语音播报等下游任务。

2.技术栈

  • 前端:vue3+ts
  • 后端:flask/fastAPI中的websocket

3.框架一些前置知识以及bug处理

图1 vue3主程序入口

图2 语法校验需要添加的rules

如上图,HelloWorld报错,提示信息实际上是说这个组件没有默认导出,但是vue3新特性明确指出,setup语法糖是默认导出的,再仔细检查,vetur语法检查存在bug,所以我们不必太过理会。

上图是一些ts配置,可以配一下。

对vue不太了解的话,建议去官网学习

通过这个,可以把传统的按钮嵌套icon进行封装,直接调用elementUI即可很好的实现这种带log的按钮

4.具体实现

  • 利用webpack搭建vue3项目
  • npm install
    - 利用npm安装elementui库
    - vue3--main.ts中引入elementUI

    注意这里是全局引入,如果需要轻量化引入,可以参考elementUI官网进行处理,这里不再重复说明。

    使用icon需要额外下载这个包,不然看不见那些icon

后端返回数据的时候,还是采用mimeType比较好,必须设置好前后端返回数据类型格式。必须设置好相应的前后端交互数据类型。
文件上传操作

typescript 复制代码
</template>
 <input type="file" @change="onFileChange" />
</template>
<!-- 编写界面逻辑js -->
 <script setup lang='ts'>
const onFileChange = (event: Event) => {
  const target = event.target as HTMLInputElement;
  if (target.files && target.files[0]) {
    selectedFile.value = target.files[0];
  }
};
</script>

4.结果展示

5.总结

本次改进比较简单,关注我,继续学习前端知识~

相关推荐
一杯敬朝阳 一杯敬月光15 小时前
记录下chatgpt的openai 开发过程
python·chatgpt·flask
Whitess00715 小时前
Websocket链接如何配置nginx转发规则?
websocket·网络协议·nginx
云天徽上15 小时前
【数据可视化-106】华为2025上半年财报分析:用Python和Pyecharts打造炫酷可视化大屏
开发语言·python·华为·信息可视化·数据分析·pyecharts
极客小张16 小时前
【项目思路】基于STM32+ZigBee的智能家居--浴室场景设计
c语言·python·stm32·智能家居·课程设计·项目设计·企业项目
THMAIL1 天前
机器学习从入门到精通 - 机器学习调参终极手册:网格搜索、贝叶斯优化实战
人工智能·python·算法·机器学习·支持向量机·数据挖掘·逻辑回归
ERP老兵-冷溪虎山1 天前
Python/JS/Go/Java同步学习(第三篇)四语言“切片“对照表: 财务“小南“纸切片术切凭证到崩溃(附源码/截图/参数表/避坑指南/老板沉默术)
java·javascript·python·golang·中医编程·四语言同步学习·职场生存指南
科技树支点1 天前
无GC的Java创新设计思路:作用域引用式自动内存管理
java·python·go·web·编程语言·编译器
THMAIL1 天前
机器学习从入门到精通 - 集成学习核武器:随机森林与XGBoost工业级应用
人工智能·python·算法·随机森林·机器学习·集成学习·sklearn
程序员miki1 天前
Pytorch的CUDA版本安装使用教程
人工智能·pytorch·python
郝亚军1 天前
根据Sec-WebSocket-Key计算Sec-WebSocket-Accept
网络·websocket·网络协议