- 博客(196)
- 收藏
- 关注
原创 uniapp微信小程序端实现微信登录
从网上看了一些,好像说是要先调用uni.getUserProfile 或者uni.getUserInfo获取用户信息后,然后再调用uni.login才行,但是我看着uni.getUserProfile和uni.getUserInfo 返回的都是一些匿名信息(nickName: "微信用户", 头像也是统一的灰色头像),不知道有啥用哦,应该是之前是可以正常返回的,后来不知哪个版本后应该是为了用户的隐私、安全啥的,就都返回匿名信息了。(提前向用户发起授权请求。
2024-07-08 10:38:27
938
原创 uniapp运行到小程序Vue.use注册全局组件不起作用
真想吐槽一下小程序,uniapp运行到小程序使用Vue.use注册全局组件根本不起作用,也不报错,这只是其中一个问题,其他还有很多问题,比如vue中正常使用的没问题的语法,运行到小程序就不行,又是包太大也不让上传等等乱七八糟的问题。uniapp相对于小程序算是好点儿,但是uniapp的开发体验也真是糟糕,HBuilderX不好用,另外uniapp官方提供的内置的组件、api等感觉写的也不够直观明了、跟它搭配使用的u-view、uCharts等组件库跟的跟element-ui没法比。
2024-06-30 17:15:56
982
原创 Vue2中的render函数
我们在给子组件传递数据的时候,也就是父传子,一般写在props中, 其实也可以写在attrs中,如果写在attrs中,我们也可以在子组件中props中接受attrs中的变量,如果props中没写的变量都会在attrs中,我们在组件中通过this.$attrs中可以拿到。先使用render函数封装一个组件,注意写了render函数就不要写template了,不然render函数不起作用。这是加载组件G1,注意:我们加载的组件一定是引入、注册之后的,我这里全局注册了,来创建你的 HTML。
2024-06-25 09:28:42
433
原创 TypeScript中的infer关键字
在TypeScript中,infer是一个关键字,用于在条件类型(conditional types)中推断(infer)类型参数。通过使用infer关键字,我们可以在类型系统中进行类型的自动推断,从而实现更加灵活和可复用的类型定义。infer关键字通常用于条件类型(conditional types)中,条件类型是TypeScript中的高级类型操作符之一。通过条件类型,我们可以根据某个类型的特性,在类型系统中进行条件分支和类型的变换。
2024-02-22 17:38:11
683
1
原创 TypeScript中的Omit、Pick、Partial、Required类型
最近使用到了Omit、Pick、Partial类型,之前也没写过,这篇说下typescript中提供的Omit、Pick、Partial、Required类型
2024-02-19 17:01:49
836
原创 ResizeObserver的使用
这篇说下ResizeObserver API。ResizeObserver接口监视Element内容盒或边框盒或者SVGElement边界尺寸的变化。
2024-02-05 18:03:47
785
2
原创 openlayers常用示例
简单说一下吧,最近做了十来天的的openlayers,然后稍微研究了一下,这里总结并做了一些示例给大家分享一下,应该是相对常用的一部分吧,由于做的时间比较短,这里写了十来个示例了,有实际项目用到的,也有自己想实现的,根据官网的示例改编总结之后的。虽然只有十几个示例,但是代码量还是很大,所以代码就不在这里贴了,我都写在了Gitee上,大家可以拉下来看源码,每个示例都是单独来写,一个组件一个示例(公用的部分抽离了),相对简洁明了。然后看下目前已经做了的示例吧!
2024-02-04 17:31:53
852
原创 使用xlsx、xlsx-style导出表格添加背景色;合并单元格部分样式缺失问题解决
我这个是直接通过传入dom生产的sheet页,也可以通过数据生成sheet页,xlsx都有对应的方法,其实不影响我们修改样式。主要关注addRangeBorder(给合并行列赋值样式)、setExcelStyle(设置导出Excel样式)这两个方法。由于上次写的修改样式只关注了单元格的宽度,并没有设置颜色以及没关注到合并的单元格部分样式没设置上等问题,所以这篇来说下。我们通过xlsx可以通过dom元素、或者数据来生产sheet页,然后我们修改样式就操作对应的sheet页就可以了。
2024-01-30 16:24:58
1421
原创 canvas能压缩图片?
1. 从上面能看出来在牺牲一些清晰度的情况下,用这种方式压缩还是可以的,特别是一些本身就比较小的图片,但其实这并不是真正的压缩图片,真正压缩图片还是建议使用工具压缩,例如photoshop;2. 大家可以看到我的方法名为:compressJpg 之所以取这个方法名,是因为此方式其实仅支持jpg格式的图片压缩,如果是png格式,可能还会变大,大家可以测试一下,再对比一下图片质量。这是控制台的打印,可见确实是图片的大小小了很多,但其实看图片模糊了很多。这篇简单说一下使用canvas压缩图片。
2024-01-20 17:04:52
1855
原创 组件v-model
最近看到vue版本更新到3.4.x了,其中有个defineModel API,这个API就是Vue3简化组件v-model的写法的,所以这篇就一块儿来总结一下vue中的组件v-model先说下vue2中的使用,再说下vue3中的使用。
2024-01-11 13:26:11
2611
原创 Vue3使用dataV报错问题解决
找到node_modules/@dataview/datav-vue3/package.json。然后我们pnpm dev启动的时候直接报错,并且发现dataV下面有波浪线报错。最后再重新执行npm install或者pnpm install方法即可。后来发现该库中的package.json中给的出口有问题。然后在package.json中scripts中添加。新建lib文件夹,将修改好的文件放在其中。然后main.ts全局注册。
2023-11-22 13:33:01
7323
6
原创 Vue3实现粒子动态背景
可以在同级新建config文件夹,新建particles1.ts, particles2.ts,里面定义配置项数据并向外导出。
2023-11-22 11:40:27
4059
原创 如何区分浏览的刷新和关闭
为了区分浏览器的刷新和关闭,可以利用window对象的onbeforeunload和onunload事件。这两个事件在浏览器关闭和刷新时都会触发,但是它们的执行顺序不同,可以通过判断它们之间的时间差来区分浏览器的刷新和关闭。在这个示例代码中,我们在onbeforeunload事件中记录了开始时间,然后在onunload事件中计算了时间差。如果时间差小于等于5毫秒,就说明是浏览器关闭,否则就是浏览器刷新。
2023-11-15 10:30:35
3523
1
原创 java解析Cron时间表达式为中文描述
碰到个需求,后端返回给前端的时候如果直接返回表达式给前端在页面展示,用户会看不懂!所以要转为非开发人员看到也能明白的中文描述。
2023-11-14 11:21:47
1116
2
原创 SecoClient接收返回码超时解决
第三步,找到恢复,点击“高级启动”下的“立即重新启动”,重启电脑:(此时要记住以下步骤)以上方式应该是适用于win11系统,因为我目前是win10系统,所以操作后还是不行。删除并下载安装以下链接中的SVNDrv.sys,解压后粘贴进。然后window搜索设备管理器 -> 网络适配器,找到。第八步,按提示输入“7”禁用驱动程序强制签名。第一步,Windows键进入"设置"第四步,重启后选择“疑难解答”,鼠标右键暂时先停用。第二步,进入"更新与安全"第五步,选择“高级选项”第六步,选择“启动设置”
2023-11-10 10:50:06
2124
原创 Vue使用epubjs电子书
npmjs: https://www.npmjs.com/package/epubjs 在线电子书转换器简单封装: src/hooks/使用: 这个示例电子书地址:https://example-files.online-convert.com/ebook/epub/example.epub 直接下载下来,放在public/static下。这篇只是简单写一下使用,还没有正式用到更多可以参考另一位博主的文章:https://blog.csdn.net/qq_42484429/art
2023-11-03 10:53:40
808
原创 window.open父子页面自定义事件通信
我们在vue项目中,使用vue-router跳转的时候,在某些需求中可以使用router.resolve({path: '/test'}),返回一个返回一个路由地址的规范化版本,其中包含href属性,那我们就可以使用window.open()来打开一个新的浏览器页签跳转至某个vue页面。这篇就是要说一下之间的通信。
2023-11-01 13:48:04
584
原创 Vue3使用Monaco-editor
Monaco-editor,一个vs code 编辑器,需要将其继承到项目。不说闲话了,直接上代码。
2023-11-01 12:01:31
4808
9
原创 Vue3中使用富文本编辑器
在vue3中我们可以使用@wangeditor/editor、@wangeditor/editor-for-vue来实现其功能。
2023-10-20 11:16:44
2017
原创 Vue使用Animate.css
说一下Animate.css这个动画库,很多的动画在这个库里面都定义好了,我们用的时候可以直接使用里面的类名就可以了,就是直接目标元素绑定对应的类名就可以实现动画效果,非常方便,库其实也相对简单,使用起来也简单。这里示例就以v3为例了,v2也是一样的。
2023-08-22 20:31:24
655
原创 Vue2使用easyplayer
说一下easyplayer在vue2中的使用,vue3中没测试,估计应该差不多,大家可自行验证。然后在public/index.html下再引入即可。看到报错不要慌,大家跟着我处理。习惯性将其封装为单独的组件。会发现控制台有下面报错。
2023-08-11 11:55:21
1104
原创 H5中的draggable
draggable 属性规定元素是否可拖动。必须设置,否则没有拖拽效果及事件触发链接和图像默认是可拖动的。draggable 属性经常用于拖放操作。
2023-08-06 16:24:48
563
原创 uniapp文件下载
使用uniapp提供给我们的uni.downloadFile、uni.saveFile和uni.openDocument三个API就可以了。也很简单,直接贴一下代码,安修修改一下即可。
2023-07-28 09:39:01
1112
原创 Vue渲染系统模块
我们想要实现一个简洁版的Mini-Vue框架,应该包含三个模块:分别是:渲染系统模块、可响应式系统模块、应用程序入库模块。这篇就来写一下渲染系统模块。剩下两个模块后面有时间再更新。vue渲染系统实现,应该包含三个功能,分别是:① h函数,用于返回一个VNode对象;② mount函数,用于将VNode转为真实dom,并挂载到DOM上;③ patch函数,类似于diff算法,用于对比两个VNode,决定如何处理新的VNode虚拟dom本身其实就是个javascript对象。
2023-07-17 13:17:17
334
原创 uniapp请求封装
大家都知道再uniapp中给我们提供的uni.request()来供我们发请求使用,它里面有 success、fail、complete三个回调函数,如果每次发请求都去写uni.request那整个项目下来真是超级繁琐,而且不好维护、也不好统一,且代码可读性不强。我们加上#ifdef @endif条件编译,如果是运行在手机上的就会直接设置服务地址,如果不是就直接设置前缀 /api。这里就简单记录一下吧,也做了挺长时间uniapp了,希望下次换个项目做的时候,能直接从这里拷过去用。
2023-07-04 21:02:10
883
原创 Vue3中Composition 其他一些API
简单再说一下isProxy、isReactive、isReadonly、toRaw、shallowReactive、isRef等Vue3中其他的一些API
2023-06-15 21:44:32
624
原创 Vue向pdf文件中添加二维码
这两天刚看到一个需求,简单描述一下,就是我们拿到一个pdf文件流(文件流可以是后端返回的,也可以是从自己本地选的)和一个url链接 ,现在要将url链接生成二维码,并将这个二维码添加到这个pdf文件中,然后再预览或者下载这个pdf文件。灵感出自于我之前写过一篇。
2023-06-14 22:15:45
1338
原创 uniapp-ios打包安装测试
我们在做uniapp需要打ios包测试的时候,会有证书私钥密码、证书profile文件、私钥证书三项必填项,这是苹果三件套,必须要有的。就是下图所示。
2023-06-10 14:55:06
4429
原创 Vue实现锁屏功能
这两天刚做了个新需求,要做个系统锁屏(当然锁的是当前的系统),就类似于电脑锁屏似的。共两种情况下锁屏,一种是无操作一定时间后自动锁屏;第二种是可以按下组合键(快捷键)主动进行锁屏。下面具体来说一下该需求的想法、思路以及实现
2023-06-07 21:51:23
2384
2
原创 Element-ui中el-table展开行
展开行在el-table中以及提供了,使用也很简单,不过就是它只能点击左侧箭头icon来控制展开收缩,我这里是点击行的就要展开收缩。所以还需要借助 row-click和expand-change结合(因为点击icon的时候不会触发row-click),然后展开的时候就得通过设置expand-row-keys这个来控制收缩,注意使用这个必须要设置row-key
2023-05-17 20:05:45
8026
2
原创 Promise类方法
这篇主要讲一下Promise的类方法的基本使用,至于Promise的基本使用这里就不赘述了,之前也有手写过Promise、实现了Promise的核心逻辑。其实我们平时用Promise也挺多的,不过又出现了两个新的语法(ES11,ES12新增了两个),所以这篇就简单说一下,也挺简单
2023-05-07 13:38:28
930
原创 uniapp换手机提示(获取本机设备信息)
就是我们开发出的app,这次在这个手机上登录了,下次换了个手机登录,这时候要给用户个提示,我也不知道为什么非得要这个提示,感觉意义不太大,但是需求是这样的,所以这篇主要是简单说下uniapp获取当前手机设备的信息。
2023-05-06 19:25:45
1687
1
原创 javascript中的严格模式
严格模式通过抛出错误来消除一些原有的静默(silent)错误;严格模式让JS引擎在执行代码时可以进行更多的优化(不需要对一些特殊的语法进行处理);严格模式禁用了在ECMAScript未来版本中可能会定义的一些语法(保留字等)
2023-05-03 13:15:20
1274
原创 Vue通用下拉树组件@riophae/vue-treeselect的使用
这个是在若依框架无意中发现的一个下拉树通用组件。@riophae/vue-treeselect 是一个基于 Vue.js 的树形选择器组件,可以用于选择树形结构的数据。它支持多选、搜索、异步加载等功能,可以自定义选项的样式和模板。该组件易于使用和扩展,适用于各种类型的项目。部分注释百度翻译成中文了,但太多了,懒得挨个翻译了,直接看也大概知道啥意思。下面是我测试的一个例子,一般的需求应该足够了。使用自己习惯使用的包管理器安装就可以了。字体样式简单调了一下。
2023-04-27 17:21:46
28986
5
TexturePacker3.0.9(cocos做图集用到了)
2024-04-16
electron-quick-start-exe(cocos打包桌面程序 .exe)
2024-03-28
录屏软件obs-studio
2024-03-01
js解析Cron时间表达式为中文描述
2023-11-14
实现一个mini-vue
2023-07-30
基于Vue2+element-ui+AntV X6实现的流程图编辑器
2022-10-17
基于Vue3+ts+AntV X6实现的流程图编辑器
2022-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人