自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue&&React axios请求拦截器

axios请求拦截器(避免重复请求)通过node安装axios:npm install axios --saveaxios请求拦截器可以统一对错误码进行处理,避免重复请求axios支持并发请求执行多个并发请求function getUserAccount() { return axios.get('/user/12345');}function getUserPermis...

2019-06-05 15:36:29 885

原创 vue路由登录拦截

vue路由vue路由文件的基本格式import Vue from 'vue';import Router from 'vue-router';import HomePage from './views/Home/HomePage.vue'; // 正常引入组件const HomePage = () => import('./views/Home/HomePage.vue'); ...

2019-06-04 17:40:10 1642

原创 前端POST请求下载文件

下载文件功能(前端调用后台接口实现)接口没有设置相关的token(有些接口设计中需要在请求头中设置headers: {‘Content-Type’: ‘application/json;charset=utf-8’,Authorization: token,})// get请求最简单的下载文件的方式 window.location.herf = `https://app.conv......

2019-06-03 14:38:13 19925 2

原创 uniapp用vue3.0组合式API开发微信小程序子组件内使用uni-ui扩展组件无法修改样式?

uniapp使用组合式API使用内置组件或者扩展组件样式无法修改?添加一个配置就好了

2024-08-06 10:53:45 267

原创 getUnlimitedQRCode获取无限制小程序二维码,如何在前端展示

responseType 是在使用 axios 发送请求时,作为配置选项的一部分来设置的,用于指定期望从服务器接收到的响应数据的类型。原因是我在请求getUnlimitedQRCode接口时未设置responseType=“arraybuffer”,getUnlimitedQRCode怎么用的我就不说了,官方文档。刚开始出返回的结果是。正确的返回格式应该是。

2024-08-02 14:03:36 467

原创 CSDN定制的奖品谁不想要?

求各位大佬让个路

2024-01-09 16:53:38 585

原创 pip国内镜像源

如何修改pip为国内镜像源。

2024-01-09 16:34:05 1640

原创 M2 MacBook Pro nvm install node报错404

最近入手了一款M2 pro芯片的mac,在使用nvm来管理node版本的时候发现在安装nodeV14.x版本的出现死循环

2023-02-23 21:50:45 1927 6

原创 chrome控制台切换语言

啥也不多废话,只放几张图自己去实际感受吧!还是chrome懂开发者的心啊!

2022-11-11 11:35:19 212

原创 commit type

commit typecommitzen

2022-08-31 17:08:01 409

原创 $.ajax如何在response中获取请求头

$.ajax如何在response中获取请求头下载文件时需要获取后端带在responseHeader中的文件名称$.ajax({ type: "get", url: "http://xxxx/currentuser", contentType: "application/json; charset=utf-8", responseType: 'blob', success: funct

2021-10-27 17:19:35 1567

原创 根据图片链接校验图片的尺寸

需求背景:配置企业微信链接消息,需要一张封面图片。是直接填写图片链接的。由于企业微信会对设置的封面图片进行截取操作,不规则的图片会被截取部分作为封面图片。产品经理想要,一个完整的封面图片128*128px的。var imgReady = (function () { var list = [], intervalId = null, // 用来执行队列 tick = function () { var i

2021-10-11 15:09:33 233

转载 moment获取常用时间范围

// 获取当天开始结束时间function getCurrDays(){ let date = [] date.push(moment().format('YYYY-MM-DD')) date.push(moment().format('YYYY-MM-DD')) // 获取当天的开始结束时间,精确到时分秒 // moment().startOf('days').format('YYYY-MM-DD HH:mm:ss') // moment().endOf('days').form

2021-09-17 10:39:05 1456

原创 echarts

echarts之legend-改变图例的图标为自定义图片 legend: { show: true, //是否显示 type: "plain", // 图例的类型 'plain':普通图例 'scroll':可滚动翻页的图例 zlevel: 1, // 所有图形的 zlevel 值。 icon: "circle", top: "5%", // bottom:"20%" // 组件离容器的距离

2021-09-08 14:53:06 70

原创 mac上传文件到云服务器

scp命令1、mac上传文件到Linux服务器scp 文件名 用户名@服务器ip:目标路径scp /Users/test/testFile root@192.168.1.1:/test/2、mac上传文件夹到Linux服务器,与上传文件相比多加了-rscp -r 文件夹目录 用户名@服务器ip:目标路径scp -r /Users/test/testFolder test@192.168.1.1:/test/3、Linux服务器下载文件到macscp 用户名@服务器ip:文件路径 目标路径

2021-08-23 09:35:09 488

原创 正则表达式插入变量

动态控制小数点位数不废话上代码/ **** 根据传入的num值来确定value的小数点位数* value Number|String 输入框的值* num Number 需要控制的位数* * /const limitDecimals = (value, num) => { let reg = new RegExp('^(\\-)*(\\d+)\\.(\\d{' + num + '}).*$'); if (typeof value === 'string') { ret

2021-07-07 11:24:48 3126

原创 ant-design RangePicker 限制时间选择最长跨度为一个月

需求背景:项目有一个导出数据的功能,选择一个时间范围,将这个时间范围区间内的所有客户行为事件全部导出,由于数据量比较大项目要求限制时间跨度为最长1个月,时间过长生成文件的时间太长不友好。解决思路:当选择开始时间的时候做一次记录,将开始时间记录下来。再根据开始时间来禁用时间跨度大于一个月的日期。话不多说上代码:关键代码如下const onCalendarChange = (date) => { if (date.length==1) { setClickDate(date[0]);

2021-06-09 16:28:24 7460 1

原创 有条件的获取数组对象中的指定字段值

let list = [{ "opportunityId": "1792", "oppoName": "欣兆阳MA", "sowCode": "SW202104260001", "workType": "售前支持", "workItem": "售前支持及SOW支持", "wantTime": 87.0, "rate": "300", "status": 0, "projectId": 273, "dateCreated": "2021-04-26T00:13:59Z"

2021-04-28 13:55:54 1622

原创 MAC 双击html文件无法唤起chrome浏览器

我们使用Mac做开发,不可避免的会使用到产品经理发来的原型,但是这个时候我们发现双击原型html文件,只会闪一下Chrome,并不能真正的打开Chrome浏览器!原因其实是因为在Mac OS系统下,在Finder(访达)中做任何操作,文件都会不可避免的被附加上一个特有的拓展属性(extend attributes),可以通过终端命令ls -l查看,这些文件通常都会有@作为标记,因此,由于产品的原型是由Axure来制作的,然后导出了tar的压缩包,因此我们解压之后,通常都不能直接在浏览器打开!怎么解决这种

2021-04-23 11:20:09 743

原创 纯前端实现excel下载功能

借助npm xlsx// 安装npm install xlsx --save// npm xlsx 地址https://www.npmjs.com/package/xlsx方式一(获取页面table元素)import XLSX from "xlsx"createElsx(){// 获取表格的dom元素var elt = document.getElementsByTagName('table')[0];console.log(elt)// 将表格的dom 元素转化为 excel工.

2021-03-05 11:22:34 1861

原创 关于文字转base64,base64转文字的坑(数字短信)

中文与base64互转(数字短信)最近在做一个阿里云数字短信短信内容包括文字、图片、视频、音频,比彩信高级一点点。其中的文字、图片、视频、音频内容都需要转换成base64格式的文件来传输。图片和媒体文件转base64没什么问题,有用到的小伙伴也可以参考下面的代码// 上传图片async function selectPicture() { return new Promise(resolve => { var file = $('<input type=fil

2021-01-15 17:42:42 1303

原创 React componentWillReceiveProps死循环问题

1. 背景父组件异步获取数据,传递给子组件,子组件在这些数据中进行选择。当选项发生改变的时候,父组件能根据选项做出响应。子组件要默认选中第一个。而且,从开始装载到默认选中第一个,也视为选项发生了改变。2. 问题2.1 父组件它render了以下子组件,<NumberSelector numbers={numbers} onChange={onNumberSelectorChange} />其中,numbers来自父组件state,初始值为空数组[ ],componentDi

2020-11-18 12:53:49 1284

原创 防盗链原理

防盗链原理http标准协议中有专门的字段记录referer一来可以追溯上一个入站地址是什么二来对于资源文件,可以跟踪到包含显示他的网页地址是什么因此所有防盗链方法都是基于这个Referer字段请求头中Referer字段前端是没有更改权限的添加安全域名(域名白名单):其实就是在发起请求时后端校验Referer是否在安全域名内,否则视为非法访问。...

2020-09-22 16:20:50 412

原创 JQ ajax上传文件报错Uncaught TypeError: Illegal invocation

Uncaught TypeError: Illegal invocationprocessData默认:true类型:Boolean说明:默认情况下,以对象形式上传的数据,将被转换为查询字符串,来匹配contentType的默认值 “application / x-www-form-urlencoded” 。如果要发送 DOMDocument 或不需要转换成查询字符串的数据,请将此选项设置为false。import $ from 'jquery';export default { upload

2020-09-14 17:25:08 331

原创 复制内容到剪贴板(复制淘口令)

复制内容到剪贴板方法一npm地址:https://www.npmjs.com/package/copy-to-clipboard安装插件npm i --save copy-to-clipboard使用#引入插件import copy from 'copy-to-clipboard';if(copy("复制内容")){ console.log("复制成功");}else{ console.log("复制失败")}方法二npm地址:https://ww

2020-08-21 17:21:26 747

原创 常见的几种绝对居中的方法

绝对居中方法一.parent { display: flex; justify-content: center; align-items: center; }方法二.parent { width: 100px; height: 100px; position: relative; background: #f91; } .child { width: 40px; height:

2020-06-05 15:10:40 1745

原创 自定义滚动条后textarea resize拖拉位置出现边框

CSS3自定义滚动条样式自定义滚动条实现此部分针对webkit内核的浏览器,使用伪类来改变滚动条的默认样式,详情如下:滚动条组成部分::-webkit-scrollbar 滚动条整体部分::-webkit-scrollbar-thumb 滚动条里面的小方块,能向上向下移动(或向左向右移动)::-webkit-scrollbar-track 滚动条的轨道(里面装有Thumb)::-webkit-scrollbar-button 滚动条的轨道的两端按钮,由于通过点击微调小方块的位置。::-we

2020-06-05 14:16:09 628

原创 IOS手机长按识别图片二维码,无法弹出识别的二维码而是整个图片被弹出

IOS手机长按识别图片二维码,无法弹出识别的二维码而是整个图片被弹出解决方案:img { -webkit-touch-callout: none;}// ps:亲测有效

2020-05-28 17:28:01 2082

原创 控制浏览器自带返回按钮

需求背景小程序权益详情页面跳转外部H5任务进度页面查看和领取权益。遇到的问题浏览器自带返回按钮无法返回之前的小程序页面或需要多次按返回按钮返回之前的小程序页面。解决方案一(放弃)原本考虑在页面加上一个自定义的返回按钮来让用户点击返回到小程序页面(太特么丑了,不管放在页面的任何位置都显得异常的怪异)。// 先引入JSSDKimport wx from 'weixin-js-sdk'...

2020-04-10 17:05:03 2572

原创 如何优雅的链式取值

方法一:Optional Chaining这是一个当前处于stage 2的ecma新语法,babel官方已经实现了语法插件,不过目前还没放到自己的哪个presets里,可以直接通过plugins使用:babel-plugin-transform-optional-chaining按照这种语法代码就可以这么写:const MyComponent = props => ( <di...

2020-01-13 17:11:39 576

原创 防抖和节流如何实现

防抖触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间(思路—每次触发事件时都取消之前的延时调用方法)/* 防抖 */ function dou(fn, wait) { var time = null; return function () { clearTimeout(time) ...

2020-01-13 16:12:16 1654

原创 elementUI日期选择器快速选择(今天,近七天,近一个月,上个月,这个月)

关于(今天,近七天,近一个月,上个月,这个月)快捷选择最近做了一个基于vue-element-admin开源框架的后台项目,其中有块数据分析的模块,有个日期快捷选择的需求(主要里面竟然有上个月、这个月这种奇葩日期),咱也不能要求产品经理修改需求,咱做的就是想办法实现他,不多费口舌,上代码。<template> <div class="dashboard-editor-...

2020-01-08 13:59:41 5708 2

原创 微信JSSDK上传图片功能

1、公众号开发集成微信JSSDK登录公众平台下载TXT文件放到域名根目录下加入js安全域名2、配置wxsdk集成到项目中import wx from 'weixin-js-sdk';// 生成签名import { getWxSignature } from './../../api/member/commonApi';const wxsdk = { /** * @pa...

2020-01-07 17:06:41 2869

原创 安卓手机软键盘弹起收回后,页面不能收回

document.body.addEventListener('focusout', () => { //软键盘收起的事件处理 window.scroll(0, 0); });

2019-11-20 21:37:06 841

原创 学习react-redux

store三个基本原则整个应用只有唯一一个可信数据源,也就是只有一个 StoreState 只能通过触发 Action 来更改State 的更改必须写成纯函数,也就是每次更改总是返回一个新的State,在 Redux 里这种函数称为 Reducerimport { createStore } from 'redux';//reducerconst initialState = {...

2019-10-11 15:46:18 87

原创 微信内置WeixinJSBridge

微信H5页面(关闭页面&&退出网页)isWechat = () => { let ua = window.navigator.userAgent.toLowerCase(); return ua.match(/MicroMessenger/i) == 'micromessenger';};if (isWechat()) { WeixinJSBri...

2019-09-18 15:42:23 1004

原创 css3相关知识

一、transition–过渡transition语法transition: property duration timing-function delay;transition的相关属性transition-property: 指定想要进行过渡的属性 transition-property: none||all||property none:没有属性过渡 all...

2019-09-05 11:08:34 92

原创 微信公众号微信分享

一、绑定微信公众号JS接口安全域名二、为开发者设置web开发者权限(方便调试)三、引入JS文件http://res2.wx.qq.com/open/js/jweixin-1.4.0.js (支持https)。四、通过config接口注入权限验证配置wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入...

2019-08-30 15:56:14 368

原创 js判断是否大于18岁

/* * 判断是否满足18岁 * time : 毫秒级时间戳,用户选中日期的时间戳 * */ satisfy(time) => { var nowDate = new Date(); // 当前时间 var mouth = nowDate.getMonth() + 1; var day = nowDate.getDate(); var year...

2019-08-08 13:53:56 13632

原创 数组对象的一些方法(方便自己回顾)

会改变自身的方法Array.prototype.pop()删除数组的最后一个元素,并返回这个元素。Array.prototype.push()在数组的末尾增加一个或多个元素,并返回数组的新长度。Array.prototype.reverse()颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个。Array.prototype.shift()删除数组的第一...

2019-07-16 16:32:04 146

空空如也

空空如也

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

TA关注的人

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