Commit 4a8a2cda by baiquan

优化登录

parent 5f045b83
...@@ -179,8 +179,24 @@ def get_schema_request(req: GetSchemaRequest): ...@@ -179,8 +179,24 @@ def get_schema_request(req: GetSchemaRequest):
summary="创建全域推广", summary="创建全域推广",
) )
def create_global_promotion_request(req: CreateGlobalPromotionRequest): def create_global_promotion_request(req: CreateGlobalPromotionRequest):
return execute_create_global_promotion(req.params, req.data, req.headers, req.proxy_url) try:
return execute_create_global_promotion(req.params, req.data, req.headers, req.proxy_url)
except AppError as e:
logger.error(f'获取类目参数失败-->{e}')
return {
'code': e.code,
'msg': e.msg,
'data': e.data,
'error_type': type(e).__name__
}
except Exception as e:
logger.error(f'创建全局推广异常:{e}')
return {
'code': 500,
'msg': f'创建全局推广异常:{e}',
'data': None,
'error_type': 'InternalError'
}
# 注册路由 # 注册路由
app.include_router(sync_router) app.include_router(sync_router)
......
...@@ -69,6 +69,9 @@ async def page_login(browser_id): ...@@ -69,6 +69,9 @@ async def page_login(browser_id):
em = "邮箱登录" em = "邮箱登录"
doc_loaded = tab.wait.doc_loaded(timeout=10) doc_loaded = tab.wait.doc_loaded(timeout=10)
eles_loaded = tab.wait.eles_loaded(em) eles_loaded = tab.wait.eles_loaded(em)
if tab.title == "首页":
logger.info(f"{browser_id}-->当前页面为首页,已登录")
break
if not doc_loaded or not eles_loaded: if not doc_loaded or not eles_loaded:
raise AppError(f"页面或元素未加载完成({retry})") raise AppError(f"页面或元素未加载完成({retry})")
click_button(tab, em) # 点击邮箱登录按钮 click_button(tab, em) # 点击邮箱登录按钮
......
...@@ -2,6 +2,7 @@ import asyncio ...@@ -2,6 +2,7 @@ import asyncio
from celery import shared_task from celery import shared_task
from loguru import logger from loguru import logger
from retrying import retry
from service.create_template import create_template from service.create_template import create_template
from service.doudian_service import generate_a_bogus, get_schema, create_global_promotion from service.doudian_service import generate_a_bogus, get_schema, create_global_promotion
...@@ -211,34 +212,19 @@ def execute_get_schema(headers: dict, proxy_url: str, category_id: str): ...@@ -211,34 +212,19 @@ def execute_get_schema(headers: dict, proxy_url: str, category_id: str):
'error_type': 'InternalError' 'error_type': 'InternalError'
} }
@retry(stop_max_attempt_number=3, wait_fixed=3000)
@shared_task(name='create_global_promotion') @shared_task(name='create_global_promotion')
def execute_create_global_promotion(params:str|dict, data: dict, headers: dict, proxy_url: str): def execute_create_global_promotion(params:str|dict, data: dict, headers: dict, proxy_url: str):
"""创建全域推广""" """创建全域推广"""
try: response = create_global_promotion(params, data, headers, proxy_url)
response = create_global_promotion(params, data, headers, proxy_url) response_data = response.json()
response_data = response.json() if response_data.get('status_code', -1) != 0:
if response_data.get('status_code', -1) != 0: logger.error(f"创建全局推广失败 --> {response.text}")
raise Exception(f"创建全局推广失败 --> {response.text}") raise Exception(f"创建全局推广失败 --> {response.text}")
result = response_data.get('data', {}) result = response_data.get('data', {})
return { return {
'code': 200, 'code': 200,
'msg': 'success', 'msg': 'success',
'data': result, 'data': result,
'error_type': '' 'error_type': ''
} }
except AppError as e:
logger.error(f'获取类目参数失败-->{e}')
return {
'code': e.code,
'msg': e.msg,
'data': e.data,
'error_type': type(e).__name__
}
except Exception as e:
logger.error(f'创建全局推广异常:{e}')
return {
'code': 500,
'msg': f'创建全局推广异常:{e}',
'data': None,
'error_type': 'InternalError'
}
\ No newline at end of file
...@@ -16,15 +16,14 @@ def check_proxy(proxy_url): ...@@ -16,15 +16,14 @@ def check_proxy(proxy_url):
} }
addr = urlparse(proxy_url).hostname addr = urlparse(proxy_url).hostname
try: try:
logger.info("业务域名连通性验证成功")
test_res = requests.get('http://httpbin.org/ip', timeout=10, proxies=proxies).json() test_res = requests.get('http://httpbin.org/ip', timeout=10, proxies=proxies).json()
if test_res['origin'] == addr:
logger.info(f"代理验证成功")
return proxies
else:
raise AppError(msg="代理验证失败")
except Exception as e: except Exception as e:
raise AppError(msg=f"代理验证失败: {str(e)}") raise AppError(f"{addr}-->代理验证失败-->{str(e)}")
if test_res.get('origin', "") == addr:
logger.info(f"{addr}-->代理验证成功")
return proxies
else:
raise AppError(f"{addr}-->代理验证失败")
def encryptParamsId(login_subject_uid, user_identity_id): def encryptParamsId(login_subject_uid, user_identity_id):
e = { e = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment