图片上传流程&前端上传文件&后端保存文件&并返回图片地址 也是在最近一点时间写小demo遇到的一些问题比如在用户界面,用户选择本地的一张照片,前端把照片传到后端,后端怎么把照片保存到服务器,然后返回给图片线上地址。也是找了一些文章,然后分享下。技术前端react后端egg.js(node框架)base64转换转二进制保存图片。...
lottie-web,lottie动画使用详解 lottie-web container 用于渲染的容器 renderer 渲染器 loop 循环 autoplay 自动播放 path 路径api 使用: 名称参数描述stop无停止动画play无播放动画pause无暂停setSpeedNumber设置播放
jwt 认证机制 jst 通常有三个部分组成,分别是header(头部)、payload(有效载荷)、signatrue(签名)三者之间用逗号隔开:Header.Payload.Signatruepayload 才是真正的用户信息部分,他是加密后的字符串 header、signatrue 是安全性相关部分安装:npm install jsonwebtoken express-jwtjsonwebtoken 用于生成 jwt 字符串 express-jwt 用于将jwt字符串解析还原成 jso.
MySql 安装使用(mac) 首先安装两个软件:数据储存:MySQL :: Download MySQL Community Server可视化工具:MySQL :: Download MySQL Workbench按照步骤安装即可使用1.输入设置的密码:2.设置库的名字:3.创建数据表:4.默认值:DataTypes数据类型:int 整数 varchar(len)字符串 tinyint(1)布尔值字符串的特殊标识:...
css3 Transition动画执行时有可能会出现闪烁的bug 再目标元素上面添加:-webkit-backface-visibility: hidden -webkit-transform-style: preserve-3d;
animaction,判断动画执行结束,js添加动画的@keyframes var anim = document.querySelector('div')anim.addEventListener('animationend',function(e){ //动画执行完毕 执行 console.log(e)//当前动画的属性 console.log(e.animationName) //当前动画的名字;})js添加动画的@keyframesvar style = document.styleSheets[0]; style.inse..
通过定位实现评论弹幕效果 实现效果:两行弹幕不停滚动,当弹幕轮播完之后,将自动回到初始位置原理:弹幕的添加功能就是瀑布流的实现原理,判断两个ul 的长度,谁短,往谁上面填添加 li轮播的原理就是给ul添加定位功能,改变他的left值上代码:html: <div class="box"> <ul class="one" style="left: 100px;"></ul> <ul class="two"></ul>
#region 与 #endregion 用法(注释代码的折叠) 我们在用 VS code 的时候,注释的代码是无法折叠的有时就会特别影响我们观看代码只需要在注释代码的开头加上#region 和代码的 结尾加上#endregion即可实现折叠 //#region if(){ }else{ } //#endregion...
http服务过程(请求过程) 当我们 web 浏览器的地址栏输入一个网址的时候,具体发生了什么呢? 对这个网址进行DNS域名解析,得到相应的 IP地址 根据这个IP地址 找到对应的服务器,发起 TCP 的三次握手 建立TCP 连接之后发起HTTP请求 服务器响应HTTP请求,浏览器得到HTML代码 浏览器解析HTML代码,并请求HTML代码中的资源(js、css、图片等) 浏览器对页面进行渲染呈现给用户 服务器关闭TCP连接 1.DNS怎么找到域名的DNS域名解
同步、异步、Promise、async +await 及简单封装axios(原理) 目录同步和异步的不同点:ajax 的异步函数执行顺序:如果让第一个ajax 成功之后,再去发送第二个 ajax,再去发送第三个 ajax...promise:用 promise简单 封装 ajax简单的案例 用 async 和 await先说一说同步和异步的不同点:同步:代码从上往下执行,遇到同步就会一直等,等到完成才会继续走。异步:代码从上往下执行 ,遇到异步就先走了,异步的代码就后面执行。那么有哪些异步呢:定时器 ajax 事件处理(绑定...
class es6的构造函数的另一种写法(语法糖) 构造函数的一般写法: // 构造函数 function Person(){ this.name="小明" this.age=18 this.say=function(){ console.log('person 的 say'); } } let p1 = new Person() console.log(p1.
赋值、深拷贝、浅拷贝、堆和栈 首先介绍一下JavaScript的数据类型有哪些:普通数据类型:string、number、undefined、Null、Boolean、引用数据类型:object(function、Array、Date)介绍一下他们的储存方式:浅拷贝和赋值的区别:首先是赋值:(看代码) let person = {name:'彭于晏'} let person1 = person person1.name = '胡歌' console.log(perso.
Vue的生命周期和钩子函数详解 beforeCreated:组件实例创建前特点:在此之前获取不到 data 数据 以及methods 中的方法created:组件实例创建后特点:可以访问data 中的数据 和methods 方法 一般这里写数据接口调用beforeMount挂载前 el:'#app' 还没有挂载到vm 实例上页面还是上一次展示的页面,此时数据渲染出来的模板已经在浏览器的内存中 ,但是还没有替换到页面上mounted挂在后此时浏览器内存中的dom结构 已经挂...
数组去重的几种办法 var arr = [11, 2, 11, 2, 3, 3, 4, 8, 6, 7]; //将数组的每一个元素依次与其他元素做比较,发现重复元素,利用数组方法splice()删除重复元素 //两个循环遍历判断他们两个的数字是否相等,跟排序差不多,就是拿第一个数依次和后面的数进行 //比较,如果相等就删除他 for(var i = 0;i<arr.length-1;i++){ for(var j = i+1;j<arr.length;j++){ ...