Синхронизация с API: support_api_base из конфига, заголовки при создании тикета, убран неиспользуемый poll

This commit is contained in:
root
2026-05-14 10:35:36 +00:00
parent 306bcc8f51
commit c92eccfc41
4 changed files with 13 additions and 7 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
<name>f7support</name>
<summary>Support ticket client for F7cloud (F7cloud-compatible)</summary>
<description>f7support client app for creating and viewing support tickets.</description>
<version>0.1.2</version>
<version>0.1.3</version>
<licence>AGPL</licence>
<author>f7support team</author>
<namespace>F7Support</namespace>
+6 -3
View File
@@ -260,7 +260,7 @@
const node = messageList.querySelector(`[data-f7-msg-id="${id}"]`);
if (node) hydrateClientAttachments(node);
messageList.scrollTop = messageList.scrollHeight;
if (msg.author_role === "support" && state.currentTicket) {
if (clientReadReceiptsEnabled && msg.author_role === "support" && state.currentTicket) {
markClientTicketRead(state.currentTicket).catch(() => {});
}
}
@@ -775,7 +775,7 @@
"X-F7cloud-Server": serverAddress,
},
});
if (!response.ok) throw new Error("Не удалось получить токены");
if (!response.ok) throw new Error("Не удалось загрузить список обращений");
state.tickets = await response.json();
renderTickets();
}
@@ -956,7 +956,10 @@
try {
const response = await fetch(`${apiBase}/api/client/tickets`, {
method: "POST",
headers: { "Content-Type": "application/json" },
headers: {
"Content-Type": "application/json",
...clientIdentityHeaders(),
},
body: JSON.stringify({ ...payload, duplicate }),
signal: controller.signal,
});
+4
View File
@@ -32,7 +32,11 @@ class PageController extends Controller {
$baseUrl = $this->urlGenerator->getBaseUrl();
$serverHost = parse_url($baseUrl, PHP_URL_HOST) ?: 'localhost';
// База REST API поддержки (без завершающего слэша). Переопределение: occ config:app:set f7support support_api_base --value=https://...
$supportApiBase = trim($this->config->getAppValue('f7support', 'support_api_base', 'https://support.f7cloud.ru'));
if ($supportApiBase === '') {
$supportApiBase = 'https://support.f7cloud.ru';
}
$supportParts = parse_url($supportApiBase);
$supportApiOrigin = ($supportParts['scheme'] ?? 'https') . '://' . ($supportParts['host'] ?? '');
+1 -2
View File
@@ -5,6 +5,5 @@
data-server-address="<?php p($_['serverAddress']); ?>"
data-support-api-base="<?php p($_['supportApiBase']); ?>"
data-support-ws-base="<?php p($_['supportWsBase'] ?? ''); ?>"
data-client-read-receipts="<?php p($_['clientReadReceipts'] ?? '0'); ?>"
data-messages-poll-ms="5000">
data-client-read-receipts="<?php p($_['clientReadReceipts'] ?? '0'); ?>">
</div>