UNPKG

parse-comcigan

Version:

컴시간 알리미에서 시간표를 가져오는 라이브러리입니다.

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