校园助手 iOS 端 HutHelper-Open

Apache
Objective-C
跨平台
2017-02-01
IsNine
HutHelper-Open 正在参加 2019 年度最受欢迎开源中国软件评选,请投票支持!
HutHelper-Open 在 2019 年度最受欢迎开源中国软件评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票赢奖品
已投票

校园助手iOS端

    项目框架

    .
        ├── HutHelper
        │   ├── 3rd:因为各种原因没有用Pods管理的第三方库
        │   ├── Utils:一些工具类等
        │   ├── Request:网络请求
        │   ├── Models:数据模型
        │   ├── View:界面,xib或者storyboard之类的文件
        │   ├── Supporting Files:一些支持文件
        │   └── Controllers
        │       ├── Main:主界面
        │       ├── Login:登录界面
        │       ├── Class:课程表
        │       ├── Score:考试成绩
        │       ├── Exam:考试计划查询
        │       ├── User:用户界面
        │       ├── FeedBack:反馈界面
        │       ├── Power:寝室电费查询
        │       ├── Set:用户设置界面
        │       ├── Lost:失物招领界面
        │       ├── Day:校历界面
        │       ├── HomeWork:网上作业界面
        │       ├── Hand:二手市场界面
        │       ├── Library:图书馆界面
        │       ├── Other:其他
        └── Pods:项目使用了[CocoaPods](http://code4app.com/article/cocoapods-install-usage)这个类库管理工具
        └── json:请求的示例数据

    请注意,因为使用了Pods,所以请下载完项目后先运行

    pod install

    注意事项

    • 考虑到在校用户信息的安全性,App的接口地址全部换成了镜像接口,与线上版本不同

    • 除此之外,一切和上线版本代码全部一致

    • 同时因为镜像接口的数据是固定的,所以测试时,登录界面,无论输入什么,点登录就可以

    • 课程数据,考试数据,用户数据,课表数据,说说数据,二手数据这些也都是固定的

    • 请求的数据可以在json文件夹中查看

    如果要进行二次开发,可以直接把请求的地址改成自己后端的地址,然后把接受的数据改一下即可.

    上架情况

    功能介绍

    登录界面

    登录界面采用简洁的方式展示。 用户输入学号和密码后,将通过JSON连接网络,得到Msg信息 如果成功--->存储Json至NSUserDefault 如果失败--->返回Msg提示信息

    主界面

    主界面是直接用xib做的,图片直接使用UI给的图片,另外的话有很多数据是在这个界面初始化的

    • viewDidLoad()方法中,需要计算APP打开的此时的周数,并且通过NSUserDefaults类将其数据存储到plist文件中

    • 判断是否为第一次登陆,是的话跳转到登陆界面

    • 判断设置中是否设置自动打开课程表,是的话跳转到课程表

    • 判断用户信息的标签是否上传

    • 初始化抽屉界面

    • ...

    成绩查询

    • 这里调用了UUCharView - 成绩曲线图标开源项目,展现了用户成绩数据,首先第一次打开这个界面会读取用户成绩数据,并缓存,后面几次打开时会直接读取缓存数据。如果需要刷新的话可以点刷新按钮。

    • 点右上角的按钮可以查询所有课程的成绩数据,同时也可以折叠数据。

    课程表

    这里使用了GWPCourseListView - 课程表界面开源项目,做了一些调整,并且修复了一些bug,开发者已经接受了我的pull。 同时自己集成了LGPlusButtonsView - 按钮控件开源项目的按钮控件,使课程表数据可以上下周的调整。

    • 另外加入了实验课程表,可以单独显示,也可以在设置里面设置成一起显示

    考试计划

    考试计划中将显示教务处正在计划和已经确定的考试 用的自定义tableview做的,很简单的绘制一个cell,然后将Json的数据与之交互

    电费查询

    简单的调用接口查询,没什么技术含量

    校园说说

    这个部分最大的问题就是适配的问题,有的图片多,有的文字多,怎么决定这个长度呢 所以我把每条说说分为四个部分,从上往下依次是 用户信息和文字/图片部分/评论数目部分/评论部分 这样首先根据文字的长度,分配第一个cell也就是文字的高度 然后根据图片的部分,分配第二个cell也就是图片的高度

    二手市场

    每个cell显示两个商品,很简单的做法

    图书馆/校园说说/二手市场/网上作业

    这两个部分因为没有接口,所以直接用web端做的

    项目使用的开源项目

    最后

    这是本人刚进大二,在湖南工业大学实验室写的一款App,目的主要是为湖南工业大学的学生提供一些便利,同时也是湖南省省级项目,App中有很多不足的地方,代码的可读性也不是很好,甚至于最开始的版本,网络请求都是同步请求,没有加载框,很容易卡死。但是不管如何,我都在完善。 这是开源的第一个版本,在后续每当上线版本有大的更新后,我都会同步发布在这里 其目的是,如果有其他学校的同学也需要开发一个服务于自己母校的iOS App,可以从这得到一定的参考 如果有任何问题也可以在issues留言

    License

    Apache Licene 2.0

    加载中

    评论(6)

    克见
    你这个我也非常喜欢 然后这个可以 我也有做这样的一个想法 但是我的很简单 可以联系吗???
    心却向南
    心却向南
    好诶
    ESTP联创
    ESTP联创
    我是西安一个大学学生,也打算开发一个这样的软件,你的软件现在怎么样了,可以和我联系吗,我希望和你合作!
    Amy_艾米丽
    Amy_艾米丽
    我也觉得很厉害
    H慧极必伤
    H慧极必伤
    很厉害了。
    I
    IsNine 软件作者
    好评

    暂无资讯

    暂无问答

    Nmap扫描教程之基础扫描详解

    Nmap扫描教程之基础扫描详解

    2015/06/29 10:35
    682
    0
    Chrome直接通过xdgurl安装Gnome 主题

    1. 安装[xdgurl](https://www.linux-apps.com/p/1136805/) 2. 更新或安装这些软件:qt5-qtbase、qt5-qtbase-gui、qt5-qtsvg、qt5-qtdeclarative、qt5-qtquickcontrols。这些软件的版本都必须...

    2016/11/19 22:55
    68
    0
    Oracle 时间转换,在脚本中执行sql语句

    例1:字符串时间转换成字符串 SQL> select username,account_status,expiry_date from dba_users; USERNAME ACCOUNT_STATUS EXPIRY_DATE ------------------------------ -----------------...

    2015/06/03 13:43
    17
    0
    Adding “Open Terminal” to Gnome Context Menu

    Ubuntu: Open your package manager and locate/install nautilus-open-terminal or alternatively open a terminal prompt and enter the command sudo apt-get install nautilus-open-term...

    2012/05/07 12:58
    55
    0
    【Eclipse】使用指南(16)打开Java元素声明

    在编辑器中打开Java类,跳转至Java类相关的类和成员。

    2015/07/07 18:19
    54
    0
    6 Python 的文件操作

    读取一个文件 首先你先要知道文件名(路径),还有就是权限(读,写,b (二进制方式), a(对文件进行追加) ) 文件的基本操作 1 我们先写一个txt liang chuan chuan 然后 代码写 f = open("...

    2018/04/13 23:08
    5
    0
    聊聊resilience4j的CircuitBreakerStateMachine

    序 本文主要研究一下resilience4j的CircuitBreakerStateMachine CircuitBreakerStateMachine resilience4j-circuitbreaker-0.13.0-sources.jar!/io/github/resilience4j/circuitbreaker/int...

    2018/07/12 10:35
    51
    0

    没有更多内容

    加载失败,请刷新页面

    返回顶部
    顶部