UniCampus

UniCampus 是一款一站式跨平台移动应用程序。

此 README 中的所有图片均为真实效果。所有敏感信息,非我本人创建的图片均已屏蔽。在此仓库中,所有图片文件(按钮、图标等)均已替换为无版权图片。

此仓库仅包含我的代码和免费资源。您可以自由用于非商业用途,例如修改此应用程序供您的大学使用。商业用途请与我联系获取许可。

函数

欢迎对话框

当用户首次启动应用程序时,会出现一个对话框,显示用户应了解的一些信息,或为用户提供跳转到某些功能的快捷方式,例如导入课程信息。

课程表

提供了一种简单的导入方法,该方法允许修改者(您)轻松更改该方法以适应不同的网页。推荐使用正则表达式

不同的课程以不同的颜色显示,颜色根据课程名称选择。

主页有两个页面,今日本周

用户可以在今日页面找到今天和明天的课程,同时,他们可以滑动页面到本周查看本周的课程。

如果今天(或明天)没有课,应用程序将显示如下所示的图片。

如果本周有课,用户可以在两个页面中都找到它们。在本周页面,它将如下所示。

通过点击课程块(包括灰色块),用户可以更改课程信息。

图书馆搜索

提供了一个内置的综合页面浏览器来查询特定内容。

输入标题并开始搜索后,将有一个应用内 WebView 来查看结果。如果您想使用用户的默认浏览器,可以更改代码,例如 launch(xxxx.xxx/?q=${})

可自定义的子页面

您可以自定义信息页面和信息卡片,或者让用户点击包含信息的图片。

黄页

您可以修改黄页信息,方便用户快速查找电话号码。下图所有电话号码均被白色屏蔽。

反馈

使用 Sentry 进行崩溃报告,用户也可以手动提交反馈。

消息(需要服务器支持)

该应用程序具有即时消息的原型,但如果您想使用此功能,则需要额外的服务器软件。

项目结构

资源 (./{}/)

所有资源都可以在根目录下找到,例如 imagesfonts 等。

代码 (./lib/)

通用 (./lib/common/)

全局变量。

模型 (./lib/models/)

对象模型,例如 coursemessagenews

通信 (./lib/models/communicate/)

已弃用。

数据库 (./lib/models/database/)

用于操作 SQLite 数据库的代码,该数据库存储课程信息。

资源 (./lib/resource/)

Contains(包含)

  • PhoneNumber,黄页的电话号码
  • classIndexMap,课程的开始和结束时间
  • colorList,用于渲染课程表的可用颜色和用于根据字符串(课程名称)计算颜色的函数
  • url,用于检查更新、学期开始时间以及大学网站的 URL。

路由 (./lib/routes/)

  • Routes,此应用程序的导航
  • YellowPages,黄页
  • commonResource,已弃用
  • libraryQuiry,在电子图书馆查询书籍和其他资源
  • rootRoute,提供此应用程序的外观
  • settingRoute,已弃用
  • universityWebRoute,一个应用内 WebView 用于获取 HTML 以导入课程信息
页面 (./lib/routes/pages/)

可通过底部导航器切换的主页面。

设置 (./lib/routes/settings/)

已弃用。

广场 (./lib/routes/square/)

您可以修改这些页面以提供常见的学校信息。

工具 (./lib/uilts/)

  • classIndexUtil,检查两门课程是否冲突,以便通过点击来切换两门课程(有些大学允许学生选择同一时间段的课程)
  • dateCalculator,检查和计算周索引和日索引
  • imageLoader,已弃用
  • loginUtil,已弃用(他们甚至想使用 socket XD)
  • notificationUtil,创建一个通知通道,在课程开始前提供通知
  • updateUtil,检查此应用程序是否已过时
  • webUtil,解析课程信息并将其添加到数据库

组件 (./lib/widgets/)

  • blurWidget,提供一个模糊小部件
  • bodyProvider,可以通过更改索引来更改内容
  • classCard今日页面上显示课程信息的卡片
  • classCardList,组合的课程卡片
  • classCube本周页面上显示课程信息的立方体,并提供更改课程信息的功能,还可以处理冲突(用户无法添加冲突课程,但如果大学提供冲突课程,我们可以处理它们)
  • customTabBar,自定义标签栏
  • dialog,对话框提供程序
  • halfDayCoursesProvider,提供一定范围内课程的信息,并将它们组合成一个小部件
  • imageButton,图片按钮
  • imageViewProvider,图像视图提供程序
  • infoCard,信息卡片
  • searchBar,搜索栏
  • subjectCalender,已弃用
  • webViewPage,WebView 提供程序

应用程序图标

University icons created by Smashicons – Flaticon

GitHub

查看 Github