Logs
@@ -291,6 +320,9 @@ export default {
const statusInfo = ref({});
const showEditConfigModal = ref(false);
const showAddProxyModal = ref(false);
+ const showDeleteProxyModal = ref(false);
+ const isEditProxy = ref(false);
+ const selectedProxyName = ref('');
const loading = ref(false);
const userType = ref(getCookie('user-type') || 'visitor');
const formData = ref({
@@ -484,15 +516,108 @@ export default {
};
const addProxy = () => {
+ isEditProxy.value = false;
+ formData.value = {
+ name: '',
+ type: '',
+ localIP: '',
+ localPort: '',
+ remotePort: '',
+ auth_method: formData.value.auth_method,
+ serverAddr: formData.value.serverAddr,
+ serverPort: formData.value.serverPort,
+ token: formData.value.token,
+ clientId: formData.value.clientId,
+ clientSecret: formData.value.clientSecret,
+ audience: formData.value.audience,
+ tokenEndpoint: formData.value.tokenEndpoint,
+ bootAtStart: formData.value.bootAtStart,
+ runUser: formData.value.runUser
+ };
showAddProxyModal.value = true;
}
+ const editProxy = (proxy) => {
+ isEditProxy.value = true;
+ formData.value = {
+ name: proxy.name,
+ type: proxy.type,
+ localIP: proxy.localIP,
+ localPort: parseInt(proxy.localPort),
+ remotePort: parseInt(proxy.remotePort),
+ auth_method: formData.value.auth_method,
+ serverAddr: formData.value.serverAddr,
+ serverPort: formData.value.serverPort,
+ token: formData.value.token,
+ clientId: formData.value.clientId,
+ clientSecret: formData.value.clientSecret,
+ audience: formData.value.audience,
+ tokenEndpoint: formData.value.tokenEndpoint,
+ bootAtStart: formData.value.bootAtStart,
+ runUser: formData.value.runUser
+ };
+ showAddProxyModal.value = true;
+ }
+
+ const deleteProxy = (proxy) => {
+ selectedProxyName.value = proxy.name;
+ showDeleteProxyModal.value = true;
+ }
+
+ const closeDeleteProxyModal = () => {
+ showDeleteProxyModal.value = false;
+ selectedProxyName.value = '';
+ }
+
+ const closeAddProxyModal = () => {
+ showAddProxyModal.value = false;
+ selectedProxyName.value = '';
+ };
+
const closeEditConfigModal = () => {
showEditConfigModal.value = false;
};
- const closeAddProxyModal = () => {
- showAddProxyModal.value = false;
+ const confirmDeleteProxy = async () => {
+ loading.value = true;
+ try {
+ await instanceApi.deleteProxy(instanceID.value, selectedProxyName.value);
+ showNotification('Proxy deleted successfully', 'success');
+ closeDeleteProxyModal();
+ await loadProxies();
+ } catch (error) {
+ showNotification(error.message || 'Delete proxy failed', 'error');
+ } finally {
+ loading.value = false;
+ }
+ };
+
+ const handleProxySubmit = async () => {
+ loading.value = true;
+ try {
+ const proxyInfo = {
+ name: formData.value.name,
+ type: formData.value.type,
+ localIP: formData.value.localIP,
+ localPort: formData.value.localPort.toString(),
+ remotePort: formData.value.remotePort.toString()
+ };
+
+ if (isEditProxy.value) {
+ await instanceApi.modifyProxy(instanceID.value, proxyInfo);
+ showNotification('Proxy updated successfully', 'success');
+ } else {
+ await instanceApi.createProxy(instanceID.value, proxyInfo);
+ showNotification('Proxy created successfully', 'success');
+ }
+
+ closeAddProxyModal();
+ await loadProxies();
+ } catch (error) {
+ showNotification(error.message || (isEditProxy.value ? 'Update proxy failed' : 'Create proxy failed'), 'error');
+ } finally {
+ loading.value = false;
+ }
};
const handleEditConfiguration = async () => {
@@ -586,15 +711,22 @@ export default {
userType,
showEditConfigModal,
showAddProxyModal,
+ showDeleteProxyModal,
+ isEditProxy,
+ selectedProxyName,
loading,
formData,
goBack,
editConfig,
closeEditConfigModal,
addProxy,
+ editProxy,
+ deleteProxy,
closeAddProxyModal,
+ closeDeleteProxyModal,
+ confirmDeleteProxy,
handleEditConfiguration,
- handleAddProxySubmit,
+ handleProxySubmit,
handleStatusClick,
restartInstance,
deleteInstance