Authored by 沈志敏

Update README.md

# blk-wap项目中的一些注意点
## 框架结构
## 1.框架结构
首先,我们先说一下blk-wap项目的架构,这样便于后面的人能够快速上手
1. 服务端:node的express框架
2. ui端:vue + gulp + webpack
## 目录结构
## 2.目录结构
apps: node服务端业务代码
... ... @@ -22,14 +22,14 @@ app.js: node服务入口文件
dispatch.js :路由分发文件
## vue
## 3.vue
关于vue部分,如果不熟悉的话,大家可以查看一下官方文档
http://cn.vuejs.org/guide/
这里面主要是组件方面知识,用的比较多。
## 与app端的交互
## 4.与app端的交互
混合模式下,比较麻烦的地方是与app原生端的交互。因为有些业务处理需要app端配合处理。
1.
... ... @@ -39,7 +39,7 @@ http://cn.vuejs.org/guide/
2.
监听app端事件参看:public/js/common/vue-bus.js文件,是通过一个全局的vue实例的on及emit来处理的。
## h5页面刷新
## 5.页面刷新
目前页面跳转时。有些场合下需要刷新页面,由于刷新的逻辑在每个页面都不同,所以app端很难来处理。没办法,只能由h5这边来做了。
... ... @@ -47,5 +47,17 @@ http://cn.vuejs.org/guide/
我们目前的做法是通过localstroage来处理的,也就是yoho.js中的 store属性。
如果,你有更好的想法,欢迎提出来。
## 6.开发中碰到的一些坑
前端开发,最大的一个坑莫过于适配不同的手机浏览器。混合模式下,这个问题稍微有些好转,因为我们会指定webview的版本号。
不过对于ios及android的区别,适配的工作量仍然很大。
我先列出我碰到的一些适配问题,欢迎补充
1. <input type='date'> 元素在ios和android的效果是完全不一样的(比如在ios中会显示年月日,在android中则是/)。而这个元素的可设置的属性也很有限。
于是只能用曲线救国的办法了, 在input元素下面方一个span,然后把input给背景透明,这样我们就可以通过改动span来显示我们想要的了(欢迎更好的解决方法)
2. <select> 元素 在ios和android也是完全不一样,在ios中默认值如果未改变的话,是不会触发change事件的。所以目前的做法是在ios的选择项中多加一个默认值。
而android则不需要。目前的做法是会根据ua来判断是否是ios,来进行不同的处理
3. 目前blk-wap项目中的字体全部用的css,不要手动去写unicode码
... ...