87 lines
4.7 KiB
VB.net
87 lines
4.7 KiB
VB.net
Public Class PageLoginAuth
|
|
Private IsFirstLoad As Boolean = True
|
|
''' <summary>
|
|
''' 刷新页面显示的所有信息。
|
|
''' </summary>
|
|
Public Sub Reload(KeepInput As Boolean)
|
|
'记住密码
|
|
CheckRemember.Checked = Setup.Get("LoginRemember")
|
|
If KeepInput AndAlso Not IsFirstLoad Then '避免第一次就以 KeepInput 的方式加载,导致文本框里没东西
|
|
'保留输入,只刷新下拉框列表
|
|
Dim Input As String = ComboName.Text
|
|
ComboName.ItemsSource = If(Setup.Get("LoginAuthEmail") = "", Nothing, Setup.Get("LoginAuthEmail").ToString.Split("¨"))
|
|
ComboName.Text = Input
|
|
Else
|
|
'不保留输入,刷新列表后自动选择第一项
|
|
If Setup.Get("LoginAuthEmail") = "" Then
|
|
ComboName.ItemsSource = Nothing
|
|
Else
|
|
ComboName.ItemsSource = Setup.Get("LoginAuthEmail").ToString.Split("¨")
|
|
ComboName.Text = Setup.Get("LoginAuthEmail").ToString.BeforeFirst("¨")
|
|
If Setup.Get("LoginRemember") Then TextPass.Password = Setup.Get("LoginAuthPass").ToString.BeforeFirst("¨").Trim
|
|
End If
|
|
End If
|
|
IsFirstLoad = False
|
|
End Sub
|
|
''' <summary>
|
|
''' 获取当前页面的登录信息。
|
|
''' </summary>
|
|
Public Shared Function GetLoginData() As McLoginServer
|
|
Dim Server As String = If(IsNothing(McVersionCurrent), Setup.Get("CacheAuthServerServer"), Setup.Get("VersionServerAuthServer", Version:=McVersionCurrent)) & "/authserver"
|
|
If FrmLoginAuth Is Nothing Then
|
|
Return New McLoginServer(McLoginType.Auth) With {.Token = "Auth", .BaseUrl = Server, .UserName = "", .Password = "", .Description = "Authlib-Injector", .Type = McLoginType.Auth}
|
|
Else
|
|
Return New McLoginServer(McLoginType.Auth) With {.Token = "Auth", .BaseUrl = Server, .UserName = FrmLoginAuth.ComboName.Text.Replace("¨", "").Trim, .Password = FrmLoginAuth.TextPass.Password.Replace("¨", "").Trim, .Description = "Authlib-Injector", .Type = McLoginType.Auth}
|
|
End If
|
|
End Function
|
|
''' <summary>
|
|
''' 当前页面的登录信息是否有效。
|
|
''' </summary>
|
|
Public Shared Function IsVaild(LoginData As McLoginServer) As String
|
|
If LoginData.UserName = "" Then Return "账号不能为空!"
|
|
If LoginData.Password = "" Then Return "密码不能为空!"
|
|
Return ""
|
|
End Function
|
|
Public Function IsVaild() As String
|
|
Return IsVaild(GetLoginData())
|
|
End Function
|
|
|
|
'保存输入信息
|
|
Private Sub ComboName_TextChanged(sender As Object, e As TextChangedEventArgs) Handles ComboName.TextChanged
|
|
If sender.Text = "" Then TextPass.Password = ""
|
|
If AniControlEnabled = 0 Then Setup.Set("CacheAuthAccess", "") '迫使其不进行 Validate
|
|
End Sub
|
|
Private Sub TextPass_PasswordChanged(sender As Object, e As RoutedEventArgs) Handles TextPass.PasswordChanged
|
|
If AniControlEnabled = 0 Then Setup.Set("CacheAuthAccess", "")
|
|
End Sub
|
|
Private Sub ComboName_SelectionChanged(sender As MyComboBox, e As SelectionChangedEventArgs) Handles ComboName.SelectionChanged
|
|
If sender.SelectedIndex = -1 OrElse Not Setup.Get("LoginRemember") Then
|
|
TextPass.Password = ""
|
|
Else
|
|
TextPass.Password = Setup.Get("LoginAuthPass").ToString.Split("¨")(sender.SelectedIndex).Trim
|
|
End If
|
|
End Sub
|
|
Private Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckRemember.Change
|
|
If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.Checked)
|
|
End Sub
|
|
|
|
'链接处理
|
|
Private Sub ComboName_TextChanged() Handles ComboName.TextChanged
|
|
BtnLink.Content = If(ComboName.Text = "", "注册账号", "找回密码")
|
|
End Sub
|
|
Private Sub Btn_Click(sender As Object, e As EventArgs) Handles BtnLink.Click
|
|
If BtnLink.Content = "注册账号" Then
|
|
OpenWebsite(If(McVersionCurrent IsNot Nothing, Setup.Get("VersionServerAuthRegister", Version:=McVersionCurrent), Setup.Get("CacheAuthServerRegister")))
|
|
Else
|
|
Dim Website As String = If(McVersionCurrent IsNot Nothing, Setup.Get("VersionServerAuthRegister", Version:=McVersionCurrent), Setup.Get("CacheAuthServerRegister"))
|
|
OpenWebsite(Website.Replace("/auth/register", "/auth/forgot"))
|
|
End If
|
|
End Sub
|
|
'切换注册按钮可见性
|
|
Private Sub ReloadRegisterButton() Handles Me.Loaded
|
|
Dim Address As String = If(McVersionCurrent IsNot Nothing, Setup.Get("VersionServerAuthRegister", Version:=McVersionCurrent), Setup.Get("CacheAuthServerRegister"))
|
|
BtnLink.Visibility = If(String.IsNullOrEmpty(New ValidateHttp().Validate(Address)), Visibility.Visible, Visibility.Collapsed)
|
|
End Sub
|
|
|
|
End Class
|