Kairyou's Blog

专注于前端开发, 追求更好的用户体验, 更好的开发体验 [长沙前端QQ群:234746733]
  • 换手机号要改的东西整理

    / 分类: 生活 / 2 Comments

    因为对移动不爽, 终于下决心换联通. 不爽的地方: 家里4G不稳定; 给APP提BUG互相推, 几个月没人解决; 积分有问题(用了8年的号, 无欠费, 月消费约60, 积分是0, 开通国际漫游要交1000话费); 部分位置彻底没信号(位置不算偏). 所以整理下资源, 以及自己办理时的步骤, 方便有类似需求的同学参考. 与技术无关, 如下(还没写完, 慢慢补充):

    原号码至少继续用几个月,再注销.

    支付

    • 支付宝
      APP, 我的-头像(我的信息)-设置-手机号-更换手机号(快捷支付, 需要先去银行改手机号).
    • 财付通
      www.tenpay.com, 账户设置-手机号码-修改.
    • PayPal
      www.paypal.com/businessprofile/settings

    购物

    • 淘宝
      APP, 我的淘宝-设置-账户与安全-修改手机号码.
    • 京东
      home.m.jd.com/user/accountCenter.action 修改手机认证

    京东钱包; 京东app, 账户管理-地址管理-联系电话

    • 12306
      APP, 我的12306-手机核验-更换手机号码.
    • Uber
      APP, 设置-编辑账户, 修改手机号(会收到短信), 退出APP再进入, 输入短信验证码, 完成验证.
    • 滴滴
      APP, 左上角头像-手机号-更换手机号(会收到电话验证码).
    • 亚马逊
    • 网易考拉

    账号

    • 微信
      我-设置-账号与安全-手机号-更换手机号.
    • QQ
      QQ安全中心APP, 我-密保手机-我已经换号(要审核7天)

    手机QQ, 头像-设置-手机号码-更换.

    • QQ邮箱
      日历-设置-短信, 关闭并重新绑定手机号(会要求发送短信).

    设置-帐户-帐号管理, 手机号邮箱-注销(再找到"手机号邮箱帐号", 注册手机号邮箱帐号).

    • Apple
      AppleID: selfsolve.apple.com/deregister-imessage/cn/zh 注销原号码, appleid网站看到的就只有新号码了.

    iCloud钥匙串绑定号码重设: jingyan.baidu.com/article/90808022fd20c0fd91c80fa2.html

    • 小米
      account.xiaomi.com, 需发验证给原手机号.
    • 乐视
      i.le.com, 账号设置. www.lemall.com/user/center/address.html 修改收货地址的电话.
    • Google
      myaccount.google.com/security#signin, 辅助电话号码-修改.
    • 百度
      passport.baidu.com/v2/accountsecurity
    • 微博
      security.weibo.com/account/index
    • 大众点评

    银行

    • 建行: 柜台办理,带手机/身份证/银行卡,要输入很多次密码.
    • 工行:
    • 招行信用卡
      掌上生活APP,我的-头像-账户详情-登录手机号-更改;掌上商城-个人中心-地址管理,修改收货电话.

    4008205555,转人工,修改资料,非常很方便.

    保险

    • 平安一账通
      www.pingan.com.cn/pinganone/pa/, 登录(用户名不是手机号), 个人信息管理, 修改.

    用原号码打给95511,变更相关保单的联系人信息里的号码.
    平安金管家APP: 平安金管家的账号, 并非一账通账号(如果金管家是用原手机号注册, 要打电话给95511, 注销原手机号).
    金管家查看保单, 新手机号登录一账通时, 会给原手机发验证码, 认证一次即可. * 推荐以后只用一账通登录.

    理财平台
    先看有没有菜单, 如果没有直接联系客服咨询.

    生活

    • 物业
    • 电力公司:
      打给95158, 人工, 提供缴费户号, 个人信息验证通过后就可以了, 一般下月生效)
    • 燃气公司:
      打给95511(长沙市是新奥燃气), 人工验证个人信息后, 就可以变更了.
    • 公积金(长沙新系统需要重新注册,并绑定手机号)
    • 社保(长沙社保暂不需要手机号, 直接身份证登录)

    星巴克,超市店铺,理发店等积分卡

    群发给亲友, 告知换号.

    Ps: 旧手机号销号后,折断旧SIM卡(里面有联系人信息)再扔掉
    最好各种账号能不绑定电话号码,就不要绑定,减少个人隐私泄露风险。

  • webpack

    / 分类: 工具 / No Comments

    因为杂事比较多, 很久没写blog了. 深知坚持写下去, 自己的收货也是很大的, 所以和同事打赌每周写一篇blog, 如果做不到就请喝coffee(每周一篇质量不能保证, 只能做到1个月1-2篇~).
    "时间挤一挤总会有的"这句话都听过, 但是做起来不一定那么容易. 可能很多人也经常抱怨自己没时间做某某事, 因为惰性, 一个想法过了1年/2年没有去做, 后面就荒废了.
    改变自己是最难的, 很多改变也是被逼出来的. 2016, 希望效率能更高, 能把零碎的时间也都利用好.

    webpack应该一年以前就研究了, 当时还准备有机会在w3cteach长沙分享的, 那时介绍react/webpack应该极少, 现在已经很多了.
    说了些题外话, 开始入正题了.

    webpack的作用

    总结为: 打包,优化,编译.
    打包: 就是可以把模块打包, 处理依赖, 用过requirejs应该很好理解.
    优化: 比如图片可以转成base64, 可以最大限度减少http请求.
    编译: 这个很重要, 如果一个旧项目, 页面引入了a.js...n.js, 还在思考用gulp/grunt用最普通的方式把*.js压缩合并到一起, 那么理解起来会有点痛苦, 也发现不了webpack的优势, 最好是先通过一个简单的demo或新项目去理解. 需要某个模块的时候, 只要放心大胆的require就好了(webpack里面任何的静态资源都可以当做模块), 最终代码成什么样子webpack已经替你处理好了.

    webpack的常用配置参数

    //webpack.config.js
    module.exports = {
        context: __dirname + '/src', // requre('a.js')的时候从哪个路径查找
        entry: { // 打包成2个文件index.js, about.js
            index: ['./a.js', './a.css', './b.js', './b.css'], // css和js打包到一起(一个js文件), 用<style>添加到页面
            about: ['./a.js', './a.css', './c.js', './c.css'],
        },
        output: { // 打包后的输出目录
            path: './build', // 打包后的文件路径
            publicPath: 'build/', // 打包文件内用到的URL路径, 比如背景图等(可以设成http的地址, 比如: http://cdn.my.com)
            filename: '[name].js' // 打包后生成文件的命名规则, 这里是: index.js, about.js
        },
        externals: { // 遇到require这些时, 不需要再编译. 适合那些常用的库, 已经在页面通过<script>引入了, 就无需都打包到一起了 
            jquery: 'jQuery',
        },
        module: {
            loaders: [
                { test: /\.css$/, loader: 'style-loader!css-loader' }, // 针对.css文件用2个加载器预处理(!号隔开多个加载器)
            ]
        },
    };

    加载模块

    // 1. 同步加载一个模块(像不像nodejs?)
    var a = require('./a.js');
    a.show();
    
    // 2. 异步按需加载模块(像不像requrejs?)
    require(['./a.js'], function(module){
        module.show();
        var c = require('./c.js').show(); // webpack的优化: 最终c.js会和a.js打包成一个模块
    });

    可以看到, 无论AMD/CMD标准的代码webpack都可以支持. 模块依赖/互相调用的问题, 轻松就解决了, 不需要自己开发或或引用第三方模块加载器了.

    上面提到, 任何资源都可以作为模块, 图片/html/json等, 都是可以require的, 只要配置好webpack配置的loaders里面的规则就OK了.

    优化打包

    什么时候css不打包成JS, 让css也打包成独立的css文件?
    打包后的文件名想用带哈希的文件名, 避免缓存?
    所有的页面都引用了common.js, lib.js, 希望最终打包的时候, 自动把公共的代码打包成一个独立的common.js?
    base64后, 图片的确减少了请求, 但是大图base64得到的字符串太长, 只希望小图片才转base64?
    这些都可以做到, 下面的PPT里面有写. 同时还有autoprefixer的介绍, scss/less/图片加载的例子, 通过css-sprite优化sprite.
    还有, debug的代码上线时, 不需要手动注释, 可以让webpack自动移除.

    旧项目如何改造

    AMD/CMD什么的还是要改造旧代码, 旧项目很多lib都是注册变量到window对象下面的, 怎么解?
    webpack提供Shim支持, 因为加载模块的逻辑都是loader来处理规则的, 所以imports,exports,expose这三个loader完全可以搞定旧lib.

    webpack-dev-server

    启动webpack-dev-server后, 本地调试代码时, 页面只需引入<script src="http://localhost:8080/webpack-dev-server.js"></script>, 在改版静态资源经过webpack编译好后, 页面会自动更新.

    和gulp结合使用

    webpack和gulp并不是敌人, 他们可以搭配使用, 只是我们的惯性思维, 还是停留在用gulp去做打包的动作. 当然单独用webpack基本大部分项目已经足够, 如果项目复杂, 任务较多, 或者需要使用不同的webpack实例, 那么他们结合起来用是没有任何问题的. gulp只负责好任务就OK了.

    links

    1. demo, 包括了webpack/gulp/css-sprite各自的例子以及组合使用的例子.
    2. webpack介绍PPT, 快一年了, 带批判性的看吧.