- 博客(363)
- 收藏
- 关注

原创 uniapp云打包app使用sqlite实现本地缓存,以及云打包sqlite不生效踩坑记录
SQLite是一种轻量级的关系型数据库管理系统。它是一个自包含、无服务器的数据库引擎,可以在客户端程序中直接嵌入,并且不需要独立的数据库服务器进程。SQLite使用简单的SQL语言,支持大多数标准的SQL语法和功能,包括事务、索引和触发器等。SQLite的数据库以单个文件的形式存储在主机文件系统中,可以轻松地将数据库文件在不同的设备间进行传输和共享。由于其小巧、快速、灵活和可移植的特性,SQLite广泛用于各种嵌入式系统、移动应用程序和其他小型项目中。
2023-10-10 11:58:17
2681

原创 rollup打包vue文件报错[!] (plugin commonjs--resolver) RollupError:xxxx,src/test.vue?vue&type=template&id=0f
中已经配置了解析vue相关插件,但是还是报错。rollup打包vue文件报错,如上图。
2023-10-08 17:13:22
3432

原创 uniapp中map使用点聚合渲染marker覆盖物
当地图上需要展示的标记点 marker 过多时,可能会导致界面上 marker 出现压盖,展示不全,并导致整体性能变差。针对此类问题,推出点聚合能力。点聚合官网教程// 创建map对象// 仅调用初始化,才会触发 on.("markerClusterCreate", (e) => {})enableDefaultStyle: false, // 是否使用默认样式zoomOnClick: true, // 点击聚合的点,是否改变地图的缩放级别。
2023-08-16 11:11:32
5076
6

原创 vue3中使用jsx
安装Vue 3:使用Vue CLI创建一个新项目或通过npm安装Vue。配置Vue JSX插件:在创建的项目中,找到src.jsx。
2023-07-05 17:21:40
3185

原创 webpack提高构建速度之打包开启多进程(thead)
Webpack的多进程打包是通过利用多个子进程同时处理不同的模块来加速打包过程的技术。这种技术可以提高打包效率,减少等待时间,使得项目构建更快。使用多进程打包的好处在于,它可以将一些比较耗时的操作分配到不同的进程中进行并行处理,从而提高打包效率。这使得打包过程更加高效,节省了时间和资源。另外,和单进程打包相比,多进程打包也有助于避免进程卡死或异常终止的问题。对于大型项目或需要进行复杂操作的项目,采用多进程打包可以更快地完成项目构建,提高效率,减少等待时间,使开发人员可以更快地检验代码。
2023-06-17 11:02:37
2387
3

原创 vue3 el-upload 上传附件及预览 限制只能上传一个图片或者pdf格式的文件
vue3 el-upload 上传附件及预览 限制只能上传一个图片或者pdf格式的文件
2022-12-05 14:48:22
8508
原创 前端防护利器:disable-devtool 使用指南 - 保护你的Web应用安全
是一个强大的 JavaScript 库,提供多种检测方式来防止用户打开浏览器开发者工具。支持多种检测模式(目前共8种)可自定义回调函数支持配置MD5加密密钥能够禁用右键菜单轻量级(仅约7KB)支持npm引入和CDN使用。
2025-04-29 17:42:28
989
原创 WebcamJS中文文档
WebcamJS会根据它所附加的DOM元素自动调整实时摄像头视图的大小。但是,你可以通过设置width和/或height});// 在此处附加摄像头捕获的JPEG / PNG图像的大小默认设置为与实时摄像头视图匹配。但是,你可以通过设置dest_width和/或来覆盖此设置。请注意,你可以将目标图像大小设置为与视图大小不同。所以你可以有一个小的实时视图,但捕获一个大的图像。});// 在此处附加摄像头在此处查看此功能的在线演示。
2025-04-26 12:49:02
795
原创 C++中的引用:深入理解与实用示例
在引用的使用中,单纯给某个变量取个别名没有什么意义,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不理想的问题。用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,还可以通过const的使用,保证了引用传递的安全性。引用与指针的区别是,指针通过某个指针变量指向一个变量后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;引用底层仍然是指针,但是编译器不允许访问到这个底层的指针,逻辑上简单理解为——对引用的操作就是对目标变量的操作。
2025-04-22 20:27:11
768
原创 uni.createInnerAudioContext踩坑duration在真机环境一直为0
在使用确保音频文件加载完成后再获取duration:使用onCanplay和定时器轮询解决。将音频实例放到全局作用域:避免实例被销毁导致功能异常。管理播放状态:使用状态变量确保播放和暂停逻辑一致。通过以上方法,可以有效解决的常见问题,提升音频播放功能的稳定性和用户体验。
2025-04-18 17:38:41
380
原创 # Python 虚拟环境与 Conda 使用指南
在 Python 开发中,我们常常会面临这样的问题:不同项目可能依赖于同一库的不同版本,或者某些项目需要特定的 Python 解释器版本。如果将所有的包都安装在全局环境中,可能会导致版本冲突,影响项目的正常运行。为了解决这些问题,Python 引入了虚拟环境的概念,而 Conda 则是一个功能强大的包和环境管理工具,能帮助我们更方便地创建和管理虚拟环境。本文将详细介绍 Python 虚拟环境的概念、Conda 的使用以及一些常用命令。虚拟环境是 Python 提供的一种将项目的依赖项隔离开来的机制。它可以创
2025-04-12 10:00:00
1280
原创 深入了解 Python 的 Pip:第三方包管理的利器
pip是 Python 中不可或缺的包管理工具,它让我们能够轻松地管理 Python 第三方包。通过掌握pip的常用命令,我们可以高效地安装、升级和卸载包。同时,合理设置镜像源可以显著提高包的下载速度,避免因网络问题带来的困扰。希望本文能帮助你更好地使用pip,让你的 Python 开发之旅更加顺畅。
2025-04-12 08:00:00
915
原创 Python中的列表
列表是Python中常用的数据结构,支持动态操作和多种数据类型,在存储、排序、筛选和遍历数据等场景中应用广泛。若需存储有序且可变的数据集合,列表是首选。掌握列表使用方法,能为Python编程提供有力支持。特性Python 列表(list)JavaScript 数组(Array)有序性有序有序动态大小支持支持元素类型任意类型任意类型嵌套支持支持支持切片支持原生支持使用slice()实现方法丰富性提供丰富的方法提供丰富的方法性能更高(底层为动态数组)灵活(底层为哈希表+数组)
2025-04-11 09:10:04
1037
原创 python中的字符串
单引号或双引号字符串可以用单引号或双引号包裹。print(str1, str2) # 输出:Hello World三引号用三引号('''或""")可以定义多行字符串。multi_line_str = '''这是一个多行字符串'''空字符串定义一个空字符串:print(empty_str) # 输出:空白字符串是不可变的有序字符序列。提供了丰富的操作方法,如拼接、切片、查找、替换等。常用于文本处理、数据格式化等场景。特性Python 字符串JavaScript 字符串定义方式。
2025-04-11 08:52:54
644
原创 python中的集合
集合是无序且唯一的元素集合,适合用于去重和集合运算。提供了丰富的操作方法,如交集、并集、差集等。如果需要不可变集合,可以使用frozenset。相似点Python 的集合(set)和 JavaScript 的Set都是存储唯一值的无序集合。它们都支持添加、删除、检查元素是否存在等基本操作。不同点Python 集合支持直接的集合运算(如交集、并集等),而 JavaScript 的Set需要手动实现这些操作。Python 集合有更丰富的内置方法,而 JavaScript 的Set。
2025-04-11 08:45:21
647
原创 Python中的字典
字典是键值对的集合,适合存储和快速查找数据。提供了丰富的操作方法,如访问、修改、删除、遍历等。支持嵌套和动态扩展,适用于复杂的数据结构。
2025-04-10 18:04:01
1053
原创 深入理解C语言动态内存分配:机制、应用与陷阱
在C语言中,我们通常使用的变量(如整型、字符型等)和数组在声明时就确定了内存大小,它们的生命周期和内存分配方式是固定的。希望通过这篇博客,大家对C语言中的动态内存分配有更深入的理解和掌握,能够在实际编程中灵活运用这一技术,解决各种复杂的编程问题。在C语言编程的领域中,动态内存分配是一项至关重要的技能,它赋予了程序在运行时灵活管理内存的能力。今天,让我们一起深入探索C语言中动态内存分配的奥秘,包括它的基本概念、常用函数、应用场景以及需要注意的陷阱。接着,我们在分配的内存中存储了一个值,并打印出来。
2025-04-10 15:18:38
644
原创 深入理解C语言中的枚举、结构体与共用体
枚举(Enumeration)是C语言中一种特殊的数据类型,用于定义一组命名的整型常量。它的主要作用是提高代码的可读性和可维护性,使程序更易于理解和修改。定义枚举类型使用enumenum 枚举名 {枚举常量1,枚举常量2,枚举常量3,// 可以定义更多常量在上述定义中,定义了一个名为Weekday的枚举类型,其中包含了七个枚举常量,分别代表一周的七天。这些枚举常量在C语言中本质上是整型,默认情况下,Mon的值为0,Tue的值为1,以此类推。这样就定义了一个类型的变量today,并初始化为。
2025-04-10 10:04:05
1120
原创 C语言指针和函数
希望通过这篇博客,大家能对这些指针相关的概念有更深入的理解,在C语言编程的道路上更加得心应手。回调函数是一种通过函数指针实现的机制,它允许将一个函数作为参数传递给另一个函数,并在适当的时候被调用。通过传递指针,函数可以直接操作调用者提供的变量,而不是操作变量的副本,这在需要修改调用者变量值或处理大型数据结构时尤为重要。这种函数在需要返回一个指向某个数据的指针时非常有用,例如返回动态分配的内存地址或指向全局变量的指针。函数并使用返回的指针输出复制的字符串,最后记得释放动态分配的内存,以避免内存泄漏。
2025-04-09 09:52:37
747
原创 深入剖析C语言中的指针与数组
在C语言的领域里,指针和数组犹如一对紧密交织的孪生兄弟,理解它们之间的关系以及各自的特性,是迈向C语言高级编程的关键一步。使用指针数组来管理字符串,比使用二维字符数组更节省内存空间,因为二维字符数组需要为每个字符串预留固定大小的空间,而指针数组只需要存储字符串的起始地址。是一个指针,无论它指向何种类型的数据,在32位系统下通常返回4字节(指针本身占用的内存大小),在64位系统下通常返回8字节。需要注意的是,字符串常量存储在只读内存区域,所以如果尝试修改字符串常量,如。的值虽然相同,但它们的含义是有区别的。
2025-04-08 15:34:23
1027
原创 C语言指针初识
指针本质上是一种特殊的变量,与普通变量存储数据值不同,指针变量存储的是内存地址。可以把指针想象成是记录某个物品在仓库中位置编号(内存地址)的小纸条。比如,我们有一个整型变量num,指针变量可以存储num在内存中的地址,通过这个地址,我们就能间接访问和操作num。指针为我们提供了一种间接访问数据的方式,这在许多编程场景中都发挥着关键作用。在C语言中,定义指针变量需要指定它所指向的数据类型。数据类型 *指针变量名;int *ptr;// 定义一个指向整型数据的指针变量ptr这里的是指针声明符,它表明ptr。
2025-04-08 11:44:33
1035
原创 利用 VSCode 搭建 Vue 3 + Vite + UniApp 项目全攻略
通过以上步骤,你已经成功使用 VSCode 创建了一个基于 Vue 3、Vite 和 UniApp 的项目。现在你可以开始编写自己的代码,开发跨平台的应用程序了。在开发过程中,你可以根据项目的需求对 Vite 进行配置,使用 UniApp 提供的丰富组件和 API 来实现各种功能。希望本文对你有所帮助,祝你开发愉快!以上博客内容详细介绍了使用 VSCode 创建 Vue 3 + Vite + UniApp 项目的全过程,从环境准备到项目创建、运行和调试,都进行了详细的说明。
2025-04-02 11:44:58
1065
原创 C语言基础数据类型
编写更高效的内存敏感代码避免微妙的类型相关bug实现精确的硬件控制构建可移植的跨平台应用随着C23标准的演进,类型系统仍在发展(如_BitInt等新特性)。定期查阅最新标准文档在实际项目中应用类型安全技巧使用现代静态分析工具验证代码您在使用C语言数据类型时遇到过哪些有趣的问题?或者有哪些独特的优化经验?欢迎在评论区分享您的见解!
2025-04-01 20:16:55
715
原创 深入探究C语言中的二进制世界:从原理到实践
调试能力提升:能够直接分析内存dump数据性能优化:合理使用位操作代替算术运算硬件交互:精确控制设备寄存器跨平台开发:理解不同架构的数据表示差异随着计算机体系结构的发展,二进制知识也在不断演进。量子计算中的量子位(Qubit)、神经形态计算中的脉冲编码等新技术正在扩展二进制的概念边界。作为C语言开发者,保持对这些前沿技术的关注将有助于我们在未来的计算范式中保持竞争力。您在实际项目中遇到过哪些有趣的二进制应用案例?或者有哪些关于位操作的独特经验?欢迎在评论区分享您的见解!
2025-04-01 20:04:40
633
原创 C语言的常量
常量是程序运行过程中其值固定不变的量。与变量不同,变量的值可以在程序执行期间被修改,而常量一旦被定义,就如同被"锁定",不能再被改变。提高代码可读性:使用有意义的常量名(如MAX_USERS)比直接使用数字(如100)更易理解增强可维护性:只需修改常量定义处,所有使用该常量的地方都会自动更新避免魔法数字:减少代码中直接出现的未解释数字类型安全(对于const常量):编译器会进行类型检查场景推荐方式全局配置参数#define数学/物理常数const状态码/选项标志enum临时使用的固定值。
2025-04-01 14:11:32
843
原创 C语言变量
fill:#333;fill:black;fill:#333;25%25%20%15%15%变量使用要点命名规范类型匹配作用域管理初始化习惯输入验证变量是C语言编程的基础,从声明、初始化到使用,每一个环节都需要我们仔细对待。掌握好变量的相关知识,能帮助我们编写出更健壮、高效、易读的程序。希望通过这篇博客,您能对C语言变量有更深入、全面的理解,在编程之路上更进一步。
2025-03-31 20:43:39
749
原创 C语言程序从源代码到执行的完整生命周期
更高效地调试复杂问题编写性能更优的代码深入理解计算机系统工作原理更好地处理跨平台兼容性问题正如计算机科学家David Wheeler所说:“All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection.” 理解这些底层机制,正是我们减少不必要抽象层的关键。建议下一步实践。
2025-03-31 20:18:05
979
原创 第一段C语言代码
当你在终端看到"Hello, World!"成功输出时,已经完成了与计算机系统的第一次对话。这简单的12个字符背后,是编译器、链接器、加载器等多个系统组件的精密协作。修改输出内容,观察变化故意制造错误,阅读编译器提示使用objdump工具分析生成的可执行文件正如C语言之父所言:“The only way to learn a new programming language is by writing programs in it.” 让我们从这第一个程序出发,开启精彩的编程之旅!
2025-03-31 19:25:20
744
原创 win系统使用VSCode运行C语言
启动下载好的安装程序,按照安装向导的提示操作。在安装过程中,选择合适的安装路径,并且记住该路径,后续配置环境变量时会用到。MinGW - w64是Windows下的开源C/C++编译器套件,能让你在Windows系统中编译和运行C语言程序。这是Microsoft提供的插件,能为C和C++语言开发提供代码高亮、智能提示、调试支持等功能。,下载适合你系统的安装包。该插件支持多种编程语言的代码运行,方便你在VSCode中直接运行C语言程序。通过上述步骤,你就能在VSCode里顺利运行和调试C语言程序了。
2025-03-31 19:16:27
449
原创 uniapp编译报错:Vue2 scss 预编译器默认已由 node-sass 更换为 dart-sass,如果您的代码使用了 dart-sass 不支持的旧语法,可能存在部分不兼容的问题。
在manifest.json中加上:“sassImplementationName” : “node-sass”,
2025-03-27 13:58:56
667
原创 在 UniApp 编译小程序时出现 `:class` 不支持 `getStatusClass(device.deviceStatus)` 语法的报错
预先计算类名:在数据处理时就把类名计算好并存储在数据对象中,模板直接使用存储的类名。使用计算属性:利用计算属性动态计算类名,模板中调用计算属性来获取类名。你可以依据项目的实际情况,选择适合的解决办法。
2025-03-27 13:53:31
1216
原创 uniapp编译小程序报错,v-for中,非 h5 平台 :key 不支持表达式 chart+‘_‘
要保证:key绑定的是一个简单、唯一的值,不能使用复杂的表达式。若数据本身没有唯一标识,可在数据处理阶段添加,以确保每个列表项的key是唯一的。
2025-03-27 13:51:48
647
原创 Vue 中异步数据加载与方法调用顺序问题:`await` 的正确使用
在 Vue 项目中,正确处理异步数据加载与方法调用顺序是非常重要的。确保异步方法返回Promise如果方法中使用了then,需要显式返回Promise。使用可以让代码更加简洁和易读。await的行为await只能等待一个Promise,如果方法没有返回Promiseawait会立即完成。通过以上方法,可以有效避免异步操作导致的方法调用顺序问题。希望这篇博客能帮助你和其他开发者更好地理解 Vue 中异步数据加载与方法调用顺序的问题!
2025-03-26 10:54:14
544
原创 实用插件分享:@plugin-web-update-notification/vite 的使用指南
插件为网页更新通知提供了便捷的解决方案。它的配置简单灵活,能够快速集成到 Vite 项目中。在实际项目中使用该插件,可以让用户及时知晓网页更新,提升用户对产品的使用体验。不过在使用过程中,也需要合理设置检查更新的时间间隔,避免过于频繁的检查给服务器带来不必要的压力。希望这篇博客对你了解和使用插件有所帮助,让你的前端项目在用户体验方面更上一层楼。
2025-03-13 11:19:55
547
原创 h5、vue3抓拍功能
创建一个 questionStore实例,用于在 Hook 中访问和修改 store 中的数据。定义一个名为 useCameraCapture的函数,接收一个包含 time和 photoNum的对象作为参数。time:拍照间隔时间,默认为 5000 毫秒(5 秒)。photoNum:拍照次数上限,默认为 5 次。videoSrc:视频源 URL。imgUrl:捕获的图像 URL。video:视频元素的引用。:文件上传的令牌。picList:捕获的图像列表。
2025-02-18 17:25:44
577
原创 鸿蒙开发环境准备DevEco Studio下载安装配置
在当今数字化的时代,鸿蒙系统以其独特的优势和广阔的发展前景,吸引着越来越多开发者的目光。如果你也想投身于鸿蒙开发的浪潮中,以下这些准备工作将为你奠定坚实的基础。
2025-02-18 14:20:21
248
原创 vue中循环表格数据,出现数据联动现象。
问题描述:如图我输入期数为4,会循环出来4个表格,其中名额分配一栏人数是可以编辑的,但是当我修改第一个表格的数据之后,后面的表格数据也跟着修改了。源码如下问题原因你遇到的问题是因为在生成多个表格时,所有表格的数据都引用了同一个对象或数组,导致数据联动现象。要解决这个问题,你需要确保每个表格的数据是独立的副本,而不是引用同一个对象或数组。解决方案代码如下
2024-11-07 15:07:07
1033
原创 Network面板的Waterfall(瀑布流)视图
需要注意的是,Waterfall图中的每个节点颜色可能因浏览器版本和设置而异,但上述阶段和含义是普遍适用的。通过分析Waterfall图,开发者可以定位页面加载过程中的性能瓶颈,并采取相应的优化措施。例如,如果DNS解析时间过长,可以考虑优化DNS设置或更换DNS服务器;在谷歌浏览器的调试控制台中,Network面板的Waterfall(瀑布流)视图展示了页面加载过程中各个资源请求的时间线和相关信息。Waterfall图中的每个节点代表了一次网络请求的不同阶段,这些阶段共同构成了请求的总耗时。
2024-09-25 14:41:28
1299
原创 vite项目配置本地开发使用https访问
方法允许网页直接访问用户的媒体输入设备,但出于安全考虑,这一功能通常要求在HTTPS环境下运行。如果你正在使用Vite作为你的开发服务器,并希望在本地开发过程中测试这一功能,那么配置Vite以支持HTTPS访问就变得尤为重要。在现代Web开发中,保护用户隐私和数据安全是至关重要的。特别是在涉及到媒体捕获功能,如使用用户的摄像头或麦克风时,Web应用需要遵循严格的安全准则。
2024-09-04 16:57:59
3055
前端常见面试题之异步(event-loop- promise-async-await宏任务微务).md
2025-04-08
前端常见面试题之js基础(手写深拷贝-原型和原型链-作用域和闭包).md
2025-04-08
vue3+echarts实现堆叠柱状图demo
2025-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人