增加透传给前端的自定义字段方便前端扩展功能

This commit is contained in:
naiba
2024-09-28 00:16:54 +08:00
parent bdf36276da
commit 106d58575b
12 changed files with 40 additions and 18 deletions

View File

@@ -209,7 +209,7 @@ func (cp *commonPage) network(c *gin.Context) {
}))
}
func (cp *commonPage) getServerStat(c *gin.Context) ([]byte, error) {
func (cp *commonPage) getServerStat(c *gin.Context, withPublicNote bool) ([]byte, error) {
_, isMember := c.Get(model.CtxKeyAuthorizedUser)
_, isViewPasswordVerfied := c.Get(model.CtxKeyViewPasswordVerified)
authorized := isMember || isViewPasswordVerfied
@@ -219,16 +219,15 @@ func (cp *commonPage) getServerStat(c *gin.Context) ([]byte, error) {
var servers []*model.Server
if authorized {
servers = singleton.SortedServerList
} else {
filteredServers := make([]*model.Server, len(singleton.SortedServerListForGuest))
for i, server := range singleton.SortedServerListForGuest {
filteredServer := *server
filteredServer.DDNSDomain = "redacted"
filteredServers[i] = &filteredServer
for _, server := range singleton.SortedServerListForGuest {
item := *server
if item.HideForGuest && !authorized {
continue
}
servers = filteredServers
if !withPublicNote {
item.PublicNote = ""
}
servers = append(servers, &item)
}
return utils.Json.Marshal(Data{
@@ -240,7 +239,7 @@ func (cp *commonPage) getServerStat(c *gin.Context) ([]byte, error) {
}
func (cp *commonPage) home(c *gin.Context) {
stat, err := cp.getServerStat(c)
stat, err := cp.getServerStat(c, true)
if err != nil {
mygin.ShowErrorPage(c, mygin.ErrInfo{
Code: http.StatusInternalServerError,
@@ -285,7 +284,7 @@ func (cp *commonPage) ws(c *gin.Context) {
defer conn.Close()
count := 0
for {
stat, err := cp.getServerStat(c)
stat, err := cp.getServerStat(c, false)
if err != nil {
continue
}

View File

@@ -306,6 +306,7 @@ type serverForm struct {
Secret string
Tag string
Note string
PublicNote string
HideForGuest string
EnableDDNS string
EnableIPv4 string
@@ -326,6 +327,7 @@ func (ma *memberAPI) addOrEditServer(c *gin.Context) {
s.ID = sf.ID
s.Tag = sf.Tag
s.Note = sf.Note
s.PublicNote = sf.PublicNote
s.HideForGuest = sf.HideForGuest == "on"
s.EnableDDNS = sf.EnableDDNS == "on"
s.EnableIPv4 = sf.EnableIPv4 == "on"