自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 toFixed 四舍五入问题

使用toFixed()函数,有可能会出现精度问题,可以考虑到用Math.round()函数‘

2024-07-10 16:40:24 469

原创 vxetable 合并横向树结合checkbox进行多选

接口数据格式为树形结构 right:1 标记为当前项为选中状态,right:0标记为没选中状态。

2024-02-05 14:37:42 1234

原创 vue 项目 打包或者本地运行时 通过package.json 修改 环境变量

在 Vue 项目的 package.json 文件中,您可以使用 cross-env 包来指定环境变量,以在构建过程中使用特定的配置。测试环境打包 npm run build:development。如果您有其他自定义的环境变量,可以按照相同的方式添加它们。正式环境打包 npm run build。在这个示例中,我们使用。

2024-01-04 09:47:12 1986 1

原创 列表滚动底部加载下一页

【代码】列表滚动底部加载下一页。

2022-12-30 09:25:11 564

原创 antd vue 全局配置loading

2.在main.js将函数挂在在vue上 做了个传boolean的简易传值;再做了个对象类型的校验/兼容,防止外面乱传参数。1.在app.vue组件注入。3.在vue、js中调用。

2022-11-30 17:38:16 4546

原创 RSA解密长JSON导致部分中文乱码(JSEncrypt)

需要安装 encryptlong 解析长json。

2022-10-27 14:58:51 3422 2

原创 Ant Design of Vue 时间选择器(时间限定)

Ant Design of Vue 时间选择跨度最多选七天(选完开始时间,决定时间段限定)Ant Design of Vue 时间选择最多选七天(直接限定开始和结束时间)

2022-09-13 17:25:23 2275 2

原创 vue项目部署 nginx 二级目录刷新404 资源找不到白屏 (history模式)

vue项目部署 nginx 二级目录刷新404 资源找不到白屏 (history模式)

2022-07-08 14:05:50 2979

原创 vue h5移动端长按时间

js里面没有长按事件 通过 touchstart 和 touchend 来实现自定义指令html 使用js事件css样式

2022-06-29 15:54:35 847

原创 vue中echart乡镇地图报错Error: Invalid geoJson format Cannot read properties of undefined (reading ‘length‘)

vue中echart使用乡镇地图报错Error: Invalid geoJson format Cannot read properties of undefined (reading ‘length’)解决办法按下图文件位置结构在node_modules找到parseGeoJson.js文件在parseGeoJSON.js文件中找到parseGeoJSON函数用下边的同名函数将其替换即可export default function parseGeoJSON(geoJson, nameProperty

2022-06-25 21:25:40 1878 1

原创 vue + elementui 自定义后台权限(带按钮权限)

先看后台的主体样式 左侧菜单和右侧红框(PageTabs)第一步:与后端同学讨论菜单的返回格式。可以随便定义,下面是项目中定义的第二步就是在登录的时候添加能够显示的菜单项第三步看下store的数据 (actions.js,mutations.js,states.js,index.js) 下面按顺序展示index.jsNavi.vue 左侧菜单组件PageTabs.vue 右侧组件下面重要的一步设置路由 新建permission.js 在main.js里面引入......

2022-06-20 16:52:42 1576

原创 vue项目 index.html 引入静态资源,刷新页面问题。

<script src="https://cdn.jsdelivr.net/npm/jsencrypt@3.2.1/bin/jsencrypt.min.js"></script><script src="https://cdn.jsdelivr.net/npm/proxy-polyfill@0.3.0/proxy.min.js"></script>项目中引入这两个cdn。但是这两个cdn 都挂完了,后来改成了本地引用。在 pubilc 文件夹下 创建了s

2022-05-17 09:39:43 3574

原创 uniapp 小程序更新提示

```javascript<script> export default { globalData: { // username: '' }, onLaunch() { // 1.1.0版本之前关于http拦截器代码,已平滑移动到/common/http.interceptor.js中 // 注意,需要在/main.js中实例化Vue之后引入如下(详见文档说明): // import httpInterceptor from '@/common/http.

2022-05-13 14:46:56 1034

原创 微信公众号H5页面缓存问题(微信缓存了 index.html 入口)

微信公众号H5页面缓存问题(微信缓存了 index.html 入口)

2022-05-13 14:37:32 9851

原创 JS多种继承方式

数据类型判断。typeof可以正确识别:undefined、boolean、number、string、symbol、function等类型的数据,但是对于其他的都会认为是object,比如Null、Date等,所以通过typeof来判断数据类型会不准确。但是可以使Object.prototype.toString实现。function typeOf(obj){ return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase(

2022-05-07 11:17:23 168

原创 vue 3.0 Proxy的使用

一个 Proxy 对象包装另一个对象并拦截诸如读取/写入属性和其他操作,可以选择自行处理它们,或者透明地允许该对象处理它们。语法:let proxy = new Proxy(target, handler)target —— 是要包装的对象,可以是任何东西,包括函数。handler —— 代理配置:带有“钩子”(“traps”,即拦截操作的方法)的对象。比如 get 钩子用于读取target属性,set 钩子写入 target 属性等等。对 proxy 进行操作,如果在 handler 中存

2022-03-18 12:00:11 8846 2

原创 es6 新增 WeakMap

WeackMapconst toProxy = new WeackMap()注意:WeakMap对Key有限制,它必须是Object(Symbol也不行)weackMap的方法有 delete、get、has、set。以前还有个clear,后来被弃用了。var map = new Map();var weakmap = new WeakMap();(function INIT(){ var ka = {x: 1}; var kb = {y: 2}; map.set(k

2022-03-17 17:40:08 485

原创 vscode CRLF自动转LF

在项目更目录新建 .editorconfig 文件root = true[*]charset = utf-8indent_style = spaceindent_size = 2end_of_line = lfinsert_final_newline = truetrim_trailing_whitespace = true[*.md]insert_final_newline = falsetrim_trailing_whitespace = false

2022-02-25 17:33:21 2573

原创 页面刷新 vuex数据持久化

安装插件npm install vuex-persistedstate --savestore/index.js 下配置import Vue from 'vue';import Vuex from 'vuex';import state from '@/store/states';import getters from '@/store/getters';import mutations from '@/store/mutations';import actions from '@/st

2021-12-09 11:32:01 566

原创 判断设备系统信息

function versions(){ const u = navigator.userAgent; // let app = navigator.appVersion return { iphonex: /iphone/gi.test(u) && window.devicePixelRatio && window.devicePixelRatio === 3 && window.screen.width === 375 &am

2021-11-20 16:34:08 203

原创 前端导出excel文件 合并表头单元格。

首先安装依赖npm install xlsx file-saver -Snpm install script-loader -S -D设计图 页面展示效果图,导出的话 也需要这样的格式。下面是导出的文件图片 //导出Excel handleDownLoad(params) { var that = this; //需要在项目src下创建vendor文件夹 (Export2Excel.js 附在下面) import("@/vendor/Export2

2021-11-18 16:08:08 1854 6

原创 常用的表单项验证。身份证,手机号,用户名。

js 精确判断身份证格式身份证第16位 对2取余等于1的是男 等于2的是女。const idCardReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/;identityCodeValid(code) { // 判断身份证格式 const city = { .

2021-11-18 09:57:04 417

原创 Session和Cookie的定义和区别

cookie和session的定义Cookie是服务器发送到用户浏览器,并保存在浏览器本地的一小块文本串数据。它会在浏览器下次向同一服务器再发起请求是,被携带发送到服务器。通常它用于告知服务器两个请求是否来自同一浏览器,一样用于保持用户的登陆状态等。Cookie使基于无状态的HTTP协议记录稳定的状态信息成为了可能。session指的就是服务器和客户端一次会话的过程。Session利用Cookie进行信息处理的。当用户首先进行了请求后,服务端就在用户浏览创建了一个cookie,当这个session结束时

2021-07-28 11:09:52 167

原创 TCP 的三次握手和四次挥手

开始客户端和服务器都处于closed(关闭)的状态,然后服务端开始监听某个端口,近入LISTEN(监听)状态。第一次握手(SYN = 1,seq = x)发送完毕后,客户端进入SYN_SEND状态。第二次握手(SYN = 1,ACK = 1,seq = y,ACKnum = x +1)发送完毕后,服务器进入SYN_RCV状态。第三次握手(ACK = 1,ACKnum = y+1)发送完毕后。当服务器端接收到这个包时,客户端进入ESTABLISHED(连接)状态。四次挥手第一次挥手(FIN .

2021-07-28 10:34:03 86

原创 原型、原型链和继承

一、原型 prototype 和 proto每个对象都有一个__proto__属性,并且指向它的prototype原型对象。每个构造函数都有一个prototype原型对象 prototype原型对象里的constructor指向构造函数本身prototype 和 __proto__有什么用呢?实例对象的__proto__指向构造函数的prototype,从而实现继承。(只有对象才有__proto__)prototype对象相当于特定类型所有实例对象都可以访问的公共容器。// 构造函数

2021-07-06 14:31:07 278

原创 获取url的所有参数

function getWindowHref() { //获取数据 例 ?id=5&type=9&status=10 var sHref = window.location.href; var args = sHref.split('?'); if (args[0] == sHref) { return "" } var hrefArr = args[1].split('#')[0].split('&'); // hrefArr = [ 'id=

2021-06-23 16:52:37 520

原创 常用的数组和字符串 方法

// 借用Object原型上的toString方法function type(parameter) { //call 修改this的指向 return Object.prototype.toString.call(parameter)}//使用set数据去重 set里面不能存在同样的值function unique1(arr) { return [...new Set(arr)]}//使用对象方式,filter会过滤出返回true的元素。function unique2(..

2021-06-23 10:47:28 78

原创 图片上传之前进行压缩

//图片压缩 参数file为file文件类型。Vue.prototype.compressImg = function (file, callback) { var fileSize = parseFloat(parseInt(file['size']) / 1024 / 1024).toFixed(2); var read = new FileReader(); read.readAsDataURL(file); read.onload = function (e) {

2021-06-07 10:15:25 120

原创 G2自定义图例,数据更新时渲染问题。

这是问题解决后的样式,顶部还有一个筛选条件,筛选之后 图片数据更新。第一次会通过 new Chart 获得图表对象,第二次触发的改变的时候 是用对象调用changeData放法来改变。 但是这里自定义了图例,就报错了。平常的图例没有 冒号和后面的数量 百分比。// data是获取的数据this.terminal.legend({ position: 'right', flipPage: false, itemName: { for.

2021-02-03 17:12:38 2343

原创 统计 浏览项目的时长、观看每个页面的时长、打开项目的设备信息。

let url = 'http://localhost:3000';let obj = { toPage: '', fromPage: document.referrer, inTime: new Date(), outTime: '', openTimeLength: 0, currentPage: '', viewTimeLength: 0, baseInfoId: '', userId: '', unLoginId: ''}let key = '';le

2021-01-07 17:28:45 429

原创 uni-app IOS端 Safari浏览器键盘抬起页面混乱。

// 为元素添加blur事件 @blur=‘resetView’ 重置页面resetView() {uni.pageScrollTo({scrollTop: 0,duration: 100})},

2020-10-30 14:52:00 556

原创 扫描pc端页面二维码,在手机上签名

npm install qrcodejs2npm install signature_pad在移动端需要安装 vant和jquerynpm install vantnpm install jquery<template> <div v-loading="loading" class="dashboard-container"> <div v-if="imgState" class="autograph-wrapper"> <img

2020-09-10 11:40:29 2327 6

原创 预览打印 pdf

<html><head></head><body> ## A4纸宽度 180mm <div style="width:180mm"> <table border="1" cellspacing="0" cellpadding="15" style="width:100%"> <caption> <div style="font-size:20px;

2020-09-03 15:06:32 172

原创 admin-elemenUI 权限设置

1.首先看下项目结构,设置权限用到的文件(一个是在store下modules下面的permission.js和 src下的permission.js)2.先看src下面的permisssion.jsrouter.beforeEach(async(to, from, next) => { // start progress bar NProgress.start() // set page title document.title = getPageTitle(to.meta.t

2020-08-17 15:38:29 248

原创 解决图片缓存导致页面刷新无效果问题

场景:一条数据里面有图片,编辑完一条数据的时候。重新获取数据,并且展示图片。但是图片的信息还是之前的,这是因为缓存问题,同一个链接请求服务器,浏览器会认为同一个图片,就会缓存下来。所以点击的时候总是同一张图片,没有刷新。解决的办法:在url后面 拼上 '?’+ Math.random().随机数。这样每次点击的时候都是新的链接。<img style="width:100%;" :src=...

2020-05-18 16:14:07 1078 2

原创 URL中传递数组 location.href

location.href=“1.php?a[]=”+jsonlocation.href = “1.php?a=” + escape(JSON.stringify(json)); 支持多维 obj = { ids: this.selectTable, list_ids: this.list_ids ...

2019-11-22 18:01:20 2825

原创 基于elemenui+vue的上传头像加裁剪功能

<el-form :model="form" label-width="80px" class="input-dialog-form" size="small" style="margin-top:20px;"> <el-form-item label="头像"> <div class="avat...

2019-11-01 15:39:39 326

原创 vu上传图片和预览

上传图片<div id="imgTooles" v-loading="upload_loading"> <input type="file" id="uploads" accept="image/png, image/gif, image/...

2019-07-24 17:45:42 388

原创 在vue-cli项目中使用echarts

这个示例使用 vue-cli 脚手架搭建安装echarts依赖npm install echarts -S创建图表全局引入main.js// 引入echartsimport echarts from 'echarts'Vue.prototype.$echarts = echarts Hello.vue<div id="myChart" :style="{width:...

2019-03-25 21:07:38 254

原创 深入理解作用域

定义如果要简要的描述并展示其重点,那么作用域链大多数与内部函数相关。我们知道,ECMAScript 允许创建内部函数,我们甚至能从父函数中返回这些函数。var x = 10; function foo() { var y = 20; function bar() { alert(x + y); } return bar; } foo()(); // 3...

2019-03-09 17:31:59 180

空空如也

空空如也

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

TA关注的人

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