mirror of
https://github.com/cqwu-ehall/cqwu-ehall.git
synced 2024-11-22 11:01:20 +00:00
62 lines
2.0 KiB
Python
62 lines
2.0 KiB
Python
import json
|
|
from typing import List
|
|
|
|
import cqwu
|
|
from cqwu import types
|
|
|
|
|
|
class GetScore:
|
|
async def get_score(
|
|
self: "cqwu.Client",
|
|
year: int = None,
|
|
semester: int = None,
|
|
) -> List["types.Score"]:
|
|
"""
|
|
获取期末成绩
|
|
|
|
Returns:
|
|
List[types.Score]: 成绩列表
|
|
"""
|
|
year = year or self.xue_nian
|
|
semester = semester or (self.xue_qi + 1)
|
|
await self.oauth_xg()
|
|
query_url = (
|
|
"http://xg.cqwu.edu.cn/xsfw/sys/zhcptybbapp/modules/cjcx/cjcxbgdz.do"
|
|
)
|
|
headers = {
|
|
"Accept": "application/json, text/javascript, */*; q=0.01",
|
|
"Accept-Language": "zh-CN,zh;q=0.9",
|
|
"Connection": "keep-alive",
|
|
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
"Origin": "http://xg.cqwu.edu.cn",
|
|
"Referer": "http://xg.cqwu.edu.cn/xsfw/sys/zhcptybbapp/*default/index.do",
|
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.63",
|
|
"X-Requested-With": "XMLHttpRequest",
|
|
}
|
|
query_data = [
|
|
{
|
|
"name": "XN",
|
|
"caption": "学年",
|
|
"linkOpt": "AND",
|
|
"builderList": "cbl_m_List",
|
|
"builder": "m_value_equal",
|
|
"value": str(year),
|
|
},
|
|
{
|
|
"name": "XQ",
|
|
"caption": "学期",
|
|
"linkOpt": "AND",
|
|
"builderList": "cbl_m_List",
|
|
"builder": "m_value_equal",
|
|
"value": str(semester),
|
|
},
|
|
]
|
|
data = {
|
|
"querySetting": json.dumps(query_data),
|
|
"pageSize": "100",
|
|
"pageNumber": "1",
|
|
}
|
|
html = await self.request.post(query_url, headers=headers, data=data)
|
|
data = [types.Score(**i) for i in html.json()["datas"]["cjcxbgdz"]["rows"]]
|
|
return data
|