diff --git a/env.py.example b/env.py.example index 268d474..4a776bd 100644 --- a/env.py.example +++ b/env.py.example @@ -132,7 +132,7 @@ QUERY_JOBS = [ # }], 'members': [ # 乘客姓名,会根据当前账号自动识别乘客类型 购买儿童票 设置两个相同的姓名即可,程序会自动识别 如 ['张三', '张三'] "张三", - "王五", + "*王五", #在姓名前加*表示学生购买成人票 # 7, # 支持通过序号确定唯一乘客,序号查看可通过 python main.py -t 登录成功之后在 runtime/user/ 下找到对应的 用户名_passengers.json 文件,找到对应的 code 填入 ], 'allow_less_member': 0, # 是否允许余票不足时提交部分乘客 diff --git a/py12306/user/job.py b/py12306/user/job.py index 9d7d95e..e6582c7 100644 --- a/py12306/user/job.py +++ b/py12306/user/job.py @@ -352,6 +352,11 @@ class UserJob: for member in members: is_member_code = is_number(member) if not is_member_code: + if member[0] == "*": + audlt = 1 + member = member[1:] + else: + audlt = 0 child_check = array_dict_find_by_key_value(results, 'name', member) if not is_member_code and child_check: new_member = child_check.copy() @@ -362,6 +367,8 @@ class UserJob: passenger = array_dict_find_by_key_value(self.passengers, 'code', member) else: passenger = array_dict_find_by_key_value(self.passengers, 'passenger_name', member) + if audlt: + passenger['passenger_type'] = UserType.ADULT if not passenger: UserLog.add_quick_log( UserLog.MESSAGE_USER_PASSENGERS_IS_INVALID.format(self.user_name, member)).flush()