Code Monkey home page Code Monkey logo

uestc-react-native-ios's Introduction

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

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.