自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我叫陈小皮。

不积跬步无以至千里

  • 博客(115)
  • 资源 (2)
  • 收藏
  • 关注

原创 vue 进入页面之前跳转到外链地址

需要在vue进入某个路由前,做判断跳转到外链地址。

2021-11-26 09:41:14 816

原创 node请求mysql数据库,时间差八个小时问题

问题描述1.node层查询列表中,前端处理时间显示没问题2.node导出excel中,在node层中用js处理时间,差八个小时,因为时区问题解决方案1.更改sequelize中的配置,更改后在node层进行js方式处理,显示没有问题,需要注意的是,列表中查询的时间也需要处理const Sequelize = require('sequelize');const sequelize =...

2019-08-20 14:19:11 1892

原创 wx-charts 微信小程序图表插件

微信小程序图表插件(wx-charts)基于canvas绘制,体积小巧,支持图表类型饼图、线图、柱状图 、区域图等图表图形绘制,目前wx-charts是微信小程序图表插件中比较强大好使的一个支持图标类型饼图 pie圆环图 ring线图 line柱状图 column区域图 area雷达图 radar如何使用?直接引用编译好的文件 dist/charts.js(js下载地址) .wxm

2017-07-15 14:27:53 46445 25

原创 Axios请求失败重刷接口

页面接口请求时偶尔会出现 Network Error 异常报错,重新请求就会请求成功。接口没办法捕获异常原因,前端来做一次重刷解决问题。

2023-05-31 10:54:37 921

原创 ChunkLoadError: Loading chunk {n} failed.

偶现路由切换,控制台报错 ChunkLoadError: Loading chunk {n} failed.可能是远程资源更新,浏览器缓存,出现静态资源不一致等原因造成的。

2023-05-31 10:40:56 3338 1

原创 webpack将静态资源压缩语法转义后拷贝至目标文件夹

使用webpack相关插件以及babel 完成项目中单独某个文件或文件夹下 静态资源拷贝压缩以及语法转移

2022-10-12 14:57:48 645 1

原创 vue + Intro.js 新手指引

vue 中 新手指引introjs插件的使用

2022-09-19 17:08:46 609

原创 Echarts 绘制大区数据

需求:地图区分大区展示,将某几个省份绘制成一个大区图形式注意:如果需要直辖市绘制为一个区域,不绘制区,同样的思路// config.jsexport const regionsMap = { 华北大区: { names: ['北京', '天津', '河北', '山西', '内蒙古'], cp: [115.24, 41.54] // 名称的经纬度,可以自己调整到合适的位置 }, 东北大区: { names: ['黑龙江', '吉林', '辽宁'], cp:

2022-04-14 14:31:34 1678

原创 Echarts 雷达图 图例名称 可点击,且可用样式区分

需求:雷达图的图例名称可点击,点击后文字有样式上的变化暂时只能找到颜色的区分,如果有其他的可以修改字体的 多种样式 的方式,希望评论区分享option = { radar: { indicator: [ // { name: 'name1', max: 100 } ], triggerEvent: true // 注意:设置可点击!!! }}radarChart.on('click', (info) => { if (info.targetType =

2022-04-14 14:07:45 1786

原创 localforage前端本地存储

可以解决 localStorage/sessionStorage 大小限制的问题完美避开 indexDB 的语法,上手比较容易localForage.getItem 返回的是 promise不会因为关闭浏览器就消失,需要手动清理哦 removeItem(key), clear()具体使用 https://www.npmjs.com/package/localforage 、 https://juejin.cn/post/7024119821365149709记录使用,没有详细瞅,大家伙具体问题具.

2022-03-17 14:09:53 1034

原创 Echarts 柱状图,带背景色且数值显示在最顶部

showBackground: true 可以设置背景色,但是 label 不能显示在背景色的顶部,所以不满足需求此时需要再来一个柱来显示背景色,且加上label注意:barGap 为 -100% 不然不能与另一个柱重合哦~此示例为官方示例 外加自己修改...

2022-03-16 10:48:59 3778

原创 Echarts geo地图 visualMap 自定义 分段

export function toCeil (value, num) { let val = Math.ceil(value * Math.pow(10, num)) / Math.pow(10, num) + '' if (num > 0) { const intp = val.split('.')[0] const decp = val.split('.')[1] || '' if (decp.length < num) { val = `${i

2022-03-10 11:06:54 2129

原创 Echarts 报错 Uncaught Error: Invalid geoJson format coordinate.charCodeAt is not a function

地图 下钻时 ,同一个区域点击多次会出现 如下图 报错原因是 每次引入的JSON文件都是新的,应该对绘图所需的JSON文件进行缓存因为 echarts 会绘制解析 json 之后 执行 decode 方法 后 会将其 UTF8Encoding 的值 从 true 改为false,第二次绘制 时如果 为 false 则 不需要走 decode 方法,如果每次都是新引入的 json,那每次都走 decode 就会报错// 问题代码// chinaJson 中国地图json // names =&gt

2022-01-18 10:01:53 2442

原创 Axios 接收导出文件流

请求时,用blob格式去接收,设置responseType: ‘blob’标题在接口返回错误时,需要将接收到的 blob 转为 json 做错误提示接口请求export function exportFile(queryInfo) { return http({ url: 'xxx', method: 'get', params: queryInfo, headers: { 'Content-Type': 'application/octet-strea

2022-01-04 15:18:28 4365

原创 一个页面仅保持一个播放中的audio

// 获取到页面中所有的audiovar audios = document.getElementsByTagName('audio')// nodeList => ArrayArray.from(audios).forEach((item) => { // 监听某一个正在播放,停止其他audio元素 item.addEventListener('play', function () { Array.from(audios).forEach(i => {

2021-11-26 09:36:58 228

原创 F2 柱状图 使用 scrollBar 不可滑动

1. 检查语法是否有问题 (https://f2.antv.vision/en/docs/api/chart/scroll-bar)const F2 = require('@antv/f2/lib/index');const ScrollBar = require('@antv/f2/lib/plugin/scroll-bar');// 注册插件 ScrollBarF2.Chart.plugins.register(ScrollBar); // 这里进行全局注册,也可以给 chart 的实例注册

2021-10-11 16:53:15 860

原创 video H5微信点击播放自动全屏

本身ios是支持自动全屏的,但是安卓不可以,所以引入了插件videojs,亲测没啥问题<video ref="video" class="video-js vjs-default-skin" preload="auto" x5-video-player-type="h5" x5-video-player-fullscreen="true" x5-video-orientation="landscape" style='object-fit: c

2021-07-16 10:19:15 884

原创 性能优化 - 优化项目打包体积,减少首屏加载速度

设置mode如果你的环境变量用的是vuecli3自带的production,则不需要设置,因为本身是开启的,但是如果你自定义了上线的环境变量,比如prod,online等,则需要配置一下,配置之后体积会立马少一半哦~configureWebpack: (config) => { config.mode = 'production'}开启GZIP当然nginx也要做相应的配置哦,自行让公司的运维同学去百度吧,一堆一堆的~npm install compression-webpack

2021-07-16 10:14:09 387

原创 vue 引用字体库iconfont,使用svg,svg组件封装注册使用

引入public.html 引入在线链接下载到本地后main.js 引入 iconfont.js注意:如果项目开了eslint,可能引入iconfont.js会报错,要设置忽略使用<!-- xlink:href 去复制代码所复制出来的东东 --><svg class="icon" aria-hidden="true"> <use xlink:href="#icons-PromptInformation-solid"></use>&l

2021-04-19 11:04:34 439

原创 vant 日历插件,部分全面屏手机显示不出来

找了很多资料没有特别好的办法,只有模拟滚动,代码如下:所做需求:日期作为筛选项,多次切换的时候会出现空白的情况<!--简略版代码--><van-dropdown-item title="昨日统计" ref="date" @open="openCalendar"> <template #default> <div class="calendar-wrap"> <van-calendar

2021-04-19 10:47:49 1898

原创 vant 必填项“*“放后面

<van-field v-model="formData.customerName" name="customerName" label="客户名称" placeholder="点击选择" right-icon="arrow" required readonly/>::v-deep .van-cell--required { &:before{ content: '' } .van-cell__title.van-field_.

2021-03-10 11:58:57 7045 3

原创 PM2 常用命令

1. pm2 start 启动 命令后加以下参数执行相应的操作 --watch:监听应用目录的变化,一旦发生变化,自动重启 -i / --instance:启用多少个实例,可用于负载均衡 --ignore-watch:排除监听的目录或文件,可以是特定的文件名,也可以是正则。 -n / --name:应用的名称 -o / --output path:标准输出日志文件的路径 -e /...

2020-01-16 10:53:37 215

原创 正则 - 除后四位都显示* / 除第一位都显示*

最近做了个需求,身份信息,身份证银行卡需要只显示后四位,姓名只显示第一位,so,有了这个博客real_name.replace(/([\u4e00-\u9fa5a-zA-Z])/g, function (a, b, c, d) { return c >= 1 ? '*' : a });id_number = id_number.replace(/(\w)/g, function ...

2019-10-28 16:34:22 804

原创 node AES/ECB/PKCS5Padding 加密解密

aesEncryption(data, key) { // aes 加密 var iv = iv || ""; var clearEncoding = 'utf8'; var cipherEncoding = 'hex'; var cipherChunks = []; var cipher = crypto.createCipheriv('aes-128-ecb', key, iv);...

2019-10-28 16:31:27 1907

原创 vue input控制输入框十位整数位两位小数位,其他字符不让输入

<input type="text" placeholder="请输入金额" v-model="orderMoney" @input="checkInput" />checkInput() { this.orderMoney = this.dealInputVal(this.orderMoney);},dealInputVal(value) { value = valu...

2019-10-22 17:54:32 1772 1

原创 vue input银行卡四位空一格

bankCardNo:function(newval){ // 四位空一格 this.$nextTick(() => { this.bankCardNo = newval.replace(/\s/g,'').replace(/....(?!$)/g,'$& '); });}

2019-10-22 17:52:10 1463

原创 bunyan日志框架自带字段重写问题

const utils = require('./utils.js'); // 时间格式化函数const bunyan = require("bunyan");const log = bunyan.createLogger({ name: 'app', streams: [ { level: 'error', s...

2019-09-24 16:13:47 238

原创 elementUI输入框只能输入数字解决方案

借鉴地址需求描述只能输入数字控制输入11位验证如果不是11位提示错误当输入时取消验证,没有错误提示问题1.el-input type=number e仍然可以输入,方案pass2.利用wach监听el-input的值,并没有实时变化3.el-form-item中的prop对于原生input是没有验证功能的解决方案1.将el-input改成input,加上class2.手...

2019-08-19 11:31:44 11132

原创 解决Iphonex 底部按钮fixed,bottom:0 底部留白问题

注意:配合viewport-fit=“cover”使用<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1, user-scalable=0,viewport-fit=cover">解决方案:<div class="wrapper...

2019-08-02 18:55:52 6651 3

转载 js 判断 iPhone X、iPhone XS、iPhone XS Max、iPhone XR

// iPhone X、iPhone XSvar isIPhoneX = /iphone/gi.test(window.navigator.userAgent) && window.devicePixelRatio && window.devicePixelRatio === 3 && window.screen.width === 375 &am...

2019-06-11 17:49:09 20920

原创 单张/多张图片压缩zip格式文件完成上传

利用jszip插件安装npm install jszip --save引用import jsZip from 'jszip';export default{ data(){ jsZip, return { } }}相关方法https://stuk.github.io/jszip/documentation/api_jszip.html使用let jszi...

2019-04-29 11:13:46 1368

原创 react 增加@connect装饰器

@connect 安装配置1 . npm run eject2 . npm install babel-plugin-transform-decorators-legacy --save-devnpm install @babel/plugin-proposal-decorators --save-dev3 . 在package.json中配置babel, 添加如下代码:"plugi...

2019-04-02 15:54:08 4617

原创 react 增加less配置

由于create-react-app搭建出来的react项目是对less不支持,需要自己对其配置create-react-app react-demo 生成react项目npm run eject 由于react对webpack配置是不暴露出来的,需要npm run eject获取,找到对应的webpack.config.js文件增加less配置npm install less less...

2019-03-27 15:46:12 578

原创 Chrome高版本使用screenfull.js全屏功能时报参数错误

报错问题:Uncaught (in promise) TypeError: Failed to execute ‘requestFullscreen’ on ‘Element’: parameter 1 (‘options’) is not an object.解决办法:找到node_modules中screenfull.js文件修改其中部分代码即可借鉴网址,其中有改动原因...

2019-03-27 15:39:55 11641 4

原创 webpack报错总结

报错信息Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.configuration.module has an unknown property ‘loaders’. These propert...

2019-03-22 15:16:31 723

原创 python学习笔记

本文学习借鉴地址通过print()打印python的标准数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Set(集合)Dictionary(字典)不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。字符串字符串中...

2019-02-26 15:03:29 246

原创 border-radius 50% 安卓手机不是圆

一般出现这种情况,多半是因为使用了rem而不是px所以把border-radius:50%的元素宽高改成px形式,即可解决

2019-02-21 14:32:56 1922 1

原创 ios-safari浏览器存储问题

当safari手机开启无痕浏览时会导致localstorage存储失败,js报错,可以加以下判断try{ window.localStorage.setItem('curTab', this.currentTab) // 记录当前tab }catch(e){ alert("本地储存写入错误,若为safari浏览器请关闭无痕模式浏览。"); }...

2019-01-30 12:59:06 1394

原创 node 完成钉钉access_token缓存

整体思路:通过json文件缓存token值,在获取access_token的时候进行判断,如果不在有效时间之前或access_token为空,则重新请求,并更新json中数值,否则返回json文件中的值1.首先新建一个文件,access_token.json{ "expires_in": 0, // 此处expire_in指的是更新时间 + (有效时间 - 2s) 的时间戳 "acc...

2018-12-11 16:33:25 675

原创 node完成钉钉消息通知

1. 首先通过corpid和corpsecret获取access_token/* get请求 params: corpID corpSecret */axios.get('https://oapi.dingtalk.com/gettoken', { params: { 'corpid': DD_CORPID,...

2018-12-11 16:01:22 5232

jquery实现分页插件

本插件主要利用jquery实现分页功能,通过配置相应参数即可实现对本插件的使用,主要实现了翻页等功能的封装

2017-11-21

jquery实现分页组件

本资源主要实现分页组件,可对某些参数进行针对性的设置,解决了大部分需求,并将其中函数进行封装扩展到jquery中

2017-11-17

空空如也

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

TA关注的人

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