zzupy package#
Submodules#
zzupy.api module#
- class zzupy.api.ZZUPy(usercode: str, password: str, log: bool = False)[源代码]#
基类:
object
初始化一个 ZZUPy 对象
- 参数:
usercode (str) – 学号
password (str) – 密码
log (bool) – 是否启用日志
- login(appVersion: str = 'SWSuperApp/1.0.33', appId: str = 'com.supwisdom.zzu', osType: str = 'android') Tuple[str, str] [源代码]#
通过学号和密码登录
- 参数:
appVersion (str) – APP 版本 ,一般类似 “SWSuperApp/1.0.33” ,可自行更新版本号,但详细数据需要抓包获取,位于 “passwordLogin” 请求的 User-Agent 中,也可随便填或空着,目前没有观察到相关风控机制。
appId (str) – APP 包名,一般不需要修改
osType (str) – 系统类型,一般不需要修改
- 返回:
Tuple[str, str]
usercode (str) – 学号
name (str) – 姓名
- 返回类型:
Tuple[str,str]
- set_device_params(**kwargs: Unpack[DeviceParams])[源代码]#
设置设备参数。这些参数都需要抓包获取,但其实可有可无,因为目前并没有观察到相关风控机制
- 参数:
deviceName (str) – 设备名 ,位于 “passwordLogin” 请求的 User-Agent 中,组成为 ‘{appVersion}({deviceName})’
deviceId (str) – 设备 ID ,
deviceInfo (str) – 设备信息,位于名为 “X-Device-Info” 的请求头中
deviceInfos (str) – 设备信息,位于名为 “X-Device-Infos” 的请求头中
userAgentPrecursor (str) – 设备 UA 前体 ,只需要包含 “SuperApp” 或 “uni-app Html5Plus/1.0 (Immersed/38.666668)” 前面的部分
zzupy.ecard module#
- class zzupy.ecard.eCard(parent)[源代码]#
基类:
object
- get_building_dict(areaid: str) dict [源代码]#
获取建筑的字典
- 参数:
areaid (str) – 通过get_area_dict()获取
- 返回:
建筑字典
- 返回类型:
dict
- get_remaining_power(room: str) float [源代码]#
获取剩余电量
- 参数:
room (str) – 格式应为 “areaid-buildingid–unitid-roomid”,可通过get_area_dict(),get_building_dict(),get_unit_dict(),get_room_dict()获取
- 返回:
剩余电量
- 返回类型:
float
- get_room_dict(areaid: str, buildingid: str, unitid: str) dict [源代码]#
获取房间的字典
- 参数:
areaid (str) – 通过get_area_dict()获取
buildingid (str) – 通过get_building_dict()获取
unitid (str) – 通过get_unit_dict()获取
- 返回:
房间字典
- 返回类型:
dict
- get_unit_dict(areaid: str, buildingid: str) dict [源代码]#
获取照明/空调的字典
- 参数:
areaid (str) – 通过get_unit_dict()获取
buildingid (str) – 通过get_building_dict()获取
- 返回:
照明/空调字典
- 返回类型:
dict
- recharge_electricity(room: str, paypasswd: str, amt: int) Tuple[bool, str] [源代码]#
为 room 充值电费
- 参数:
room (str) – 宿舍房间。理论上空调和照明均支持.格式应为 “areaid-buildingid–unitid-roomid”,可通过get_area_dict(),get_building_dict(),get_unit_dict(),get_room_dict()获取
paypasswd (str) – 支付密码
amt (int) – 充值金额
- 返回:
Tuple[bool, str]
success (bool) – 充值是否成功
msg (str) – 服务端返回信息。
- 返回类型:
Tuple[bool,str]
zzupy.log module#
- zzupy.log.default_format: str = '<g>{time:MM-DD HH:mm:ss}</g> [<lvl>{level}</lvl>] <c><u>{name}</u></c> | {message}'#
默认日志格式
zzupy.network module#
- class zzupy.network.Network(parent)[源代码]#
基类:
object
- login(loginurl: str = 'http://10.2.7.16:8080', ua: str = 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GSA/343.0.695551749 Mobile/15E148 Safari/604.1')[源代码]#
登录自助服务平台
- 参数:
loginurl (str) – 自助服务平台的登录 URL
ua (str) – User Agent
- logout_device(sessionid: str) bool [源代码]#
- 参数:
sessionid (str) – sessionid,可通过 get_online_devices() 获取
- 返回:
成功或失败
- 返回类型:
bool
- portal_auth(interface: str = 'lo', authurl='http://10.2.7.8:801', ua='Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0', isp='campus') Tuple[str, bool, str] [源代码]#
进行校园网认证
- 参数:
interface (str) – 网络接口名
authurl (str) – PortalAuth 服务器。根据情况修改
ua (str) – User-Agent
isp (str) – 运营商。可选项:campus,cm
- 返回:
Tuple[str, bool, str]
interface (str) – 本次认证调用的网络接口。
success (bool) – 认证是否成功。(不可信,有时失败仍可正常上网)
msg (str) – 服务端返回信息。
- 返回类型:
Tuple[str,bool,str]