iView问题

首先,iView 非常值得肯定,它功能还算比较全,组件比较多,是一个大的 UI 库; 之前和同事开发了一个中台组件库 jrv-vue ,用于公司内部系统的开发,封装了一些常用组件;目前开发内部项目,我基本都会用这个库;上个项目尝试使用 iView(版本是3.4.0),直到后来发现一个 bug,就果断放弃了; 下面列出这次使用过程中依次发现的问题: 1、基本没考虑语义化 这个不算 bug,如果没有其…

Read More

Fastclick的“Bug”

记去年九月份的一次 bug 修复经历 背景 线上某页面,某用户手机(iPhone7)上有问题,问题页面在我们自己的 APP 中,用户进入该页面,什么操作都做不了;从用户发来的截图看,页面上动态查询的数据也没有显示; 定位 后端查日志,发现该用户的 ajax 请求没有发过来; 这种情况,肯定是某句代码报错,导致后边的代码没执行;一般报错可能是: 对象为空,但是调用了对象上的方法; 数组为 null,…

Read More

WordPress 添加favicon、访问统计和访问日志

添加 favicon 自己做了一个小 icon,本来想的是传到根目录下、加个 link 标签就完事儿,没想到还遇到了其他问题;操作步骤: 将做好的 ico 文件放到网站的根目录下,然后打开主题下的 header.php,在 <head> 中添加 link 标签,注意 href 尽量用绝对地址: 然后修改 favicon 的权限,505 为可读和可执行: 第一次添加 link 标签是在 …

Read More

算法 – 静态查找

先明确“查找”的几个定义: 查找 查找表:(同一类型的)数据元素(或记录)构成的集合,是一种灵活的数据结构; 静态查找表:只查找,不改变查找表; 动态查找表:需要在查找表中插入元素或删除元素,这类查找表就是动态查找表; 平均查找长度:查找的基本操作是将记录的关键字与给定值进行比较;为确定记录在查找表中的位置,比较次数的期望值称为查找算法在查找成功时的平均查找长度; 静态查找中常用的算法是顺序查找和…

Read More

算法 – 冒泡排序

冒泡排序差不多是我最早接触的算法了,但实际工作中也没怎么用过; 现在 js 里排序的场景我都直接用 Array.sort(),随着电脑和手机处理器性能的提升,至少在我所在的团队/环境,感觉大家都不太关注 js 代码执行性能的优化了;使用 Vue 的过程中,也有很多滥用循环没有考虑性能的情况; JavaScript 实现 两个数字交换,我用的是 arr[j] = [n2, arr[j + 1] = …

Read More

前端成果回顾

总结一下,这几年在工作中一些前端相关的产出,列举的都是些独立于项目外的平台和工具; 1、协议配置平台 背景 前端开发中,很多协议、免责声明、活动规则这种纯文本页面,开发比较浪费时间;特别是有的协议十几页,前端光复制文本,添加html标签和样式就要花费好多时间;后期维护的时候,如果协议整体变动较大,基本又要重新做一遍; 这种纯文本的文档,完全可以自动化,就试着搭建了这么一个平台; 描述 一个上传wo…

Read More

协议管理平台 – 删除资源

这里是删除临时文件,该功能是协议配置平台中的一个脚本,关于协议配置平台,参照这里,第一个就是。 项目部署后,用户使用过程中,会产生很多没用的文件,主要来源包括: 添加或编辑时,预览过程中产生的临时文档; 上线(同步到云存储)之后的文档; 需要将这些文件删除,我采用的方式是定时批量删除的方案,为了防止删除正在预览或未同步的文档,删除时,设置了一个规则:只删除最后修改时间在一小时以上的文件。 为了优化…

Read More

协议管理平台 – 解析日志

这里的解析日志指的是对日志文件进行解析,提取有用的数据;协议配置平台里边,一开始的需求并不是很明确,但我加了非常详细的日志,后续扩充功能,数据可以从日志中补全。关于协议配置平台,参照这里,第一个就是。 项目中,解析日志,是为了从日志中获取用户的访问信息,导入数据库,方便查看 / 统计访问人数,为后续优化做准备; 之前设计时,并未考虑访问相关的数据,所以这部分是没有存到数据库的,只能通过日志导入(前…

Read More

协议管理平台 – 静态JSONP

协议配置平台中用了静态JSONP的方式解决问题;关于协议配置平台,参照这里,第一个就是。 JSONP原理 在页面上动态创建一个 script 标签,src 指向接口地址,将接口返回内容作为一段 js 执行; 接口返回内容格式为:callbackName(data),即 回调函数名称(需要传递的数据) 这种形式,其中,回调函数名称是页面调用接口时通过参数传过来的,参数名一般为 callback 或 …

Read More

Vue 项目中的字体文件跨域问题

vue项目中,将页面和静态资源分开部署带来的问题,除了上一篇提到的特殊库(vue-pdf)中的跨域,还有本篇将要说的字体文件跨域; 背景 vue 项目中,通过 npm 安装的库,有一些(比如组件库 iview)中,会包含一些字体(iconfont)文件,当 html 页面和静态资源分开部署时,字体文件就会报跨域的错,不能加载到,导致页面上的图标显示不出来;这是因为默认情况下,字体文件不能跨域加载;…

Read More