컴시간을 파싱하는 라이브러리입니다.
안드로이드 컴시간알리미 앱에서 파싱합니다.
아직 학생 시간표밖에 지원하지 않습니다.
본 라이브러리는 비공식적으로 컴시간알리미의 데이터를 파싱합니다.
상업적으로 사용하다 문제가 발생할경우, 제작자는 책임을 지지 않습니다.
npm install parse-comcigan
Comcigan 클래스의 인스턴스를 생성하여 사용합니다.
인스턴스를 생성할 때 옵션을 지정할 수 있습니다.
| 옵션 | 타입 | 기본값 | 설명 |
|---|---|---|---|
| cacheMs | number | 0 | 캐시될 시간(밀리초)입니다. 0일때 캐시를 비활성화합니다. |
| doNotThrow | boolean | true | Axios에서 validateStatus를 항상 true로 반환할 지에 대한 여부입니다. |
| debug | (msg: string) => any | undefined | 디버그 메시지를 처리하는 콜백입니다. 이 콜백은 주로 컴시간과 통신할 때 호출됩니다. |
| appVersion | string | 2.11 | 컴시간알리미 안드로이드 앱의 버전입니다. |
import Comcigan from 'parse-comcigan';
const comci = new Comcigan({
"cacheMs": 10000, // 10초동안 캐시됩니다.
"doNotThrow": false, // false일때, status가 4 또는 5로 시작하면 throw 됩니다.
"debug": (msg) => console.log(msg) // 모듈에서 디버그 메시지를 보내면 콘솔에 출력합니다.
});학교를 검색합니다.
마지막 "없으면 추가 검색 하세요." 문구는 자동으로 빠져서 나옵니다.
당연하지만 컴시간을 사용하는 학교만 검색됩니다.
| 파라메터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| query | string | Yes | 검색어 |
comci.SearchSchool("서울").then(data => {
console.log(data);
});다음을 Promise 형태로 리턴합니다.
| 키 | 타입 | 설명 |
|---|---|---|
| region | string | 학교의 지역 |
| name | string | 학교 이름 |
| code | number | 학교 코드 |
시간표를 가져옵니다.
| 파라메터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| options | GetTimetableOptions | Yes | 옵션 |
comci.GetTimetable({
"schoolCode": 96211,
"criteria": "period",
"grade": 3,
"classN": 5,
"without8th": false,
"nextWeek": true // 다음 주 시간표 가져오기 (등록된 일자가 1개이면 이번 주 시간표를 가져옵니다.)
}).then(data => {
console.log(data.timetable[0][7]); // [요일][교시] 다음주 월요일 8교시
});
comci.GetTimetable({
"schoolCode": 96211,
"criteria": "weekday",
"grade": 3,
"classN": 5,
"without8th": true
}).then(data => {
console.log(data.timetable[4][0]); // [교시][요일] 월요일 5교시
});다음을 Promise 형태로 리턴합니다.
| 키 | 타입 | 설명 |
|---|---|---|
| latestVersion | string | 컴시간 앱 최신버전 |
| changed | string | 수정된 날짜 시간 |
| timetable | ComciganTimetableObject[][] | 시간표 |
학급 리스트를 가져옵니다.
| 파라메터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| schoolCode | number | Yes | 학교 코드 |
comci.GetClassList(96211).then(data => {
console.log(data[0]); // 1-1
});리턴 타입: Promise<string>
| 키 | 타입 | 설명 | 필수 |
|---|---|---|---|
| subject | string | 과목 | Yes |
| changed | string | 교사 | Yes |
| original | 여기서 original만 빠진 오브젝트 | 원래 시간표 | No |
| 파라메터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| schoolCode | number | Yes | 학교 코드 |
| criteria | "weekday" or "period" | Yes | 리스트 반환을 어떻게 할지 여부입니다. |
| grade | number | Yes | 학년 |
| classN | number | Yes | 반 |
| without8th | boolean | No | 8교시를 빼고 리턴할지에 대한 여부입니다. |
| nextWeek | boolean | No | 다음 주 시간표를 반환할지에 대한 여부입니다. |
- 다음 주 시간표 보기
- 디버그 메시지 수정
- 버전 넘버링 수정
- 앱 버전 수정 기능 추가
- 시간표 버그 수정
- 모듈이 불러와지지 않던 버그 수정
- 문서의 많은 오류 수정
- 8교시 제외 추가
- 모듈이 불러와지지 않던 버그 수정
- undefined 참조 버그 수정
- 문서 잘못되어있던 버그 수정
- package.json 수정
- 첫번째 릴리즈