生活的日常

记录普通人的日常

扫码登录了解多少

周末,想写一个即刻app的微信小程序,通过web端的页面,抓取了一些接口API,但是都需要auth。然后看下,auth从哪获取的,然后发现是扫码之后,通过接口拿到的。 然后分析了一下,也算知道了,扫码登录的一些实现方式。 step 1 通过一个接口获取唯一的UUID,同时这个UUID也是有过期时间的。即刻好像是2分钟。 step 2 拿到这个UUID,再加上一些参数,生成一个二维码。在页面上...

NPM Version 导致的一个Bug

起因 事情是这样的,一大早,测试小哥哥就说,新版的RN项目,怎么发布失败呀,你来解决一下。我打开打包日志,发现有一条错误的日志log。 未找到项目依赖的React-Native 然后我就慢慢的debug,看看发现是哪里有依赖写的不对,导致的。debug了一上午。删掉本地的node_module 重新npm install 之后,发现有一个依赖包,始终安装不了。 提示的报错文案 npm ERR...

redux 之 middleware

在回调中分发一个 action ,reducer 收到 action 后,更新 state 并通知 view 重新渲染。单向数据流,看着没什么问题,但是,如果需要打印每一个 action 信息来调试,就得去改 dispatch 或者 reducer 实现,使其具有打印日志的功能。又比如,点击 button 后,需要先去服务端请求数据,只有等数据返回后,才能重新渲染 view ,此时我们希望 ...

初识redux

简书 i蒹葭从风 转载请注明原创出处,谢谢! 如果读完觉得有收获的话,欢迎点赞加关注 简单介绍一下redux 的一些术语和基本概念。 action,reducer,state,store。主要是这4个术语。下面依次来说说这些概念。 action action 本质上是JavaScript 的普通对象。约定action内使用一个字符串类型的type字段来表示将要执行的动作。很多情况...

微信小程序系列「一」

2016年9月21日,在前端届的确是一个值得纪念的日子。这天,微信放出杀手锏,WeChatApp 又称微信小程序。但是就目前来看,有诸多不便,但是这个事情,依然有很大的意义。因为这是一个生态。从放出来这个消息,就开始关注。加上公司也有内测资格,所以准备写一些文章来聊聊weChatApp开发的一些情况,以及踩到的坑。 首先提到的便是1M的大小限制🚫,其实这个看到1M的大小,觉得没什么,但是作...

eslint 在项目中的使用

前段一段时间,组里搞了jslint,但是,jslint好像没有eslint的配置灵活一些,并且webstrom 也支持eslint,所以就自己搞了一套eslint的检测配置,虽然提交了代码,但是并不强制要求使用。 /** *** *** Rules 规则说明 'off' 或者 0 - 关闭规则 'warn' 或者 1 - 开启规则,使用警告级别的错误,warn 不会导致程序退出 'er...

团队JavaScript的一些规范

命名规范 全名总体规范 尽量以英文名命名,避免出现拼写错误 //restful返回字段fistchar拼写错误 var firstChar = city.fistchar.toUpperCase(); //框架写错 model.excute(...) //单词拼写不规范 detailinfo.rainfos = pts.modeldata.bo...

talk about sesionStorage VS localStorage

最近业务上,有个需求,当一次回话结束,保存的信息,就要销毁。这个一看,正好是sessionStorage的用法,但是之前并没有了解锅sessionStorage,一直是使用localStorage,并且公司的框架封装好了localStorage的用法,所以,趁此机会了解一下sessionStorage的一些API。 说起localStorage和sessionStorage,总要说起我们的小...

判断this

函数是否在new中调用new绑定?如果是的话,this 绑定的是新创建的对象。var bar = new foo(); 函数是否通过call apply 或者硬绑定调用?如果是的话,this绑定的是指定的对象。 var bar = foo.call(obj); 函数是否在某个上下文对象中调用?如果是的话,this绑定的是那个上下文。var bar = obj.foo(); ...

踩了setTimeout的坑

今天测试说,蒹葭同学,uat环境有个bug,秒杀产品还没结束,但是前端显示的是已经结束了,你看一下。 我内心OS:妈蛋,又出bug了。 不过还是乖乖的去debug了一下代码,最后排查出来是设置的定时器没有生效,直接执行了。 var timer = new Date('xxxx-xx-xx') - new Date('xxxx-xx-xx'); setTimeout(function(){ ...