Hotels
住哪儿 App
![AppLogo]( https://github.com/FantasticLBP/Hotels/blob/master/住哪儿 /Assets.xcassets/AppIcon.appiconset/11.png?raw=true "这是 App 的 Logo")
实现了类似艺龙 App 的预定酒店功能,包括酒店搜索、特色酒店推荐、特惠酒店推荐等等功能,可以预定酒店、查看订单,唯独不能支付(支付功能必须由公司的名义注册,个人练手注册不了)。
包括 iOS 开发的常见功能:
- 自定义 NavigationController 实现全屏右滑返回上一控制器的 LBPNavigationController
- 自定义 UIScrollView 实现全屏滑动显示不同控制器的 LBPScrollSegmentView
- 封装网络访问类 AFNetPackage,具备检查网络状态、JSON 方式获取数据、xml 方式获取数据、post、get、delete、文件下载、文件上传等功能
- UITableview 上拉加载、下面刷新功能;UITableView 潜逃 UICollecionView 展现界面,事件、数据等通过 Delegate 处理
- Masonry 自动布局库的使用
- 封装好的启动欢迎页
- 个人信息持久化保存
- 复杂界面的布局纯代码实现
- cell 的重用内存优化
- 自定义 URL Schemes 便于其他 App 或者网页唤起;方便 App 或者网页传递参数
- 工程结构一幕了然,便于拓展
- 界面采用代码实现,部分界面采用 xib 实现。整个代码可读性比较好、代码规范、有注释说明,配合服务端是自己用 php 写的,Api 也是 php 实现的。
- 主要功能:根据不同主题查找酒店、摇一摇随机推荐酒店、根据城市定位推荐酒店、根据用户输入多条件模糊搜索查找酒店、酒店位置地图显示、路径规划及其导航(百度地图、高德地图、系统地图)、订单查看等、酒店分享等功能
效果截图
ToDo:后期可能会实现 MVVM 框架,将 RAC 技术应用到工程中去。一些容易变的页面采用 Html5 实现,比如"发现模块"的特色酒店。
福利
如果想了解服务端开发以及 App 与服务端交互(也就是接口开发)可以看看这个 App 的后台代码。项目地址:( https://github.com/FantasticLBP/Hotels_Server)
住哪儿 App 的后台管理功能,包括主题酒店、特色酒店发布、注册用户的统计查看、订单的统计查看、酒店的统计查看。Controller 目录下的 Api 下就是给 App 开发的 api。想写 api 的童鞋们可以看看。
包括 php 系统开发的常见功能:
- 复杂表单的提交,包括多图片上传
- 基于 Bootstrap 框架的界面布局
- 封装 PDO 数据库操作类,实现增删改查等等常见功能,调用简单
- 随机酒店推荐策略
- 多条件模糊搜索酒店算法
- jquery 表格插件 Datatables 的使用大大丰富了数据的展现方式,更具交互性。具有自动分页、模糊搜索等功能
- 封装了 Response 类,可以传递 4 个参数 show($code, $message = '', $data = array(), $type = self::JSON)来展示 json 或者 array 或者 xml。
- 工程结构一幕了然,便于拓展
效果截图
如果有不懂的地方可以加入 QQ 交流群讨论:515066271。这个 QQ 群讨论技术范围包括:iOS、H5 混合开发、前端开发、PHP 开发,欢迎大家讨论技术。