表单数据持久化

This commit is contained in:
2024-09-13 20:33:36 +08:00
parent 250ffb4e20
commit a77308573e
4 changed files with 30 additions and 12 deletions
+25 -7
View File
@@ -9,19 +9,37 @@ import (
"time"
)
var uuidint = 0
var lock sync.Mutex
type UuidUtil struct {
lock sync.Mutex
uuidint int
}
func CreateUUID() string {
lock.Lock()
defer lock.Unlock()
var Uuid = &UuidUtil{}
func (u *UuidUtil) CreateUUID() string {
u.lock.Lock()
defer u.lock.Unlock()
// 生成基于字符串的 UUID
key := fmt.Sprintln(Get192Ip(), time.Now().Format("2006-01-02_15-04-05"), uuidint)
uuidint++
key := fmt.Sprintln(IP.Get192Ip(), time.Now().Format("2006-01-02_15-04-05"), u.uuidint)
u.uuidint++
u1 := uuid.NewSHA1(uuid.Nil, []byte(key))
return u1.String()
}
type IpUtil struct {
Ip string
}
var IP = &IpUtil{}
func (i *IpUtil) Get192Ip() string {
if i.Ip == "" {
i.Ip = Get192Ip()
return i.Ip
}
return i.Ip
}
func Get192Ip() string {
interfaces, err := net.Interfaces()
if err != nil {
+1 -1
View File
@@ -14,7 +14,7 @@ var UserRepo *User
func (*User) GetUserInfo(db *gorm.DB) *models.Users {
var users models.Users
db.Find(&users)
ip := utils.Get192Ip()
ip := utils.IP.Get192Ip()
if users.Ip != ip {
current, err := user.Current()
if err != nil {
+3 -3
View File
@@ -19,8 +19,8 @@ var erlangCard *models.ErlangCards
func CreateErlangCard(w fyne.Window) fyne.CanvasObject {
if erlangCard == nil {
erlangCard = &models.ErlangCards{
UUID: utils.CreateUUID(),
UserIp: utils.Get192Ip(),
UUID: utils.Uuid.CreateUUID(),
UserIp: utils.IP.Get192Ip(),
}
}
var (
@@ -48,7 +48,7 @@ func CreateErlangCard(w fyne.Window) fyne.CanvasObject {
}
dialog.ShowInformation("ok", "创建成功", w)
// 更换
erlangCard.UUID = utils.CreateUUID()
erlangCard.UUID = utils.Uuid.CreateUUID()
})
return container.NewBorder(container.NewHBox(widget.NewLabel("新建"), widget.NewSeparator()),
+1 -1
View File
@@ -28,7 +28,7 @@ func myCardsViews(w fyne.Window) fyne.CanvasObject {
func ErlangCardView(w fyne.Window, data *models.ErlangCards) fyne.CanvasObject {
if data == nil {
data = &models.ErlangCards{
UUID: utils.CreateUUID(),
UUID: utils.Uuid.CreateUUID(),
Title: "玩家获取",
Text: "玩家获取脚本",
VarName: []string{"服务器ID", "玩家UID"},