- 博客(111)
- 收藏
- 关注
原创 一个完整的 AWS 无服务器架构教程
本教程介绍如何使用AWS无服务器架构实现OTA固件更新服务。该服务提供两个HTTP接口:GET /check用于设备查询更新,POST /report用于上报结果。架构包含API Gateway暴露接口、Lambda处理业务逻辑、S3存储固件文件、DynamoDB存储设备信息。教程详细指导创建S3存储桶和DynamoDB表,并实现Python Lambda函数处理核心业务逻辑,包括设备认证、版本检查、生成预签名URL和接收更新报告等功能,提供完整的无服务器解决方案。
2025-10-29 18:05:48
910
原创 OTA升级--涂鸦
这段代码实现MCU固件升级功能,包含两个关键命令处理:UPDATE_START_CMD(开始升级)和UPDATE_TRANS_CMD(传输数据)。开始升级时协商包大小(256/512/1024字节)并获取固件总长度;传输时处理数据分包,通过长度判断是否为最后一包。升级期间暂停其他数据上报,采用大端模式处理长度字段,异常情况会终止升级流程。完成每包处理后发送应答帧,确保升级过程的可靠传输控制。
2025-09-10 11:03:33
363
原创 shareId 的产生与传递链路
本文分析了一个Spring MVC全局Web配置类,主要功能包括静态资源映射和拦截器配置。重点解析了63-99行的拦截器URL规则:后台拦截器作用于/backendApi/**路径,放行登录、验证码及导出接口;客户端拦截器作用于/clientApi/**路径,放行游客可访问的商品浏览、支付回调等公开接口。配置通过addPathPatterns和excludePathPatterns实现细粒度的权限控制,平衡安全性与可用性,同时注意避免覆盖Spring Boot默认配置导致静态资源失效。
2025-09-08 15:42:19
434
原创 WebConfig的登录与放行
本文分析了一个Spring MVC全局Web配置类,主要功能包括静态资源映射和拦截器配置。重点解析了63-99行的拦截器URL规则:后台拦截器作用于/backendApi/**路径,放行登录、验证码及导出接口;客户端拦截器作用于/clientApi/**路径,放行游客可访问的商品浏览、支付回调等公开接口。配置通过addPathPatterns和excludePathPatterns实现细粒度的权限控制,平衡安全性与可用性,同时注意避免覆盖Spring Boot默认配置导致静态资源失效。
2025-08-27 18:08:55
3515
原创 banner这个文件是怎么请求到后端数据的
摘要 Banner组件通过props接收父组件传入的dataList,自身不请求数据。首页index.vue调用api/page.js的home()接口获取banner数据,再传递给Banner组件。mixin.js仅处理跳转逻辑,不涉及数据请求。数据流清晰:父组件请求→传递数据→子组件渲染。
2025-08-27 17:46:23
399
原创 矩阵扫描技术是单片机开发中的重要基础技能
单片机的点阵屏和键盘均采用矩阵结构,利用行列扫描原理减少I/O引脚使用。键盘通过行输出列输入检测按键,点阵屏通过动态扫描控制LED显示,两者虽然功能不同(输入vs输出),但硬件连接和控制方式相似。这种矩阵结构可显著节省引脚资源(如4×4键盘用8个引脚替代16个),是单片机开发的重要基础技术,也适用于LED灯板、触摸阵列等外设。
2025-07-30 14:55:33
333
原创 人眼视觉暂留效应
摘要:人眼视觉暂留效应(约0.1秒)是指物体消失后影像在视网膜短暂停留的现象,是电影(24帧/秒)、动画等动态影像连续呈现的基础原理。除生理性暂留外,大脑的似动现象也参与运动感知。该效应广泛应用于影视、LED显示、VR等领域,并通过火柴划圈等简单实验可直观验证,是现代视觉媒体技术的重要理论基础。(150字)
2025-07-30 14:48:42
1413
原创 在App中发起HTTP网络请求但未拿到服务端返回结果
摘要:App发起HTTP请求未收到返回结果可能由多因素导致。客户端问题包括请求未正确发出、异步处理错误、超时设置过短或代码逻辑错误;网络问题涉及连接不可用、DNS解析失败或防火墙拦截;服务端问题可能是服务宕机、接口路径错误或处理超时;安全协议问题包含HTTPS证书错误、TLS版本不兼容等;配置问题如环境混淆、Hosts配置错误等。建议通过抓包工具、服务端日志、Postman测试和详细日志记录进行系统排查,按照"请求发出→到达服务端→返回响应→客户端接收"的链路逐步分析。
2025-07-29 20:08:11
1557
原创 在Flutter中生成App Bundle并上架Google Play
本文介绍了Flutter应用打包为App Bundle并上架Google Play的完整流程。主要内容包括:1) 使用keytool生成签名密钥;2) 配置签名信息文件;3) 修改Gradle构建配置;4) 设置应用版本号;5) 通过flutter build appbundle命令生成.aab文件;6) 在Google Play Console上传发布。文中还强调了App Bundle相比APK的优势,如更小的体积、设备优化交付等。该指南提供了从开发到发布的完整技术路线。
2025-06-30 16:09:45
445
原创 App上架美国Apple App Store和Google Play流程
摘要: 上架美国App Store和Google Play需完成开发者账号注册、应用信息准备、构建打包及审核提交。Apple要求提供App ID、证书和元数据,审核周期1-3天;Google需支付$25注册费,审核约1-2天。两者均需隐私政策、年龄分级和合规内容,推荐使用Fastlane等工具自动化流程。建议先进行测试再正式发布。
2025-06-28 14:48:34
2085
1
原创 连接数据线运行flutter run ,iphone手机中的APP能打开,拔了数据线打不开
iOS应用在断开连接后无法打开通常是由于签名配置问题。常见原因包括:1)开发者证书未正确配置;2)设备未信任开发者;3)配置文件过期。 解决方案:1)修改Xcode项目配置,确保使用正确的开发团队ID和签名证书;2)在设备设置中手动信任开发者;3)检查配置文件是否过期并重新生成。还需确保Info.plist文件包含所有必要权限配置,使用自动签名而非手动配置可减少出错概率。
2025-06-14 10:34:24
1095
5
原创 将 App 安装到 iPhone 真机上测试
本文详细介绍了在macOS上使用Flutter开发iOS应用时如何进行真机调试的完整流程。主要内容包括:连接iPhone并启用开发者模式、Xcode签名设置、真机运行方法(命令行和Xcode两种方式)、常见问题解决方案(如签名错误、信任问题等)以及日志查看技巧。文中特别强调使用免费Apple ID即可进行真机调试,并对比了不同开发场景是否需要付费开发者账号。最后总结了7步标准操作流程和实用小贴士,为Flutter开发者提供了清晰的iOS真机调试指导。
2025-06-13 21:45:45
2664
1
原创 在 Flutter 项目中iOS 的 App 图标和 App 名称 的设置
摘要:在Flutter项目中设置iOS应用的图标和名称需修改以下内容: 应用名称:通过Xcode修改Info.plist中的CFBundleName键值 应用图标: 方法1:在Xcode中拖拽图标到Assets.xcassets/AppIcon 方法2:手动替换AppIcon.appiconset目录中的图标文件 可选修改Bundle ID 修改完成后需运行flutter build ios验证效果。操作主要涉及Xcode界面操作或直接修改项目配置文件。
2025-06-12 22:08:45
1304
原创 flutter把 pubspec.yaml 中的name改成了新的值
Flutter 允许安全删除并重建 ios/ 文件夹: 1️⃣ 确认无自定义配置后删除原文件夹:rm -rf ios/; 2️⃣ 执行 flutter create . 自动重建 iOS 项目结构; 3️⃣ 安装 CocoaPods 依赖:cd ios && pod install; 4️⃣ 通过 flutter run 或 Xcode 验证新项目。 ⚠️ 注意事项:需重新配置签名、插件权限和 Info.plist 设置。该操作适合需要重置 iOS 模块或解决构建问题的场景。
2025-06-12 17:37:50
697
原创 文本内容变化引起布局尺寸变化 导致的 UI 适配问题
Flutter开发中,多语言文本长度差异常导致布局错位。本文提供7种解决方案:1)固定宽高容器限制;2)自动换行与文本截断;3)LayoutBuilder动态适配;4)HTML富文本样式控制;5)设计阶段预留空间;6)Wrap防溢出;7)多语言专用字段。建议采用固定容器+自动换行组合方案,并强调在设计阶段预留空间是根本解决之道。通过表格对比各方法适用场景,为开发者提供全面的文本适配指导。
2025-06-04 14:17:18
536
原创 为什么 uni-app 开发的 App 没有明显出现屏幕适配问题Flutter 开发的 App 出现了屏幕适配问题
本文对比了uni-app和Flutter在屏幕适配方面的差异。uni-app基于H5/小程序引擎,内置rpx单位和CSS响应式布局(如flex、百分比),开发者无需过多关注适配问题。而Flutter采用原生渲染(Skia引擎),使用固定逻辑像素单位,需要开发者手动处理适配,通过MediaQuery、LayoutBuilder等工具或flutter_screenutil插件实现响应式布局。关键区别在于:uni-app通过H5技术自动适配,Flutter则需开发者主动控制布局逻辑,导致后者更易出现适配问题。解决
2025-06-03 15:14:16
1341
原创 flutter开发安卓APP适配不同尺寸的手机屏幕
Flutter 屏幕适配指南:实现多设备响应式布局 本文介绍了 Flutter 中实现 Android 应用屏幕适配的多种方法。核心要点包括:使用逻辑像素而非物理像素,通过 MediaQuery 获取设备信息,利用 LayoutBuilder 和 OrientationBuilder 构建响应式布局。重点推荐 flutter_screenutil 插件,它能自动适配字体、宽高和尺寸。文章还提供了图片资源适配建议、测试方法以及针对不同场景的布局策略,如使用 Flex/Row/Column 组件和 Wrap/G
2025-06-02 14:31:05
1633
1
原创 将 Figma 设计稿通过编码一比一还原成 App 界面
摘要: 将 Figma 设计稿精准还原为 App 界面需分三步:1)前期准备,确保 Figma 文件结构清晰,标注完整,并导出设计规范与切图;2)开发阶段,根据原生(Android/iOS)或跨平台(React Native/Flutter)选用适配工具(如 Figma to Code 插件)实现布局;3)验证阶段,通过截图对比、半透明叠加或像素测量确保还原度。关键工具包括 Zeplin、Anima App 等,最终需交付设计文档与组件库,保持团队协作与细节优化。(150字)
2025-05-29 16:31:50
2480
原创 使用 Flutter 开发 App 时,想要根据 Figma 设计稿开发出响应式 UI 界面
本文介绍了如何在Flutter中基于Figma设计稿开发响应式UI的完整方案。从设计阶段开始,建议使用Figma的Auto Layout和多设备预览功能构建灵活布局。在Flutter实现环节,详细讲解了7项核心技术:包括MediaQuery获取屏幕信息、LayoutBuilder构建自适应布局、OrientationBuilder处理横竖屏、使用响应式库、百分比布局、图片适配和字体动态计算。文章提供了响应式卡片组件的完整代码示例,并推荐了进阶工具如flutter_screenutil和状态管理方案。最后总结
2025-05-29 16:30:27
1962
原创 工具类来生成蓝牙指令
BluetoothCommandUtil 是一个用于生成蓝牙指令的工具类,包含两个主要方法:generateCommand 和 commandToHexString。generateCommand 方法接收功能码参数列表,生成一个20字节的完整指令数组,其中前3个字节固定为 [0x5A, 0xB5, 0x14],第4、5字节为传入的功能码参数,中间填充 0x00,最后一个字节为前19个字节的累加和。commandToHexString 方法用于将指令数组转换为易读的十六进制字符串格式,便于调试。使用示例展示
2025-05-15 11:10:56
279
原创 按摩椅上的气囊系统 是现代按摩椅中非常关键的组成部分,它与机芯系统相辅相成,为用户提供全方位、更接近真人按摩的体验
气囊是现代按摩椅实现全身立体按摩的重要组成部分;它弥补了机芯按摩的不足,使按摩更加柔和、均匀、自然;在选购按摩椅时,不仅要关注机芯类型,也要重视气囊的数量与分布是否科学合理。
2025-05-08 16:05:03
793
原创 按摩椅的机芯类型和材质
要素推荐配置机芯类型至少3D,预算允许选4D机芯材质优先金属或混合材质控制方式支持APP控制、智能语音更好按摩程序程序越多越灵活,支持自定义最佳导轨类型SL导轨优于L导轨,贴合人体曲线更好。
2025-05-08 15:27:52
1089
原创 app根据蓝牙名字不同,匹配不同的产品型号,显示对应的UI界面
蓝牙设备发现与信息提取;设备型号匹配规则的设计与维护;UI 界面的动态加载机制;可扩展性和兼容性的考虑。如果你使用的是跨平台框架(如 Flutter、React Native),也可将蓝牙部分用原生封装,然后传递设备信息给前端做路由跳转。
2025-05-06 16:39:22
644
原创 手机电池用了多少年需要更换
后可能会出现性能下降的情况,但具体更换时间取决于使用习惯和电池健康状况。如果你发现电池续航能力明显下降、频繁异常发热或系统提示电池健康度较低,就应该考虑更换电池了。手机电池的寿命主要取决于使用频率、充电习惯以及电池本身的品质。一般来说,手机电池通常在。左右需要更换,但这并不是绝对的,具体情况因人而异。一般来说,手机电池在。
2025-04-21 11:39:18
6534
原创 “总成”是由多个零部件或组件组装而成的一个完整功能单元或模块
总成”是一个常见的术语,通常用于机械、汽车、电子设备等领域,指的是由多个零部件或组件组装而成的一个完整功能单元或模块。它能够独立完成某个特定的功能,并且可以作为一个整体进行安装、更换或维修。
2025-04-21 10:05:25
757
原创 单片机如何通过串口与上位机进行数据交换
波特率是串口通信的关键参数,决定了数据传输速率。单片机和上位机的波特率必须一致,否则会导致数据传输错误。常见的波特率有9600、115200等。单片机通过串口与上位机进行数据交换是一种常见的方式,广泛应用于嵌入式系统中。单片机需要初始化串口,并编写代码以实现数据的发送和接收。上位机可以通过串口调试工具(如串口助手)、Python脚本或其他编程语言实现数据的接收和发送。通过以上步骤,您可以轻松实现单片机与上位机之间的高效数据交换。
2025-04-19 11:03:12
3020
原创 scan.dart
这是一个简洁的扫码实现,主要用于在应用中提供扫码功能,比如商品扫码、二维码识别等场景。从首页的扫码按钮点击后会打开这个扫码页面。
2025-04-15 17:05:06
256
原创 Home.dart
这是一个完整的电商 App 首页实现,包含了商品展示、分类导航、营销广告等核心功能,并且注重用户体验,提供了流畅的交互效果和良好的视觉展示。
2025-04-15 16:57:26
256
原创 web.dart
这个组件通常用于在 App 内部显示网页内容,比如查看网页文档、打开链接等场景,同时保持了应用的整体风格和用户体验。实现了一个内嵌的网页浏览器页面(WebPage),可以加载和显示网页内容。
2025-04-15 16:28:07
162
原创 flutter底部导航代码解释
整体而言,这是一个标准的 Flutter 应用主框架,采用了底部导航 + 页面切换的常见模式,实现了应用的主要导航功能,包括首页、自动模式、手动模式和会员中心等主要功能区域的切换。,实现了带底部导航栏的主界面。
2025-04-15 10:59:35
509
原创 cdr 文件(CorelDRAW 文件)中的原型图转换为开发人员可以使用的资源文件
文件(CorelDRAW 文件)中的原型图转换为开发人员可以使用的资源文件,需要根据开发人员的需求和常见的开发工具支持的格式进行处理。如果团队中有设计师与开发人员协作的需求,可以借助设计协作平台(如蓝湖、Zeplin、Figma)来交付资源。将导出的图片文件打包并交付给开发人员,同时附上简单的标注说明(如元素的尺寸和位置)。在交付资源前,与开发人员确认具体需求(如是否需要矢量资源、标注信息的详细程度等)。导出的图片资源需要满足不同屏幕密度的需求(如 1x、2x、3x 分辨率)。
2025-04-12 18:46:23
1260
原创 Inkscape安装教程
Inkscape 是一款开源的矢量图形编辑软件,功能强大且免费,适用于 Windows、macOS 和 Linux 系统。
2025-04-12 18:27:18
2855
原创 Flutter 强制横屏
方法中设置屏幕方向,以确保在页面加载时立即生效。如果你希望在页面销毁时恢复默认方向,可以在。通过以上方法,你可以轻松地在 Flutter 应用中实现强制横屏的功能。方法来指定设备的方向。来强制应用横屏显示。如果你想同时支持这两种横屏方向,可以将它们都加入到列表中。如果只传入横屏方向,则应用会强制横屏。函数中设置方向,而不需要在每个页面中重复配置。这个方法用于限制应用支持的屏幕方向。如果你希望整个应用都强制横屏,可以直接在。这种方式适用于整个应用都需要横屏的场景。在 Flutter 中,可以通过设置。
2025-04-12 10:16:12
1236
原创 51单片机烧录程序演示教程
51单片机是一种经典的8位单片机,广泛应用于嵌入式系统开发中。烧录程序是指将编译好的代码下载到单片机的存储器中,以便单片机能够按照程序运行。以下是详细的烧录流程和步骤。通过以上步骤,您应该能够成功完成51单片机的程序烧录。如果在某个环节遇到问题,可以逐步排查硬件连接、驱动安装或软件设置是否正确。
2025-04-11 09:39:54
2389
原创 在Flutter中使用BottomNavigationBar和IndexedStack可以实现一个功能完整的底部导航栏
在Flutter中,使用和可以实现一个功能完整的底部导航栏。用于显示底部的导航按钮,而则用于管理页面的切换,确保每个页面的状态得以保留(即页面不会因为切换而重新构建)。
2025-04-09 10:09:19
785
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅