Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

优化微软登录错误时提示文案 #3730

Closed
2 tasks done
JingHai-Lingyun opened this issue Apr 24, 2024 · 3 comments
Closed
2 tasks done

优化微软登录错误时提示文案 #3730

JingHai-Lingyun opened this issue Apr 24, 2024 · 3 comments
Labels
· 优化 完成 该 Issue 已被处理,将在下次更新中实装 🟨 中 优先度:中

Comments

@JingHai-Lingyun
Copy link
Collaborator

检查项

描述

优化一下微软登录的 XSTS 令牌获取步骤的错误信息提示
附一个 JS 版本的错误信息判定,引用自 PrismarineJS/prismarine-auth#43 (comment)

checkTokenError (errorCode) {
  let err = ''
  switch (errorCode) {
    case 2148916227: err = 'ENFORCEMENT_BAN'; break
    case 2148916229: err = 'ACCOUNT_PARENTALLY_RESTRICTED'; break
    case 2148916233: err = 'The user does not currently have an Xbox profile - https://signup.live.com/signup - ACCOUNT_CREATION_REQUIRED'; break
    case 2148916234: err = 'ACCOUNT_TERMS_OF_USE_NOT_ACCEPTED'; break
    case 2148916235: err = 'ACCOUNT_COUNTRY_NOT_AUTHORIZED'; break
    case 2148916236: err = 'ACCOUNT_AGE_VERIFICATION_REQUIRED'; break
    case 2148916237: err = 'ACCOUNT_UNDER_CURFEW'; break
    case 2148916238: err = 'The account date of birth is under 18 years and cannot proceed unless the account is added to a Family by an adult - ACCOUNT_CHILD_NOT_IN_FAMILY'; break // User is under 18
    case 2148916239: err = 'ACCOUNT_CSV_TRANSITION_REQUIRED'; break
    case 2148916240: err = 'ACCOUNT_MAINTENANCE_REQUIRED'; break
    case 2148916243: err = 'ACCOUNT_NAME_CHANGE_REQUIRED'; break
    case 2148916242: err = 'CONTENT_ISOLATION (Verify SCID / Sandbox)'; break
    case 2148916255: err = 'EXPIRED_SERVICE_TOKEN'; break
    case 2148916258: err = 'EXPIRED_USER_TOKEN'; break
    case 2148916257: err = 'EXPIRED_TITLE_TOKEN'; break
    case 2148916256: err = 'EXPIRED_DEVICE_TOKEN'; break
    case 2148916259: err = 'INVALID_DEVICE_TOKEN'; break
    case 2148916260: err = 'INVALID_TITLE_TOKEN'; break
    case 2148916261: err = 'INVALID_USER_TOKEN'; break
    default: {
      err = `Unknown error code (${errorCode})`
    }
  }
  throw new URIError(`Failed to obtain XSTS token: ${err}`)
}

原因

类似 #3723 的,可以在登录获取XSTS令牌失败时给一点解决方案

@JingHai-Lingyun JingHai-Lingyun added 新反馈 需要社区初步确认其有效的新 Issue · 优化 labels Apr 24, 2024
@zkitefly
Copy link
Collaborator

zkitefly commented Apr 24, 2024

If ex.Message.Contains("2148916233") Then
If MyMsgBox("该微软账号尚未购买 Minecraft Java 版,或尚未注册 Xbox 账户。" & vbCrLf &
"如果你确定该账号完成了上述步骤,请先在游戏官网登录一次,然后再在启动器登录。", "登录提示", "打开游戏官网", "取消") = 1 Then
OpenWebsite("https://www.minecraft.net/")
End If
Throw New Exception("$$")
ElseIf ex.Message.Contains("2148916238") Then
If MyMsgBox("该账号年龄不足,你需要先修改出生日期,然后才能登录。" & vbCrLf &
"该账号目前填写的年龄是否在 13 岁以上?", "登录提示", "13 岁以上", "12 岁以下", "我不知道") = 1 Then
OpenWebsite("https://account.live.com/editprof.aspx")
MyMsgBox("请在打开的网页中修改账号的出生日期(至少改为 18 岁以上)。" & vbCrLf &
"在修改成功后等待一分钟,然后再回到 PCL,就可以正常登录了!", "登录提示")
Else
OpenWebsite("https://support.microsoft.com/zh-cn/account-billing/如何更改-microsoft-帐户上的出生日期-837badbc-999e-54d2-2617-d19206b9540a")
MyMsgBox("请根据打开的网页的说明,修改账号的出生日期(至少改为 18 岁以上)。" & vbCrLf &
"在修改成功后等待一分钟,然后再回到 PCL,就可以正常登录了!", "登录提示")
End If

这里有是有,但不完全,应该可以考虑

@zkitefly zkitefly added 等待确认 已经过社区确认,等待开发者确认 and removed 新反馈 需要社区初步确认其有效的新 Issue labels Apr 24, 2024
@LTCatt LTCatt added 处理中 开发者正在调查或处理该 Issue and removed 等待确认 已经过社区确认,等待开发者确认 labels Apr 24, 2024
@wuliaodexiaoluo
Copy link
Contributor

wuliaodexiaoluo commented Apr 25, 2024

子女账户貌似要绑定到 Microsoft Family 才能改吧。。。。
真的可以自己改吗?-
我本来还想整个 XErr 对照表的。。。

@wuliaodexiaoluo
Copy link
Contributor

wuliaodexiaoluo commented Apr 25, 2024

如果要加,#3723 那个是被 Microsoft ban 掉账号了,要改下

@LTCatt LTCatt added 🟨 中 优先度:中 调查中 处理中 开发者正在调查或处理该 Issue and removed 处理中 开发者正在调查或处理该 Issue 调查中 labels May 5, 2024
@LTCatt LTCatt closed this as completed May 24, 2024
@HexDragon-Bot HexDragon-Bot added 完成 该 Issue 已被处理,将在下次更新中实装 and removed 处理中 开发者正在调查或处理该 Issue labels May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
· 优化 完成 该 Issue 已被处理,将在下次更新中实装 🟨 中 优先度:中
Projects
None yet
Development

No branches or pull requests

5 participants