Code Monkey home page Code Monkey logo

onetj's Introduction

OneTJ 同济教务第三方客户端

功能一览

注:预览图仅为展示效果,数据为虚构。

主页

img

从同济 API 读取学生基本信息,并在首页展示。男生和女生呈现的头像图不同。

当日气温较高或较低时,会呈现“彩蛋”图。

主页提供 app 各功能的入口。下方展示一系统首页通知,用户可以点进去查看详情。

登录页

img img

将用户引向信息办的统一登录网站。

抢课

要求补充完成一次登录,以绕过信息办接口,直接访问一系统接口。

提供多线程抢课能力,支持在抢课过程中动态加入想要抢的其他课程。支持后台运行(会主动向用户申请权限)。

课程成绩

img

呈现该学生所有学期的成绩。

今日课表

img

显示单日课表。可以切换日期。

体锻体测

img

查看体测体锻数据。

四六级

img

查看四六级考试成绩。

全部课表

img

查看该学生本学期全部课程。

一系统首页通知

img

查看一系统首页通知详情。

全校课表

img

查询全校课表。支持丰富的筛选搜索。

其他

  • app 自动更新
  • 登录日志采集

分发说明

允许任何人将经过官方签名的 apk 安装包分享到任意平台。

经过官方签名的 apk 可以从以下渠道获取:

  • FlowerBlackG/OneDotTongji GitHub 仓库的 Release 栏目
  • app 内自动更新模块检测到更新时,提供的下载地址

app 开发信息

  • 平台:Android 10+
  • 语言:Kotlin
  • 构建系统:Gradle (Kotlin DSL)
  • 开源许可:木兰宽松许可证第2版

推荐开发环境

  • IDE: Android Studio
  • 调试设备:Android 12+

项目整体结构

common 存放其他 app 也可共享的组件。

onetongji 存放本 app 的子模块。

共享组件

InfoCard

你可以注意到,不少功能内都有长相相似的信息卡片。

该卡片由以下部分组成:

  • 标题
  • 信息区域
  • 左侧图标
  • 右下角文本

其中,信息区域由多个 Key Value 对组成,之间以一个分隔符隔开。

InfoCard 拥有很强的定制能力。可定制部分包括但不限于:

  • 是否有边框
  • 信息区域分隔符是什么
  • 是否有图标
  • 字体大小
  • 内部各方向间距。

OneTJ

service

后台服务。自动抢课的抢课部分需要在后台运行。

activity

用户直接看得见的界面。其中,func 里面存放各个子功能的界面。

所有界面继承自 OneTJActivityBase,这样我们可以在 Base 里面做一些通用工作。通过调整构造函数的传入参数,我们可以自定义一个 activity 有无标题栏,有无返回按钮,有无进度条等。

tools

一些开发工具。对接同济 API 以及开发者自有后端的工具都在这里面。

参与开发

克隆代码,用最新版 Android Studio 打开。

建议关闭 GarCloudApi.kt 内的日志上报功能。开发过程会产生大量无意义日志,它们会干扰对云端日志的分析。

开发完毕,向主仓库 FlowerBlackG/OneDotTongji 提交 pr 即可。

由衷期待并感谢你的参与!

其他

本项目由个人开发者维护。如果该项目对你有帮助,希望能为本 app 提供宣传。

此外,欢迎体验开发者的另一个项目,一款自动刷锻 app。地址:跑吗

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.