perf: 优化用户传递的 phone 处理

pull/11808/head
Bai 2023-10-11 17:46:37 +08:00 committed by Bryan
parent 443f6d25e8
commit 7cd2736e82
1 changed files with 3 additions and 2 deletions

View File

@ -218,12 +218,13 @@ class PhoneField(serializers.CharField):
code = data.get('code') code = data.get('code')
phone = data.get('phone', '') phone = data.get('phone', '')
if code and phone: if code and phone:
data = '{}{}'.format(code, phone) code = code.replace('+', '')
data = '+{}{}'.format(code, phone)
else: else:
data = phone data = phone
try: try:
phone = phonenumbers.parse(data, 'CN') phone = phonenumbers.parse(data, 'CN')
data = '{}{}'.format(phone.country_code, phone.national_number) data = '+{}{}'.format(phone.country_code, phone.national_number)
except phonenumbers.NumberParseException: except phonenumbers.NumberParseException:
data = '+86{}'.format(data) data = '+86{}'.format(data)