其实应该更多的是互相的磨合与学习,希望身边的人可以有自己的经验分享,与理解,互相进步才是大家需要的,作为一个 "年老" (我也是90后) 的开发者,我觉得一代胜一代,未来才有胜算。额,好了,我不充当老师的角色了,去正题。
在和客户端交互的过程中,往往都有跳转的,而在咱们 Web 开发中,默认的 href 属性通常是 #,然后通过获取标签绑定动作触发事件,这里有个坑,在与安卓交互过程中会发现。上述代码中,会引起安卓交互中的一个坑,就是没点击一次,安卓都会在计数器上+1, 也就是,点击第一次,弹一次窗,点击第二次,会弹两次窗,如此类推。我丢,安卓这个坑爹,在 js 交互中,无法传递对象,匿名函数等等的类型。也就是说,如果你的参数是接受一个对象的,你必须将她转成 String,而且安卓中的返回值也是只能返回 String,在咱们接受之后需要将字符串转换成对象。在调用 iOS 或者 android 的时候,先将参数传递到 encode 处进行过滤。其实这个很简单,经常做 web 开发的都应该知道,咱们每天都与 Http 协议打交道,而在 Http 中,有一个很重的的标识,就是 User-Agent,简称 UA,其实这个东西就像咱们的门票一样,有着各种的信息在上面,其实就包括了很多的浏览器内核信息,版本信息,厂商等等......咱们就是从这个地方入手,在客户端中定义自己的版本信息,与微信一样。从此告别什么 url 上加什么破参数啊什么的。因为此处我还没太多接触客户端开发,暂时没有客户端代码演示.4. 请善用你的 Http Status Code曾几何时,我也是一个懵懂无知的骚年,连接口是干嘛用的都不知道,大概也在 2014/8 月份左右,我对接口都是一种很敬畏的眼光去看待,直到现在,2016年,我更加视接口是一切数据库的来源,其价值是最至高无上的。但是由我接触接口(Application Programing Interface)开发之后,我发现目前的接口有好多问题,一个很明显的就是,为啥每个接口都是 200,不应该啊,那非 200 响应的应该怎么办?有做处理吗?
直到后来,我推翻了这一现象,也说服了各方的人。我举一个 Ajax 的例子:首先我先问一个问题,为何 jquery 和 zepto 的 ajax 中,都有一个 error 回调?请不要怀疑设计者的智商与知识,我猜他应该会比你聪明以及牛叉。这么做,肯定有原因的。其实这里的 error 就是为了让非 2xx 状态的时候进入的操作的。其实咱们应该要善用本身已经有的东西,不需要再重新造多一个,吃力不讨好,那你们就开始好好补一补 Http Status code 相关的知识吧。根据不同的状态码进行不同的处理机制,无需重复再做这一步骤了,其实设计者也很清晰设计出状态码的意义,应该善用。其实这个有点无理取闹,但是又不得不去做,首先这个其实原理也是挺绕的其实我是建议这些操作统一由一个地方去做,比如定义一个域名叫: down.xxx.com/应用id,后台读取应用id 相信信息,统一由一处转发。注意 iOS9 对这个有点不兼容,所以,谨慎,iOS7,iOS8,安卓均可以实现所以,由此可见其实这里的判断会很多,很多,很多。所以我墙裂建议都统一到一个地方做分发。这里其实还需要判断是否微信,是否应用内打开,是否是分享出去的。结合第 3 点的例子想想,这里的 if ...... 其实还是很恐怖的,我已经无路可退了......