- 博客(178)
- 资源 (21)
- 收藏
- 关注
原创 tauri:关闭窗口后最小化到托盘
本文介绍了在Tauri 2.0中实现窗口关闭后最小化到托盘的功能。主要步骤包括:1)配置托盘菜单,创建显示/隐藏窗口和退出选项;2)在main.rs中引入并创建托盘;3)在Vue组件中监听窗口关闭事件;4)通过window_manager.rs处理关闭事件,隐藏窗口而非真正关闭;5)最终在main.rs中整合所有功能。相比Tauri 1.0,2.0版本的托盘实现方式有较大变化,需要注意Manager等关键依赖的使用。
2025-12-11 20:10:58
269
原创 tauri:tauri2.0+vue3+vite打包案例
本文介绍了使用Tauri框架创建和打包Windows应用的完整流程。首先需安装Microsoft C++构建工具和Rust环境(推荐离线安装),然后创建项目并确保端口配置一致。为提高依赖下载速度,可配置Cargo和npm镜像源。打包时设置国内镜像地址加速工具下载,并注意应用标识符的唯一性。最后生成的可执行安装包可双击安装。过程中需注意杀毒软件可能拦截,建议暂时关闭防护。
2025-12-11 19:14:42
971
原创 Tailscale:无公网IP?用Tailscale十分钟组建虚拟局域网,远程访问内网服务
本文分享了使用Tailscale搭建家庭内网的详细步骤。作者因云服务器续费问题,选择利用闲置电脑搭建内网环境。首先确认宽带无公网IP后,采用Tailscale方案:1)下载安装Tailscale客户端;2)通过微软账号登录管理员控制台;3)邀请队员加入形成局域网;4)测试访问成功。整个过程操作顺利,实现了通过Nginx部署简单网页的内网访问功能。该方案为没有公网IP的用户提供了便捷的组网解决方案。
2025-12-10 11:08:44
389
原创 css:制作带边框的气泡框
本文介绍了使用CSS创建带边框的对话气泡效果的方法。通过四个步骤实现:1)创建矩形内容框;2)添加红色描边三角形;3)叠加绿色填充三角形;4)调整颜色和位置,使两个三角形形成1px偏差的边框效果。最终效果为一个蓝色边框、浅蓝色背景的对话气泡,包含指向气泡的带边框三角形箭头。该方法利用了CSS的border属性和绝对定位技术,通过两个三角形的错位叠加实现边框效果。
2025-11-25 08:38:12
281
原创 echarts:如何让文字保持在环形图中心
本文分享了作者在实现环形饼图UI设计时遇到的问题与解决过程。最初尝试通过设置title和series参数使标题居中,发现需将标题left与饼图center横坐标都设为"center"才能准确定位。为解决图表与图例左右布局问题,作者摒弃简单使用transform位移的方案,最终选择拆分容器的方案:左侧容器单独放置图表,右侧容器自定义图例渲染。这段经历让作者深刻体会到UI实现中隐藏的技术细节,验证了"实践出真知"的道理。
2025-11-15 15:13:03
437
原创 echarts:在折线图的最大值最小值上添加一条短线
本文记录了使用ECharts实现图表极值点水平短线的探索过程。作者最初尝试用markPoint绘制水平线失败,发现ECharts可能不支持水平线作为symbol。转而使用markLine方案,通过多次尝试找到了正确的坐标设置方式:data数组中使用相同y值的起止点来绘制水平线。最终实现了一个getExtremumMarkLineData方法,自动计算极值点的索引和坐标,生成完美呈现极值水平短线的图表效果。整个解决方案简洁高效地满足了UI设计需求。
2025-11-08 12:20:45
172
原创 vue3:组件属性值变了但是视图没更新:直接在模板里使用属性变量
文章摘要: 本文分析了Vue3组件中数据响应式更新的问题。作者实现了一个自定义tab组件,通过computed属性传递数据时发现视图更新滞后。经过调试发现,直接在template中使用属性变量而非computed可解决此问题。文章详细展示了修改过程:1) 将模板中的{{item.data}}改为直接引用父组件数据{{overviewData[item.value]}};2) 修改接口定义允许字符串索引;3) 简化periodsList和moreList为普通变量。最终提供了完整的优化后代码,解决了视图更新不
2025-11-05 08:33:53
365
原创 vue3:uniapp全局颜色变量配置思路:使用js变量
本文总结了在UniApp中使用SCSS变量遇到的挑战及解决方案。作者最初尝试通过SCSS变量实现全局样式控制,但在动态修改对话框按钮颜色时遇到重复引入问题。经过多次尝试后,最终采用局部引入方式,将变量存储在JS文件中而非SCSS文件,并通过v-bind实现样式绑定。实验表明,这种方法既能满足动态修改需求,又避免了全局引入的复杂性,且维护更方便。最终方案是创建variables.js定义变量,在需要时局部引入,实现了在模板、脚本和样式中统一使用变量的目标。
2025-10-24 15:28:57
429
1
原创 uniapp:接入腾讯im(包含音视频通话)
本文分享了接入腾讯云TUIKit和TUICallKit的经验总结。接入TUIKit时需注意选择vue3项目,遇到云端搜索失败需购买试用插件;真机调试时用户搜索可能存在问题。接入TUICallKit需企业认证,开通音视频服务后要绑定应用信息。测试时通过两个用户分别打包APK,在不同设备上实现了聊天和通话功能。整个过程较为顺利,最终实现了预期效果。
2025-10-13 09:43:42
463
原创 electron:多语言切换案例
这篇博客分享了在Vue3+Electron项目中实现多语言切换的完整方案。主要内容包括:1)渲染进程通过vue-i18n插件实现中英法三语切换,配置json语言文件并解决低版本vite兼容问题;2)主进程通过自定义i18n类实现菜单多语言,并与渲染进程通信同步语言状态;3)处理ant-design组件和dayjs的国际化;4)解决打包后翻译失效问题。文章详细介绍了从配置到实现的每个步骤,包括文件结构、代码实现和常见问题解决方案,最终实现了完整的Electron应用国际化功能。
2025-10-11 10:32:29
727
原创 css:固定跨度间隔的渐变色设置
文章摘要:本文探讨了CSS线性渐变的实现问题。针对设计图中顶部浅绿色到白色渐变的需求,作者尝试了百分比设置但效果不佳,最终采用固定高度单位(100rpx)解决了问题。通过实验发现,当设置两个颜色的终止位置不同时(如100rpx和200rpx),浏览器会自动创建过渡渐变区;若设置相同位置(如100rpx和100rpx),则会产生硬过渡效果。这为精确控制渐变效果提供了实用方法。
2025-09-26 07:51:14
386
原创 css:圆形径向渐变报invalid property value
经过各种搜索终于解决了问题,当形状为circle的时候,size不能为百分比,可以为空,或者设置10px、1em,10rpx等具体值。想设置一个圆形径向渐变的背景,代码如下,一直提示invalid property value,背景一片空白。farthest-corner:以最远的角作为圆的半径。closest-corner:以最近的角作为圆的半径。farthest-side:以最远的边作为圆的半径。closest-side:以最近的边作为圆的半径。
2025-09-24 11:05:34
229
原创 uniapp:css变量使用方法
本文介绍了CSS变量的使用方法。首先在common.css文件中以"--"开头定义变量,放在:root下。在Vue项目中通过@import引入CSS文件后,使用var()调用变量,如color:var(--primary-color)。还展示了变量计算的方法,如font-size:calc(var(--title-font-size)+20rpx)。相比SCSS变量,CSS变量使用稍显复杂但功能强大。
2025-09-24 09:42:35
389
原创 uniapp:scss变量使用方法
文章摘要:在uni-app中使用scss变量有两种方法:1)将变量定义在uni.scss中,无需导入即可使用,但需确保使用页面的lang属性为scss;2)创建独立scss文件(如common.scss),在需要时通过@import引入。需要注意的是,全局引入在App.vue中可能失效,建议直接在页面中引入。第一种方法更为简便,避免了变量查找问题。
2025-09-19 12:35:54
499
原创 electron:vue3+vite打包案例
本文介绍了Electron项目的完整开发流程,包括环境配置、本地开发调试和打包发布三个主要环节。首先通过设置npm镜像源加速依赖安装,使用concurrently实现本地开发时同时启动前端服务和Electron应用。详细说明了main.js和preload.js的配置方法,特别强调了开发环境与生产环境的区别处理。在打包环节,重点讲解了electron-builder的配置要点,包括图标设置、文件包含规则以及打包路径处理。最后针对常见问题提供了解决方案:使用rimraf清理旧包、处理白屏问题需配置资源相对路径
2025-08-06 12:39:44
1336
1
原创 css:倒影倾斜效果
本文介绍了如何通过CSS实现图片的倒影和3D倾斜效果。倒影效果使用-webkit-box-reflect属性,并配合渐变遮罩使倒影渐隐。3D效果则通过perspective和transform属性实现,包括translate3d、rotateX、rotateY等变换。此外,文章还提到在添加transition动效时,谷歌浏览器会出现视觉残留问题,尽管尝试了多种解决方案(如backface-visibility、transform-style等),但问题仍未解决。完整代码展示了如何实现这些效果,并呼吁网友提供
2025-05-16 11:01:34
726
原创 css:无限滚动波浪线
实现一条无限滚动的波浪线,可以通过创建多个带有圆角边框的div元素,并利用CSS动画实现滚动效果。首先,设置容器overflow: hidden,并创建100个div,奇数div设置上边框和上半圆角,偶数div设置下边框和下半圆角。通过@keyframes定义动画,使波浪线向左滚动。为了实现无缝衔接,复制一组相同的波浪线,当第一组完全移出容器时,第二组接替其位置,形成无限循环的滚动效果。最终代码包括HTML结构、CSS样式和动画定义,确保波浪线平滑且无缝滚动。
2025-05-16 09:03:05
568
原创 threejs:着色器onBeforeCompile给导入的模型添加光带扫描效果
上一篇博客我们学习了,今天来学习给导入的模型添加光带扫描效果,目标是给如下图的立筒仓加光带扫描。首先我们试试原来的方法还是否有效。运行结果,模型没法显示了。因为模型贴图了,得用uv而不是position了,uv只包含xy两个数据项,范围是0~1.运行后可以看到模型和光带了,但模型变成了白色,这是因为我们直接把模型本身的材质硬生生换成了ShaderMaterial,原本材质的属性就都丢失了。
2025-03-05 11:38:58
1253
原创 threejs:用着色器给模型添加光带扫描效果
首先创建一个立方体,不进行任何缩放平移操作,也不要set position。基础代码如下:在顶点着色器代码里varying vec3 vPosition;获得threejs自动计算的顶点坐标插值(也就是这个模型上每个点的xy坐标),然后在片元着色器代码里同样varying vec3 vPosition;来获取xy坐标值。先设置整体颜色gl_FragColor = vec4(0.0,1.0,1.0,1.0);然后再通过if条件判断,符合条件的片元设置其他颜色,光带就形成了。
2025-03-04 15:26:00
1552
原创 threejs:vPositionl两种写法的区别
获取的是顶点的相对坐标轴的位置,可以理解为绝对坐标,世界坐标,模型移动后,光带的位置仍然不变。vPosition=postion时,获取的是顶点相对模型的坐标,在模型变化前,基于此时看到模型姿态,编写着色器代码,那么之后模型再发生变化,光带也会随之发生相对变化。现在让我们回到模型刚建立的时候,如图1,是一个立起来的围墙,但我们平时的围墙肯定是平下去的,所以我们需要将模型旋转一下,第一段代码稍作修改,最后加一个旋转操作。会发现模型发生了平移,但是光带的位置没有变化,依旧在y轴10的位置。来计算顶点位置插值。
2025-03-03 20:27:08
390
原创 threejs:射线拾取封装
首先得获取射线拾取的对象集合,放在二位数组里,不同的模型,获取集合方式不同,具体要结合模型来写代码,提前跟建模师沟通好物体名称。获取到choosedObj后,可以对其进一步处理,比如高光描边,弹出一个信息框等等。在vue文件里,rayChoose要放在addEventListener里使用。
2025-02-26 21:38:25
276
原创 threejs:document.createElement创建标签后css设置失效
在继续学习threejs课程的时候,发现老师教了另一种批量创建的办法。然后在导入模型的js文件里,通过克隆这个div来批量创建dom元素。增加一个id为css2dtag的div,css加上scoped。尝试去掉scoped,确实生效了,但是这种处理并不理想。运行代码后发现css没有生效。再次运行代码,css生效了。在vue文件里设置css。
2025-02-26 19:23:13
523
原创 问题与解决:element ui垂直菜单展开后显示不全
解决方法很简单,只需要在菜单外面包一层el-scrollbar,并且将高度设置为100vh。比如我这个垂直菜单展开后,其实系统管理下面还有其他子菜单,但是显示不出来了。
2024-05-20 11:10:46
684
1
原创 问题与解决:element plus对话框背景色覆盖失效
子组件里有dialog,在浏览器里已经调试过了,修改.el-dialog的background即可生效,说明类名没有搞错,但是在子组件的css里设置了el-dialog穿透样式,但是一直不生效,去掉scoped后虽然可以生效,但是会影响其他页面,这个方法不可取。最后经过尝试发现,css要写在调用对话框子组件的父组件vue文件里才能生效。
2024-05-15 09:43:39
1178
原创 css: 动态设置网格线
唯一的遗憾是,宽度和高度本来想设置为数字类型,通过input-number输入,然后在css里拼上‘px’,像下面这种写法,会报错,所以只能把px单位放在输入框里。上面的html和下面的css不在同一个vue文件里,虽然变量名不同,一个是formData,一个是designData,所指向的对象是相同的。注意:style里不要写lang="scss" 不然会一直报错。另外还有一个小小的问题,页面缩放的时候,网格线会消失。把网格颜色,宽高和透明度做成可配置项。
2024-05-14 17:04:37
510
原创 vue:网页icon无法显示
本地源码运行后发现网页icon无法显示我们设置的logo,而是显示了浏览器默认icon。logo文件放在public文件夹下,在html里设置icon。这个问题不需要解决,部署后网页icon显示就正常了。
2024-05-13 16:12:09
596
原创 问题与解决:大华视频后台播放报错
在谷歌浏览器下,直接用代码运行系统,视频在后台播放一段时间后,会出现上述报错,火狐浏览器无此问题,即便关闭谷歌浏览器的节能模式也无法消除该错误。经试验发现,在开发模式下(直接代码运行系统)会弹出该错误提示,部署后只在控制台报错,页面无错误提示,所以该错误无需解决。
2024-05-11 16:06:39
1491
原创 vue3:组合式API和选项式API里分别如何使用store
vue3越来越主流了,但是很多人还不习惯vue3的组合式API写法,依旧喜欢用选项是API,但是很多功能的写法是不同的,比如我今天要分享的store写法。在setup里将store实例化,然后其他地方用this调用即可,watch里不需要加this。我用的store是pinia。
2024-04-26 23:01:46
699
原创 element plus:tree拖动节点交换位置和改变层级
图层list里有各种组件,用element plus的tree来渲染,可以把图片等组件到面板里,面板是容器,非容器组件,比如图片、文本等,就不能让其他组件拖进来。对于其他组件来说,只有before和after是允许的,所以当type不等于inner的时候,allow-drop的返回值才是true,否则是false。比如把A节点向B节点拖动,before表示把A拖到B的前面,after表示把A拖到B的后面,inner表示把A拖到B里面去。关键点:draggable为true,设置allow-drop方法。
2024-04-23 17:54:08
1067
原创 JavaScript:阻止默认行为导致所有输入框无法输入内容
每次解决一个问题,又会遇到新的问题,最近都是忙着改大屏设计器,加容器组件,眼看着要完成了,突然遇到一个大问题,表单的输入框突然全部无法输入数字和英文,搜了很多类似情况,大多数说是v-model绑定的变量没有初始化,还有的是因为表单绑定了pinia,一一排查后,都不是我的情况。大屏设计器组件可以用键盘上下左右键来控制移动,我发现按上下键的时候,页面会滚动,所以就加了阻止默认行为,这下页面不滚动了,但是导致了输入框无法输入内容这么严重的问题。希望这篇博客对大家有所帮助,毕竟突然无法输入了,还是挺着急的。
2024-04-23 11:24:15
488
原创 element plus:tree强制更新
使用element plus的tree组件,做大屏设计器的图层列表,在左边的tree里和中间的编辑器里都可以右键上下移动图层,但是我遇到一个问题,往编辑器里增加组件,这种较大的变动,tree的渲染可以立马同步更新,但是如果我仅仅是移动图层,tree就没反应了,其实绑定的数据已经发生了变化,数据里元素的顺序变了,查了一圈,目前可行的办法是用v-if来重新渲染tree。监听updateLayer,只要发生了改变,就先销毁tree,再重建,需要注意的是,重建要放在nextTick里。给tree加v-if。
2024-04-23 05:13:24
711
原创 vue3:自定义组件使用v-model
首先,在自定义组件里,得有一个名为modelValue的属性,当modelValue变化的时候,触发update:modelValue事件,把新值传给父组件。父组件调用子组件,特别注意,这里不需要@update之类的了。组合式API写法,modelValue前面要加props。
2024-04-19 16:54:45
1773
原创 css:echarts渐变色转换为css渐变色
css里线性渐变从上到下,是to bottom,从左到右,是to right,把颜色数组像['#000','#111','#222']放进去即可,不需要设置百分比位置。offset是百分比位置,color是对应位置的颜色,new graphic前面四个参数表示渐变的方向,我这里默认是从上到下,从左到右,想要反过来的话,直接把颜色反过来就行了。通过一个下拉框来选择渐变类型,为了简化,我设置了三种:水平方向的渐变、垂直方向的渐变和径向渐变用,表格来配置echarts渐变色的百分比位置和颜色。
2024-04-19 16:17:28
601
1
原创 vue3:img使用方法设置动态路径
特别要注意,在get方法里,不要return路径,然后试图把路径直接传给html里的require,这种方式会报错,必须得在html里拼接路径。我的情况特殊在icon的名字需要通过方法获取,不是简单的设置成element.icon就可以的。网上有很多方法,试了一遍,只有下面这种方法是最简单并且合适我的。
2024-04-05 11:51:36
1683
1
原创 css:img引入svg后修改颜色
此方法亲测有效,缺点是svg如果原本包含多色,会被处理成单色,比如我这里就都会变色灰色,点击后设置一个颜色,也只能是单色。如果是比较有耐心,可以每个分组设置两个svg图片,一个是默认图片,一个是激活图片,就能保持svg多色性。
2024-04-05 11:44:08
4672
原创 vue3:使用draggable拖拽组件
item的slot里必须是写element,我试过写item,会报错,可以带上index,也可以不带。直接复制了之前vue2的代码过来,发现一直报错,一查资料,才知道变化很大。用list属性,不用v-model了。item-key必须要填。一定记得要加@next。
2024-04-04 21:45:36
957
原创 uniapp:使用subNVue原生子窗体在map上层添加自定义组件
1、创建一个nvue页面,也就是需要在map上层显示的组件,这是子组件,原生子窗体只能用nvue开发,必须遵循nvue的语法规则,很多uniapp组件在nvue里使用不了,很多css也使用不了,这是比较考验耐心的,开发前多研究一下nvue和vue的区别。我们想要在地图上层添加自定义组件,比如一个数据提示框,点一下会展开,再点一下收起,在h5段显示正常,但是到app端真机测试发现组件显示不出来,这是因为map是内置原生组件,层级最高,自定义组件被挡住了,无论如何设置自定义组件的z-index都没有用。
2023-10-17 15:40:39
1464
1
原创 ant design vue:自定义锚点样式
要做一个如下图的锚点,ant design vue的锚点样式比较简单,按照官网文档:affix="false" :showInkInFixed="true",就可以显示小方块,但是我试了一下不管用,而且锚点组件不固定起来很不方便,所以放弃这种方法。css样式上还需要改动,去掉蓝色小条,并且将灰色竖线往右移到图标的中间去,样式如果不生效,就加!important。之后想过用时间轴和步骤条来模拟锚点,样式很容易达到如图效果,但是在锚点定位上要做太多改造,还是放弃了这种方法。
2023-10-17 08:41:39
2033
原创 uniapp:动态修改页面标题
我们经常遇到这种情况,点击新增按钮,进入一个空白表单页面,点击修改按钮,其实也是进入这个表单页面,只是表单内容已经被数据库的记录反显了,为了区别页面,我们还需要动态设置页面的标题,让客户知道是在做新增还是在做修改。首先,在跳转前的url里传递参数,这个参数可以自定义,我这里是传递一个对象,需要先将对象参数转为JSON字符串,并使用encodeURIComponent编码。然后在跳转到的页面接收参数,通过判断这个参数值来确定B页面的标题是修改还是新增。
2023-10-04 10:05:41
2967
原创 uniapp:tabBar点击后设置动画效果
自定义tabBar的原理是,页面的上部分分别是tabBar对应的页面组件,下部分是固定在底部的tabBar,通过点击tabBar获取到当前索引,然后通过v-if来判断显示哪个页面组件,跟原生tabBar不同的是,这里仅用一个page,所以在pages.json里只需要注册index页面即可,在router里也只需要设置index即可,同时也要注意,其他页面组件并不是一个页面,所以没有onShow,onLoad等方法,可以通过computed和watch来达到类似效果。
2023-09-25 20:36:21
4163
Let's AutoIt.pdf
2011-09-30
AutoIt入门与提高.pdf
2011-09-30
jsp入门教程
2011-10-14
xlsx-style插件创建带样式的excel文件
2022-04-14
使用xlsx-style插件创建带样式的excel文件
2022-04-13
纯Java JDBC驱动的三个jar包
2010-05-15
网吧计费系统源码及数据库
2010-06-17
java swing Mac风格的look and feel包下载
2010-05-11
Java数据结构和算法.(第二版).pdf
2011-09-27
autoit-v3-setup.exe
2011-09-30
JS速查手册.chm
2011-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅