登陆(保持目前两种方式-)
Main.js中的检查是否已经登陆(类Cookie免登陆)
登陆页面使用LoginView来进行登陆
在登陆时发送本地时间戳到远程服务器端进行验证,如果相差较大则提醒用户修改时间,拒绝登陆(时区,时间)
[登陆的时候不进行数据的同步]
登陆之后到Main/CalendarView
房型的同步
通过RoomTypes的同步来显示对应的Tab
直接使用服务器端数据覆盖本地的数据
订单的同步
本地订单的Load
对服务器端的订单Sync
此处需要对两处订单进行同步整合
对于远程端有,本地没有的订单加入到本地数据库
对于本地有,远程段没有的订单,同步到数据库中
对于两边有,但数据不同的数据(是否需要引入modified_date来标记?)
价格的同步
先将房型中的价格应用到当前日历视图
手动获取服务器中的prices进行覆盖,以获取最实时的价格
有新信号发送时,进入发送队列(是否要进行三次握手来决定是否已经收到确认?)
信号的同步
消息队列
消息队列保存在数据库中
消息的重放,从数据库中顺序发送
returnCode=200即认为消息已经收到,消息确认发送成功之后,从数据库删除对应记录
Inbox维护Online/Offline的状态,当状态变化时发出对应的change信号
Outbox的发送机制,在Inbox变成Offline,在Inbox切换成Online状态时进行发送;如果Inbox一直处于Online状态,则定时重新发送
从离线-->在线的状态切换
进行房型、订单、价格的信息同步