2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 07:57:21 +08:00

fix: ports

This commit is contained in:
耗子
2024-10-11 02:41:42 +08:00
parent 5082a4f9f9
commit ac6c57b394
5 changed files with 21 additions and 37 deletions

View File

@@ -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标记位结束")

View File

@@ -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"`

View File

@@ -16,34 +16,19 @@ export default {
saveDefaultConfig: (index: string, stop: string): Promise<AxiosResponse<any>> =>
request.post('/website/defaultConfig', { index, stop }),
// 网站配置
config: (id: number): Promise<AxiosResponse<any>> => request.get('/websites/' + id + '/config'),
config: (id: number): Promise<AxiosResponse<any>> => request.get('/website/' + id),
// 保存网站配置
saveConfig: (id: number, data: any): Promise<AxiosResponse<any>> =>
request.post('/websites/' + id + '/config', data),
request.put('/website/' + id, data),
// 清空日志
clearLog: (id: number): Promise<AxiosResponse<any>> => request.delete('/websites/' + id + '/log'),
clearLog: (id: number): Promise<AxiosResponse<any>> => request.delete('/website/' + id + '/log'),
// 更新备注
updateRemark: (id: number, remark: string): Promise<AxiosResponse<any>> =>
request.post('/websites/' + id + '/updateRemark', { remark }),
// 获取备份列表
backupList: (page: number, limit: number): Promise<AxiosResponse<any>> =>
request.get('/website/backupList', { params: { page, limit } }),
// 创建备份
createBackup: (id: number): Promise<AxiosResponse<any>> =>
request.post('/websites/' + id + '/createBackup', {}),
// 上传备份
uploadBackup: (data: any): Promise<AxiosResponse<any>> =>
request.put('/website/uploadBackup', data),
// 删除备份
deleteBackup: (name: string): Promise<AxiosResponse<any>> =>
request.delete('/website/deleteBackup', { data: { name } }),
// 恢复备份
restoreBackup: (id: number, name: number): Promise<AxiosResponse<any>> =>
request.post('/websites/' + id + '/restoreBackup', { name }),
request.post('/website/' + id + '/updateRemark', { remark }),
// 重置配置
resetConfig: (id: number): Promise<AxiosResponse<any>> =>
request.post('/websites/' + id + '/resetConfig'),
request.post('/website/' + id + '/resetConfig'),
// 修改状态
status: (id: number, status: boolean): Promise<AxiosResponse<any>> =>
request.post('/websites/' + id + '/status', { status })
request.post('/website/' + id + '/status', { status })
}

View File

@@ -129,12 +129,11 @@ onMounted(() => {
/>
</n-form-item>
<n-form-item label="端口">
<n-dynamic-input
v-model:value="setting.ports"
placeholder="80"
:min="1"
show-sort-button
/>
<n-dynamic-input v-model:value="setting.ports" show-sort-button>
<template #default="{ index }">
<n-input-number v-model:value="setting.ports[index]" :min="1" :max="65535" />
</template>
</n-dynamic-input>
</n-form-item>
</n-form>
<n-skeleton v-else text :repeat="10" />

View File

@@ -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