2. 一卡通接口

class njupt.Card(username=None, password=None)

一卡通相关接口

参数
  • username (str) – 一卡通卡号

  • password (str) – 一卡通查询密码

Raise

njupt.exceptions.AuthenticationException

>>> card = Card(username='110201500111111', password='sssss')
get_balance()

查询余额

返回

包含 过度余额、到账余额、总余额的dict

返回类型

dict of (str, float)

>>> card.get_balance()
{'balance': 10.01, 'unsettle_balance': 0.01, 'total': 10.02}
get_bill(start_date='2019-10-03', end_date='2019-11-02', rows=100, page=1)

查询一卡通消费记录,默认为最近一个月的消费记录

参数
  • start_date – 如 “2017-12-27”

  • end_date – 如 “2018-01-26”

  • rows – 一次查询返回的最大记录数量,默认为100条记录

  • page – 如果结果数量有多页,决定返回第几页。

返回

查询到的信息,格式见例子

返回类型

dict

>>> card.get_bill()
{
    'recodes':
        [
            {
                'balance': 39.71,
                'change': -5,
                'comment': '未知系统,交电费',
                'department': '仙林售电处',
                'time': '2018-01-26 20:55:40',
                'type': '代扣代缴',
                'week': '星期五'
            },
            ...
        ],
    'total': 52
    'total_pages': 2
    'page': 1
}
get_net_balance()

获取Dr.com的上网费用余额

返回

dr.com的余额

返回类型

float

>>> card.get_net_balance()
2.33
recharge(amount)

从绑定的银行卡中扣款充值余额

参数

amount (float or int) – 充值金额, 单位为元

返回

充值结果

返回类型

dict

>>> card.recharge(10)
{'success': True, 'code': 0, 'msg': '转账成功'}
recharge_net(amount)

充值网费(一卡通余额 ==> 城市热点)

参数

amount (float or int) – 充值金额, 单位为元

返回

充值结果

>>> card.recharge_net(11)
{'success': True, 'code' : 0, 'Msg' : '充值成功'}
recharge_sanpailou_elec(amount, building_name, room_id)

充值三牌楼校区的寝室电费,参数参考仙林校区(未测试

recharge_xianlin_elec(amount, building_name, big_room_id, small_room_id=0)

充值仙林校区的寝室电费

参数
  • amount (float) – 充值金额

  • building_name (str) – 楼栋名称,例如 “兰苑11栋”

  • big_room_id (int or str) – 大寝寝室号

  • small_room_id (int or str) – 小寝寝室号, 不传或传0则表示充值为大寝电费, 1、2、3则充值对应小寝空调电费

返回

充值结果

Raise

njupt.exceptions.NjuptException 楼栋名称不正确

>>> card.recharge_xianlin_elec(
>>>    amount=11,
>>>    building_name='兰苑11栋',
>>>    big_room_id=403,
>>>    small_room_id=1
>>> )
{'code': 0, 'msg': '缴费成功!', 'success': True}