自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 微信小程序获取当前用户手机号

是需要通过获取 encryptedData、iv、code(wx.login获取)传给后端去解密换取手机号,兼容低版本微信客户端。接口可以获取到一些当前微信用户的一些基本信息,但是没法获取手机号,那是因为手机号等敏感信息,微信对用户隐私有严格限制。ps:如果已经完善了的可以忽略这一步;更新后微信那边会审核,需要等一下,所以在开发前一定要去完善。:这里获取的 code 和 wx.login 获取的 code 是不一样的。,微信服务器直接返回明文手机号),仅需支持微信 7.0.0+ 版本。

2025-08-07 16:25:54 480

原创 小程序订阅消息(用户通过弹窗订阅)服务号消息通知/消息推送

微信服务号消息推送,前端开发部分教学,代码在最后。

2025-07-01 17:01:04 1822

原创 el-input 限制只能输入非负数字和小数

只允许输入框输入数字和小数,并且不能为负数。

2025-04-21 11:25:29 426

原创 使用 IntersectionObserver 实现懒加载和无限滚动

是浏览器提供的一个 API,用于异步观察目标元素与其祖先元素或视口(viewport)的交叉状态。简单来说,它可以监听一个元素是否进入了视口,或者与某个父元素发生了交叉。与传统的滚动监听相比,更加高效,因为它不会频繁触发回调函数,只有在交叉状态发生变化时才会执行是一个强大且高效的 API,非常适合用于实现懒加载、无限滚动等功能。相比于传统的滚动监听,它更加简洁且性能更好。希望通过本文的介绍和示例代码,你能更好地理解并应用来优化你的前端项目。如果你对还有其他疑问或想法,欢迎在评论区留言讨论!

2025-02-13 16:50:50 573

原创 vue实现打印指定页面内容

使用 vue-print-nb 这个插件能够实现打印。

2024-12-24 16:51:02 957

原创 切换el-radio导致报错Blocked aria-hidden on an element because its descendant retained focus.

我使用的是vue3+element-plus开发,当使用 el-radio 组件的时候浏览器报Blocked aria-hidden on an element because its descendant retained focus.这样的错。属性用于隐藏内容,使其对所有辅助技术不可用。当一个元素被标记为时,该元素及其所有后代元素都将对辅助技术不可见。

2024-12-24 14:33:28 3851

原创 小程序登录流程

小程序登录,目前是为了获取到当前微信用户的唯一标记,例如 openId。wx.login()

2024-12-11 15:45:19 1243

原创 微信小程序一键复制功能

设置系统剪贴板的内容。调用成功后,会弹出 toast 提示"内容已复制",持续 1.5s。第一次使用时点击一键复制后会弹出一个提示框,点击同意后就能复制你设置的内容。

2024-12-10 16:01:04 1073

原创 微信小程序粘贴剪切板内容

同意后就能获取剪切板里面最近的一条内容。获取系统剪贴板的内容。

2024-12-10 15:55:28 834

原创 微信小程序点击跳转打电话功能

【代码】微信小程序点击跳转打电话功能。

2024-11-15 15:55:40 1672

原创 css 溢出隐藏显示省略号

限制在一个块元素显示的文本的行数。CSS3引入了-webkit-line-clamp。属性,这是一个非标准的属性,需要结合。:设置弹性盒子的方向为垂直。:在文本溢出时显示省略号。以隐藏超出容器的内容。:隐藏超出容器的部分。

2024-11-15 15:30:13 3133

原创 vue2 和 vue3的区别

‌:重新编写了虚拟DOM的实现,优化了编译模板,组件初始化和更新性能提高了1.3到2倍,服务器端渲染(SSR)速度提高了2到3倍。此外,Vue 3支持。对数据进行劫持 结合 发布订阅模式的方式来实现的。的双向数据绑定是利用ES5 的一个 API。,可以只打包需要的模块,减小包大小‌。

2024-11-09 16:21:48 805

原创 浏览器本地储存三种方式的区别

浏览器中常用的储存方式分为三种:cookie,localStorage,sessionStorage。默认浏览器关闭后失效,由服务器生成,一般服务器可以设置有效期。每次发送请求时 cookie 会自动携带在请求头中。储存空间小,大概 4kb 左右。储存空间大,大概 5mb 左右。储存空间大,大概 5mb 左右。不会主动把数据发给服务器。不会主动把数据发给服务器。浏览器窗口关闭后失效。在所有同源窗口中共享。在所有同源窗口中共享。

2024-11-05 17:05:18 313

原创 HTTP 和 HTTPS 的区别

在连接时需要进行SSL/TLS握手,客户端和服务器在交换过程中比较复杂,但极大提高了连接的安全性。HTTP是一种超文本传输协议,信息是明文传输,不提供任何数据加密。这意味着在传输过程中,数据可能会被窃取、篡改或监听,存在较大的安全风险‌。HTTPS,是 HTTP 的安全版,通过 SSL 或者 TLS 协议对数据进行加密处理,确保传输过程中的机密性和完整性。客户端向服务器发送请求,服务器返回数据,整个过程不需要额外的安全验证‌。HTTPS需要加密、解密等工作,可能会影响网页的加载速度‌。

2024-11-05 15:22:43 592

原创 http 常见状态码

表示要完成请求,需要进一步操作。通常,这些状态码用来重定向。客户端错误,请求包含语法错误或无法完成请求。成功,操作被成功接收并处理。

2024-11-05 15:10:36 536

原创 uniapp 使用 websocket

原理和vue使用是一样的,这里就不多说了,可以去看我之前发的 websocket 的使用。

2024-10-29 15:12:54 2052

原创 vue、小程序腾讯地图开放平台使用

创建成功后会在应用列表生成一个新的应用,然后点击【添加 key】,配置相关信息,其中 key 名称可以用【应用名称+平台】来作为 key 名称,启用产品全部勾上。注意:小程序开发工具上的定位无法准确定位当前,只有在手机上真机调试或者预览的时候才能定位到当前位置。注意:在使用这个组件的时候需要给这个组件设置一个宽高,这个根据自己项目情况来。如果是微信小程序开发,需要填写自己的 AppId,最后完成 key 的添加。然后选择创建应用,输入应用名称、选择应用类型,完成点击【创建】。添加为当前小程序中的合法域名。

2024-10-28 15:01:41 1276

原创 Vuex 状态机

说明:因为 Vuex 中只能通过 mutations 去修改 state,因此,如果要将 actions 中的数据保存到 state,必须在 actions 中调用 mutation 的方法。mutations 用来设置修改 state 的方法,这些方法都只能是同步方法。里面都是方法,每个方法第一个参数都是state,拿到 state 只能用不能改。“状态”,实际上指的就是数据。state 是自带的,payload 是外部传进来的值。Vuex,是 Vue 官方推出的“状态管理模式”。

2024-10-24 17:41:04 1212

原创 vue父子传参方式——自定义事件

</div><script>},// ...methods: {//分页、筛选变化时触发},</script><template>// ...methods: {},},},

2024-10-24 15:43:42 858

原创 vue父子传参的方式——Prop

每一个组件都有一个props的属性,用来接收外部传递的数据。

2024-10-24 15:22:59 992

原创 事件总线—Event Bus 使用及讲解

如果“接收数据”和“传递数据”的组件是同时渲染出来的,我们就可以用事件总线来实现两个组件之间的传值。但是,如果“接收数据”的组件,比“传递数据”的组件后渲染,就不能使用事件总线。,将这个新的实例对象作为桥梁,来实现两个组件之间的传值。事件总线,主要用来实现非父子组件之间的传值。执行生命周期函数,同时给事件总线添加事件。”的组件中,给事件总线身上添加一个事件。再创建一个新的 Vue 实例对象。

2024-10-24 14:37:45 1104

原创 promise是什么?有什么作用?

promise 是一个 ES6 提供的对象,也是一个数据容器。可以作为异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大。三种状态是不可逆的,一旦变了就不会在回到之前状态。

2024-10-23 11:46:40 380

原创 WebScoket 使用教程

WebSocket是一种协议,用于在Web应用程序和服务器之间建立实时、双向的通信连接。它通过一个单一的TCP连接提供了持久化连接,这使得Web应用程序可以更加实时地传递数据。WebSocket协议最初由W3C开发,并于2011年成为标准。WebSocket 非常适合于需要实时通信的应用场景,如在线聊天、实时通知等。

2024-10-23 11:23:38 517

原创 小程序分包和预加载

uniapp、原生小程序开发分包和预加载

2024-10-21 15:47:13 1007

原创 小程序将图片转换成base64格式

在 wx.getFileSystemManager() 这个获取全局唯一的文件管理器接口上有一个 readFile 方法可以将图片转换成base64、ascii、binary等形式。在小程序开发中想要将图片转换成base64格式那么先通过 wx.chooseMedia() 获取图片。那么这里的 base64Image 就是转换过的 base64 的格式了。

2024-10-21 14:43:11 1759

原创 小程序提示不在 request 合法域名列表中

如果还是报错,那么可以关闭项目重新打开一下,就能解决了,或者在本地设置里面把“不校验合法域名、web-view(业务域名)、TLS版本以及 HTTPS 证书”选项勾上。那么这个问题就解决了。而当我配置好以后,在微信开发者工具中还是报这个错,那么可以在开发者工具中找到详情刷新一下。小程序开发中,出现如图的报错,首先检查有没有在微信公众平台里面添加合法域名。微信公众平台→管理→开发管理→服务器域名(注意需要管理员身份扫码登录)然后更具自己的需要,添加合法域名。

2024-10-11 11:54:31 2944

原创 EZUIKit.js萤石云vue项目使用

EZUIKit.js 是萤石云(Ezviz)提供的一款用于Web端的视频播放和控制的JavaScript库。它允许开发者在网页上轻松集成视频监控、对讲、录像回放等功能,适用于安防监控、智能家居等场景。通过EZUIKit.js,你可以方便地访问萤石云平台上的摄像头和其他智能设备。

2024-09-26 16:29:08 2020 2

原创 vue3、h5jessibuca实时视频监控使用开发

Jessibuca纯H5低延迟直播流播放器,通过Emscripten将音视频解码库编译成Js(ams.js/wasm)运行于浏览器之中。兼容几乎所有浏览器,可以运行在PC、手机、微信中,无需额外安装插件。

2024-09-26 15:35:19 930 2

原创 CSS 样式穿透

一般情况下,是在项目中引入了第三方的 UI 库(例如:ElementUI)时,我们需要通过“样式穿透”来更改样式。

2024-08-23 17:08:26 857

原创 前端 uniapp 多端条件编译

条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台。

2024-08-23 17:02:33 1285

原创 uniapp在线视频监控开发

我这里是uniapp开发的H5项目视频流是flv模式用到的插件是flv.js。

2024-08-21 11:33:36 2754

原创 uniapp嵌入视频号

组件在小程序中内嵌视频号视频,且支持无弹窗跳转打开视频号对应视频。:开发者工具暂时不支持此 API 调试,请使用真机进行开发。接口跳转到指定视频号的视频页观看视频。

2024-08-20 15:45:23 2899

原创 vue数据大屏开发

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库。因为是国外的网站,所以浏览起来会有些慢,在此篇文章结尾我会放几个国内镜像的还不错的图表网站。组件库的开发和调试都使用Chrome浏览器,没有时间和精力做其他浏览器的兼容,尤其是IE。,提供直观,交互丰富,可高度个性化定制的数据可视化图表。多维数据的支持以及丰富的视觉编码手段。

2024-08-09 17:03:35 1541

原创 mixin 混入

mixin是vue提供的一种方式来分发vue组件的可复用功能,可以将相同的方法、字段等抽离出来,避免重复定义。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。当组件使用了mixin时, mixin中的生命周期函数会先执行,然后在执行组件中的生命周期。在小程序中如果想实现分享功能,需要在各个组件中单独写分享方法,如果页面太多的话,非常麻烦。所以可以使用mixin来简化这个流程。这样就可以直接在组件中使用mixin中定义的字段和方法等。中直接引入使用即可。

2024-08-09 10:33:08 1467

原创 半屏小程序对接指南

在开发者主体小程序页面中,以半屏形式唤起需要接入的小程序。此时开发者主体小程序无需额外申请微信组件(如live-player等)的使用资质权限,直接复用该小程序的资质。

2024-08-08 15:27:59 2951

原创 ADB工具及scrcpy使用说明

⾸先在桌⾯或电脑任意盘符路径下新建⼀个⽂件夹(名称⾃定义)将scrcpy-win64.zip或scrcpy-win32.zip解压到⽂件夹内(根据实际操作系统选。在⽂件夹地址栏输⼊CMD打开命令提示符窗⼝或开始键加R键输⼊CMD打开命令提示符窗⼝ 使⽤CD命令进⼊scrcpy⽂件⽬录下。在⽂件夹地址栏输⼊CMD打开命令提示符窗⼝或开始键加R键输⼊CMD打开命令提示符窗⼝ 使⽤CD命令进⼊adb⽂件⽬录下。⾸先在桌⾯或电脑任意盘符路径下新建⼀个⽂件夹(名称⾃定义)将adb.zip解压到⽂件夹内。

2024-08-08 15:00:31 1338

原创 微信小程序视频通话开发(二)

音视频介绍及开发前准备请看上一篇完成上一篇的配置过后我们就可以进行代码操作了废话不多说我们直接上代码!!!!一、VoIP 通话插件在「小程序管理后台」添加插件后,使用者还需要要在小程序的app.json中声明本插件。可以在主包引入,也可以在分包引入。// 主包引入{ "plugins": { "wmpf-voip": { "version": "latest", // latest 表示自动使用最新版本。也可使用具体版本,如 2.3.8 "pr

2024-08-03 16:23:44 3039 5

原创 微信小程序视频通话开发(一)

如果开发者想要提前进行调试,可以手动进行申请:登录「小程序管理后台」——「设置」——「第三方设置」——「插件管理」,点击「添加插件」,搜索并添加「VOIP 通话」插件。在小程序管理后台完成「小程序音视频能力」申请并通过后,小程序可以直接使用 VOIP 通话插件,无需额外申请。,实现智能设备和手机微信端的一对一音视频通话,满足实时触达场景,提升通话体验。小程序想要使用音视频通话能力能力,需要在小程序管理平台。插件,实现拨打和接听音视频通话的能力。此环节涉及平台审核,请提早准备。指引 ,我们就不多说了。

2024-08-03 16:21:50 5035

原创 原生微信小程序蓝牙开发(十)

接上一篇(当接收或发送完信息后,我们就需要断开蓝牙连接了。

2024-08-01 16:04:52 538

原创 原生微信小程序蓝牙开发(九)

接上一篇(我们现在说通过蓝牙设备发送指令的操作。

2024-08-01 15:55:51 742

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除