Skip to content

Pro203S/parse-comcigan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

parse-comcigan

컴시간을 파싱하는 라이브러리입니다.
안드로이드 컴시간알리미 앱에서 파싱합니다.
아직 학생 시간표밖에 지원하지 않습니다.

경고

본 라이브러리는 비공식적으로 컴시간알리미의 데이터를 파싱합니다.
상업적으로 사용하다 문제가 발생할경우, 제작자는 책임을 지지 않습니다.

설치

npm install parse-comcigan

개발

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) // 모듈에서 디버그 메시지를 보내면 콘솔에 출력합니다.
});

SearchSchool

학교를 검색합니다.
마지막 "없으면 추가 검색 하세요." 문구는 자동으로 빠져서 나옵니다.
당연하지만 컴시간을 사용하는 학교만 검색됩니다.

파라메터 타입 필수 설명
query string Yes 검색어
comci.SearchSchool("서울").then(data => {
    console.log(data);
});

다음을 Promise 형태로 리턴합니다.

타입 설명
region string 학교의 지역
name string 학교 이름
code number 학교 코드

GetTimetable

시간표를 가져옵니다.

파라메터 타입 필수 설명
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[][] 시간표

GetClassList

학급 리스트를 가져옵니다.

파라메터 타입 필수 설명
schoolCode number Yes 학교 코드
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
without8th boolean No 8교시를 빼고 리턴할지에 대한 여부입니다.
nextWeek boolean No 다음 주 시간표를 반환할지에 대한 여부입니다.

업데이트 로그

0.3.0

  • 다음 주 시간표 보기
  • 디버그 메시지 수정

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

  • 첫번째 릴리즈

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published