自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于闭包及其闭包应用

由于在JavaScript语言中,只有函数内部的子函数才能读取局部变量,闭包就是能够读取其他函数内部变量的函数。柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并返回接收余下参数并返回结果的新函数的技术。在实际业务中遇到一些固定的操作,需要复用的数据,或为函数扩展功能时,就可以考虑使用柯里化函数。当在函数内部使用函数包装器的时候,此时函数包装器就是一个闭包,有权访问父作用域的所有变量。高阶函数是对其他函数进行操作的函数,可以将它们作为参数或返回它们。

2023-11-06 14:07:52 143

原创 JWT登录校验

通俗地说,JWT的本质就是一个字符串,它是将用户信息保存到一个Json字符串中,然后进行编码后得到一个JWT token,并且这个JWT token带有签名信息,接收后可以校验是否被篡改,所以可以用于在各方之间安全地将信息作为Json对象传输。2、后端核对用户名和密码成功后,将包含用户信息的数据作为JWT的Payload,将其与JWT Header分别进行Base64编码拼接后签名,形成一个JWT Token,形成的JWT Token就是一个如同lll.zzz.xxx的字符串。

2023-11-06 13:38:30 297

原创 utf-8

Unicode 列表中的第一个占用 1 个字节,最后一个最多占用 4 个字节,如果处理的是英文文件,大多数字符可能只占用 1 个字节,与 ASCII 中的相同。计算机在读取 UTF-8 中以 0 开头的内容时,就知道只需要读取一个字节并显示 Unicode 中 0-127 范围内的正确字符即可。如果遇到两个 1,就需要读取 2 个字节,范围为128-2047,3 个 1 在一起表示需要读取三个字节。下面来详细看看 UTF-8 是如何工作的,以及为什么它会根据被编码的字符具有不同的长度。

2023-11-06 13:14:16 76

原创 connect-history-api-fallback原理

connect-history-api-fallback是一个用于处理前端路由的中间件,它的原理是在服务器接收到请求时,检查请求的路径是否匹配到静态文件(如HTML、CSS、JS等),如果不匹配,则将请求重定向到前端的入口文件,通常是 index.html。需要注意的是,不同的服务器可能有不同的配置方式来使用 connect-history-api-fallback,例如在Express服务器中使用 app.use(history()) 进行中间件的注册。具体的配置方式请参考相关服务器和中间件的文档。

2023-11-05 17:42:40 327

原创 Hash模式与History模式

因为现在我们开启了路由的history模式,而该模式是通过HTML5中的history中的api来完成路由的操作的,也就是当我们单击菜单的时候,是通过history.pushState( ) 方法来修改地址栏中的地址,实现组件的切换,而且还会把地址保存的历史记录中(也就是可以单击浏览器中后退按钮,实现后退等操作),但是它并不会向服务器发送请求。上图的含义就是,当单击浏览器中的刷新按钮的时候,会向服务器发送请求,要求node服务器处理这个地址,但是服务器并没有处理该地址,所以服务器会返回404。

2023-11-05 17:28:40 124

原创 vite和webpack的区别

Vite,一个基于浏览器原生 ES imports 的开发服务器。利用浏览器去解析 imports,在服务器端按需编译返回,完全跳过了打包这个概念,服务器随起随用。同时不仅有 Vue 文件支持,还搞定了热更新,而且热更新的速度不会随着模块增多而变慢。针对生产环境则可以把同一份代码用 rollup 打包。虽然现在还比较粗糙,但这个方向我觉得是有潜力的,做得好可以彻底解决改一行代码等半天热更新的问题。将script标签设置type=“module” 加载模块 import引入方式。

2023-11-03 16:01:33 370

原创 CA证书与服务器证书

使用CA证书可以确保颁发证书的机构的合法性和可信度,从而建立起网络通信的信任链。服务器证书和CA证书的合理运用能有效提升网络通信的安全性和可靠性,为用户提供更加安全可靠的网络服务。在验证服务器证书时,客户端需要使用CA证书来验证服务器证书的合法性。如果CA证书无效或者未通过验证,客户端将无法信任任何由该CA机构颁发的证书。服务器证书和CA证书是网络通信中使用的两种重要的证书。服务器证书是用于验证服务器身份的证书,而CA证书是用于验证证书颁发机构(Certificate Authority)身份的证书。

2023-11-01 20:30:00 812

原创 redis是什么

和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得到数据,序列化的操作包括SET、RPUSH、SADD、ZADD。值得一说的是它的独家功能:存储列表和集合,这是它与mc之流相比更有竞争力的地方。

2023-11-01 16:01:30 233

原创 PDF转图片 + 分页

本文需要的依赖是pdf.js pdf.worker.js jquery.js 当然在git上都可以找到。PDF转图片 有两种方式,一种是请求所有分页后合成一张图片,一种是分页加载。本文推荐后者,前者在实操中 pdf页码过大时 转换超时导致失败。也可以使用本文上传的资源依赖,在这篇文章的上方下载。

2023-07-19 16:00:21 806

原创 git 相关命令

git删除分支

2022-11-09 17:58:23 307 1

原创 原生js 复制功能

js 复制

2022-11-03 20:27:51 124

原创 vue图片裁切 cdn方式就可引入

cdn引入图片裁切

2022-10-20 18:41:03 483 1

原创 vue前端生成二维码解决

前端生成二维码

2022-10-20 18:29:16 461

原创 各种问题汇总-部分答案

一,万里开源1,二,卡车之家1,some、every的区别2,

2020-09-27 10:02:51 106

原创 vue懒加载图片懒加载

main.js中:main.js中:1,npm install vue-lazyload --save-dev;import VueLazyload from ‘vue-lazyload’;2,Vue.use(VueLazyload, {//预加载高度preLoad: 1.3,//错误时显示的图片error: ‘static/about111.jpg’,//图片加载中显示的图片loading: ‘static/img/loading.gif’,//尝试加载次数attempt: 1}

2020-07-07 10:20:55 141

原创 记第一篇

为了纪念这一天,于是乎 有了开国第一篇。

2020-07-02 11:27:52 81

原创 vue瀑布流(图片+摘要)

产品需求,pc端添加图片瀑布流。废话少说直接上干货。简介:我使用的是vue-waterfall2+vue-lazyload两个插件。特点:使用简单,自定义样式修改灵活方便。Use:npm install vue-waterfall2@latest --savenpm install vue-lazyload --save首先在mian.js中直接引入:import waterfall...

2020-04-24 17:37:35 793

原创 前端面试题个人小结

1,的title和alt有什么区别:Alt是的特有属性,是图片内容的等价描述,用于图片无法加载时显示,读屏器阅读图片。title 可提高图片高可访问性,除了纯装饰图片外都必须设置有意义的值,搜索引擎会重点分析。鼠标滑过时显示的文字提示,用户体验上很重要。当然不必要所有的img标签都加此属性,比方说logo这样比较重要或者说用户会体验到的图片内容建议一定要加此属性。2,前端需要注意哪些SE...

2020-03-24 21:36:45 154

原创 uniapp展示在h5端的seo关键词与摘要

首先引入html,并修改h5配置。html内容为:<!DOCTYPE html><html lang="zh-CN"> <head> <title>好故事</title> <meta name="keywords" content="" /> <meta ...

2019-12-19 16:25:01 4858 3

原创 vue父子组件、兄弟组件通信

在官网和许多博客、帖子中已经有详尽的父子组件通信的流程,在本文着重讲解和配置兄弟组件通信。关于 兄弟组件通信,具体过程:一:借助第三者文件(这里我起名为:eventBus.js),**新建一个eventBus.js**文件二:文件内容: import Vue from 'vue'; export default new Vue(); ![在这里插入图片描述](https://img-b...

2019-12-11 18:18:46 383 2

原创 小程序bindscrolltolower上拉加载更多快速划到底不触发解决

scroll-view在Android下快速上拉触底后不触发bindscrolltolower~bug问题描述:在安卓环境下,列表快速上拉进行滚动加载更多,会出现卡在低端 不进行加载现象,需要在卡住的位置重新下拉一小段距离再重新上拉加载 才可以加载出数据。(慢速上拉是可以正常加载更多数据)。问题分析:在父级、子级高度都设置正常的情况下,也就是需要固定的height值固定,需要给height...

2019-12-09 19:16:52 3067 2

原创 uni-app、百度小程序、微信小程序、骨架屏

最近用uni-app做了一款《中国好故事》百度小程序、h5、微信小程序三个版本,正在上线阶段,所以有时间最近总结一下遇到的问题百度小程序白屏总是拒绝审核通过,所以新学习了一下骨架屏,看了众多资料,总结就是一句话:copy一份与数据展示页(以下称为真实页面)全等的一个静态页面(以下称为复制页面)。ps:当然复制页面中的内容框的宽高和位置可以动态的从真实页面获取,但这个时间节点是真实页面...

2019-11-29 18:57:47 1438

原创 uni-app、百度小程序、微信小程序列表滚动回顶端

uni-app转百度小程序、转h5、转微信小程序 关于 列表向下滚动后 切换tab后列表回顶端功能:主要方法(自动忽略其他事件,只关注在scrollTop):<scroll-view class=“list” scroll-y=“true” :scroll-top=“scrollTop” @scrolltolower=“loadMore(idx)” @scroll=“scroll”&gt...

2019-11-29 18:14:58 618

原创 微信页面兼容性问题

最近给公司微信公众号,写了微信h5业务页面,总结分享一下前端开发过程中的几个兼容性坑,项目直接拿的公司页面,所以下文涉及图片都模糊处理了。1、ios端兼容input光标高度问题详情描述:input输入框光标,在安卓手机上显示没有问题,但是在苹果手机上当点击输入的时候,光标的高度和父盒子的高度一样。例如下图,左图是正常所期待的输入框光标,右边是ios的input光标。出现原因分析:通常我们习...

2019-10-25 17:18:48 729

原创 vue导出excel表格(基于vuecli3.0)

一,首先是依赖的安装(一共有两个):1, npm install -S file-saver xlsx2,npm install -D script-loader二,新建目录:在src下新建一个文件夹export,新建两个js文件(后附js代码)三,在需要的.vue文件中操作:引入import { export_json_to_excel } from ‘@/export/Export...

2019-09-25 18:47:15 2343 1

原创 京东AI接口调试(neuhub,CryptoJS,MD5)

1,京东AI接口首先neuhub注册账号会生成一个只属于自己的SecretKey。2,接口中sign参数是对象(官网文档说是string),但是,经过实际趟坑后发现,加密后生成string的sign会提示报错信息:sign不生效这是本人根据文档说明,提取信息,看到sign是MD5加密,so,自己CryptoJS加密后得到(神奇的成功了):可以看到,sign并不是一个string,但是成...

2019-09-10 18:18:28 752 3

原创 微信小程序多选复选框checkbox。微信小程序官方文档bug

由于个人从事微信小程序开发相关工作,在查询相关文档时(微信官方文档-小程序-表单组件-checkbox),发现示例代码中的一处错误。问题出现原因:根据文档示例代码提示,设置本人本地代码,却发现下图红框代码无论是“true”or“false”,页面展现效果都是一样的(都会选中“中国”一项),误导本人纠结片刻,冷静思考后,恍然大悟,下图红框处不应该是字符串类型(也就是不应该使用单引号),直接填写b...

2019-07-26 17:41:25 1141

原创 微信小程序wx.showToast字数限制不能换行的问题

看了很多帖子,自6..6.0版本以后wx.showToast有字数限制了,有人说不能折行,字数过多就会显示“...”,还希望官网做出优化,我个人本着对技术的“执着追求”(其实是项目要求!),我必须做出探索,所以经过不懈努力,终于解决了问题。看了很多帖子都没有明确的解决方案,在这里我把我的解决方案和效果图拿上,仅供大家参考。方案:wx.showToast({icon: 'none',...

2019-07-26 17:04:22 16203 8

原创 关于判断是否安装flash

//是否安装了flash function flashChecker() { var hasFlash = 0; //是否安装了flash var flashVersion = 0; //flash版本 if (document.all) { var swf = new ActiveXObject('ShockwaveFlash...

2019-05-16 10:36:39 235

原创 关于uni-app的一些坑(日后再做补充)

1,关于标签:input与小程序不同,是闭合2,一个class 不用{} 遍历需要[index]3优点 小程序中不允许this.setdata({ that.isSelecte[index].selected = !that.isSelecte[index].selected;})这种带‘.’操作但是uni-app就可以了。4,类名绑定与小程序不同,同样方式小程序生效 但...

2019-04-28 18:41:52 12704 4

原创 微信小程序多项选择与删除功能

废话不多数直接上代码!这是你们希望看到的吧,其实我也是懒,懒得想去说什么了。wxml代码:<view class="report-reason-list" ><text wx:for = "{{items}}" wx:key="{{index}}" data-selected="{{index}}" class="{{isSelecte[index].selec...

2019-04-17 19:13:22 3292

原创 css文本多行溢出后显示省略号代替

大家都会说起因,那我是不是不说会不随潮流啊? 诶 , 那我就不说了 哈哈哈 直接说重点。超出后用省略号有两种方式,看具体需求:一,设置一行超出后省略号代替。代码如下:overflow:hidden; //代表的是超出后隐藏white-space: nowrap; //禁止换行text-overflow:ellipsis;//超出后省略号二,设置多行超出后省略号代...

2019-04-03 17:24:45 486 1

空空如也

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

TA关注的人

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