Files
EdgeAdmin/internal/web/actions/default/ui/showTip.go

49 lines
956 B
Go
Raw Normal View History

2021-06-23 13:12:33 +08:00
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package ui
import (
"encoding/json"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/iwind/TeaGo"
"github.com/iwind/TeaGo/Tea"
2022-08-04 11:51:34 +08:00
"os"
2021-06-23 13:12:33 +08:00
"sync"
)
var tipKeyMap = map[string]bool{}
var tipKeyLocker = sync.Mutex{}
var tipConfigFile = "tip.cache.json"
2021-06-23 13:12:33 +08:00
func init() {
TeaGo.BeforeStart(func(server *TeaGo.Server) {
// 从配置文件中加载已关闭的tips
2022-08-04 11:51:34 +08:00
data, err := os.ReadFile(Tea.ConfigFile(tipConfigFile))
2021-06-23 13:12:33 +08:00
if err == nil {
var m = map[string]bool{}
err = json.Unmarshal(data, &m)
if err == nil {
tipKeyLocker.Lock()
tipKeyMap = m
tipKeyLocker.Unlock()
}
}
})
}
type ShowTipAction struct {
actionutils.ParentAction
}
func (this *ShowTipAction) RunPost(params struct {
Code string
}) {
tipKeyLocker.Lock()
_, ok := tipKeyMap[params.Code]
tipKeyLocker.Unlock()
this.Data["visible"] = !ok
this.Success()
}