5 A_山水子农

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1k+

axios设置responseType===blob导出文件和失败返回json处理

  axios设置instance.defaults.responseType = 'blob’请求下载导出一个文件,请求成功时返回的是一个流形式的文件,正常导出文件。但是请求失败的时候返回的是json ,不会处理错误信息,而是直接导出包含错误信息的文件。  可以通过返回的blob数据type类型进行区分,如果type是文件类型,导出文件,如果type是json则把blob数据转为string,...

2019-12-16 15:09:12

nvm安装9.0.0以上node版本,npm报错或者不生效

  使用nvm安装9.0.0版本nodeJS之后,node -v命令可以正常使用,但是npm命令报“‘npm’ 不是内部或外部命令,也不是可运行的程序”或者"npm WARN npm npm does not support Node.js v9.1.0",node v12.13.1版本下没有安装任何npm,所以报npm不是内部或外部指令,node v9.1.0版本下安装了npm,但是npm是...

2019-11-26 19:38:25

IOS钉钉微应用文件上传OSS失败

  H5开发微应用时,Android、PC端使用OSS都可以正常上传文件,IOS在Safari浏览器和微信浏览器中也可以正常上传,但是在IOS钉钉微应用中上传文件失败。  通过寻求钉钉技术协助反馈,参考:https://www.npmjs.com/package/ali-oss;钉钉与QQ浏览器情况类似,新版本中使用alioss SDK,fetch接口存在兼容问题。在ali-oss的6.1...

2019-11-21 16:11:09

Vue全家桶开发Android和IOS移动端应用常见问题解决

1、input获取焦点弹出键盘时挡住input  当一个web页面有很多input输入框时,底部的input获取焦点弹出系统输入法键盘时,会出现遮住input情况,用户输入的内容不能正常的展示给用户,需要用户手动上滑,通过布局可以解决。如下左图输入法键盘遮住了备注输入框,右图是处理后的效果,备注输入框自动上滑。 解决办法:使用相对定位relative和绝...

2019-08-11 12:15:09

解决微信小程序input、textarea层级过高穿透问题

  微信小程序原生组件camera、canvas、input(仅在focus时表现为原生组件)、live-player、live、pusher、map、textarea、video的层级是最高的,页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。从图中效果可以看出input输入的内容穿透到了选择列表自定义组件,解决办法:  1、使用if,当触发选择列表时隐藏input或...

2019-03-09 12:36:08

wepy父组件onload中请求数据,更新.sync动态传值绑定的数据,子组件onload中获取不到值。

  wepy的props传值分为静态传值和动态传值,静态传值比较简单,只能传递String字符串类型,不需要修饰符;动态传值需要使用.sync修饰符,如果想子组件向父组件传值,可以通过设置子组件props的twoWay: true来达到子组件数据绑定至父组件的效果。如果既使用.sync修饰符,同时子组件props中添加的twoWay: true时,就可以实现数据的双向绑定了,具体详细介绍看wepy...

2019-03-09 10:56:15

JavaScript实现Word、Excel、PPT在线预览

  在文件管理的项目中需上传各种文档保存到后台,然后前端需要根据后台返回的文件地址进行在线预览,图片、视频、PDF等格式的文件用window.open(url)或者window.location.href=url能够在线预览,但是Word(.doc, .docx, .xls, .xlsx, .xlsm, .ppt, .pptx格式)文档用同样的方式打开是默认下载而不是在线预览。  微软offic...

2019-02-23 12:08:55

Vue Quill Editor自定义图片/视频上传(Element UI + OSS)、字体、字体大小、段落等

  近期项目中需要使用富文本编辑器,开始想到的富文本编辑器是百度的UEditor,UEditor功能齐全、插件多,但是图片只能上传到本地服务器,如果需要上传到其他服务器需要改动源码,而且是PHP、JSP、ASP、.Net版本,同时UEditor体积过大压缩包有3.3M(jsp版本),加载速度慢。实际项目中并不需要那么多的功能,只需要基础的操作:字体、字体大小、标题、段落、图片上传、视频上传、居中对...

2018-08-07 00:31:39

Vue Element UI + OSS上传文件

  Element UI提供了upload上传组件,可以到官网查看upload组件的详细介绍;查看upload组件的上传源码upload/ajax,使用的XHR对象上传文件,在项目实践中,发现该上传方法上传大文件时会出现问题,所以决定使用阿里云对象存储服务(Object Storage Service,简称OSS),OSS详细介绍可以查看官网,本文主要讲解的是OSS上传文件的前端,Browser....

2018-08-06 23:08:04

vue监听scroll使用节流函数(throttle)或防抖函数(debounce)遇到的坑

  在浏览器 DOM 事件里面,有一些事件会随着用户的操作不间断触发。比如:重新调整浏览器窗口大小(resize),浏览器页面滚动(scroll),鼠标移动(mousemove)、文字输入(keyup)、 射击游戏中(mousedown、keydown)。也就是说用户在触发这些浏览器操作的时候,如果脚本里面绑定了对应的事件处理方法,这个方法就不停的触发。   在项目中需要通过监听元素的scro...

2018-08-06 18:11:39

钉钉开发Android调试微应用

  不得不吐槽钉钉开发文档过于简单,今天研究了几个小时,踩了各种坑,终于可以调试微应用了,钉钉开发Android调试微应用,这是官网文档,首先我下载了Android开发包下载地址,开始的时候手机怎么也装不上,提示安装失败!后面发现必须先卸载非开发版的钉钉,然后在安装开发版的钉钉。1、远程调试 Android 设备使用入门   远程调试 Android 设备使用入门的官方文档地址Remote ...

2018-05-31 17:41:19

JavaScript设计模式与开发实践

  最近在研读了腾讯AlloyTeam前端团队,高级工程师曾探编写的《JavaScript设计模式与开发实践》,所有设计模式的实现都遵循一条原则,即“找出程序中变化的地方,并将变化封装起来”。一个程序的设计总是可以分为可变的部分和不变的部分。当我们找出可变的部分,并且把这部分封装起来,那么剩下的就是不变和稳定的部分。  JavaScript没有提供传统面向对象语言中的类式继承,而是通过原型委托...

2018-04-26 11:31:46

微信小程序获取用户openid

1、wx.login(OBJECT)  调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)。用户数据的加解密通讯需要依赖会话密钥完成。2、code换取session_key​ 这是一个HTTPS接口,开发者服务器使用登录凭证code获取session_key和openid。其中sess...

2018-03-26 17:12:53

JavaScript基于原型的面向对象系统

  我们知道在JavaScript中一切(引用类型)都是对象,对象是属性的集合,但是JavaScript中的对象到底是怎么创建的呢?在Java中是通过实例化类来创建一个对象,对象总是从类中的创建而来;在JavaScript中没有类(ES6中的class只是一个语法糖)的概念,那么JavaScript中的对象呢?JavaScript是基于原型的面向对象语言,在原型编程思想中,类并不是必需的,对象未必...

2018-03-20 21:40:54

js函数柯里化(function currying)

  currying又称部分求值。一个currying的函数首先会接受一些参数,接受了这些参数之后,该函数不会立即求值,而是继续返回另外一个函数,刚才传入的参数在函数形成的闭包中被保存起来。待到函数被真正求值的时候,之前传入的所有参数都会被一次性用于求值。   currying简单的说就是:只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。你可以一次性地调用 curry 函数,也...

2018-03-20 16:59:30

零配置打包工具 Parcel 实践

  继 Webpack 之后,又一款打包工具 Parcel 横空出世,Parcel 是快速、零配置的 Web 应用程序打包器; 1、 Parcel 使用工作进程启用多核编译,并具有文件系统缓存,即使在重新启动后也可快速重新构建。 2 、Parcel 支持JS,CSS,HTML,文件资源等等 - 不需要安装任何插件。 3、在需要时,代码使用 Babel,PostCSS 和...

2018-03-06 00:05:15

使用Gulp生成SVG Symbols Sprites

  SVG即可缩放矢量图形 (Scalable Vector Graphics)的简称, 是一种用来描述二维矢量图形的XML标记语言. SVG图形不依赖于分辨率, 因此图形不会因为放大而显示出明显的锯齿边缘.使用svg格式我们可以直接用代码来描绘图像,可以用任何文字处理工具打开svg图像,通过改变部分代码来使图像具有交互功能,并可以随时插入到HTML中通过浏览器来浏览。  在实现Web项目的图...

2018-02-08 14:01:42

JavaScript实现call、apply和bind

每个函数都包含两个非继承而来的方法:apply()和call()。这两个方法的用途是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。详细内容查看JavaScript中call()、apply()和 bind()方法,1、call方法的实现下面看一个使用call方法的实例:function add(c, d){ return this.a + this.b + c + d

2017-12-13 17:29:52

JavaScript作用域、上下文、执行期上下文、作用域链、闭包

  作用域、上下文、执行期上下文、作用域链、闭包是JavaScript中关键概念之一,是JavaScript难点之一,在应聘面试时必定会问到的问题,作为前端工程师必须理解和掌握。相信大家已经阅读了很多关于这方面的文章,但是看完之后似懂非懂。在我阅读了《JavaScript高级程序设计》、《高性能的JavaScript》这两本书后,我才完全理解这些概念。一、作用域(Scope)  作...

2017-11-07 00:50:14

VScode搭建TypeScript开发环境

TypeScript是JavaScript的类型的超集,它可以编译成纯JavaScript。编译出来的JavaScript可以运行在任何浏览器上。TypeScript编译工具可以运行在任何服务器和任何系统上,TypeScript是开源的。为什么选择TypeScript以及TypeScript优缺点阅读TypeScript入门教程。利用VScode搭建TypeScript开发环境前提

2017-10-17 16:17:39

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。