Skip to content

📱电子科技大学(UESTC)iOS 客户端

Notifications You must be signed in to change notification settings

Vizards/uestc-react-native-ios

Repository files navigation

UESTC

UESTC

App Store 搜索「UESTC」即刻安装

iTunes App Store React Native Made for PRs Welcome %e2%9d%a4

界面截图

启动页  登录  课程表考试安排  学期成绩  成绩统计一卡通电费  更多功能      

功能列表

已有功能

  • 登录教务系统取得用户基本信息,支持退出登录和从数据库删除个人信息
  • 按学年学期查看课程表
  • 按学期查看考试时间、考场座位、考试倒计时
  • 按学期查看学科成绩详细数据
  • 查看 GPA 统计信息,学期成绩折线图,所有已修学科成绩
  • 绑定喜付账户,支持解绑和重新登录
  • 查看一卡通和电费余额
  • 查看 30 天一卡通消费详单
  • 查看班车信息(依赖清水河畔,可能无法访问)
  • 查看教务处信息公告、教学新闻
  • 教务服务资料下载,查询办事指南、校历、作息时间
  • 查询空闲教室信息
  • 查询当日全校课程、全校所有开设课程信息
  • 查询教师信息
  • 图书借阅信息
  • 课程表导入系统日历

预期功能

  • 考试、成绩信息推送
  • 一卡通、电费余额告警
  • iOS Today Widget(使用系统日历 Widget 代替)
  • 自主添加课程

开发

安装

$ git clone && npm install

运行

  1. 链接原生库

    $ react-native link
    
  2. 修改 node_modules/react-native-web-echarts/index.js 源码。第 30 行改为:

    source={Platform.OS === 'android' && !__DEV__ ? { uri:'https://qiniu.vizards.cc/tpl.html' } : { uri: 'https://qiniu.vizards.cc/tpl.html' }}
    
  3. 修改 RNBEMCheckBox.xcodeproj

    在 Xcode 中修改 Libraries/RNBEMCheckBox.xcodeproj/RNBEMCheckBoxManager.m

    • #import RCTBridge.h 改为 #import <React/RCTBridge.h>

    • #import RCTEventDispatcher.h 改为 #import <React/RCTEventDispatcher.h>

    • #import RCTConvert.h 改为 #import <React/RCTConvert.h>

  4. 配置依赖库 react-native-image-crop-picker

    参考 ivpusic/react-native-image-crop-picker - GitHub

    本项目没有采用推荐的 Cocoapods 方式安装此依赖库,请按照 Manual 指导的方式进行安装配置。

  5. 配置依赖库 jshare

    参考 jpush/jshare-react-native - GitHub

    请注意,此处需要您新建配置 RCTJShareConfig.plist,该文件应当位于 /ios/RCTJShareConfig.plist 同时需要拖入 XCode 以创建引用关系。

  6. 在模拟器运行

    $ react-native run-ios
    

错误处理

  1. 模拟器运行错误:

    Error: While resolving module `react-native-vector-icons/xxxx`, the Haste package `react-native-vector-icons` was found. 
    

    处理:

    • rm ./node_modules/react-native/local-cli/core/__fixtures__/files/package.json

    • 重启 packager

  2. Xcode 编译错误:

    Error: 'RCTBridgeModule.h' file not found
    

    处理:

    • 定位到该错误源文件,将 'RCTBridgeModule.h' 改为 <React/RCTBridgeModule.h>
  3. 其他错误请先尝试以下步骤:

    • 清理 React Native Packager 缓存:

      $ sudo rm -fr $TMPDIR/metro*
      
    • 在 Xcode 中运行 Product > Clean

    • 重建 node_modules:

      $ rm -rf node_modules && npm install
      

其他任何问题或开发交流,欢迎:

致谢

  • 设计师 轩轩 完成的 APP UI 设计

  • Apple Developer 蛋总 帮助上架

如您觉得此项目对您有帮助,或愿意协助改进,欢迎 Star 或 Fork

About

📱电子科技大学(UESTC)iOS 客户端

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published