init
This commit is contained in:
183
templates/settings/index.html
Normal file
183
templates/settings/index.html
Normal file
@@ -0,0 +1,183 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}设置 - PT Manager{% endblock %}
|
||||
|
||||
{% block page_title %}系统设置{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="bg-white rounded-lg shadow-md p-6">
|
||||
<div class="mb-8">
|
||||
<h2 class="text-xl font-semibold mb-4">NexusPHP 站点设置</h2>
|
||||
<form id="nexusphp-settings-form">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div>
|
||||
<label for="site_url" class="block text-sm font-medium text-gray-700 mb-1">站点URL</label>
|
||||
<input type="url" id="site_url" name="site_url" value="{{ nexusphp_site_url }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<div>
|
||||
<label for="api_token" class="block text-sm font-medium text-gray-700 mb-1">API Token</label>
|
||||
<input type="password" id="api_token" name="api_token" value="{{ nexusphp_api_token }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-6">
|
||||
<button type="submit"
|
||||
class="bg-blue-600 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
|
||||
保存设置
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="border-t border-gray-200 pt-8">
|
||||
<h2 class="text-xl font-semibold mb-4">qBittorrent 客户端设置</h2>
|
||||
<form id="qbittorrent-settings-form">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-4">
|
||||
<div>
|
||||
<label for="qb_host" class="block text-sm font-medium text-gray-700 mb-1">主机地址</label>
|
||||
<input type="text" id="qb_host" name="host" value="{{ qbittorrent_config.host if qbittorrent_config else '' }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<div>
|
||||
<label for="qb_port" class="block text-sm font-medium text-gray-700 mb-1">端口</label>
|
||||
<input type="number" id="qb_port" name="port" value="{{ qbittorrent_config.port if qbittorrent_config else '' }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<div>
|
||||
<label for="qb_username" class="block text-sm font-medium text-gray-700 mb-1">用户名</label>
|
||||
<input type="text" id="qb_username" name="username" value="{{ qbittorrent_config.username if qbittorrent_config else '' }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<div>
|
||||
<label for="qb_password" class="block text-sm font-medium text-gray-700 mb-1">密码</label>
|
||||
<input type="password" id="qb_password" name="password" value="{{ qbittorrent_config.password if qbittorrent_config else '' }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center mb-6">
|
||||
<input type="checkbox" id="qb_enabled" name="enabled" {% if qbittorrent_config and qbittorrent_config.enabled %}checked{% endif %}
|
||||
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
|
||||
<label for="qb_enabled" class="ml-2 block text-sm text-gray-900">
|
||||
启用 qBittorrent 客户端
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<button type="submit"
|
||||
class="bg-blue-600 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
|
||||
保存设置
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="border-t border-gray-200 pt-8 mt-8">
|
||||
<h2 class="text-xl font-semibold mb-4">Transmission 客户端设置</h2>
|
||||
<form id="transmission-settings-form">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-4">
|
||||
<div>
|
||||
<label for="tr_host" class="block text-sm font-medium text-gray-700 mb-1">主机地址</label>
|
||||
<input type="text" id="tr_host" name="host" value="{{ transmission_config.host if transmission_config else '' }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<div>
|
||||
<label for="tr_port" class="block text-sm font-medium text-gray-700 mb-1">端口</label>
|
||||
<input type="number" id="tr_port" name="port" value="{{ transmission_config.port if transmission_config else '' }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<div>
|
||||
<label for="tr_username" class="block text-sm font-medium text-gray-700 mb-1">用户名</label>
|
||||
<input type="text" id="tr_username" name="username" value="{{ transmission_config.username if transmission_config else '' }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<div>
|
||||
<label for="tr_password" class="block text-sm font-medium text-gray-700 mb-1">密码</label>
|
||||
<input type="password" id="tr_password" name="password" value="{{ transmission_config.password if transmission_config else '' }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center mb-6">
|
||||
<input type="checkbox" id="tr_enabled" name="enabled" {% if transmission_config and transmission_config.enabled %}checked{% endif %}
|
||||
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
|
||||
<label for="tr_enabled" class="ml-2 block text-sm text-gray-900">
|
||||
启用 Transmission 客户端
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<button type="submit"
|
||||
class="bg-blue-600 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
|
||||
保存设置
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.getElementById('nexusphp-settings-form').addEventListener('submit', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
const formData = new FormData(this);
|
||||
|
||||
fetch('/settings/nexusphp', {
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
if (data.success) {
|
||||
alert('NexusPHP 设置已保存');
|
||||
} else {
|
||||
alert('保存失败: ' + data.error);
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
alert('保存失败: ' + error.message);
|
||||
});
|
||||
});
|
||||
|
||||
document.getElementById('qbittorrent-settings-form').addEventListener('submit', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
const formData = new FormData(this);
|
||||
|
||||
fetch('/settings/qbittorrent', {
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
if (data.success) {
|
||||
alert('qBittorrent 设置已保存');
|
||||
} else {
|
||||
alert('保存失败: ' + data.error);
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
alert('保存失败: ' + error.message);
|
||||
});
|
||||
});
|
||||
|
||||
document.getElementById('transmission-settings-form').addEventListener('submit', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
const formData = new FormData(this);
|
||||
|
||||
fetch('/settings/transmission', {
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
if (data.success) {
|
||||
alert('Transmission 设置已保存');
|
||||
} else {
|
||||
alert('保存失败: ' + data.error);
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
alert('保存失败: ' + error.message);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user