自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大客户发件系统导入加密表格报错的解决方案

加密文档上传报错的解决方案大致原理请移步上一篇文档针对文档加密系统,如何不破解将文档解密上传;本文主要给非技术人员提供一个通俗易懂的解决方案。第一步 下载安装一个新的浏览器下载一个全新的浏览器360极速浏览器并安装 ,因为后续的操作会导致之前的书签及历史丢失,如果你不介意丢失,可不用下载。后续的图示皆以360极速浏览器为例第二步 打开浏览器的启动文件右键你刚才下载的浏览器,然后选择 ‘打开文件所在的位置’ 这一选项第三步 重命名文件右键选中的那个文件,然后选择 ‘重命名’ 这一

2021-11-08 14:14:47 743

原创 在vue或者css或者less文件中插入nodejs代码

在vue或者css或者less文件中插入nodejs代码背景在一些需要读取本地文件或者目录,或者其他模块的时候,以浏览器未宿主的js无法实现,如我有一个功能介绍轮播图的功能,图片是存储在src中某个目录中,此时传统写法有些受限,如require不支持通配符等,虽然一些node库可以让其支持通配符,但不够动态。想要的效果// 改造前new Vue({ data(){ return { imgList:[require('/img/1.png'),re

2021-10-18 16:58:53 493 2

原创 针对文档加密系统,如何不破解将文档解密上传

故事的开端我们系统是对外系统,里面有表格上传功能,前几天有客户反馈,上传表格无法解析,远程后发现客户的电脑安装有文档加密系统,这种文档加密系统是为了防止公司内部人员将公司机密的文档信息泄露出去而强制安装在公司内部的电脑上。针对这种情况,领导安排我实现一个解密功能。领导:小赵,实现一个解密上传功能,满足用户需求。我: what?(这不是故意刁难我?)领导:实现不了的话可以直接拎包走人。我: easy,保证完成任务。(先答应,本着活一天是一天的原则)破解针对加密文档,我们切记不要往解密这个

2021-01-16 20:32:16 2162

原创 递归改循环方案,栈溢出的解决方案,用循环遍历未知深度的树形结构

递归改循环方案,用循环遍历未知深度的树形结构在很多时候,我们在遍历的时候会选择用递归来实现,比如深拷贝两个对象,拍平数组啥的,大多数情况下,我们的栈的深度不会太深,使用递归并没用什么问题。下面,我们来讨论下特殊场景下,如何用循环来代替递归。递归的一些优缺点缺点: 1.递归在不同的浏览器,栈溢出的极限值不一样,谷歌78达到3万多,ie11还不到1万缺点: 2.递归要保存函数的很多信息,理论上来说,空间上是要占用更多的储存空间,执行效率上是会略慢一些(没有实测)优点: 递归更加通俗易懂(相比较改循环

2020-11-07 01:38:37 1249 1

原创 字符串校验的几种方式,正则表达式的效率分析

字符串校验的几种方式,正则的效率分析问题假如我们要校验一个字符串的格式是否正确,形式是名字*规格*件数,多个时用+号连接,最多出现5次,件数最大999例如:品名1*规格1*100+品名2*规格2*100";正则效率很显然,我们只需要一个正则就可以搞定const NAME = "品名1*规格1*100+品名2*规格2*100";const reg = /^(([^*+]+\*){2}\d{1,3}($|\+[^$])){1,5}$/g;console.log(reg.test(NAME))

2020-11-04 01:30:27 3256

原创 vueCli3中productionSourceMap设置为false,不生效,依然会有map文件生成的解决办法

vueCli3中productionSourceMap设置为false,不生效,依然会有map文件生成的解决办法1.请首先检查 vue.config.js 文件中 productionSourceMap 配置module.exports = { productionSourceMap:false, ...}如果不行,请继续往下看2.检查configureWebpack配置中的devtool选项module.exports = { configureWebpack(c

2020-10-23 19:29:19 15238 9

原创 基于web/h5应用的插件/扩展/业务剥离方案设计(第二篇 ECMA5.1方案)

基于web/h5应用的插件/扩展/业务剥离方案设计(第二篇 ECMA5.1方案)系列目录基于web/h5应用的插件/扩展/业务剥离方案设计(第一篇 简介)介绍本文重点讲述传统类(js不经过编译和混淆,源码===生产代码)网站的扩展实现,后续会讲解ES6+vue方案在传统不经过压缩和预编译的情况下,我们设计基于应用的扩展变得相对容易很多,我们不需要关注webpack的底层打包逻辑,也不需要关注代码混淆原理,因为这对新手来说不太友好。下面列举一个简单的例子我们想在张三进入系统后,给他弹出来

2020-10-18 15:30:17 196

原创 比fiddler简单,浏览器端的拦截方案,请求参数篡改,响应返回值篡改,请求和响应的拦截注入,请求前的二次确认

1. 查询加参数了,依赖前端写完界面测试?或者维护postman之类的工具,有点难受。2. 有些值依赖前一个请求,比如查看列表,然后查看详情,用postman费劲。3. 产品或者测试压根不熟悉postman4. ...

2020-10-15 20:48:20 5559 6

原创 基于web/h5应用的插件/扩展/业务剥离方案设计

基于web/h5应用的插件/扩展方案设计本文是一个系列文章,谈谈如何降低应用的复杂度,增加可维护性。文章里面提供的是一种思路,并根据此思路进行实现,将遇到的问题进行解决。背景随着用户体量的增加,功能会越来越多,系统会越来越庞大,基于后端的微服务越来越大火,前端层面更多的关注vue,react之类的框架上,他们解决的是视图和数据的分离,但业务层面的框架或者思想的分享则不多,毕竟偏离了技术的路线。思想类似与微信与小程序,浏览器与扩展,或者操作系统与应用程序之间的关系,都是面向开发者的服务(如果客户

2020-10-13 23:51:29 474 2

原创 手机号正则表达式校验,兼容+86,空格和-分隔符等常规手机格式

手机号正则表达式校验背景前一段时间在用蜂巢取快递的时候,我输入199号段,发现提示我手机号错误,导致我无法注册使用蜂巢功能。最近有空了,打算写一篇关于手机号校验的文章,和大家交流交流。现在网上的正则很多已经失效了,大家在项目中使用正则去校验的时候,一定要多注意,验证下正则的正确性,避免在项目中出现因为正则的问题导致的用户体验问题。手机号码格式纯手机号格式:(+86) 199 0000 1715(+0086) 199 0000 1715(+86) 199-0000-1715(+86)

2020-09-20 20:28:23 7331

原创 IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法

IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法问题表象在滑动的时候,偶发性出现自动回弹到顶部的现象,通过onScroll回调发现scrollTop为-1造成回弹,开始寻找为什么scrollTop为-1;排查问题1.官网查看例子,发现例子也有,初步断定并不是业务代码的问题2.查看node_modules文件中的vux的scroll组件3.发现引用的是node_modules/vux-xscroll组件,找到对应组件//...import XScroll from 'vux-

2020-07-07 16:11:49 1487

原创 vueCli,vue.config.js配置plugins(HashedModuleIdsPlugin或者NamedChunksPlugin)打包生产不生效的解决方案

vueCli,vue.config.js配置plugins(HashedModuleIdsPlugin或者NamedChunksPlugin)打包生产不生效的解决方案原因分析由于vueCli使用了默认的一些plugins,其中就包括{ VueLoaderPlugin, DefinePlugin, CaseSensitivePathsPlugin, FriendlyErrorsWebpackPlugin, MiniCssExtractPlugin, OptimizeCssnano

2020-05-29 19:19:28 6200

原创 为什么 NaN===NaN返回false Infinity===Infinity返回true +0===-0返回true

为什么 NaN===NaN返回false Infinity===Infinity返回true +0===-0返回truejs中的Number不同于java等其他语音,js除了新出的bigint外只有一种数字类型 NumberNumber类型使用 IEEE754 64位浮点类型来表示整数和浮点值,这也是0.2 + 0.3不等于0.5的原因来看看 ecma 中对于数字类型全等判断的要求7.2.13 Strict Equality ComparisonThe comparison x === y,

2020-05-22 10:52:43 1243

原创 parseInt不应该用作 Math.floor的替代品 parseInt脱坑指南

parseInt不应该用作 Math.floor的替代品问题描述问题代码问题解析复习下MDN上的解释语法参数返回值描述示例一些问题点一个更严格的解析函数问题描述最近要做一个和excel相关的需求,需要将数字转换成excel的表头字母,初版在取整的过程用到parseInt,才发现parseInt一些不常见特性问题代码var A_CODE="A".charCodeAt(0);var Z_CO...

2019-12-27 15:36:43 422

原创 webpack executeModules 不生效的解决方案

webpack executeModules 不生效的解决方案问题描述一般情况下在run dev的环境下,并没有配置CommonsChunkPlugin,这样会将webpack原本的mainfest的内容打包进entry的配置的js中(一般叫app.js)最后生成的webpackJsonp函数大概长这个样子,你会发现executeModules根本没有用到,具体原因未知。/******/ ...

2019-08-31 10:13:26 422

原创 娱乐,自己实现整数类型,不用加号计算加法,以及加法1+1为什么等于2?用另一种角度剖析1+1=2的原因

用代码的角度剖析1+1=2的原因此文包含的知识点,加法逻辑,1+1为什么等于2,进制的概念,链式结构,一点点小学知识。为什么需要数字?无限进制下1+1=2计算逻辑为什么需要有限进制?有限进制下的加法逻辑进制如何处理如何用js实现加法?如何用js不显式的用+号实现加法?知识点总结为什么需要数字?因为要做计算,生活中必不可少。常见的就是交易找零,货品价值表示都需要数字。无限...

2019-05-07 15:22:19 305

原创 纯前端实现地址分词,模糊匹配

关于地址分词的一点思路,一些主要代码的简要说明本人的思路是,解析的结果存储在一个类似树状的结构中,就和DOM节点类似,用parent字段指向父级,用children字段指向子级准备工作CityModel 类先构建出一个 CityModel 类 用来表示树的每一个节点 具体属性可参考下面class CityModel{ constructor(option={}){ ...

2018-10-19 20:51:05 2560

空空如也

空空如也

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

TA关注的人

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