增加加速协议的展示
This commit is contained in:
parent
c39189eeef
commit
b9c6604a06
|
|
@ -65,11 +65,13 @@ export const delNode = (id: string | number | Array<string | number>) => {
|
|||
/**
|
||||
* 启动节点 Xray
|
||||
* @param nodeId 节点ID
|
||||
* @param forceRestart 是否强制重启
|
||||
*/
|
||||
export const startXray = (nodeId: string | number): AxiosPromise<XrayStartResult> => {
|
||||
export const startXray = (nodeId: string | number, forceRestart: boolean = false): AxiosPromise<XrayStartResult> => {
|
||||
return request({
|
||||
url: '/net/node/xray/start/' + nodeId,
|
||||
method: 'post'
|
||||
method: 'post',
|
||||
params: { forceRestart }
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@
|
|||
<el-table-column v-if="columns[7].visible" label="父节点" align="center" prop="parentNodeId" />
|
||||
<el-table-column v-if="columns[8].visible" label="流量倍率" align="center" prop="flowRate" />
|
||||
<el-table-column v-if="columns[9].visible" label="路由组" align="center" prop="routeIds" />
|
||||
<el-table-column v-if="columns[10].visible" label="加速协议" align="center" prop="protocolType">
|
||||
<el-table-column v-if="columns[10].visible" label="加速协议" align="center" prop="protocolType" min-width="100">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="net_protocol_type" :value="scope.row.protocolType"/>
|
||||
</template>
|
||||
|
|
@ -277,7 +277,7 @@
|
|||
v-for="dict in node_soft_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
:value="parseInt(dict.value)"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
|
@ -311,6 +311,16 @@
|
|||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="加密类型" prop="flow" v-if="form.protocolType=='vless'">
|
||||
<el-select v-model="form.flow" placeholder="请选择加密类型">
|
||||
<el-option
|
||||
v-for="dict in net_flow"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="开启状态" prop="enableFlag">
|
||||
<el-radio-group v-model="form.enableFlag">
|
||||
<el-radio
|
||||
|
|
@ -373,16 +383,6 @@
|
|||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="加密类型" prop="flow" v-if="form.tlsType=='reality'">
|
||||
<el-select v-model="form.flow" placeholder="请选择加密类型">
|
||||
<el-option
|
||||
v-for="dict in net_flow"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="伪装域名" prop="disguiseServerName" v-if="form.tlsType=='reality'">
|
||||
<el-input v-model="form.disguiseServerName" placeholder="请输入伪装域名" />
|
||||
</el-form-item>
|
||||
|
|
@ -584,7 +584,7 @@
|
|||
import { listNode, getNode, delNode, addNode, updateNode, startXray, stopXray } from '@/api/net/node';
|
||||
import { NodeVO, NodeQuery, NodeForm, XrayStartResponse } from '@/api/net/node/types';
|
||||
import { listAll } from '@/api/net/serverRoute';
|
||||
import { ElNotification } from 'element-plus';
|
||||
import { ElNotification, ElMessageBox } from 'element-plus';
|
||||
import { ServerRouteVO } from '@/api/net/serverRoute/types';
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
|
|
@ -659,12 +659,29 @@ const handleDetail = async (row: NodeVO) => {
|
|||
|
||||
/** 启动 Xray */
|
||||
const handleStartXray = async (row: NodeVO) => {
|
||||
const confirm = await proxy?.$modal.confirm('是否确认启动节点 "' + row.nodeName + '" 的 Xray 服务?');
|
||||
if (!confirm) return;
|
||||
let forceRestart = false;
|
||||
|
||||
// 如果 Xray 已经在运行,询问是否强制重启
|
||||
if (row.xrayStatus) {
|
||||
const confirm = await ElMessageBox.confirm(
|
||||
'该节点的 Xray 服务已在运行中,是否强制重启?',
|
||||
'提示',
|
||||
{
|
||||
confirmButtonText: '强制重启',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}
|
||||
).then(() => true).catch(() => false);
|
||||
if (!confirm) return;
|
||||
forceRestart = true;
|
||||
} else {
|
||||
const confirm = await proxy?.$modal.confirm('是否确认启动节点 "' + row.nodeName + '" 的 Xray 服务?');
|
||||
if (!confirm) return;
|
||||
}
|
||||
|
||||
try {
|
||||
loading.value = true;
|
||||
const res = await startXray(row.id);
|
||||
const res = await startXray(row.id, forceRestart);
|
||||
const data = res.data.response;
|
||||
|
||||
if (data.isStarted) {
|
||||
|
|
@ -681,7 +698,7 @@ const handleStartXray = async (row: NodeVO) => {
|
|||
}
|
||||
|
||||
ElNotification({
|
||||
title: 'Xray 启动成功',
|
||||
title: forceRestart ? 'Xray 重启成功' : 'Xray 启动成功',
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: `
|
||||
<div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue