- 博客(111)
- 资源 (1)
- 收藏
- 关注
原创 electron实现编辑区域 ctrl+enter键换行
想要在enter 发送内容的情况下,客户按ctrl+enter实现换行 <div class="edit-panel" contenteditable="true" @keyup.ctrl.enter="lineFeed" ref="editor" ></div>对应的lineFeed()函数lineFeed(){ if(this.sendHotKey === "En
2021-09-22 17:02:51 705
原创 监听electron 双击屏幕最大化时设置右上角图片变化
在electron实现窗口最大化和最小化的时候,是很简单的,只要设置主线程最大化和最小化就行了// 主线程最大化mainWin.maximize()//主线程非最大化 mainWin.unmaximize()// 主线程最小化mainWin.hide()但是在实际执行的时候,却有很多坑比如1、你设置了 不可以双击最大化,但是只要你拖动窗口,你设置的不可以双击最大/小化 就失效了2、如果不监听 屏幕变化,右上角的图标就不会变化,最大化后仍显示最大化图标//设置不可最大化属性,其实没什么用
2021-09-22 16:41:18 2311 2
原创 Electron 应用清除 cookie session 踩坑记录
使用场景:桌面应用存放的cookie,应用退出后cookie仍然存在,影响cookie的下次使用,因此在应用退出的时候需要清除cookie清除方法: loginOut({ commit, dispatch }) { // 退出是清除所有cookie session.defaultSession.cookies.remove('http:o2oa.lybank.com', 'x-token', error => { console.info
2021-09-09 18:03:27 2734 2
原创 electron怎么打开开发者工具
我们都知道electron中集成了Chromium,内部有一个最新版的谷歌浏览器,开发者无需再去考虑浏览器的兼容性,这样我们就可以用最新的语法,es6,es7、flex布局等,但是我们想要打开开发者工具调试的时候,按F12却没反应。打开开发者工具很简单,只需要win.webContents.openDevTools()代码如下if (process.env.WEBPACK_DEV_SERVER_URL) { if (!process.env.IS_TEST) win.webContents.
2021-09-09 16:11:41 3547
原创 如何检测某个指定文件是否已经存在或者文件重名
功能:如何检测某个指定文件是否已经存在,用于判断文件名重复等问题工具:node的fs模块,使用前需要引入fs模块 var fs = require(‘fs’);语法:fs.existsSync(filePach);实例: hasFile(filePach){ if(!filePach) return false return fs.existsSync(filePach) },...
2021-09-01 09:52:17 917
原创 如何检测某个指定目录是否存在
功能:检测某个指定目录是否存在工具:node的fs模块,使用前需要引入fs模块 var fs = require(‘fs’);语法:fs.existsSync(pach);实例: hasFile(path){ if(!path) return false return fs.existsSync(path) },...
2021-09-01 09:49:22 316
原创 访问vue 项目 报错 class FastBuffer extends Uint8Array {}
执行npm run dev 可以执行成功,但是当我输入访问地址的时候,却报错class FastBuffer extends Uint8Array {}具体内容如下初步怀疑是 webpack-dev-server 安装的版本太高了,单独删除转换为低版本的还是没有解决问题,于是发现有class FastBuffer extends Uint8Array {} 这句话报错代码报错,于是在webpack.dev.conf.js 中注释掉https相关逻辑,重新编译,可访问...
2021-07-02 16:27:16 1088
原创 运行报错 : `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
运行项目 npm run dev 运行成功,但是在执行得时候,却报错内容如下经过查看,网上说是因为webpack-dev-server在项目中自动安装得版本是3.0.1, 但是这个版本得却不可以很好得运行,解决方案:安装低版本得webpack-dev-server卸载原有高版本得 npm uninstall webpack-dev-server单独下载低版本的 npm install webpack-dev-server@2.9.1重新运行 npm run dev...
2021-07-02 16:20:32 696
原创 2021《银行管理与法律法规》考试大纲
经济金融基础经济基础 宏观经济发展目标、经济周期主要特征、结构构成 我国行业分类的方法、行业分析基础内容 掌握区域发展分析的内容及分析重点金融基础 货币的本质、货币的供给与需求的影响因素、通货膨胀 货币政策的内容、目标原理和传导机制 货币政策是中央银行为实现特定的经济目标,而采用的控制和调节货币的供应量、信用及利率的方针和政策的方总称,是国家进行宏观调控的主要手段之一 一般性货币的主要政策是 法定存款准备金政策、再贴现、和公开市场业务(三大法宝) 利息及利率内容,我国市场利率化的进
2021-05-14 18:22:51 283
原创 Array.some()方法
some()方法用于检测数组中的元素是否满足指定的条件(函数提供)some()方法会依次执行数组中的每一个元素如果有一个元素满足条件、则表达式返回true,剩余的元素不会再进行检测如果没有满足条件的元素,则返回false注意:some不会对空数组进行检测,也不会改变原始数组语法array.some(function(currentValue,index,arr),thisValue)例子/* * 是否显示操作栏 * @param { Array } handle
2020-12-15 14:43:24 743
原创 vue路由进阶篇 -- 总结
文章总结自 v-router官网 仅做记录1、导航守卫“导航” 表示路由正在发生改变正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。记住参数或查询的改变并不会触发进入/离开的导航守卫。你可以通过观察 $route 对象来应对这些变化,或使用 beforeRouteUpdate 的组件内守卫。1.1全局前置守卫在路有中可以使用router.beforeEach,注册一个全局前置守卫co
2020-12-15 11:40:51 450
原创 vue路由基础篇--总结
安装与引用使用npm 安装npm install vue-router与模块系统一起使用时,必须通过Vue.use()显式安装路由器在router/index.js文档中import Vue from 'vue';import VueRouter from 'vue-router';import store from '../store';Vue.use(VueRouter);应用使用Vue+Vue Router创建单页面引用程序很简单,通过Vue.js,我们已经在使用组件组成应用程
2020-12-15 10:09:53 267
原创 2021我的唯一目标
2019年以邓小平理论为核心建立自己的发展体系:实事求是,不争论,发展是硬道理,摸着石头过河,韬光养晦与有所作为。加油,年轻人!
2020-12-12 09:43:43 275 1
原创 V - Distpicker实现省市区级联select
今天实现了省市区三级联动select,网上有很多乱糟糟的教程,其实很简单,这里做一下简单记录1、下载V-Distpicker 插件npm install v-distpicker --saveoryarn add v-distpicker --save2、引入数据import VDistpicker from 'v-distpicker'3、在vue页面中使用<template> <v-distpicker type="mobile" province="河南省"
2020-11-30 16:29:07 330
原创 Vue+elementUI实现省市区三级联动select
今天实现了省市区三级联动select,网上有很多乱糟糟的教程,其实很简单,这里做一下简单记录使用elementUI数据1、获取elementUI的省市区级联数据npm install element-china-area-data -S2、引入数据import { regionData } from 'element-china-area-data'3、在vue页面中使用<template> <div id="app"> <el-cascader
2020-11-30 16:24:11 4880 4
原创 IDEA刷新项目目录
一般项目文件提交之后,idea的文件颜色仍然没有改变这样看着很不舒服,这时候你可以操作在主菜单上选择:VCS | 刷新文件状态。在 “版本控制工具” 窗口中,按 Ctrl+F5。在 “版本控制工具” 窗口中,单击 “刷新” 工具栏按钮。对于 Perforce 集成,请执行以下任一操作: 要运行标准刷新,请单击 “刷新” 工具栏按钮或按 Ctrl+F5。要运行强制刷新,请单击 “强制刷新工具栏” 按钮。...
2020-11-04 16:42:21 23824 1
转载 图解迭代、遍历、枚举、递归、循环
计算机科学领域有几个概念,乍一听很相似,但实际上差别非常大,它们是:迭代、遍历、枚举、递归、循环。这些概念,对于写码为生的人而言,大部分都应该不陌生。但如果让谁确切地说出它们的含义,恐怕还真没有几个能够全都说对的。时间关系,本文就简单地对这些概念做一番梳理,供大家参考。1. 迭代(iteration)迭代,是一个重复的过程,目的是为了输出一系列值(可能是无穷序列)。每次重复的过程也叫一次“迭代”,一次迭代的结果,可以作为下一次迭代的起点。2.遍历遍历,一般是指树形数据结构的操作,比如树遍历,也
2020-10-27 09:38:30 3371
原创 element-UI和Vue的输入框 怎么去除前后端的空格键
在使用elementUI 写输入框的时候,比如搜索输入框如果用户在输入框中不小心在末尾点了一下空格键,但是他又看不到空格键,这样传到后台的数据就是带空格键的数据,根据查询条件,带空格的关键字搜索不到内容,怎么去掉空格键,很简单,使用vue修饰符就可以了。代码如下: <div class="tool-right"> <el-input class="search-input" v-model.trim="searchKey" //去掉输
2020-09-27 17:22:28 3310
原创 elementUI使用[input=number]怎么禁止鼠标滚动时,输入框数据改变
我们写表单的时候,有时候需要数据是number类型的,由于默认是string类型的,因为我们需要定义一下type=number<el-form-item key="data" label="数值" prop="data"> <el-input @mousewheel.native.prevent //谷歌浏览器 禁止滚轮滚动修改数据 @DOMMouseScroll.native.prevent //火狐浏览器 禁止滚轮滚动修改数据 type
2020-09-27 17:15:14 2799
原创 Vuejs 使用 vue-native-websocket
安装yarn add vue-native-websocket# ornpm install vue-native-websocket --save使用一、配置通过URL字符串自动进行websocket连接import VueNativeSock from 'vue-native-websocket'Vue.use(VueNativeSock, 'ws://localhost:9090')二、连接实例1、自动连接启用ws自动重新连接(适用于整个系统多方面应用websocket
2020-09-25 15:32:38 10154 9
原创 vuex简单使用
什么时候用vuex当我们想要从一个组件传递一个参数到另外一个组件的时候,这两个组件不是父子组件,也不是兄弟组件,这样我们就可以用vuex(一个集中存贮数据的公共仓库)例如我们想把A组件的 变量 传给B组件 只需要两步第一步: 在A组件的时候把变量studentObj 存到仓库里第二步:在到B组件里把studentObj 从仓库里取出来可见,vuex可以帮助我们管理共享状态,但是有很多概念和框架,这里我们只讲最简单的存取,关于模块化和计算的先不做。什么是vuexvuex是一个专门为vue.j
2020-09-21 20:18:34 232
原创 字符串创建、截取、替换
字符串创建s = "我是一朵云"s1 = new String("我是另外一朵云");注意:直接创建的是一个简单的数据类型,存在堆里面,不动态添加属性new 创建的对象存放在栈里,可以添加动态属性substringstringObject.substring(start,stop)start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。stop 非必需。 一个非负的整数,比要提取的子串的最后一个字符在 stringObject
2020-09-18 11:25:35 331
原创 组件之间怎么通信
组件之间的通信父子组件通信父组件 --> 子组件:prop背景:我要在login中使用FormInput组件,实际参数都在login.vue中,传到FormInput中FormInput.vue 关于输入框组件的定义的定义<template> <view class="form-item-wrapper"> <label class="label" v-if="label">{{label}}</label> <input c
2020-09-17 14:40:19 224
原创 vue组件之 局部注册组件
组件是可复用的Vue实例,且带有一个名字。组件分为全局注册和局部注册两部分。由于全局注册没有局部注册常用,所以对局部注册做个总结。局部注册全局注册所有的组件,意味着即使不再使用这个组件,它仍然会包含在最后的 构建结果中,造成用户下载JavaScript的无谓增加。所以在日常编码中,局部注册较为常用。一、组件的定义定义一个组件就是在一个vue文件里定义上你想要复用的东西,可以传参,可以定义规则、例子 定义一个简单的Form组件<template> <el-form ref
2020-09-16 09:19:10 5950
原创 uni-app 全局变量的几种实现方式
公共模块定义一个专用的模块,用来组织和管理这些全局的变量,在需要的页面引入。注意这种方式只支持多个vue页面或者多个nvue页面之间公用,vue和nvue之间不公用示例 定义公共方法:在uni-app项目根目录下创建common目录。然后在common目录下新建util.js用于定义公用的方法。/* * 通用提示框 * @param { String } message 提示的信息 * @param { Number } duration 提示保留显示的时间,默认2000 */fun
2020-09-10 17:31:27 2411
原创 《午餐》
最近在读毛姆的《雨》,读到午餐这篇 ,让人回味无穷,哈哈哈,今天决定把它放在我的博客里,值得再读。原文:再次见到她,是在剧场看戏的时候。她向我招了招手,趁幕间休息时分我便走了过去,在她旁边的位置坐下。距离我们上次见面已经很久了,若不是有人提过她的名字,我可能很难认出她来。 此刻,满面春风的她很熟络地和我闲谈起来:“哦,我们有好多年没见了,时间过得可真快!看看我们,也都早已不再年轻啦。你还记得我们第一次见面的情形吗?那时,你邀请我去吃了一顿午餐呢!”我怎么可能忘记。 一晃眼,二十年就这么过去了。那时我
2020-09-09 09:54:56 335
原创 js 0-120的正整数正则表达式(自用)
0-120的正整数表达式 可以分为三个部分0-9 [0-9]10-99 [1-9][0-9]100-120 ([1[01][0-9]|120)所以 0-120的正整数正则表达式就是/^[1-9]|[1-9]{0-9}|(1[01][0-9]|120)$/
2020-08-26 11:42:46 3706
原创 vue用clipboard实现复制按钮
1、使用情景如图我要在table里面加一个能够实现复制列表项内容的按钮,这时候首先想到了clipboard插件。2、下载npm install clipboard --save3、使用1、引用在当前页面引入下载的clicpboard插件 import Clipboard from 'clipboard';2、html代码<el-table-column label="secretKey" > <template slot-scope="{ro
2020-08-14 10:32:48 543
原创 Vue+element使用@keyup.enter不起作用
今天在写登录功能的时候,在用Vue的@key.enter的时候由于使用elementUI组件,@keyup.enter不起作用,经排查,发现需要这样@keyup.enter.native=“login”代码<el-form ref="loginForm" :model="loginForm" :rules="myRules" @keyup.enter.native="login"> <el-form-item prop="account">
2020-08-14 09:58:02 2739
原创 解决Vuex页面刷新数据消失的问题
vuex可以进行全局的状态管理,但刷新后的数据会消失,每次还要手动存在本地缓存里很不方便,这不是我们想要的效果,怎么解决呢,我们可以结合本地存储做到数据持久化,也可以通过插件Vuex-presistedstate。方法一 利用H5的本地存储vuex的state在localStorage或者sessionStorage或者其他存储方式中取值,在mutations,定义的方法中对Vuex的状态操作的同时也对存储也做相应的操作示例代码store/index.jsimport Vue from 'vue'
2020-08-11 14:35:24 1245
转载 什么是GPU加速
1、什么是GPU加速计算GPU,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器,与CPU类似,只不过GPU是专为执行复杂的数学和几何计算而设计的,这些计算是图形渲染所必需的。随着人工智能的发展,如今的GPU已经不再局限于3D图形处理了。GPU 加速计算是指同时利用图形处理器 (GPU) 和 CPU,加快科学、分析、工程、消费和企业应用程序的运行速度。GPU 加速器于 2007 年由 NVIDIA® 率先推出,现已在世
2020-08-10 19:20:31 4081
转载 十分钟弄懂浏览器渲染机制面试题
1、浏览器的渲染过程是怎样的大致流程如下:HTML和CSS经过各自解析,生成DOM树和CSS树合并成渲染树根据渲染树进行布局最后调用GPU进行绘制,显示在屏幕上2、如何根据浏览器渲染机制加快首屏速度优化文件大小:HTML和CSS的加载和解析都会阻碍渲染树的生成,从而影响首屏展示速度,因此我们可以通过优化文件大小,减小css文件层级的方法来加快首屏速度避免资源下载阻塞文档解析:浏览器解析到3、什么是回流(重排),什么情况下会触发回流元素的尺寸和位置发生变化,就需要重新计算渲染树,这
2020-08-10 19:18:38 952
转载 JavaScript 引擎 V8 执行流程概述
本文主要讲解的是V8的技术,是V8的入门篇,主要目的是了解V8的内部机制,希望对前端,快应用,浏览器,以及nodejs同学有些帮助。这里不涉及到如何编写优秀的前端,只是对JS内部引擎技术的讲解。一、V8来源V8的名字来源于汽车的“V型8缸发动机”(V8发动机)。V8发动机主要是美国发展起来,因为马力十足而广为人知。V8引擎的命名是Google向用户展示它是一款强力并且高速的JavaScript引擎。V8未诞生之前,早期主流的JavaScript引擎是JavaScriptCore引擎。JavaScri
2020-08-10 16:15:54 2841
原创 js手写节流函数
防抖是延迟执行,而节流是间隔执行,函数节流即每隔一段时间就执行一次,实现原理为 设置一个定时器,约定XX毫秒后执行事件,如果时间到了,那么执行函数并重置定时器,和防抖的区别在于,防抖每次触发事件都重置定时器,而节流在定时器到时间后再清空定时器。1、原理:规定一个时间,n 秒,n秒内,将触发的事件合并为一次并执行。2、栗子:班车等人上来之后,5分钟之后开走,不等待,若5分钟还有人过来,也不重置时间。3、解读:函数节流(throttle),指的是某个函数在一定时间间隔内,只执行一次,在这3秒内产生函
2020-08-10 14:30:32 601
转载 前端的CSRF攻击和XSS攻击
1、什么是CSRF攻击CSRF即Cross-site request forgery(跨站请求伪造),是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。假如黑客在自己的站点上放置了其他网站的外链,例如"www.weibo.com/api ,默认情况下,浏览器会带着weibo.com的cookie访问这个网址,如果用户已登录过该网站且网站没有对CSRF攻击进行防御,那么服务器就会认为是用户本人在调用此接口并执行相关操作,致使账号被劫持。2、如何防御CSRF攻击1、验证Tok.
2020-08-07 16:33:22 458 3
原创 手写 js函数防抖
1、什么是防抖短时间内大量触发同一事件,只会执行一次函数。函数防抖(debounce),指触发事件后在一定时间(比如 3 秒)内函数只能执行一次,如果这段时间(3 秒)内又触发了事件,则会重新计算函数执行时间。2、为什么要防抖我们在滚动屏幕的时候,一秒可以轻松出发多次事件,如果每次事件都请求数据,而且如果事件处理逻辑复杂,浏览器的压力会很大,输入框、滚动条的监听事件处理,如果不做防抖,每输入一个字或者滚动一下屏幕,都会请求数据,这样会造成性能浪费,用户体验也会很糟糕。3、防抖原理设置一个定时
2020-08-07 16:03:25 1055 1
原创 手写call()
call()为this函数/方法提供新的值,使用call(),您可以编写一次方法,然后在另一个对象中继承该方法 ,而不必为新对象重写该方法。注意:虽然apply()与call()方法一致,但是基本区别call()接受参数列表,而apply()接受参数数组。语法function.call(thisArg, arg1, arg2, ...)call()的原理比较简单,由于函数的this指向它的直接调用者,我们变更调用者即可完成This指向的变更。先看个例子//定义一个方法 func.
2020-08-07 12:06:14 334
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人