当前位置: 首页 > news >正文

Debug-031-近期功能实现小结

        由于时间原因,没办法对每个小的功能点进行比较细致的总结,这里统一去记录一下最近的实现了的功能,算是存档备份,为今后开发带来便利和参考。

一、ACEeditor

        ACEeditor使用手册(一)_ace editor-CSDN博客

        ACEeditor使用手册(二)_ace editor-CSDN博客

业务:主要是实现不同语言的编辑功能。我们业务和阿里云中的物联网平台相近,因此参考他们,使用了相同的ACEeditor。由于我们是使用vue3开发的前端代码,我参考使用了vue3-ace-editor,个人感觉就是在ACEeditor基础上又封装了一层,在项目中使用的是vue3-ace-editor,但是'ace-builds'还是必须要引入的。如果再来一次,我想我应该会直接使用ACEeditor,不引入vue3-ace-editor会更好一些吧。

这里在当时写代码的时候还是碰见不少问题的,Python校验的问题,编辑器实例上的方法,捕获错误等等。

之后项目中有需要代码编辑的地方,还是优先使用ACEeditor。

这里分享一些链接作为参考:

使用 Vue3-Ace-Editor 在 Vue3 项目中集成代码编辑器-CSDN博客

Ace editor中文文档 - 余以为 - 博客园

二、Emmet语法总结

        这个还是挺有意思的,前端的html和css是有简写方式的,我在vscode中实际测试了一下,如果熟练了之后确实很方便,还挺酷的。以前也这么写过,但是没有意识去特意留意这一块。理解之后,在之后的开发中可以留意着去按这种方式去写一下标签和样式。

Emmet语法总结-CSDN博客

Emmet 总结(这真是一个省事的好工具)_emmet工具-CSDN博客

前端开发必备!Emmet使用手册 - 前端开发者学堂 (fedev.cn) - 前端开发社区

Cheat Sheet

三、Modbus RTU报文解析

        这个是比较接近业务层面的东西。最近实现了IoT平台的一个新的模块的功能-数据解析。简单讲是两个函数之间的转换,protocolToRawData和rawDataToProtocol,分别表示设备接收和设备上报两种情况。前者是将对象转为报文格式数据下发给设备,后者是设备上报需要将报文转换为对象格式。双方定好Modbus 协议,我们需要做的就是按照协议去下发和上报数据,按照协议去解析即可。

这里还涉及到一些别的东西:

Uint8Array、十进制与16进制转换、遍历对象、CRC-16 (Modbus)校验

四、find

.vue文件中,tsx写法

const detail = row.detail || {}这一步很关键,因为如果是直接在render中的<el-tooltip>标签中的content里写成row.detail.topic是不生效的(是语法吗?我也不知道目前)

<script lang="tsx" setup>const TABLE_COLUMNS = [{label: '操作时间',prop: 'operateTime',
}, {label: 'Trace ID',prop: 'traceId',
}, {label: 'Message ID',prop: 'messageId',// formatter: (row: any) => {//   return DEVICE_TYPE.find(item => item.value === row.deviceType)?.label// },
}, {label: 'Device ID',prop: 'deviceName',
}, {label: '业务类型',prop: 'businessType',
}, {label: '操作',prop: 'operation',
}, {label: '内容',prop: 'detail',width: '300',render: (row: any) => {const detail = row.detail || {}return (<><div class="ipBrowser"><el-tooltipeffect="light"show-after={500}class="item"raw-contentcontent={`<form class='tooltip-content'><div><label for='q'>Topic:</label><span>${detail.topic}<span/></div><div><label for='w'>发生时间:</label><span>${detail.time}<span/></div><div><label for='e'>消息:</label><span>${detail.message}<span/></div></form>`}trigger="click"placement="left"><span class="ipButton" onClick={handleClickBrowser} >查看</span></el-tooltip></div></>)},
}, {label: '状态',prop: 'statusCode',aliyunLink: 'https://jybfgs.oss-cn-hangzhou.aliyuncs.com/resource/iot/Error_Code.pdf', // 跳转阿里云规则链接// formatter: (row: any) => {//   return RUNTIME.find(item => item.value === row.runtimeEnv)?.label// },
}]</script>

http://www.lryc.cn/news/489367.html

相关文章:

  • Consumer Group
  • .NET架构师学习大纲
  • 【代码随想录】贪心
  • Harmony鸿蒙类似与Android中broadcast广播的api使用及释义
  • openGauss 6.0.0主备部署(企业版)
  • 【机器学习】聚类算法原理详解
  • Ubuntu20.04从零安装IsaacSim/IsaacLab
  • 基于Java Springboot大学校园旧物捐赠网站
  • 【Java 集合】Collections 空列表细节处理
  • 大数据实验4-HBase
  • deepin系统下载pnpm cnpm等报错
  • #Js篇:JSON.stringify 和 JSON.parse用法和传参
  • c#通过网上AI大模型实现对话功能
  • pymysql模块
  • WPF-模板和样式
  • 网络编程 day1.2~day2——TCP和UDP的通信基础(TCP)
  • element ui table 每行不同状态
  • 力扣--LRC 142.训练计划IV
  • windows下,用CMake编译qt项目,出现错误By not providing “FindQt5.cmake“...
  • 【element-tiptap】Tiptap编辑器核心概念----结构篇
  • 半导体工艺与制造篇3 离子注入
  • 利用开源的低代码表单设计器FcDesigner高效管理和渲染复杂表单结构
  • 淘宝 NPM 镜像源
  • i春秋-GetFlag(md5加密,字符串比较绕过)
  • SpringBoot中设置超时30分钟自动删除元素的List和Map
  • 入门车载以太网(6) -- XCP on Ethernet
  • DAY4 网络编程(广播和多线程并发)
  • C++个人复习(4)
  • Dockerhub镜像加速
  • 11.20讲座笔记