# oneCourse
**Repository Path**: ffffffds/one-course
## Basic Information
- **Project Name**: oneCourse
- **Description**: 一课表仓库
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 9
- **Forks**: 0
- **Created**: 2021-08-30
- **Last Updated**: 2025-10-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 官网 https://qq1159704367.github.io/oneCourse/
# 适配提交 / 申请
## **1. 申请进行适配(预计一~两周上线,后续会更快)**
## 无需自己动手!!!
### 无需自己动手!!!
#### 无需自己动手!!!
### **→您可以通过填写问卷进行申请:[问卷地址](https://wj.qq.com/s2/9278405/958c/)←**
#### 由于适配需要时间精力,可能进行得不会这么快,技术不足也不一定能够适配成功,感谢大家的信任与支持。
#### $\color{#FF0000}{请注意:收到申请后我一定会回复的,如果没有回复请查看邮件地址,或者加群询问,谢谢}$
## 2.仅适配课表
#### 如果仅适配课表,那么只需要在电脑上登陆教务系统,在可以看到课表的时候,点击f12,将element(元素)内的内容复制发送到邮箱中即可,同时还需发送 **$\color{#ff0000}{上课时间,教务网址}$** (持续时间、每节课开始时间)
#### 注:适配该功能只会在智能教务导入中实现,不会用于教务登录中噢,软件中的登录功能是无法使用的噢。

## 3. 想要自己适配自己学校
#### 下载schoolBase.java文件,根据文件进行重写相关的函数,具体要求在文件中可以看到
#### 模仿example.java,对文件相关函数补全
#### 完成后,将代码文件 xxxxdx.java 发送到 oneCourse@outlook.com ,标题为 提交适配xxx大学,文件名请以大学简拼命名,在审核后会将您的适配更新到应用上。
#### 对每一位自主适配的同学感到由衷的感谢,是你们提供了这个应用的生态,如果需要,可以将您的信息记录在对应的教务系统上。
## 附录说明(更多细节请看 ```https://gitee.com/ffffffds/school-match/tree/master```)
```
public abstract class schoolBase {
//记录教务能力,若可以执行为true,否则为false
public boolean courseGet = true; //必选
public boolean scoreGet = false; //可选
public boolean gpaGet = false; //可选
public boolean examGet = false; //可选
public boolean needVerifyCode = false; // 是否需要验证码(目前仅支持图片验证码),需要则无法支持卡片功能,仅能用于页面内教务使用,仅支持图像验证码
public String[] courseTime = new String[]{}; //课程时间串,第一个为课程1节持续时间,后续为第n节课的起始时间
//登录函数,初始化时完成登录,返回JSON字符串或者JSONObject,如果不需要验证码,请忽视verifyCode这个参数,在需要验证码时他会带上用户输入的验证码值
//内容格式示例---
//{name:xxx}
//name:String //学生姓名
public abstract String Login(String id,String pas,String verifyCode);
//获取最新学期的课表,返回JSON字符串或者JSONObject,错误返回null,请检测登陆过期,并在过期时重新登陆,再获取信息
//内容格式示例:
//{courses:[[{idx:1,name:xxx,last:2,teacher:xxx,place:xxx,week:["1-16"]}],[],[],[],[],[],[]],startDate:"2021-01-04"}
//---courses:Array> 记录课程信息,内容如下:
//idx:Number 课程索引,按照课程次序从大到小,1为第一节课,依次后推
//name:String 课程名称
//last:Number 课程持续节次
//teacher:String, place:String 可选
//week:Array 可有格式 "1-16","2"
//返回的数组必须长度为7,记录顺序为周一,周二,...,周日
//---startDate:String 课程表的起始日期,需为周一,若无法获得请置本年第一个周一
//---warn:String 可选,提示信息,当下载课表时将弹出
public abstract String getCourses();
//获取成绩,返回JSON字符串或者JSONObject,错误返回null,请检测登陆过期,并在过期时重新登陆,再获取信息
//内容格式示例:
//[{name:xxx,value:80}]
//name:String 课程名称
//value:Number/String 课程分数,可显示A+等
public String getScores(){return null;}
//获取学分绩,返回JSON字符串或者JSONObject,错误返回null,请检测登陆过期,并在过期时重新登陆,再获取信息
//内容格式示例:
//{gpa: 3.9,all:100,at:30}
//gpa:Number 学分绩
//all:Number 总人数,可选,无可填-1
//at:Number 你的排名
public String getGPA(){return null;}
//若需要验证码,请在此函数获取验证码图片并返回
public byte[] getVerifyCode(){return null;}
//获取近期的考试安排,返回JSON字符串或JSONObject,错误返回null,请检测登录过期,并在过期时重新登陆,再获取信息
//内容格式示例:
//[{name:xxx,startDate:2021-09-20,place:xxx,time:14:40~16:40}]
//name:String 课程名称
//startDate:String 考试日期
//place:String 考试地点
//time:String 考试时间,需用 ~ 分割两段时间,呈xx:xx~xx:xx
public String getExams(){return null;}
}
```