AppAPI umożliwia użytkownikom ładowanie metadanych systemowych z aplikacji przy użyciu różnych metod w FormEngine i DMView. Zapewnia dostęp do różnych kluczy danych do pobierania konkretnych informacji z aplikacji.

W xlsform możesz użyć funkcji pulldata() z następującą składnią:

  • 'app-api': To słowo kluczowe informuje FormEngine o ładowaniu danych z App API.
  • 'data-key': To klucz danych, które chcesz załadować z App API.
  • Jeśli klucz danych jest nieprawidłowy lub nieobsługiwany, obliczenie zwróci “n/a”.

Oto obsługiwane klucze danych, których możesz używać z App-API:

osPlatform: Zwraca bieżącą nazwę systemu operacyjnego (Android lub iOS) i wersję systemu operacyjnego. Platformy webowe zwrócą pustą wartość.

appPlatform: Zwraca nazwę platformy aplikacji, którą jest rtSurvey.

appVersion: Zwraca nazwę wersji aplikacji.

getDisplayWidth: Zwraca szerokość ekranu urządzenia w pikselach.

getDisplayHeight: Zwraca wysokość ekranu urządzenia w pikselach.

getScreenSize: Zwraca rozmiar ekranu urządzenia w calach.

projectCode: Zwraca bieżący kod projektu witryny, do której użytkownik się loguje.

projectURL: Zwraca bieżący URL projektu witryny, do której użytkownik się loguje. Domyślna/awaryjna wartość to pusty tekst ("").

startingPoint: Zwraca ścieżkę punktu, który uruchamia formularz.

serverTime: Zwraca najlepsze dostępne przybliżenie daty i godziny na serwerze.

user.[attribute]: Zwraca bieżące atrybuty użytkownika na podstawie określonego klucza atrybutu. Połącz poniższe klucze atrybutów z “user.” w parametrach pulldata(), aby pobrać informacje o bieżącym użytkowniku. Na przykład użyj user.username, user.email itd.

Klucz atrybutuOpis
usernameNazwa użytkownika
namePełne imię i nazwisko użytkownika
staffCodeKod personelu użytkownika
phoneNumer telefonu użytkownika
emailAdres email użytkownika
descriptionTekst opisu w informacjach o użytkowniku
organization_idID organizacji, do której należy użytkownik
organization_nameNazwa organizacji, do której należy użytkownik
team_idID zespołu, do którego należy użytkownik
supervisor_idID przełożonego użytkownika
is_supervisor1 jeśli użytkownik jest przełożonym, 0 jeśli nie

instancePath: Zwraca bieżącą ścieżkę folderu instancji.

appLanguage: Zwraca bieżący język aplikacji ustawiony w ustawieniach aplikacji (np. pl, en).

openArgs.[attribute]: Zwraca argument otwierania formularza przekazany z ActionButton. Domyślna/awaryjna wartość to pusty tekst ("").

primaryAppColor: Pobiera podstawowy kolor aplikacji.


Przykłady użycia

Przechowuj nazwę użytkownika i organizację ankietera

typenamelabelcalculation
calculateenumerator_namepulldata('app-api', 'user.name')
calculateenumerator_orgpulldata('app-api', 'user.organization_name')
calculateenumerator_emailpulldata('app-api', 'user.email')

Użyj ich w etykietach notatek do celów audytu:

  note | interviewer_info | Ankieter: ${enumerator_name} (${enumerator_org})
  

Informacje o urządzeniu i ekranie

typenamelabelcalculation
calculatedevice_platformpulldata('app-api', 'osPlatform')
calculateapp_verpulldata('app-api', 'appVersion')
calculatescreen_wpulldata('app-api', 'getDisplayWidth')

Czas serwera zamiast czasu urządzenia

Zegary urządzeń mogą być nieprawidłowe. Użyj serverTime dla bardziej wiarygodnego znacznika czasu:

typenamelabelcalculation
calculateserver_tspulldata('app-api', 'serverTime')

Logika warunkowa oparta na roli użytkownika

Pokaż sekcję tylko dla przełożonych:

typenamelabelrelevant
calculateis_supervisorpulldata('app-api', 'user.is_supervisor')
begin_groupsupervisor_sectionPrzegląd przełożonego${is_supervisor} = '1'
textsupervisor_notesNotatki przełożonego
end_group

Uwagi

  • Wszystkie wywołania pulldata('app-api', ...) są oceniane przy otwarciu formularza i nie są ponownie oceniane dynamicznie podczas sesji (z wyjątkiem serverTime i now()).
  • Jeśli klucz jest nieobsługiwany lub dane są niedostępne, funkcja zwraca 'n/a' (nie pusty ciąg — testuj używając != 'n/a' zamiast != '').
  • Wartości openArgs są dostępne tylko gdy formularz jest uruchamiany z przycisku akcji; w przeciwnym razie zwracają pusty ciąg.
Czy ta strona była pomocna?