|
|
@@ -909,10 +909,6 @@ class VfsPlugin2(IVSPlg):
|
|
|
|
|
|
raise BizLogicError("Failed to refresh Cloudflare Turnstile token (Timeout)")
|
|
|
|
|
|
- # -------------------------------------------------------------
|
|
|
- # 核心预约逻辑 (DrissionPage 版)
|
|
|
- # -------------------------------------------------------------
|
|
|
-
|
|
|
def book(self, slot_info: VSQueryResult, user_inputs) -> VSBookResult:
|
|
|
"""
|
|
|
执行完整的预约流程
|
|
|
@@ -1179,6 +1175,11 @@ class VfsPlugin2(IVSPlg):
|
|
|
"employerFirstName": "",
|
|
|
"employerLastName": "",
|
|
|
"salutation": "",
|
|
|
+ "Subclasscode": None,
|
|
|
+ "VisaToken": None,
|
|
|
+ "centerClassCode": None,
|
|
|
+ "dateOfApplication": None,
|
|
|
+ "selectedSubvisaCategory": None,
|
|
|
"gender": gender_code,
|
|
|
"contactNumber": str(user_inputs.get("phone", "")),
|
|
|
"dialCode": dial_code,
|
|
|
@@ -1192,17 +1193,42 @@ class VfsPlugin2(IVSPlg):
|
|
|
"dateOfBirth": dob,
|
|
|
"nationalId": None,
|
|
|
"nationalityCode": get_country_iso3(str(user_inputs.get("nationality", ""))),
|
|
|
- "state": None, "city": None, "addressline1": None, "addressline2": None, "pincode": None,
|
|
|
- "isEndorsedChild": False, "applicantType": 0, "vlnNumber": None, "applicantGroupId": 0,
|
|
|
- "parentPassportNumber": "", "parentPassportExpiry": "", "dateOfDeparture": None,
|
|
|
- "entryType": "", "eoiVisaType": "", "passportType": "", "vfsReferenceNumber": "",
|
|
|
- "familyReunificationCerificateNumber": "", "PVRequestRefNumber": "", "PVStatus": "",
|
|
|
- "PVStatusDescription": "", "PVCanAllowRetry": True, "PVisVerified": False,
|
|
|
- "eefRegistrationNumber": "", "isAutoRefresh": True, "helloVerifyNumber": "",
|
|
|
- "OfflineCClink": "", "idenfystatuscheck": False, "vafStatus": None,
|
|
|
- "SpecialAssistance": "", "AdditionalRefNo": None, "juridictionCode": "",
|
|
|
- "canInitiateVAF": False, "canEditVAF": False, "canDeleteVAF": False,
|
|
|
- "canDownloadVAF": False, "Retryleft": "",
|
|
|
+ "state": user_inputs.get("state"),
|
|
|
+ "city": user_inputs.get("city"),
|
|
|
+ "addressline1": user_inputs.get("addressline1"),
|
|
|
+ "addressline2": user_inputs.get("addressline2"),
|
|
|
+ "pincode": None,
|
|
|
+ "isEndorsedChild": False,
|
|
|
+ "applicantType": 0,
|
|
|
+ "vlnNumber": None,
|
|
|
+ "applicantGroupId": 0,
|
|
|
+ "parentPassportNumber": "",
|
|
|
+ "parentPassportExpiry": "",
|
|
|
+ "dateOfDeparture": None,
|
|
|
+ "entryType": "",
|
|
|
+ "eoiVisaType": "",
|
|
|
+ "passportType": "",
|
|
|
+ "vfsReferenceNumber": "",
|
|
|
+ "familyReunificationCerificateNumber": "",
|
|
|
+ "PVRequestRefNumber": "",
|
|
|
+ "PVStatus": "",
|
|
|
+ "PVStatusDescription": "",
|
|
|
+ "PVCanAllowRetry": True,
|
|
|
+ "PVisVerified": False,
|
|
|
+ "eefRegistrationNumber": "",
|
|
|
+ "isAutoRefresh": True,
|
|
|
+ "helloVerifyNumber": "",
|
|
|
+ "OfflineCClink": "",
|
|
|
+ "idenfystatuscheck": False,
|
|
|
+ "vafStatus": None,
|
|
|
+ "SpecialAssistance": "",
|
|
|
+ "AdditionalRefNo": None,
|
|
|
+ "juridictionCode": "",
|
|
|
+ "canInitiateVAF": False,
|
|
|
+ "canEditVAF": False,
|
|
|
+ "canDeleteVAF": False,
|
|
|
+ "canDownloadVAF": False,
|
|
|
+ "Retryleft": "",
|
|
|
# 这里的 IP 应该已经在 create_session 时获取到了
|
|
|
"ipAddress": self.real_ip
|
|
|
}
|