import {IJsonCourse} from "./types" import {getTimeNow, sduAxios, sleep} from "./includes" import {appConfig} from "./config" import * as qs from "qs" let reqData = [ {"name": "sEcho", "value": "1"}, {"name": "iColumns", "value": "2000"},// 1 {"name": "sColumns", "value": ""}, {"name": "iDisplayStart", "value": "0"}, {"name": "iDisplayLength", "value": "2000"},// 1 {"name": "mDataProp_0", "value": "kch"}, {"name": "mDataProp_1", "value": "kcmc"}, {"name": "mDataProp_2", "value": "kxhnew"}, {"name": "mDataProp_3", "value": "jkfs"}, {"name": "mDataProp_4", "value": "xmmc"}, {"name": "mDataProp_5", "value": "xf"}, {"name": "mDataProp_6", "value": "skls"}, {"name": "mDataProp_7", "value": "sksj"}, {"name": "mDataProp_8", "value": "skdd"}, {"name": "mDataProp_9", "value": "xqmc"}, {"name": "mDataProp_10", "value": "xkrs"}, {"name": "mDataProp_11", "value": "syrs"}, {"name": "mDataProp_12", "value": "ctsm"}, {"name": "mDataProp_13", "value": "szkcflmc"}, {"name": "mDataProp_14", "value": "czOper"} ] export const JsonCourseList = <{ bx: IJsonCourse[], xx: IJsonCourse[], rx: IJsonCourse[] }>{ bx: [], xx: [], rx: [] } async function updateBx() { try { let resp = await sduAxios.post('/jsxsd/xsxkkc/xsxkBxxk?1=1&kcxx=&skls=&skfs=', qs.stringify(reqData)) JsonCourseList.bx.length = 0 JsonCourseList.bx.push(...resp.data.aaData) console.log('更新必修JsonList成功') } catch (e) { console.log('获取必修JsonList失败 at ' + getTimeNow()) } } async function updateXx() { try { let resp = await sduAxios.post('/jsxsd/xsxkkc/xsxkXxxk?1=1&kcxx=&skls=&skfs=', qs.stringify(reqData)) JsonCourseList.xx.length = 0 JsonCourseList.xx.push(...resp.data.aaData) } catch (e) { console.log('获取限选JsonList失败 at ' + getTimeNow()) } } async function updateRx() { try { let resp = await sduAxios.post('/jsxsd/xsxkkc/xsxkGgxxkxk?kcxx=&skls=&skxq=&skjc=&sfym=false&sfct=false&szjylb=&sfxx=false&skfs=', qs.stringify(reqData)) JsonCourseList.rx.length = 0 JsonCourseList.rx.push(...resp.data.aaData) } catch (e) { console.log('获取任选JsonList失败 at ' + getTimeNow()) } } export async function poll() { if (appConfig.channels.includes('bx')) { await updateBx() await sleep(appConfig.interval) } if (appConfig.channels.includes('xx')) { await updateXx() await sleep(appConfig.interval) } if (appConfig.channels.includes('rx')) { await updateRx() await sleep(appConfig.interval) } setImmediate(poll) }