PageLoginAuthSkin.xaml.vb 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. Public Class PageLoginAuthSkin
  2. Public Sub New()
  3. InitializeComponent()
  4. Skin.Loader = PageLaunchLeft.SkinAuth
  5. End Sub
  6. Private Sub PageLoginLegacy_Loaded() Handles Me.Loaded
  7. Skin.Loader.Start()
  8. End Sub
  9. ''' <summary>
  10. ''' 刷新页面显示的所有信息。
  11. ''' </summary>
  12. Public Sub Reload(KeepInput As Boolean)
  13. TextName.Text = Setup.Get("CacheAuthName")
  14. TextEmail.Text = Setup.Get("CacheAuthUsername")
  15. TextEmail.Visibility = If(Setup.Get("UiLauncherEmail"), Visibility.Collapsed, Visibility.Visible)
  16. PageLoginLegacy_Loaded()
  17. End Sub
  18. ''' <summary>
  19. ''' 获取当前页面的登录信息。
  20. ''' </summary>
  21. Public Shared Function GetLoginData() As McLoginServer
  22. Dim Server As String = If(IsNothing(McVersionCurrent), Setup.Get("CacheAuthServerServer"), Setup.Get("VersionServerAuthServer", Version:=McVersionCurrent)) & "/authserver"
  23. Return New McLoginServer(McLoginType.Auth) With {.Token = "Auth", .BaseUrl = Server, .UserName = Setup.Get("CacheAuthUsername"), .Password = Setup.Get("CacheAuthPass"), .Description = "Authlib-Injector", .Type = McLoginType.Auth}
  24. End Function
  25. Private Sub PageLoginAuthSkin_MouseEnter(sender As Object, e As MouseEventArgs) Handles PanData.MouseEnter
  26. AniStart({
  27. AaOpacity(BtnEdit, 1 - BtnEdit.Opacity, 80),
  28. AaHeight(BtnEdit, 25.5 - BtnEdit.Height, 140,, New AniEaseOutFluent),
  29. AaHeight(BtnEdit, -1.5, 50, 140, New AniEaseInFluent),
  30. AaOpacity(BtnExit, 1 - BtnExit.Opacity, 80),
  31. AaHeight(BtnExit, 25.5 - BtnExit.Height, 140,, New AniEaseOutFluent),
  32. AaHeight(BtnExit, -1.5, 50, 140, New AniEaseInFluent)
  33. }, "PageLoginAuthSkin Button")
  34. End Sub
  35. Private Sub PageLoginAuthSkin_MouseLeave(sender As Object, e As MouseEventArgs) Handles PanData.MouseLeave
  36. AniStart({
  37. AaOpacity(BtnEdit, -BtnEdit.Opacity, 120,, New AniEaseOutFluent),
  38. AaHeight(BtnEdit, 14 - BtnEdit.Height, 120,, New AniEaseInFluent),
  39. AaOpacity(BtnExit, -BtnExit.Opacity, 120,, New AniEaseOutFluent),
  40. AaHeight(BtnExit, 14 - BtnExit.Height, 120,, New AniEaseInFluent)
  41. }, "PageLoginAuthSkin Button")
  42. End Sub
  43. Private Sub BtnEdit_Click(sender As Object, e As EventArgs) Handles BtnEdit.Click
  44. If McLoginLoader.State = LoadState.Loading Then
  45. Log("[Launch] 要求更换角色,但登录加载器繁忙", LogLevel.Debug)
  46. If CType(McLoginLoader.Input, McLoginServer).ForceReselectProfile Then
  47. Hint("正在尝试更换,请稍候!")
  48. Exit Sub
  49. Else
  50. Hint("正在登录中,请稍后再更换角色!", HintType.Critical)
  51. Exit Sub
  52. End If
  53. End If
  54. Hint("正在尝试更换,请稍候!")
  55. Setup.Set("CacheAuthUuid", "") '清空选择缓存
  56. Setup.Set("CacheAuthName", "")
  57. RunInThread(Sub()
  58. Try
  59. Dim Data As McLoginServer = GetLoginData()
  60. Data.ForceReselectProfile = True
  61. McLoginLoader.WaitForExit(Data, IsForceRestart:=True)
  62. RunInUi(Sub() Reload(True))
  63. Catch ex As Exception
  64. Log(ex, "更换角色失败", LogLevel.Hint)
  65. End Try
  66. End Sub)
  67. End Sub
  68. Private Sub BtnExit_Click() Handles BtnExit.Click
  69. Setup.Set("CacheAuthAccess", "")
  70. FrmLaunchLeft.RefreshPage(False, True)
  71. End Sub
  72. Private Sub Skin_Click(sender As Object, e As MouseButtonEventArgs) Handles Skin.Click
  73. Dim Address As String = If(McVersionCurrent IsNot Nothing, Setup.Get("VersionServerAuthRegister", Version:=McVersionCurrent), Setup.Get("CacheAuthServerRegister"))
  74. If String.IsNullOrEmpty(New ValidateHttp().Validate(Address)) Then OpenWebsite(Address.Replace("/auth/register", "/user/closet"))
  75. End Sub
  76. End Class