diff --git a/HelperMisc.py b/HelperMisc.py index 2cd793c..c6abdbe 100644 --- a/HelperMisc.py +++ b/HelperMisc.py @@ -4,6 +4,9 @@ import rapidjson as json from loguru import logger from HelperGetUserThing import implGetUser_ import unicodedata +from Config import * +from HelperLogInOut import apiLogin, apiLogout, generateTimestamp + def numberToLetter(number): """ @@ -29,7 +32,12 @@ def maimaiVersionToHumanReadable(romVersion: str, dataVersion: str) -> str: return "无效版本号:无法解读数字" finalVersionList = [] finalVersionList.append(romVersionList[0]) - finalVersionList.append(max(romVersionList[1], dataVersionList[1])) + # quirk + minorVer = max(romVersionList[1], dataVersionList[1]) + if minorVer == 0: + finalVersionList.append("00") + else: + finalVersionList.append(minorVer) finalVersionLetter = numberToLetter(max(romVersionList[2], dataVersionList[2])) if finalVersionLetter: finalVersionLetter = f"-{finalVersionLetter}" @@ -37,7 +45,7 @@ def maimaiVersionToHumanReadable(romVersion: str, dataVersion: str) -> str: finalVersionLetter = "" finalVersionList.append(finalVersionLetter) - if finalVersionList[1] < 30: + if int(finalVersionList[1]) < 30: versionStringPrefix = "CH" else: versionStringPrefix = "CN" @@ -73,6 +81,22 @@ def getHumanReadableLoginErrorCode(loginResult) -> str: case _: return "❌ 登录失败!这不应该发生,请反馈此问题。错误详情:"+ loginResult +def checkTechnologyUseCount(userId: int) -> int: + '''猜测账号是否用了科技,0没用过,其他为用过''' + userData1 = implGetUser_("Data", userId) + userData = userData1.get("userData", {}) + userRegion = implGetUser_("Region", userId) + userRegionList = userRegion.get("userRegionList", []) + + playCount = userData.get("playCount", 0) + allRegionPlayCount = 0 + for region in userRegionList: + allRegionPlayCount += region.get("playCount", 0) + logger.info(f"用户 {userId} 的总游玩次数: {playCount}, 各地区游玩次数: {allRegionPlayCount}") + # 计算全部的 Region 加起来的游玩次数是否和 playCount 对不上,对不上就是用了科技 + # 返回差值 + return playCount - allRegionPlayCount + def getFriendlyUserData(userId:int) -> str: '''生成一个(相对)友好的UserData的人话''' userData1 = implGetUser_("Data", userId) @@ -253,4 +277,19 @@ WAHLAP_REGIONS = { if __name__ == "__main__": # test version string convert print(maimaiVersionToHumanReadable("1.20.0", "1.0.0")) - print(maimaiVersionToHumanReadable("1.41.00", "1.40.11")) \ No newline at end of file + print(maimaiVersionToHumanReadable("1.41.00", "1.40.11")) + print(maimaiVersionToHumanReadable("1.00.00", "1.00.00")) + + userId = testUid + currentLoginTimestamp = generateTimestamp() + loginResult = apiLogin(currentLoginTimestamp, userId) + + if loginResult['returnCode'] != 1: + logger.info("登录失败") + exit() + try: + logger.info(checkTechnologyUseCount(userId)) + #logger.info(apiQueryTicket(userId)) + finally: + logger.info(apiLogout(currentLoginTimestamp, userId)) + #logger.warning("Error")