lobe-chat

Форк
0
28 строк · 789.0 Байт
1
import { API_ENDPOINTS } from '@/services/_url';
2
import { useUserStore } from '@/store/user';
3
import { preferenceSelectors } from '@/store/user/selectors';
4
import { TraceEventBasePayload, TraceEventPayloads } from '@/types/trace';
5

6
class TraceService {
7
  private async request<T>(data: T) {
8
    try {
9
      return fetch(API_ENDPOINTS.trace, {
10
        body: JSON.stringify(data),
11
        headers: { 'Content-Type': 'application/json' },
12
        method: 'POST',
13
      });
14
    } catch (e) {
15
      console.error(e);
16
    }
17
  }
18

19
  async traceEvent(data: TraceEventPayloads & TraceEventBasePayload) {
20
    const enabled = preferenceSelectors.userAllowTrace(useUserStore.getState());
21

22
    if (!enabled) return;
23

24
    return this.request(data);
25
  }
26
}
27

28
export const traceService = new TraceService();
29

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.