diff --git a/ArknightsUID/arknightsuid_signin/sign.py b/ArknightsUID/arknightsuid_signin/sign.py index 9a30618..dc1e0d1 100644 --- a/ArknightsUID/arknightsuid_signin/sign.py +++ b/ArknightsUID/arknightsuid_signin/sign.py @@ -19,31 +19,31 @@ already = 0 # 签到函数 async def sign_in(ark_uid: str) -> str: logger.info(f"[ARK签到] {ark_uid} 开始执行签到") - # 获得签到信息 - sign_info = await ark_skd_api.get_sign_info(ark_uid) - # 初步校验数据 - if isinstance(sign_info, int): - logger.warning(f"[ARK签到] {ark_uid} 出错, 请检查森空岛Cred是否过期!") - return "签到失败...请检查森空岛Cred是否过期!" - # 检测是否已签到 - for calendar in sign_info.calendar: - if calendar.available: - break - else: - logger.info(f"[ARK签到] {ark_uid} 该用户今日已签到,跳过...") - global already - already += 1 - # 获取今天和月初的日期,计算漏签次数 - day_of_month = datetime.now().day - special_count = 0 - count = 0 - for calendar in sign_info.calendar: - special_count += 1 if calendar.type_ == "first" else 0 - done = calendar.done - if done is True: - count += 1 - sign_missed = day_of_month - count + special_count - return f"今日已签到!本月漏签次数:{sign_missed}" + # # 获得签到信息 + # sign_info = await ark_skd_api.get_sign_info(ark_uid) + # # 初步校验数据 + # if isinstance(sign_info, int): + # logger.warning(f"[ARK签到] {ark_uid} 出错, 请检查森空岛Cred是否过期!") + # return "签到失败...请检查森空岛Cred是否过期!" + # # 检测是否已签到 + # for calendar in sign_info.calendar: + # if calendar.available: + # break + # else: + # logger.info(f"[ARK签到] {ark_uid} 该用户今日已签到,跳过...") + # global already + # already += 1 + # # 获取今天和月初的日期,计算漏签次数 + # day_of_month = datetime.now().day + # special_count = 0 + # count = 0 + # for calendar in sign_info.calendar: + # special_count += 1 if calendar.type_ == "first" else 0 + # done = calendar.done + # if done is True: + # count += 1 + # sign_missed = day_of_month - count + special_count + # return f"今日已签到!本月漏签次数:{sign_missed}" # 进行一次签到 sign_data = await ark_skd_api.skd_sign(uid=ark_uid) diff --git a/ArknightsUID/utils/api/skd/request.py b/ArknightsUID/utils/api/skd/request.py index f7b8bb1..85120dc 100644 --- a/ArknightsUID/utils/api/skd/request.py +++ b/ArknightsUID/utils/api/skd/request.py @@ -160,18 +160,17 @@ class BaseArkApi: headers = deepcopy(_HEADER) headers["cred"] = cred data = {"uid": uid, "gameId": 1} - header = get_sign_header(token, ARK_SKD_SIGN, "post", data, headers) - raw_data = await self.ark_request( - url=ARK_SKD_SIGN, - method="POST", - data=data, - header=header, - ) - if isinstance(raw_data, int): - return raw_data - if raw_data is None: - return -61 - unpack_data = self.unpack(raw_data) + # header = get_sign_header(token, ARK_SKD_SIGN, "post", data, headers) + async with ClientSession( + connector=TCPConnector(), + ) as client: + sign_response = await client.post( + ARK_SKD_SIGN, + headers=get_sign_header(token, ARK_SKD_SIGN, "post", data, headers), + json=data, + ) + sign_response_json = await sign_response.json() + unpack_data = self.unpack(sign_response_json) if isinstance(unpack_data, int): return unpack_data else: