diff --git a/internal/data/website.go b/internal/data/website.go index 22420902..2fe1c510 100644 --- a/internal/data/website.go +++ b/internal/data/website.go @@ -88,13 +88,13 @@ func (r *websiteRepo) Get(id uint) (*types.WebsiteSetting, error) { if len(ports) == 0 { continue } - if !slices.Contains(setting.Ports, ports[0]) { - setting.Ports = append(setting.Ports, ports[0]) + if !slices.Contains(setting.Ports, cast.ToUint(ports[0])) { + setting.Ports = append(setting.Ports, cast.ToUint(ports[0])) } if len(ports) > 1 && ports[1] == "ssl" { - setting.SSLPorts = append(setting.SSLPorts, ports[0]) + setting.SSLPorts = append(setting.SSLPorts, cast.ToUint(ports[0])) } else if len(ports) > 1 && ports[1] == "quic" { - setting.QUICPorts = append(setting.QUICPorts, ports[0]) + setting.QUICPorts = append(setting.QUICPorts, cast.ToUint(ports[0])) } } serverName := str.Cut(config, "# server_name标记位开始", "# server_name标记位结束") diff --git a/pkg/types/website.go b/pkg/types/website.go index 692d76d0..09be0139 100644 --- a/pkg/types/website.go +++ b/pkg/types/website.go @@ -4,9 +4,9 @@ package types type WebsiteSetting struct { Name string `json:"name"` Domains []string `json:"domains"` - Ports []string `json:"ports"` - SSLPorts []string `json:"ssl_ports"` - QUICPorts []string `json:"quic_ports"` + Ports []uint `json:"ports"` + SSLPorts []uint `json:"ssl_ports"` + QUICPorts []uint `json:"quic_ports"` Root string `json:"root"` Path string `json:"path"` Index string `json:"index"` diff --git a/web/src/api/panel/website/index.ts b/web/src/api/panel/website/index.ts index 97a89123..60baf20a 100644 --- a/web/src/api/panel/website/index.ts +++ b/web/src/api/panel/website/index.ts @@ -16,34 +16,19 @@ export default { saveDefaultConfig: (index: string, stop: string): Promise> => request.post('/website/defaultConfig', { index, stop }), // 网站配置 - config: (id: number): Promise> => request.get('/websites/' + id + '/config'), + config: (id: number): Promise> => request.get('/website/' + id), // 保存网站配置 saveConfig: (id: number, data: any): Promise> => - request.post('/websites/' + id + '/config', data), + request.put('/website/' + id, data), // 清空日志 - clearLog: (id: number): Promise> => request.delete('/websites/' + id + '/log'), + clearLog: (id: number): Promise> => request.delete('/website/' + id + '/log'), // 更新备注 updateRemark: (id: number, remark: string): Promise> => - request.post('/websites/' + id + '/updateRemark', { remark }), - // 获取备份列表 - backupList: (page: number, limit: number): Promise> => - request.get('/website/backupList', { params: { page, limit } }), - // 创建备份 - createBackup: (id: number): Promise> => - request.post('/websites/' + id + '/createBackup', {}), - // 上传备份 - uploadBackup: (data: any): Promise> => - request.put('/website/uploadBackup', data), - // 删除备份 - deleteBackup: (name: string): Promise> => - request.delete('/website/deleteBackup', { data: { name } }), - // 恢复备份 - restoreBackup: (id: number, name: number): Promise> => - request.post('/websites/' + id + '/restoreBackup', { name }), + request.post('/website/' + id + '/updateRemark', { remark }), // 重置配置 resetConfig: (id: number): Promise> => - request.post('/websites/' + id + '/resetConfig'), + request.post('/website/' + id + '/resetConfig'), // 修改状态 status: (id: number, status: boolean): Promise> => - request.post('/websites/' + id + '/status', { status }) + request.post('/website/' + id + '/status', { status }) } diff --git a/web/src/views/website/EditView.vue b/web/src/views/website/EditView.vue index 180d8b29..92bae4d8 100644 --- a/web/src/views/website/EditView.vue +++ b/web/src/views/website/EditView.vue @@ -129,12 +129,11 @@ onMounted(() => { /> - + + + diff --git a/web/src/views/website/types.ts b/web/src/views/website/types.ts index e677e818..fc11ef23 100644 --- a/web/src/views/website/types.ts +++ b/web/src/views/website/types.ts @@ -12,9 +12,9 @@ export interface Website { export interface WebsiteSetting { name: string - ports: string[] - ssl_ports: string[] - quic_ports: string[] + ports: number[] + ssl_ports: number[] + quic_ports: number[] domains: string[] root: string path: string