- 博客(121)
- 收藏
- 关注
原创 Flutter 串口获取不到内容踩坑记录(Windows)
Flutter串口通信问题排查指南 在Flutter桌面应用中通过串口读取扫码枪数据时,常见问题是设备管理器能识别端口但无法接收数据。核心原因包括: 配置顺序错误:应先执行openReadWrite()再设置波特率等参数,否则配置可能无效。 RTS/DTR未启用:需手动将config.dtr和config.rts设为on以唤醒设备(类似串口工具的默认行为)。 解决方案: 按正确顺序打开端口并配置(9600 8N1,无流控) 启用DTR/RTS信号 调用flush()清除缓存 排查清单:验证端口是否成功打开、
2026-03-11 12:27:24
299
原创 #Flutter中使用Shelf做服务器框架
Shelf 是 Dart 生态系统中的轻量级 Web 服务器框架,专为构建 HTTP 服务器和 API 代理而设计。为什么我会使用到他,因为我接到了一个新的需求即设备B不能直接往服务器发送请求,要通过设备A进行服务转发。因此我需要在设备A中启动一个服务来接收B的请求并转发出去。
2026-01-17 15:47:51
444
原创 鸿蒙应用如何获取cer证书以及如何读取公钥和md5
好久没写文章了,主要是现在AI盛行基本大家不太看博客了,再加上工作忙的要死基本都是写在飞书之类里,似乎不是很喜欢再在博客输出,但是最近转鸿蒙应用,要获取md5,公钥,感觉麻烦的很,问AI问客服都给了很多奇怪的答案,所以决定直接自己写一篇,希望大家不用像我浪费半个多小时时间去研究啦。
2025-12-24 12:13:08
396
3
原创 苹果iosApp提交审核常见问题--内购订阅篇
Next StepsApple Pay是用于线下和实物类支付场景。IAP内购是针对App内的付费虚拟服务和付费内容产业的解决方案有2个。
2025-04-25 15:00:12
1032
原创 flutter App如何跳转小程序如何调用微信sdk(ios/andriod)
实不相瞒,这一块着实耗费了我很大的时间,因为没有太多ios和andriod原生开发的知识储备,在很多方面就会踩不少坑,这里总结几种app跳转微信小程序的方式。
2024-03-06 23:08:50
4904
1
原创 【flutter】flutter如何让app内字体大小不随着系统改变而改变
如果我们不特意设置,flutter开发的app他的字体大小是会跟着系统设置的字体大小而改变,这样就会导致页面出现布局错乱问题,那么如何解决这个问题呢?我也搜索了相关资料,有两个常用也是网络上搜集到比较多的方法,还有一个是我自己使用的比较简单粗暴但是我认为方便快捷的方法。因为在发现这个问题的时候,代码已经比较庞大并且多处使用Text,挨个替换肯定是不合理的,因此我直接修改了Text的源代码,设置textScaleFactor默认值为1.0。
2023-07-28 18:38:13
4084
原创 mac解决 flutter打包ios“error running pod install““Error installing libwebp“等一些列错误
在运行pod install的时候可能会遇到 Error installing libwebp,解决方案如下。【注意】这个时候可能又会卡在这里 继续重新运行pod install 1-2次就会成功。然后继续重新pod install。把homepage和git换成。如果遇到错误运行下面的命令行。
2023-01-17 13:30:54
5090
原创 flutter打包解决 Running Gradle task ‘assembleRelease‘...死循环问题
其实说到底就是国内访问google源太慢或者超时,所以两个方案。
2023-01-17 10:12:48
6221
2
原创 uniapp生成的h5与flutter的原生进行交互
最近拿到需求是要配合app做一些h5的页面,刚好h5又是用uniapp生成的,使用起来跟普通的h5有些区别,所以在这里总结一下使用uniapp生成的h5页面如何跟flutter进行数据的传递。
2022-11-23 18:10:50
2606
1
原创 【微信小程序/uniapp】视频如何在pad端可以横屏播放
相信做视频类小程序的伙伴们一定会遇到视频在【pad】系列上播放的问题,我们会发现,当在pad端点击全屏播放的时候,他是竖屏的全屏(如图1),即便我们旋转屏幕,他依旧是竖屏类型的全屏(如图2)(图1)(图2)而我们想要的效果是全屏【横屏】播放我们需要使用到的是小程序app.json中的【pageOrientation】属性将这个属性设置为auto,他就会随着屏幕的翻转自动识别合适的长宽比,也就能够实现视频的横屏播放了。
2022-10-27 20:32:16
4468
原创 【uniapp】uniapp中使用websocket
1 - 心跳时间的限制前后端商量好一个时间,心跳的存在是为了保证websocket一直处于一个链接状态,所以如果关闭socket以后记得清除心跳,不要造成内存泄露和浪费。如果你在多页面有socket操作或者有多个socket链接,那么建议使用socketTask形式,这样不容易出错。如果你是在单页面使用且只有一个socket链接,那么使用websocket这种形式就可以。2 - 重连这里可以设置一个标识表明什么情况下需要重新链接,什么情况下关闭链接,灵活使用。
2022-10-24 14:47:45
25398
5
原创 【vite】vite为什么比webpack快?
同样的错误,他只有进入到这个页面的时候才会出现错误提示,因为vite并不会在一开始就构建你的项目,而是会把应用分为【依赖】和【源码】,对于源码部分他会根据【路由】来进行拆分,只构建一开始就必须构建的内容,同时vite以【原生ESM】的方式为浏览器提供源码,让浏览器承担了部分打包的工作,也正是因为这样的机制,不管你的项目有多大,他会先构建一开始必须要构建的内容,可能有人会疑问如果以原生esm的方式是不是以为着如果我们使用commonjs等方式无法构建?出现这个问题的原因是webpack的构建机制导致的。...
2022-07-27 18:38:23
2123
原创 for...in 和 for...of 的区别
注意】如果你想顺序执行,只能延迟创建promise对象,而不能及早创建。如果你有一个对象,里面有N个promise对象,你可以这样处理。of可遍历generator,for…in遍历key,for…of可以遍历Map/Set,for…即,你创建了promise对象,它就立刻开始执行逻辑。in可以遍历对象,for…in遍历一个对象的可枚举属性。可以获取对象的所有属性描述,看。of遍历一个可迭代对象。其实就是迭代器模式,通过一个。用于遍历异步请求的可迭代对象。...
2022-07-24 21:01:29
795
原创 TCP 连接 三次握手 四次挥手
而且,也不一定全部由你主动发起,过程中张三也可能会主动派人给你发送。还是你要派人去张三家取一个东西,现在你要发短信(不是打电话)“建立连接”,至少需要3个步骤,缺一不可。即,你在chrome中看到的是一次http请求,其实背后可能需要好几次网络传输,只不过浏览器给合并起来了。就例如,你要请快递员(第三方的)去张三家取一个东西,你必须先打电话问问他在不在家。好了,取东西完毕了,你要发短信“关闭连接”,告诉张三可以关门了,需要4个步骤。建立连接完成,然后就开始发送数据,通讯。...
2022-07-24 20:58:24
742
原创 uniapp/vue 引入iconfont并动态修改icon颜色
一、引入iconfonticonfont官网:iconfont-阿里巴巴矢量图标库1-选择想要的icon至购物车2-添加至自己的项目3-这里我选择的font,属于个人喜好,觉得更方便,还有其他方式选择,步骤差不多,点击生成代码,下载至本地(当然你也可以选择在线使用)4-将iconfont.css等添加至自己的项目5-在main.js中引入css文件至此就可以使用我们的iconfont使用方法如下在iconfont.css中有我们下载的icon名..
2022-05-24 19:07:26
13128
6
原创 【uniapp】uniapp开发安卓切换视频链接app闪退问题
较低版本的安卓系统会存在 切换视频链接黑屏或者直接闪退的问题一般是 安卓8以下的系统我是开发在投影仪上的,系统更老,才5.7,所以就出现了闪退问题有两个方法可以尝试解决方法一:video标签添加 codec="software"解码器选择,hardware:硬解码(硬解码可以增加解码算力,提高视频清晰度。少部分老旧硬件可能存在兼容性问题);software:ffmpeg 软解码;如果还不可以就再添加 http-cache=false 【这个主要能解决一部分黑屏和加载不动的问题】
2022-04-30 18:38:23
2752
1
原创 【小程序】小程序多次扫描不同二维码参数不生效问题
有时候小程序开发免不了有功能是扫描二维码,二维码带参数进入小程序的指定页面的需求。而多次扫描二维码进入的时候,有时候会出现携带参数出现问题的情况,导致这种原因的的一种可能有可能是有小伙伴误用小程序的api首先我们要明确,获取小程序启动参数有两个方法1- wx.getLaunchOptionsSync()获取小程序启动时的参数。与App.onLaunch的回调参数一致。2 - wx.getEnterOptionsSync()获取本次小程序启动时的参数。如...
2022-04-22 18:33:11
2767
1
原创 【小程序】node/小程序云开发生成小程序二维码并添加文件到云存储/腾讯云存储
【前情提要】1-小程序云函数生成小程序码2-小程序云函数上传到云存储,云存储包括 小程序云存储/腾讯云存储(因为云函数 就是node.js语法写的吗,所以下面写法对于node同样适用)3-这里是借助了 tcb-router 所以写法跟 云函数稍微有一点不一样但是里面整体内容是一样的一、生成小程序码+上传到小程序云存储先附上官方文档:wxacode.createQRCode | 微信开放文档有三个方法可以生成小程序码,自己选择使用,我使用的是getUnlimited【注意点】
2022-04-02 23:01:26
1912
1
原创 【小程序】如何解决小程左滑删除功能ios的橡皮筋回弹
我尝试了很多方法终于让我找到一个超级超级超级简单的方法啊兄弟姐妹们!!根元素设置:catchtouchmove="return" <view catchtouchmove="return"> </view>你滑任你滑,左滑不再有上下的橡皮筋回弹!正常下拉还是有的哦~...
2022-03-23 16:43:37
823
原创 【uni-app】uniapp如何实现左滑删除以及改造uni-ui中的swiperAction
左滑删除 或者 置顶之类的功能我们经常要实现,类似于微信的删除聊天框的结构 我就不贴图了1-如何在uniapp中实现左滑删除我使用的是uni-ui中的swiperAction 不得不说 性能还是不错的。大家想自己手动封装这个框架也是可以的,可以下载下来源码看看人家的实现思路,在h5和小程序上主要就是使用touchstart和touchend来监控的插件地址:uni-swipe-action 滑动操作 - DCloud 插件市场文档地址:action文档代码参考:这里演示的是最常用的 可以
2022-03-23 13:45:18
14133
3
原创 【vue】vue中的computed和watch的区别
很多人对于computed和watch 是混淆的,实际上 这两者的用途是完全完全不一样的,没必要用长篇大论来解释computed 用于计算产生新的数据 这个数据是缓存的watch 是监听现有数据<template> <div> 总共 {{sum}}</div></template><script>export default { data() { return { name:
2022-03-10 10:51:31
790
原创 关于ES6中的箭头函数的优缺点和不能使用的场景
关于箭头函数箭头函数这个大家都不陌生,他最大的功能就是在于能改变this的指向箭头函数的优点1-简写了函数function fn = ()=>{}2-改变了this的指向,箭头函数的this指向当前的对象let obj = { a: "a", getA: function () { setTimeout(function () { console.log(this.a); //undefined 因为此时 this 指向 window }
2022-03-07 20:55:27
1056
原创 em rem px vw/vh 的区别
em相对于当前元素的 font-sizediv{ font-size:10px; width:3em;//30px}remrem也就是root em,相对于根元素元素的 font-sizehtml{ font-size:20px;}div{ font-size:10px; width:3rem;//60px}说到rem很多人就会想到rem适配,我们可以使用媒体查询设置font-size的大小,来实现适配@media only sc
2022-03-07 20:29:20
240
原创 【vue】vue组件通讯的方式(vue2+vue3)
vue组件通讯的方式,并不局限于父子组件一:props和$emit适用于父子组件。- 父组件向子组件传递 props 和事件- 子组件接收 props ,使用 `this.$emit` 调用事件直接代码是最方便的 每一步都有解释--父组件 <HelloWorld msg='传递给子组件的内容' @sayHi="sayHi"/>//当子元素emit'sayHi'的时候会调用父元素中的sayHi方法 methods: { sayHi(msg) {//
2022-03-03 18:51:27
506
原创 【小程序】wxml-to-canvas如何动态生成文字和样式以及踩坑
一、wxml-to-canvas 踩坑必须给每一个元素都设置宽和高,并且是数值不带任何单位。 如果不设置的话就会出现布局错乱或者不显示的问题,所以必须要给每一个元素设置宽和高,这时候就会有人有疑问我的宽高是不固定的怎么办呢?放心,第二部分会给大家介绍如何动态设置宽高 无法使用背景图,没办法使用backgroundImage来设置背景图,这个时候只能大家使用定位来实现背景图的功能了 生成的海报如果是圆角保存下来的时候在微信上会有白色或者黑色背景(不同设备显示可能不同)我目前没有找到更好的解决方案所以
2022-03-03 12:53:02
4908
14
原创 uniapp中如何使用小程序的wxml-to-canvas插件
本篇主要讲述uniapp中如何使用小程序的wxml-to-canvas插件,关于wxml-to-canvas如何动态传递数据以及踩坑注意点会在下一篇文章中具体描述1-关于wxml-to-canvas官网地址:wxml-to-canvas | 微信开放文档使用wxml-to-canvas最主要的功能其实就是生成海报,官网有demo演示,是静态海报的生成,大家可以直接下载2-关于如何在uniapp中使用正常在小程序中使用 我们只需要npm安装到小程序中就可以,小程序会构建miniprogra
2022-03-03 10:54:30
6009
24
原创 【vue】vue如何使用lottie
一般比较大的动画 gif 图就有很多弊端,首先是太大,其次就是有毛边,观感不太好,所以如果使用的话更推荐使用lottie1-安装npm install lottie-web2- 在需要使用的页面引入 import lottie from 'lottie-web'3-书写Lottie函数// lottie动画渲染 intLottie(domId, path, loop = false) { // 渲染主图按钮动画 let lott
2022-01-19 16:58:00
2126
原创 uniapp实现canvas画倾斜的圆
好家伙为了画这个椭圆我可真的是煞费苦心首先在uni的canvas里面是没有画椭圆的函数的,想要实现椭圆有很多种方法可以使用lineTo不停的改变很小的间距来画 但是十分耗费性能 使用arc画圆,使用scale进行变形 可以使用arcTo 贝塞尔曲线等进行椭圆的绘制,主要是要找到控制点,相对麻烦一些那么我使用的就是第二种方法,主要是因为比较简单,虽然也有一定的弊端 比如进行缩放的时候他的位置会移动 ,再比如画出的曲线线条宽度不一致,但是无伤大雅下面就是这篇文章的主要内容 椭圆是画出来了,但是
2022-01-11 21:17:51
1514
1
原创 uni-app开发canvas在小程序端或者h5端不生效
有以下几种可能:1、如果在canvas标签中写了type=“2d“,则在小程序端会无法显示,删掉即可2、习惯h5的写法只写了id没有写canvas-id,也会无法显示3、如果是旧版本,没有写在创建canvas的时候没有写this也有可能导致不显示(其实用现在的新版本,不写this也是可以显示的 但是建议写上)其他canvas问题后续待补充...
2022-01-10 10:11:54
6645
3
原创 如何使用vscode来开发uni-app
其实总的来说还是无法完全脱离HBuilder X的,但是因为一直使用vs code开发习惯了 使用HBuilder X真的很不上手 所以我们可以使用这个方法使用HBuilder X运行项目,将它运行到你想要的平台 使用VsCode打开要开发的项目 在VSCode中安装插件: uni-helper uni-app-snippets uni-app-schemas uni-ui-snippets 最后只要在vscode中进行代码的开发就好了 保存文件后会自动...
2022-01-08 19:28:38
3575
3
原创 【vue】watch和watcheffect的区别
两者都可监听data属性变化watch需要明确监听哪个属性watcheffect 会根据其中的属性自动监听其变化,你写了哪个就会监听哪个,没写就不监听watcheffect初始化时,一定会执行一次(收集要监听的数据),watch只有你设置了初始化监听才会监听 watch( // 第一个参数,确定要监听哪个属性 () => state.age, // 第二个参数,回调函数 (newAge
2021-09-09 17:55:58
1155
原创 vue3和vue2实现数据绑定的原理
一般自己的学习笔记都放在备忘录里吃灰了,今天有时间就来整理一下vue2和vue3实现数据绑定他原理的不同之处。如果一句话总结那就是 vue2实现的原理是依赖于Object.defineProperty,而vue3依赖的是ProxyObject.defineProperty这个方法能直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。而vue2中正式通过这种方式来实现的响应式数据但是对于这种普通的属性还好,对于数组和对象的监听都需要重新封装,而对于复杂的对象进行深
2021-09-09 17:52:56
382
原创 http的缓存机制
翻笔记的时候看到了缓存机制,简单总结一下,如果有错误欢迎指出为什么需要缓存?可以把一些没有必要重新获取的资源保存在本地能让资源加载的更快一些,还可以减少网络请求的负担 提高性能哪些资源可以被缓存?静态资源 img css js等等http缓存(强制缓存+协商缓存)强制缓存cache-control 如果可以缓存 服务器会返回这个cache-control 在responce-header中 控制强制缓存的逻辑,再次请求 只要判断缓存的时间没有过期 他就不会访问服务器.
2021-07-17 11:17:39
158
1
原创 screen参数说明
# screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]参数说明-A 将所有的视窗都调整为目前终端机的大小。-d <作业名称> 将指定的screen作业离线。-h <行数> 指定视窗的缓冲区行数。-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。-r <作业名称> 恢复离线的scre
2020-10-22 21:47:51
705
原创 项目部署到服务器,配置域名
简单记录一下部署服务器的过程1、首先进入自己的服务器 ssh 用户名@ip找到自己的项目应该存在哪一个目录下,pwd获取路径2:Scp远程连接传输Scp 文件夹 用户名@ip:想要传入的文件夹地址(在本地进行)例如:(主要:后面不要有空格)scp -r test root@ip:第一步获取的路径3、配置域名登陆阿里云 ,找到解析设置,点击添加记录记录类型选择A 意思是指向指定的ip地址主机记录就是我们希望输入什么网址能搜索到我们的项目记录...
2020-10-20 11:41:41
1915
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅