54 lines
1.3 KiB
Go
54 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
|
|
"fyne.io/fyne/v2"
|
|
"fyne.io/fyne/v2/app"
|
|
"fyne.io/fyne/v2/dialog"
|
|
"fyne.io/fyne/v2/widget"
|
|
)
|
|
|
|
func main() {
|
|
a := app.NewWithID("dreamfactory")
|
|
win := a.NewWindow("昊天锤")
|
|
win.Resize(fyne.NewSize(1366, 768))
|
|
win.CenterOnScreen()
|
|
ShowLoginFormDialog(win)
|
|
win.ShowAndRun()
|
|
}
|
|
|
|
// loginform
|
|
func ShowLoginFormDialog(win fyne.Window) {
|
|
username := widget.NewEntry()
|
|
// username.Validator = validation.NewRegexp(`^[A-Za-z0-9_-]+$`, "username can only contain letters, numbers, '_', and '-'")
|
|
// password := widget.NewPasswordEntry()
|
|
// password.Validator = validation.NewRegexp(`^[A-Za-z0-9_-]+$`, "password can only contain letters, numbers, '_', and '-'")
|
|
remember := false
|
|
items := []*widget.FormItem{
|
|
widget.NewFormItem("Account", username),
|
|
// widget.NewFormItem("Password", password),
|
|
widget.NewFormItem("Remember me", widget.NewCheck("", func(checked bool) {
|
|
remember = checked
|
|
})),
|
|
}
|
|
|
|
dialog.ShowForm("Login...", "Log In", "Cancel", items, func(b bool) {
|
|
if !b {
|
|
return
|
|
}
|
|
var rememberText string
|
|
if remember {
|
|
rememberText = "and remember this login"
|
|
}
|
|
|
|
log.Println("Please Authenticate", username.Text, rememberText)
|
|
if username.Text != "admin" {
|
|
// widget.NewButton("Error", func() {
|
|
// err := errors.New("account 错误")
|
|
// dialog.ShowError(err, win)
|
|
// }),
|
|
}
|
|
}, win)
|
|
}
|