mirror of
https://github.com/acepanel/panel.git
synced 2026-02-04 07:57:21 +08:00
fix: ports
This commit is contained in:
@@ -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标记位结束")
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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 })
|
||||
}
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user