今天
=====
o Front登录实现
需要进一步与界面整合,例如登录失败的处理,错误信息,离线登录。
o Front端信号机制实现,已经加入了IndexedDB来保证信号不会因为离线而丢失,以离线订单和在线订单提交作为示例
信号使用了两个Backbone.JS中的Collections,分别是inbox和outbox,目前是将它们放在app中的。需要和崔交流如何布局这些变量。
Front => Cloud:的add方法,规范如下:
outbox.add({
'name': 'ControllerName:SignalName',
'data': object
});
Cloud => Front: 主要是连接信号与处理函数,规范如下:
this.listenTo(inbox, SignalName, callback)
SignalName是由服务端产生的,命名的规范是全部小写,使用连接符-而不是下划线隔单词,类似glib里的信号名。
o Front拉取数据,以RoomType作为示例,是直接使用的Backbone.JS里的Collection机制。
o Front的一些规范,我只总结了我今天用到的几点,咱们商量着定:
# js文件
1. 文件名全部小写,单词之间用连接线分隔,不使用下划线
2. 一个对象的Model,Collection放一起,由于我还没有写过View,不过建议View也放一起。拿订单来说,类Order, Orders,OrderView放在一个叫order.js的文件里,纵向归并,比较清晰,不知道崔同意吗?
# js代码规范
1. 变量和函数统一使用小驼峰式,jQuery和Backbone都使用的小驼峰式命名,如var newOrder; function updateMessage();
2. 类名使用大驼峰式,如OrderView,Signal
3. event的处理函数使用前缀on,如this.on('add', this.onAdd);
4. 脚本里使用单引号引住字符串,除非特殊情况(例如字符串里这么多单引号)
# html
1. 属性使用双引号
2. 所有元素必须关闭,虽然HTML5并不强制规定,但是关闭可以帮助一些编辑器的缩进和增强代码美观
3. 元素id中不使用下划线,使用连接符
4. 所有的js放到js文件中(Chrome app好像不支持在HTML中直接放js代码哦)
已经放到in.zhu.me/工作区/ 技术相关/代码规范
明天
=====
+ 配合崔完成登录的所有逻辑
+ 配合崔完成房型在界面上的呈现