2021-09-11 11:28:16 +08:00

80 行
2.7 KiB
TypeScript

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)
}