diff --git a/internal/data/website.go b/internal/data/website.go index 2fe1c510..8a5b3568 100644 --- a/internal/data/website.go +++ b/internal/data/website.go @@ -69,7 +69,7 @@ func (r *websiteRepo) Get(id uint) (*types.WebsiteSetting, error) { setting.Name = website.Name setting.Path = website.Path setting.SSL = website.SSL - setting.PHP = strconv.Itoa(website.PHP) + setting.PHP = website.PHP setting.Raw = config portStr := str.Cut(config, "# port标记位开始", "# port标记位结束") diff --git a/internal/service/info.go b/internal/service/info.go index af063971..892d5193 100644 --- a/internal/service/info.go +++ b/internal/service/info.go @@ -2,6 +2,7 @@ package service import ( "fmt" + "github.com/spf13/cast" "net/http" "regexp" "strings" @@ -173,9 +174,9 @@ func (s *InfoService) InstalledDbAndPhp(w http.ResponseWriter, r *http.Request) postgresqlInstalled, _ := s.appRepo.IsInstalled("slug like ?", "postgresql%") php, _ := s.appRepo.GetInstalledAll("slug like ?", "php%") - var phpData []types.LV + var phpData []types.LVInt var dbData []types.LV - phpData = append(phpData, types.LV{Value: "0", Label: "不使用"}) + phpData = append(phpData, types.LVInt{Value: 0, Label: "不使用"}) dbData = append(dbData, types.LV{Value: "0", Label: "不使用"}) for _, p := range php { // 过滤 phpmyadmin @@ -184,8 +185,8 @@ func (s *InfoService) InstalledDbAndPhp(w http.ResponseWriter, r *http.Request) continue } - app, _ := s.appRepo.Get(p.Slug) - phpData = append(phpData, types.LV{Value: strings.ReplaceAll(p.Slug, "php", ""), Label: app.Name}) + item, _ := s.appRepo.Get(p.Slug) + phpData = append(phpData, types.LVInt{Value: cast.ToInt(strings.ReplaceAll(p.Slug, "php", "")), Label: item.Name}) } if mysqlInstalled { diff --git a/pkg/types/common.go b/pkg/types/common.go index 33c98941..7728b67b 100644 --- a/pkg/types/common.go +++ b/pkg/types/common.go @@ -15,6 +15,11 @@ type LV struct { Value string `json:"value"` } +type LVInt struct { + Label string `json:"label"` + Value int `json:"value"` +} + // KVToMap 将 key-value 切片转换为 map func KVToMap(kvs []KV) map[string]string { m := make(map[string]string) diff --git a/pkg/types/website.go b/pkg/types/website.go index 09be0139..ca43966d 100644 --- a/pkg/types/website.go +++ b/pkg/types/website.go @@ -10,7 +10,7 @@ type WebsiteSetting struct { Root string `json:"root"` Path string `json:"path"` Index string `json:"index"` - PHP string `json:"php"` + PHP int `json:"php"` OpenBasedir bool `json:"open_basedir"` SSL bool `json:"ssl"` SSLCertificate string `json:"ssl_certificate"` diff --git a/web/src/views/website/EditView.vue b/web/src/views/website/EditView.vue index 92bae4d8..27af5445 100644 --- a/web/src/views/website/EditView.vue +++ b/web/src/views/website/EditView.vue @@ -38,8 +38,8 @@ const setting = ref({ const installedDbAndPhp = ref({ php: [ { - label: '', - value: '' + label: '不使用', + value: 0 } ], db: [ @@ -131,7 +131,13 @@ onMounted(() => { @@ -155,7 +161,7 @@ onMounted(() => { {