自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 微信小程序分享到朋友圈

截止到2017年11月18号,微信小程序官方还尚未开放直接分享到朋友圈的能力,但是劳动人民的智慧是伟大的【狗头】 现在普遍的做法是,生成一张带有小程序码的图片,保存到用户相册,用户自行发布图片到朋友圈 我的套路: 请求后端API生成小程序码(生成小程序码需要access token,后...

2017-11-18 19:01:19 64206 34

原创 redux异步中间件比较

redux很精简,只处理同步数据流, 异步交给中间件处理 view -> action -> reducer -> store 生猛的就不用中间件 使用:在view层中发起api请求,在请求的回调中dispatch(action) 缺点:view和modal耦合 redu...

2020-03-10 21:32:34 85 0

原创 国际化node工具

功能:将分布在各个模块下的翻译文件,合并生成一个json文件 // apodidae/src/utils/CreateJson.js /** * 说明: * 1. 使用这个命令需要将所有需要国际化的文案写在对应目录下的messages文件或者utils下的公共messages中; * 2....

2020-02-13 19:32:43 58 0

原创 react项目国际化

文章目录一:国际化的实现原理二:用react-intl实现国际化 一:国际化的实现原理 准备自己翻译好的语言包例如zh.json、en.json(结构为{ ‘hello’: ‘你好,世界’}),用一个变量存储当前选择的语言locale,根据locale选择应用哪个json, 再根据id ‘he...

2020-02-13 19:20:53 186 0

原创 图解http

图解http 读后感1. 为什么要读这本书2. 阅读1-6章3. 下一步计划 1. 为什么要读这本书 http是前端工程师每天工作内容很重要的一部分,说浅薄一点,前端菜鸡的工作大抵分为三部分:写css样式、写js交互逻辑、发HTTP请求。对HTTP的使用很频繁,对他的理解很有限。 想必大家面试、或...

2020-01-21 15:30:16 23 0

原创 埋点SDK原理与实现

文章目录埋点分析一.埋点是什么二.为什么要埋点三.怎么做埋点举例Google Analytics服务提供的主要功能四.埋点的实现原理1.用户使用方式1.全局注册2.手动埋点3.无埋点2.实现原理1.如何将事件上报2.如何收集pv/uv3.如何收集无埋点的事件 埋点分析 安利背景:作为一名优秀的程...

2019-11-15 16:24:41 1273 1

原创 尝试写个不坑后来人的ReadMe

fe-speed 1. 开发语言 typescript less html 2. 特性 react 组件化开发 typescript 强类型语言 git submodule 维护公共模块 antDesign 规范的后台交互视觉风格 3.支持环境 chrome 49及以上 node 建议最...

2019-08-05 15:04:34 93 0

原创 ant-design Table组件错位/对不齐

此篇乃小伙伴们在花式踩坑antdesign的table组件后,总结的专治对不齐的十全大补丸,望君趁早服用及时康复,如果你还踩出了更多花样对不齐,欢迎臭jio的你前来补充

2019-06-28 15:30:42 5879 1

原创 当我们使用webpack、babel时,我们是为了什么

对于前端的学习,我们都是从原生的html、js、css写起的,还记得第一次用浏览器打开index.html页面看见hello world时的欣喜吗?可能我们都是从那一刻爱上所见即所得的前端吧~ 随着基础知识的夯实,我们会投入到较大的项目开发之中去,为了获得更多工具函数、为了代码结构更有组织性等等原...

2019-05-12 19:13:44 357 0

原创 npm login无响应

当你想要发布一个npm包的时候,会被要求先login或者adduser,当我按照提示输入username、password、email后,等待很久报错连接超时,从提示看应该是因为我开了vpn。正常情况不开VPN就是可以连接到npmjs.com的。但是我关闭VPN后npm login,连接也无...

2018-09-17 11:05:59 1310 0

原创 setState(…): Can only update a mounted or mounting component. This usually means you called setState

1.遇到的八阿哥: Warning: setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted componen...

2018-08-15 21:42:51 478 0

原创 自定义组件实现底部弹出菜单

1.效果图 点击客服按钮,从底部弹出菜单栏 点击微信在线客服,可以唤起微信客服 2.为什么要自己写菜单栏? 微信原生的菜单栏不支持直接唤起微信客服呗,难受== 不想说话了,贴代码 3.代码段 定义组件 <!--compone...

2018-06-28 22:05:26 1891 0

原创 微信模版消息发送失败

原因分析: 1.同一个微信用户,登陆iOS系统,获取form组件submit后的formId是这样的格式:472be418fa10c861fea8faadba4caf8b; 在android下,formId格式是:1527130096088 这样的时间戳格式。两种formId都存在一个...

2018-06-28 21:15:38 2397 0

原创 小程序滑动菜单栏吸顶

1. 效果图 菜单正常嵌入在页面中 菜单位置滑动到距离可视窗口0px时,脱离文档流固定在页面顶部 2.常见实现方案 查询菜单栏距离文档顶部的距离menuTop 监听页面滚动距离scrollTop 当页面滚动距离scrollTop > menuTop菜...

2018-06-28 20:58:27 19668 4

原创 生鲜商城小程序项目总结

生鲜商城小程序项目总结 1.项目需求 实现B2B的生鲜商城小程序,具有商品展示、加入购物车、提交订单、微信支付、推送微信模版消息等基本购物流程,还包括登陆注册、信息审核、个人中心等辅助功能。 2.项目排期 因为有类似功能的小程序代码可供参考,且有3个人不同程度的参与开发,实际...

2018-06-28 15:16:36 2746 3

原创 Vue.js响应式模拟实现

Vue.js MVVM 框架的三大要素: 1.响应式 2.模板引擎 3.渲染 本篇文章主要模拟实现一下Vue是怎么实现响应式的 1.先实现一个最简单的Vue实例 <div id="app"> {{name}} ...

2018-04-07 17:21:59 680 0

原创 反思与前行

全职开发一年半了,夜深人静时,回过头来,想做一点反思与总结,为了更好地前行~ 1.我做了些什么? 参与开发了有复杂权限管理系统的部分模块 因为业务需要,所以入门的第一个框架是angularjs,虽然学习成本比较高,但是正是由于他的强规范性,使得新加入的成员可以快速的按照规...

2018-04-02 23:57:04 221 0

原创 继承的几种方法

继承的几种实现方式与优化 function Parent(){ this.name = 'parent'; this.arr = [1,2,3] } function Child(){ this.age = &#...

2018-03-21 00:23:52 130 0

原创 new构造函数的实现原理

当我们说new一个对象的时候,实际做了些什么? 下面通过代码模拟一下 var newFunc = function ( func ){ //1.新建一个空对象,并将 构造函数的原型对象赋给这个空对象 var obj = Object.creat(func.pr...

2018-03-18 23:53:02 3170 0

原创 instanceof判断构造函数的实现原理

instanceof用法: obj instanceof func//true or false //obj实例对象,Func构造函数 instanceof原理 实例obj的原型对象(严格意义上是原型链上的对象即可)与构造函数func的prototype指向统一...

2018-03-18 23:30:51 575 0

原创 数据类型转换

1.数据类型转换分为:显示类型转换、隐式类型转化 显示:主动调用 Number、Boolean、String方法 隐式:系统自动转换 (1)进行四则运算 (2)条件判断 (3)native调用,(eg:console.log /alert时) 2.数据类型包括7种 ...

2018-03-15 14:35:51 65 0

原创 DOM事件-事件委托-自定义事件

1.dom事件的级别(发展史) dom0: element.onclick= function(){} dom1: (没有规定事件相关内容) dom2: element.addEventListener(‘click’,function(){}) dom3: element.addEventL...

2018-03-15 00:00:53 472 0

原创 盒模型和清除浮动原理

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> &a...

2018-03-14 15:05:19 111 0

原创 三栏布局的5种常见解决方案

三栏布局的5种常见解决方案 1.如图效果 2.代码实现 <!doctype html> <html lang="en"> <head> <meta cha...

2018-03-12 23:37:52 160 0

原创 微信浏览器-复制到剪切板-clipboard.js插件

之前写过一篇博客,介绍一个复制到剪切板的插件,ZeroClipboard,什么都hen好,然而就是不支持微信浏览器,我也没找到什么解决方案,我就严正拒绝了产品经理的需求。 直到今天被产品看到一个其他yin的h5,竟然可以实现复制到剪切板的功能,啪啪打脸~ 看了下用了个叫clip...

2017-11-28 23:23:56 8746 5

原创 gulp基础使用

gulp基础使用

2017-11-19 22:55:33 160 0

原创 sass与scss的区别

用了很久css预编译器,但是一直不太清楚到底用的sass还是scss,直到有天被问住了有点尴尬,找了个教程撸了遍==。。。异同:简言之可以理解scss是sass的一个升级版本,完全兼容sass之前的功能,又有了些新增能力。语法形式上有些许不同,最主要的就是sass是靠缩进表示嵌套关系,scss是花...

2017-11-18 19:40:46 9787 0

原创 图片和文字垂直居中-flex布局

因为float和position用的比较熟,所以flex只是了解了一下,基本不用。但是今天发现了flex在处理图片和文字对齐方便真是超爽der~ 1.需求 就是一个盒子里面,图片和文字垂直居中 2.惯用套路 我之前的解决思路都是给图片设margin,给文字设li...

2017-11-16 23:41:56 8650 0

原创 获取远程分支失败

同事上传了一个新分支,然而webstrom不知为啥没有检测到新的分支,只好回归git命令行 //1.查看所有本地和远程分支,此时还显示不出我想添加的远程新分支 git branch -va //2.将远程分支信息获取到本地 git fetch //3.此时可以看见新分支了 git branch -...

2017-11-14 11:14:08 410 0

原创 搭建nginx做测试服务器

1.为婶喵 要搭建测试服务器 因为公司目前开发+测试的整体流程不太完善,加之很多小项目的用户量比较小,我很多小项目的开发与测试,都是令人发指的直接在正式服务器上进行的== 没上线之前还好了,随意修改覆盖也没有人知道,但一旦上线后出了任何bug,都是一顿盲改,然后颤抖着双手把不知道究竟...

2017-11-13 16:42:29 484 0

原创 微信小程序踩坑——Android真机调试问题

如果api请求在URL中拼接了字符串/汉字,那么需要对拼接字符串进行encodeURIComponent() 编译。否则Android真机上自动编译字符串可能编译出空格,导致API请求失败。 而ios/微信开发者工具上是不会出现这个问题的,不知道的话简直狗生疑惑、、、 eg: ...

2017-10-25 11:02:29 4041 0

原创 微信小程序踩坑——项目内文件夹删除不掉

想要删publishTask文件夹,在IDE里删没反应,去文件资源管理器删提示需要管理员权限, 太鬼扯了,原来因为要删的文件夹里有嵌套一层文件夹,所以禁止删除。要先删掉里层文件夹,才可以删除外层。换句话说,想要删除的文件夹要保证不包含文件夹。

2017-07-26 00:05:53 6902 0

原创 微信自定义分享好友/朋友圈信息失败

1.踩坑 最近项目开发微信h5小游戏踩了个坑,自定义分享给好友/朋友圈的信息原来也写过,套路按照官方文档写的就是 1.先调wx.config()配置 2.再调wx.ready(callback),表示配置成功后调用其他jssdk,(如果初始化页面就配置wx.onMenuShar...

2017-07-13 00:01:40 2446 0

原创 webstrom自动编译sass文件为css

操作步骤如果输出的css文件位置没有特殊要求的话,就无需修改6、7了。生成的css和sass同路径。设置完成后,当任意修改sass文件后保存,立即会生成css文件

2017-06-23 12:36:31 339 0

原创 微信浏览器调试

微信浏览器调试

2017-06-09 16:17:45 19973 0

原创 拷贝到剪切板——一个flash实现、兼容性不错的js插件ZeroClipboard

1.需求2.为什么推荐用插件浏览器对js实现拷贝页面信息做了限制,原因是随意获取客户端页面上的信息,可能会发生用户输入的账号、密码等信息,被不法分子在用户不知情的情况下拷贝发送给服务端,导致用户信息泄露。 IE好像还是提供了js拷贝页面信息的接口的,但是Chrome和Firefox就没那么容易实现...

2017-04-27 14:08:39 1105 0

原创 es6 — 基本语法

1.let、const命令1.1暂时性死区 ES6规定暂时性死区和let、const语句不出现变量提升,主要是为了减少运行时错误,防止在变量声明前就使用这个变量,从而导致意料之外的行为。这样的错误在 ES5 是很常见的,现在有了这种规定,避免此类错误就很容易了。 总之,暂时性死区的本...

2017-02-16 17:10:53 226 0

原创 移动端适配方案

1.百分比适用场景: height=100% (为视口高度) <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <...

2017-01-08 17:49:25 237 0

原创 zepto部分报错及解决方案

报错1:touch_events.html:27 Uncaught TypeError: $(...).tap is not a function 原因:zepto将部分功能都分散在各自的模块了解决:如果用tap功能,需要去github下载touch.js模块并引入;---------------...

2016-12-29 16:48:02 5939 2

原创 webstrom快捷键

ctrl+c 复制 ctrl+v 粘贴 ctrl+x 剪切一行或删除一行 ctrl+d 复制本行到下一行 ctrl+z 退回之前操作 ctrl+shift+z 已经做好的退回之后的下一步 ctrl+a 全选 ctrl+/ 注释行 ctrl+shift+/ 注释选定区域 ctrl+...

2016-12-25 23:25:08 420 0

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