- 博客(105)
- 收藏
- 关注
原创 有趣且重要的JS知识合集(14)浏览器获取滚动条宽度
offsetWidth和clientWidth都是只读属性,但是offsetWidth是包括border的,而clientWidth只包含padding,不包含border的,所以可以利用这个差距来计算border宽度。当很多时候,滚动条宽度也会影响到我们页面上的布局,那怎么去计算这宽度呢?浏览器没有提供这方法来计算,那么我们就模拟一个有滚动条的div,然后算出宽度~
2022-11-29 09:57:13
935
原创 【PDF】Canvas绘制PDF及截图
【Canvas】手把手教你Canvas绘制PDF及截图林大大来啦~最近在搞pdf文件的预览、缩放、拖动和截图,才发现其实要比普通图片的缩放拖动截图麻烦的多。
2022-10-17 16:19:41
3420
8
原创 有趣且重要的Git知识合集(7)git stash报错 Too many revisions specified: ‘stash@‘ ‘MAA=‘ ‘xml‘ ‘text‘
如果你在外部自己开一个bash或者cmd终端,就不需要加引号,直接输入指令即可。在我们想要查看stash list中储存的代码时,就先。但是,会出现这种报错。
2022-09-20 09:58:29
1630
原创 有趣且重要的Git知识合集(6)git 代码找回(git fsck/reflog)
git reflog 我感觉是当前项目的所有操作(除 add 操作),跟 git log类似,不过 git log 只有commitId,git reflog 有两种 commitId 和 git头部指针,不过恢复方式都是 git reset xxx。综合: 其实大体上来看的话,我还是觉得 reflog更好,毕竟各种数据都记录的比较清楚,想恢复的话也比较容易,git fsck 我感觉更像是当前文件系统的所有操作(不知道对不对哈,毕竟还没有系统的用)运行后会出现很多 dangling commit。
2022-09-19 16:33:41
557
原创 rest client: 一款轻量级用于api请求的vscode插件
个人觉得,这个插件还是蛮好用的,因为普遍用的都是vscode,然后api请求是常用的,但是为此下载postman又觉得麻烦没必要,所以 rest client 来啦。
2022-08-06 16:04:00
740
原创 vue学习(5)vue高阶slot插槽使用
vue2.6更新后推出v-slot来代替之前的slot-scope和slot使用子组件child.vue父组件老版使用方式slot-scope和slot的具名插槽作用域新版使用方式v-slot的具名插槽作用域其实大家都会发现,子组件其实是没有变化的,区别在于父组件修改了写法,v-slot集成了slot和slot-scope,简化了写法,另外v-slot还可以动态具名2、v-slot动态具名。...
2022-07-29 13:58:35
781
原创 uniapp + vue3微信小程序开发(9)setTimeout,setInterval清除不了
uniapp中setTimeout,setInterval定时器清除不了的bug
2022-06-09 11:00:55
3567
4
原创 有趣且重要的css知识合集(5)flex布局的order用法
其实就是控制子组件在flex布局中的先后顺序,默认为0,可以为负,值越大布局越靠后,当值相等时,就根据写的先后顺序进行显示
2022-06-08 15:30:21
2209
原创 uniapp + vue3微信小程序开发(7)键盘开发
车联网项目中,大家想用只输入车牌号的键盘,但是默认的都不行,那怎么办呢?我最近写了一个出来,分享一下~1、实例截图2、原理讲解上面两个图分别是选车牌登记地和车牌号码的,其实界面很简单,就是最外层一个遮盖层,里面分为两部分,上面操作框,下面键盘框,键盘框主要使用flex布局,点击的键盘触发emit,将值传到以上输入框中,下面的删除键,将是触发emit,将值进行处理3、代码实例父组件:<template> <view class="bind-car">
2022-05-26 22:00:30
1781
原创 uniapp + vue3微信小程序开发(5)授权
不知道大家在小程序授权的时候,会不会点击拒绝授权,然后第二次进来,哦豁。。授权框就在也出不来了,这种问题,在很多线上正在使用的小程序也会出现的问题,所以说,大家貌似都不太注意这方面问题,下面就是我对这问题的解决方法1、授权方式很清楚能看到,我是将所有小程序要授权的scope,都放在Map类里,然后先 getSetting,获取当前小程序中所有被授权的模块(切记: res.authSetting是个对象,里面所有被授权的模块都是为true哦,意思就是未被授权或未申请授权的模块压根不会出现在res.au
2022-05-10 14:10:15
1433
原创 uniapp + vue3微信小程序开发(4)身份信息认证
微信是无法获取用户的身份证信息,那么我们可以自己通过上传或者拍摄身份证,然后结合ocr进行识别,那么最后为了保证准确性,再通过人脸识别来比对,辨别是不是本人,关于人脸识别,在我这篇博客里介绍了uniapp + vue3微信小程序开发(2)活体人脸识别1、 关于上传照片注:proxy.$api.user.xxx 是我封装的接口调用方式uni.chooseImage({ count: 1, success: result => { uni.showLoading({..
2022-05-07 11:15:08
3040
3
原创 uniapp + vue3微信小程序开发(3)微信授权登录
整体思路:先调用逻辑代码<template> <view> <view> <view> <view class="header"> <image src="/static/img/login-wx.png"></image> </view> <view class="content"> <view>申请获取以下权限&l.
2022-05-07 10:41:27
4755
4
原创 uniapp + vue3微信小程序开发(2)活体人脸识别
这相信有很多小程序都会用,为啥呢?因为小程序压根不得给你用户身份证信息,所以替换做法就是你让用户上传身份证照片,然后你在人脸识别,判断是同一个人后,再将你信息录入数据库1、在小程序端的活体识别方法1、uniapp camera组件拍照 takePhoto2、uniapp camera组件录像 startRecord3、uniapp live-pusher组件 视频推流方式2、拍照方式实现人脸识别因为项目要得紧,所以我这里使用最简单的拍照,拍八张,定时器每秒一张(后端用的是百度
2022-04-25 10:20:48
10226
11
原创 有趣且重要的css知识合集(4)浏览器各种样式的兼容
webkit-scrollbar-track: 滚动条背景样式-webkit-scrollbar-thumb: 滚动条样式火狐的简单讲解一下,目前来看估计只能改这俩样式,宽度和颜色:scrollbar-width: auto | thin | none (默认为auto,宽度比较大,thin要窄一点,none为不显示,但是依旧可滚动)scrollbar-color:前者为滚动条样式,后者为滚动条背景样式。
2022-04-13 15:02:46
3310
原创 有趣且重要的JS知识合集(11)防抖节流函数
/** * 防抖函数(常用于input框搜索情况) * @param {*} func * @param {*} delay * @param {*} immediate * @returns */export function debounce(func, delay, immediate = true) { let timer = null return function(args) { let _this = this if (timer) clearT.
2022-04-08 14:27:16
412
原创 有趣且重要的JS知识合集(10)输入框的中英文触发
1、常用的input和change事件监听众所周知,输入框我们最多的使用的两种监听:let dom = document.querySelector('#input')dom.addEventListener('input', () => {})dom.addEventListener('change', () => {})首先 oninput事件,是在我们每次输入值都会触发,由于太过于频繁,我们一般都会加上防抖函数,对于onchange事件,他其实和onblur 事件很类似,
2022-04-08 14:22:51
1478
原创 Node express项目(2) No authorization token was found
express接入了JWT时,在拿到token去访问接口时,报错No authorization token was found,其实问题很简单,你在你的token前面加'Bearer ',让你的请求头格式为config.headers['Authorization'] = 'Bearer ' + token即可...
2022-04-07 14:11:05
5189
原创 vue学习(3)vuex模块之间的互相调用
不废话,直接上代码假设你在vuex的a模块中想要调用b模块的action或者mutations,那么直接在你a模块写下面代码:dispatch('b/actionB', data, { root: true })commit('b/commitB', data, { root: true })关键点就是要加{ root: true }......
2022-03-30 16:50:56
2972
原创 有趣且重要的Git知识合集(5)Merge branch ‘master‘ of
Merge branch 'master' of 和 log操作
2022-03-18 14:36:53
4041
原创 openlayers6踩坑系列(六)历史轨迹和实时跟踪的绘制
最近都没发博客,因为一直在写关于小车历史轨迹这部分的逻辑,目前已经可以了,分别实现了历史双轨迹,历史单轨迹,实时轨迹先说说我的小车轨迹,主要分为小车 和 轨迹 两部分,小车由Marker类实例化(Marker类是我开发的地图中的类,至于这个类,在我博客中可以看到,我的地图文档)上面是链接,Marker类继承于openlayers的Feature类。轨迹由我的Polyline实例化,继承于openlayers的LineString类。轨迹线类具体讲解在上面我的链接里的第12个类历史双轨迹:
2022-03-03 11:16:39
7150
27
原创 有趣且重要的JS知识合集(8)websocket的连接与构建
socket是在前端里除了接口外最常用的获取数据的手段了,下面我直接上代码总体包括两部分(连接和构建),构建呢又分为断掉重连以及连接出错重连//连接websocket connectWebsocket() { window.socketInstance = this.buildWebsocket(`ws://${socketHost}:${socketPort}/websocket/${getCookie('portal.session.id')}`, (res) => {
2022-02-17 11:06:34
668
原创 有趣且重要的Git知识合集(3)git ssh公钥的生成
这操作还是很重要的,因为目前我们大多数使用的都是git 的ssh链接下载,以及平时的代码上传下载1、git config --global user.name 'xxx'git config --global user.email 'xxx.email.com'2、 这步操作会生成你的git公钥和私钥,在你C盘下的你的账户下的.ssh文件中,有个id_rsa.pub文件就是你的公钥,建议使用你常使用的邮箱ssh-keygen -t rsa -C 'xxx.email.com'复制公钥过,我
2022-02-08 15:17:02
535
原创 vue学习(2)解决vuex刷新数据问题
在app.vue文件里vue2 的 mounted生命周期下 或 vue3的 onMounted生命周期下// 监听页面刷新前,将vuex数据存在本地window.addEventListener("beforeunload", () => { localStorage.setItem("stateInfo", JSON.stringify(this.$store.state));});// 刷新后,将本地对应数据替换到vuex,并将本地对应数据删除if (localStorag.
2022-02-08 15:05:13
946
原创 有趣且重要的JS知识合集(7)前端实现表格导出excel
后端提供了数据,但是不提供导出excel的接口,那怎么办?前端也可以实现excel导出噢~
2022-02-08 15:00:54
704
原创 vue学习(1)vue3/2下的 父子/爷孙组件间方法调用
我这里只写父子/爷孙组件间方法调用(传值的那啥emit,on, eventbus我就不在这里写了)vue2中的写法爷组件控制孙组件的锚点跳转(父子组件间方法调用类似)// 孙组件<template> <div ref="item"></template>methods:{nav (index) { this.$refs.item[index].scrollIntoView(true) }]// 爷组件methods:{ .
2022-02-08 14:50:30
5832
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅