美文网首页
TTMS(仿猫眼电影)iOS版项目报告

TTMS(仿猫眼电影)iOS版项目报告

作者: 太阳骑士索拉尔 | 来源:发表于2019-06-19 12:43 被阅读0次

    Table of Contents

    前言

    • 该作品是2019年软件工程课设作品,整体界面仿照猫眼电影App制作,其中电影列表与影院列表是直接调用的猫眼的api,安排的演出场次以及下订单是合作的后台小伙伴写的接口
    • 由于是课设作品,项目中大量的运用了各色第三方库,下面会一一放出,感谢开源,不然一个选座我就得写两周了
    • 本次收获最多的还是增加了和后台对接的经验,中间踩了很多网络请求错误的坑,在后面会放我对各种code报错的总结。另外学到最多的还是前后端对于数据类型不一样导致的问题(其实我也不是很懂,都是后台大大牛逼)
    • 另外就是对于常用的第三方库越来越熟练了,JSONModel,Masonry,SDWebImage,AFNetworking(其实也就是那几个方法。。。)
    • 总的来说,这次收获比我想的还是要大一点,这两周不到的时间能写完这样一个看起来非常像样的项目,很有成就感,比大二上的时候要老来呢多了
    • 此外就是觉得很多时候UI部分用用网上开源部分就很好了,没必要浪费太多时间,这次依然写了很多重复的代码,大多是cell布局以及JSONModel解析,真的是又臭又长

    GitHub

    • BGL-Cinema-System
    • Demo前半部分关于热映电影以及所有影院的部分可以正常使用(因为使用的就是猫眼的api),剩下的登陆注册,选座下单部分由于是后台小伙伴自己写的,所以URL全替换成了无效的
    • 如果想看效果可以把网络请求部分注释掉,将tableview row改成死数据,应该就能行了

    所有使用到的第三方库

    项目详细说明

    • 由于扯了很多第三方库,导致整个项目结构无比混乱,除了最开始的登陆注册我还是老老实实按照MVC来写的,后面就开始一个controller就完事了
    • 所以这部分我会写清楚每个界面对应ViewController是哪个,至于配套的View和Model看一下头部的#import就行

    登陆注册

    登陆

    预览

    38444807D07B1C68364B6C1C1AE378BE

    文件名

    BGLLoginViewController

    注册

    预览

    2BAAF1C61A24F7889D671C89DF186558

    文件名

    BGLRegisterViewController.h

    总结

    • 登陆注册是我唯一老老实实按照MVC写的,后面觉得太麻烦了就没搞,一个大C是真的舒服
    • 登陆注册可以形成token,但是为了方便展示,并没有使用,最后都是给某个用户使用
    • 没加前端输入判断,说实话,就是很粗糙的

    城市定位

    预览

    70B68A835B11B22E681E330DCA284F06

    文件名

    LocationViewController

    总结

    选择电影

    预览

    E05DD87FA222B7DCE91F1C539AFF9AED

    文件名

    MovieFirstViewController

    总结

    选择影院

    预览

    6C8351C52F7FD4E4860AE5DFFA0BD98D

    文件名

    MovieSecondViewController

    查看我的订单

    预览

    E8418E0D2A3082894F6B59DCD0E021EC

    文件名

    MineViewController

    选择场次

    预览

    D2C1A4F5-4E7A-46F3-8468-633CC26F5F52

    文件名

    ChooseSessionViewController

    总结

    选座

    预览

    86AF0F2A-C4C0-441C-9E3B-97687AF34322

    文件名

    SMViewController

    总结

    • 使用selectSeat movie iOS objective-c(电影选座),改了几个接口,最后使用遍历dictSeatState,将value为2的key也就是KyoCinameSeatStateSelected的传出key以及在value数组中的序号,即座位号了
    • 这一步的时候对于字典的解析更深了一些,字典还是好用啊

    遇到的问题

    code = xxx

    数据传不过去

    遗憾

    • 课设作品按照道理应该也没啥遗憾不遗憾的,本质上就是个各色第三方库的堆砌,但还是有点小遗憾,写下来希望下次改正
    • 测试后台接口的时候,经常要在局域网和公网上切换,导致请求的链接一直要变,其实应该写一个宏定义来写链接,一改全部都改了;同时这样在最后上传GitHub的时候还可以把该宏定义改成乱码,防止后台接口暴露
    • 由于是课设作品,没怎么追求美观,没放任何动画上去,有点遗憾
    • 写了好多好多自定义cell文件,没有用枚举写成可选类型,但是我对于封装cell后数据应该怎样更新还有点想不通
    • 城市定位虽然有,但没有用到,如果还要对城市有选择的话,显然对后台压力有点大
    • 登陆注册部分其实我在前端没有做任何判断,别说重复密码有没有输对了,就是没写重复密码都没事
    • 选座部分其实第一列的座位选不了。。。
    • 本来设想的其实是我在下单成功后,生成一个二维码,用户可以扫一扫返还,算是下单成功。可是后台反应,单纯扫一扫无法发送请求确认订单已支付,so,gg

    相关文章

      网友评论

          本文标题:TTMS(仿猫眼电影)iOS版项目报告

          本文链接:https://www.haomeiwen.com/subject/urghqctx.html