diff --git a/HelperMisc.py b/HelperMisc.py index 9bb3c8c..2cd793c 100644 --- a/HelperMisc.py +++ b/HelperMisc.py @@ -5,6 +5,47 @@ from loguru import logger from HelperGetUserThing import implGetUser_ import unicodedata +def numberToLetter(number): + """ + 将数字转换为字母(1-26 to A-Z) + """ + if 1 <= number <= 26: + return chr(number + 64) + else: + return None + +def maimaiVersionToHumanReadable(romVersion: str, dataVersion: str) -> str: + try: + romVersionList = romVersion.split('.') + dataVersionList = dataVersion.split('.') + except Exception as e: + logger.warning(f"无法解析版本号: {romVersion} {dataVersion},错误:{e}") + return "无效版本号:无法解析" + try: + romVersionList = [int(i) for i in romVersionList] + dataVersionList = [int(i) for i in dataVersionList] + except Exception as e: + logger.warning(f"无法解析版本号: {romVersion} {dataVersion},错误:{e}") + return "无效版本号:无法解读数字" + finalVersionList = [] + finalVersionList.append(romVersionList[0]) + finalVersionList.append(max(romVersionList[1], dataVersionList[1])) + finalVersionLetter = numberToLetter(max(romVersionList[2], dataVersionList[2])) + if finalVersionLetter: + finalVersionLetter = f"-{finalVersionLetter}" + else: + finalVersionLetter = "" + finalVersionList.append(finalVersionLetter) + + if finalVersionList[1] < 30: + versionStringPrefix = "CH" + else: + versionStringPrefix = "CN" + + finalVersionString = f"{versionStringPrefix}{finalVersionList[0]}.{finalVersionList[1]}{finalVersionList[2]}" + return finalVersionString + + levelIdDict = { "绿": 0, "黄": 1, @@ -46,10 +87,10 @@ def getFriendlyUserData(userId:int) -> str: result += f"总游戏次数: {userData.get('playCount', '未知')} " result += f"当前版本游戏次数: {userData.get('currentPlayCount', '未知')}\n" result += f"最近登录时间: {userData.get('lastLoginDate')} " - result += f"最近登录版本: {userData.get('lastDataVersion', '未知')} " + result += f"最近登录版本: {maimaiVersionToHumanReadable(userData.get('lastRomVersion'), userData.get('lastDataVersion'))} " result += f"最近登录地区: {userData.get('lastRegionName', '未知')}\n" result += f"注册日期: {userData.get('firstPlayDate')} " - result += f"注册版本: {userData.get('firstDataVersion', '未知')}\n" + result += f"注册版本: {maimaiVersionToHumanReadable(userData.get('firstRomVersion'),userData.get('firstDataVersion'))}\n" result += f"封号状态(banState): {banState}\n" try: logger.info(userRegion) @@ -208,3 +249,8 @@ WAHLAP_REGIONS = { 31: '新疆', 32: '西藏', } + +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 diff --git a/HelperUnlockThing.py b/HelperUnlockThing.py index 95a0896..6ca4e35 100644 --- a/HelperUnlockThing.py +++ b/HelperUnlockThing.py @@ -29,30 +29,30 @@ itemKindDict = { "PLATE": 1, # 姓名框 "TITLE": 2, # 称号 "ICON": 3, # 头像 -# "PRESENT": 4, # ? "MUSIC": 5, # 歌 "MUSIC_MASTER": 6, # 紫谱 "MUSIC_RE_MASTER": 7,# 白谱 -# "MUSIC_STRONG": 8, # ? "CHARACTER": 9, # 旅行伙伴 "PARTNER": 10, # 搭档 "FRAME": 11, # 背景板 "TICKET": 12 # 功能票 +# "PRESENT": 4, # ? +# "MUSIC_STRONG": 8, # ? } itemKindzhCNDict = { "姓名框": "PLATE", "称号": "TITLE", "头像": "ICON", -# "礼物": "PRESENT", "歌": "MUSIC", "紫谱": "MUSIC_MASTER", "白谱": "MUSIC_RE_MASTER", -# "STRONG": "MUSIC_STRONG", "旅行伙伴": "CHARACTER", "搭档": "PARTNER", "背景板": "FRAME", "功能票": "TICKET" +# "礼物": "PRESENT", +# "STRONG": "MUSIC_STRONG", } partnerList = {