Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano format pliku JSON definicji akcji dla akcji aplikacji w systemie Windows. Ten plik musi być uwzględniony w projekcie z ustawieniem Akcja kompilacji na "Zawartość" i ustawieniem Skopiuj do katalogu wyjściowego na "Kopiuj, jeśli jest nowsza". Określ ścieżkę względną pakietu do pliku JSON w pliku XML manifestu pakietu. Aby uzyskać więcej informacji, zobacz Format XML manifestu pakietu dostawcy akcji.
Przykładowy plik JSON definicji akcji
"version": 3,
"actions": [
{
"id": "Contoso.SampleGreeting",
"description": "Send greeting with Contoso",
"icon": "ms-resource//...",
"usesGenerativeAI": false,
"isAvailable": false,
"allowedAppInvokers": ["*"],
"inputs": [
{
"name": "UserFriendlyName",
"kind": "Text"
},
{
"name": "PetName",
"kind": "Text",
"required": false
}
],
"inputCombinations": [
{
"inputs": ["UserFriendlyName"],
"description": "Greet ${UserFriendlyName.Text}"
},
{
"inputs": ["UserFriendlyName", "PetName"],
"description": "Greet ${UserFriendlyName.Text} and their pet ${PetName.Text}"
}
],
"contentAgeRating": "child",
"invocation":
{
{
"type": "Uri",
"uri": "contoso://greetUser?userName=${UserFriendlyName.Text}&petName=${PetName.Text}",
},
"where": [
"${UserFriendlyName.Length > 3}"
]
}
},
{
"id": "Contoso.SampleGetText",
"description": "Summarize file with Contoso",
"icon": "ms-resource://...",
"inputs": [
{
"name": "FileToSummarize",
"kind": "File"
}
],
"inputCombinations": [
{
"inputs": ["FileToSummarize"],
"description": "Summarize ${FileToSummarize.Path}"
},
],
"outputs": [
{
"name": "Summary",
"kind": "Text"
}
],
"contentAgeRating": "child",
"invocation": {
"type": "COM",
"clsid": "{...}"
}
}
]
}
Definicja akcji: właściwości JSON
W poniższych tabelach opisano właściwości pliku JSON definicji akcji.
Pole Wersja wskazuje wersję schematu, w której wprowadzono właściwość.
Pole PWA wskazuje obsługę dostawców akcji implementowanych jako progresywne aplikacje internetowe (PWA). Aby uzyskać więcej informacji na temat akcji aplikacji za pomocą aplikacji PWA, zobacz Włączanie akcji aplikacji w systemie Windows dla programu PWA.
Katalog główny dokumentu
| Majątek | Typ | Opis | Wymagane | wersja |
|---|---|---|---|---|
| wersja | ciąg | Wersja schematu. Po dodaniu nowych funkcji wersja zwiększa się o jeden. | Tak. | 2 |
| działania | Akcja[] | Definiuje akcje udostępniane przez aplikację. | Tak. | 2 |
Akcja
| Majątek | Typ | Opis | Wymagane | wersja | PWA |
|---|---|---|---|---|---|
| id | ciąg | Identyfikator akcji. Musi być unikatowy dla każdego pakietu aplikacji. Ta wartość nie jest lokalizowalna. | Tak | 2 | Tak |
| opis | ciąg | Opis tej akcji dostępny dla użytkownika. Ta wartość jest lokalizowalna. | Tak | 2 | Tak |
| ikona | ciąg | Ikona lokalizowalna dla akcji. Ta wartość jest ciągiem ms-resource dla ikony wdrożonej z aplikacją. | Nie. | 2 | Tak |
| allowedAppInvokers | ciąg znakowy[] | Określa listę identyfikatorów modelu użytkownika aplikacji (AppUserModelID), które mogą odnaleźć akcję za pomocą wywołania metody GetActionsForInputs lub GetAllActions. Obsługiwane są symbole wieloznaczne. Wartość "*" będzie zgodna ze wszystkimi identyfikatorami AppUserModelID. Jest to zalecane w przypadku większości akcji, chyba że istnieje określona przyczyna ograniczenia elementów wywołujących, które mogą wywołać akcję. Jeśli aplikacja allowedAppInvokers zostanie pominięta lub jest pustą listą, żadne aplikacje nie będą mogły odnaleźć akcji. Aby uzyskać więcej informacji na temat identyfikatorów AppUserModelID, zobacz Identyfikatory modelu użytkownika aplikacji | Nie. | 3 | Tak |
| używaGeneratywnejSI | logiczny | Określa, czy akcja wykorzystuje generatywną sztuczną inteligencję. Wartość domyślna to fałsz. | Nie. | 2 | Tak |
| jestDostępny | logiczny | Określa, czy akcja jest dostępna do użycia podczas instalacji. Wartość domyślna to true. | Tak | 2 | Tak |
| Wejścia | Dane wejściowe[] | Lista jednostek, które ta akcja akceptuje jako dane wejściowe. | Tak | 2 | Tak |
| kombinacje wejściowe | KombinacjaWejściowa[] | Zawiera opisy różnych kombinacji danych wejściowych. | Tak | 2 | Tak |
| Wyniki | Dane wyjściowe[] | Jeśli zostanie określony, musi być pustym ciągiem w bieżącej wersji. | Nie. | 2 | Tak |
| wywołanie | Wywołanie | Zawiera informacje o sposobie wywoływanej akcji. | Tak | 2 | Tak |
| ocena wiekowa treści | ciąg | Nazwa pola z UserAgeConsentGroup, określająca odpowiednią klasyfikację wieku dla działania. Dozwolone wartości to "Child", "Minor", "Adult". Jeśli żadna wartość nie zostanie określona, domyślne zachowanie zezwala na dostęp do wszystkich grup wiekowych. | Nie. | 2 | Tak |
Wynik
| Majątek | Typ | Opis | Wymagane | wersja | PWA |
|---|---|---|---|---|---|
| nazwa | ciąg | Nazwa zmiennej jednostki. Ta wartość nie jest lokalizowalna. | Tak | 2 | Tak |
| rodzaj | ciąg | Nazwa pola z wyliczenia ActionEntityKind określająca typ jednostki. Ta wartość nie jest lokalizowalna. Dozwolone wartości to "None", "Document", "File", "Photo", "Text", "StreamingText", "RemoteFile", "Table", "Contact". | Tak | 2 | Tak |
Wersja schematu i obsługa programu PWA różnią się w zależności od wartości właściwości kind. Aby uzyskać szczegółowe informacje, zobacz wpis dla każdego typu jednostki.
Kombinacja wejściowa
| Majątek | Typ | Opis | Wymagane | wersja | PWA |
|---|---|---|---|---|---|
| Wejścia | ciąg znakowy[] | Lista nazw danych wejściowych dla wywołania akcji. Lista może być pusta. | Tak | 2 | Tak |
| opis | ciąg | Opis wywołania akcji. Ta wartość jest lokalizowalna. | Nie. | 2 | Tak |
| gdzie | ciąg znakowy[] | Co najmniej jedna instrukcja warunkowa określająca warunki, w których ma zastosowanie działanie. | Nie. | 2 | Tak |
Wywołanie
| Majątek | Typ | Opis | Wymagane | wersja | PWA |
|---|---|---|---|---|---|
| typ | ciąg | Typ wystąpienia akcji. Dozwolone wartości to "URI" i "com". | Tak | 2 | Tylko "URI". |
| URI | ciąg | Bezwzględny identyfikator URI do wywoływania akcji. Użycie encji można uwzględnić w tekście. Do identyfikatora URI można dodać specjalny parametr ciągu zapytania zarezerwowanego, token=${$.Token} aby umożliwić wykonywanie akcji w celu sprawdzenia, czy zostały one wywołane przez środowisko uruchomieniowe akcji. Aby uzyskać więcej informacji, zobacz Używanie $. Parametr ciągu zapytania identyfikatora URI tokenu. |
Tak, dla zainicjowanych akcji identyfikatora URI. | 2 | Tak |
| clsid | ciąg | Identyfikator klasy dla klasy COM, która implementuje IActionProvider. | Tak, w przypadku akcji COM. | 2 | Nie. |
| dane wejściowe | Pary nazw/wartości JSON | Lista par nazwa-wartość określająca dodatkowe dane dla działań URI. | Nie. Ważne tylko dla działań URI. | 2 | Tak |
Wyliczenie typu ActionEntityKind
Wyliczenie ActionEntityKind określa typy jednostek obsługiwanych przez akcje aplikacji w systemie Windows. W kontekście definicji akcji JSON rodzaje jednostek są literałami ciągu, które rozróżniają wielkość liter.
| Łańcuch znaków rodzaju jednostki | Opis | wersja | PWA |
|---|---|---|---|
| "Plik" | Zawiera wszystkie typy plików, które nie są obsługiwane przez typy jednostek zdjęć ani dokumentów. | 2 | Tylko dane wejściowe. |
| "Zdjęcie" | Typy plików obrazów. Obsługiwane rozszerzenia plików obrazów to ".jpg", ".jpeg" i ".png" | 2 | Tylko dane wejściowe. |
| "Dokument" | Typy plików dokumentów. Obsługiwane rozszerzenia plików dokumentów to ".doc", ".docx", ".pdf", ".txt" | 2 | Tylko dane wejściowe. |
| "Tekst" | Obsługuje ciągi tekstu. | 2 | Tylko dane wejściowe. |
| StreamingText | Obsługuje przyrostowo przesyłane strumieniowo ciągi tekstu. | 2 | Nieprawda |
| RemoteFile | Obsługuje metadane w celu umożliwienia akcji weryfikowania i pobierania plików zapasowych z usługi w chmurze. | 2 | Tylko dane wejściowe. |
| Tabela | Tabela 2D wartości ciągów, która jest serializowana do 1-wymiarowej tablicy ciągów. | 3 | Nie. |
| "Kontakt" | Zestaw danych reprezentujący kontakt. | 3 | Tylko dane wejściowe. |
Właściwości jednostki
Każdy typ jednostki obsługuje co najmniej jedną właściwość, która udostępnia dane instancji dla jednostki. W nazwach właściwości jednostki jest rozróżniana wielkość liter.
Poniższy przykład ilustruje sposób odwoływania się do elementów w ciągu zapytania dla akcji uruchamianych za pośrednictwem aktywacji URI.
...?param1=${entityName.property1}¶m2=${entityName.property2}
Aby uzyskać informacje na temat używania właściwości obiektu do tworzenia sekcji warunkowych w JSON definicji akcji, zobacz klauzule Where.
Właściwości jednostki pliku
| Majątek | Typ | Opis | wersja | PWA |
|---|---|---|---|---|
| NazwaPliku | ciąg | Nazwa pliku. | 2 | Tylko dane wejściowe. |
| "Ścieżka" | ciąg | Ścieżka pliku. | 2 | Tylko dane wejściowe. |
| "Rozszerzenie" | ciąg | Rozszerzenie pliku. | 2 | Tylko dane wejściowe. |
Właściwości jednostki dokumentu
Jednostka Document obsługuje te same właściwości co Plik.
Właściwości obiektu zdjęcia
Jednostka Zdjęcie obsługuje wszystkie właściwości pliku oprócz następujących właściwości.
| Majątek | Typ | Opis | wersja | PWA |
|---|---|---|---|---|
| IsTemporaryPath | logiczny | Wartość określająca, czy zdjęcie jest przechowywane w ścieżce tymczasowej. Na przykład ta właściwość jest prawdziwa w przypadku zdjęć przechowywanych w pamięci z mapy bitowej, a nie przechowywanych trwale w pliku. | 2 | Tylko dane wejściowe. |
Właściwości jednostki tekstowej
| Majątek | Typ | Opis | wersja | PWA |
|---|---|---|---|---|
| "Tekst" | ciąg | Pełny tekst. | 2 | Tylko dane wejściowe. |
| "Krótki tekst" | ciąg | Skrócona wersja tekstu, odpowiednia do wyświetlania interfejsu użytkownika. | 2 | Tylko dane wejściowe. |
| "Tytuł" | ciąg | Tytuł tekstu. | 2 | Tylko dane wejściowe. |
| Opis | ciąg | Opis tekstu. | 2 | Tylko dane wejściowe. |
| "Długość" | podwójny | Długość tekstu w znakach. | 2 | Tylko dane wejściowe. |
| Licznik Słów | podwójny | Liczba wyrazów w tekście. | 2 | Tylko dane wejściowe. |
Właściwości jednostki StreamingText
| Majątek | Typ | Opis | wersja | PWA |
|---|---|---|---|---|
| "TextFormat" | ciąg | Format tekstu przesyłanego strumieniowo. Obsługiwane wartości to "Plain", "Markdown". | 2 | Nie. |
Właściwości jednostki RemoteFile
| Majątek | Typ | Opis | wersja | PWA |
|---|---|---|---|---|
| IdentyfikatorKonta | ciąg | Identyfikator konta usługi w chmurze skojarzonego z plikiem zdalnym. | 2 | Tylko dane wejściowe. |
| Typ zawartości | ciąg | Typ MIME pliku zdalnego. | 2 | Tylko dane wejściowe. |
| "DriveId" | ciąg | Identyfikator dysku zdalnego skojarzonego z plikiem zdalnym. | 2 | Tylko dane wejściowe. |
| "Rozszerzenie" | ciąg | Rozszerzenie pliku zdalnego. | 2 | Tylko dane wejściowe. |
| "FileId" | ciąg | Identyfikator pliku zdalnego. | 2 | Tylko dane wejściowe. |
| "FileKind" | RemoteFileKind | Rodzaj pliku zdalnego. | 2 | Tylko dane wejściowe. |
| "IdentyfikatorŹródła" | ciąg | Identyfikator usługi w chmurze, która hostuje plik zdalny. | 2 | Tylko dane wejściowe. |
| "SourceUri" | ciąg | URI pliku zdalnego. | 2 | Tylko dane wejściowe. |
RemoteFileKind, wyliczenie
Wyliczenie RemoteFileKind określa typy plików obsługiwanych dla jednostki RemoteFile .
| Łańcuch znaków rodzaju jednostki | Opis | wersja |
|---|---|---|
| "Plik" | Zawiera wszystkie typy plików, które nie są obsługiwane przez typy jednostek zdjęć ani dokumentów. | 2 |
| "Zdjęcie" | Typy plików obrazów. Obsługiwane rozszerzenia plików obrazów to ".jpg", ".jpeg" i ".png" | 2 |
| "Dokument" | Typy plików dokumentów. Obsługiwane rozszerzenia plików dokumentów to ".doc", ".docx", ".pdf", ".txt" | 2 |
Właściwości obiektu tabeli
| Majątek | Typ | Opis | Wymagane | wersja | PWA |
|---|---|---|---|---|---|
| "RowCount" | liczba całkowita | Liczba wierszy w tabeli. | Tak | 3 | Nie. |
| LiczbaKolumn | liczba całkowita | Liczba kolumn w tabeli. | Tak | 3 | Nie. |
| "Tytuł" | ciąg | Tytuł tabeli. | Nie. | 3 | Nie. |
| Opis | ciąg | Opis tabeli. | Nie. | 3 | Nie. |
Właściwości podmiotu kontaktu
| Majątek | Typ | Opis | Wymagane | wersja | PWA |
|---|---|---|---|---|---|
| "Adres e-mail" | ciąg | Adres e-mail kontaktu. | Nie. | 3 | Tylko dane wejściowe. |
| PełnaNazwa | liczba całkowita | Pełna nazwa kontaktu. | Nie. | 3 | Tylko dane wejściowe. |
| "Tytuł" | ciąg | Tytuł kontaktu. | Nie. | 3 | Tylko dane wejściowe. |
| Opis | ciąg | Opis kontaktu. | Nie. | 3 | Tylko dane wejściowe. |
Klauzule warunków
Format JSON definicji akcji obsługuje klauzule , które mogą służyć do implementowania logiki warunkowej, takie jak określanie, że akcja powinna być wywoływana tylko wtedy, gdy właściwość jednostki ma określoną wartość.
Następujące operatory mogą być używane z klauzulami where .
| Obsługujący | Opis |
|---|---|
| == | Równość |
| ~= | Równość bez uwzględniania wielkości liter |
| != | Nierówność |
| < | Mniejsze niż |
| <= | Mniej lub równe |
| > | Większe niż |
| >= | Większe niż lub równe |
| || | Alternatywa logiczna |
| && | Logiczne AND |
Klauzule Where używają następującego formatu:
"where": [
"${<property_accessor>} <operator> <value>"
]
W poniższym przykładzie przedstawiono klauzulę where , która daje wartość true, jeśli jednostka File ma rozszerzenie pliku ".txt".
"where": [
"${File.Extension} ~= \".txt\""
]
Wiele klauzul where można łączyć przy użyciu operatorów logicznych AND i logicznych OR.
"where": [
"${File.Extension} ~= \".txt\" || ${File.Extension} ~= \".md\""
]