Sdílet prostřednictvím


Schéma JSON definice akce pro akce aplikace ve Windows

Tento článek popisuje formát souboru JSON definice akce pro App Actions na Windows. Tento soubor musí být součástí projektu s akcí sestavení nastavenou na Obsah a Kopírovat do výstupního adresáře nastavenou na Kopírovat, pokud je novější. Zadejte relativní cestu balíčku k souboru JSON v souboru XML manifestu balíčku. Další informace naleznete v formátu XML manifestu balíčku zprostředkovatele akce.

Příklad souboru JSON definice akce

"version": 2, 
  "actions": [ 
    { 
      "id": "Contoso.SampleGreeting", 
      "description": "Send greeting with Contoso", 
      "icon": "ms-resource//...", 
      "usesGenerativeAI": false,
      "isAvailable": false,
      "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": "{...}" 
      } 
    } 
  ] 
} 

Vlastnosti definice akce JSON

Následující tabulky popisují vlastnosti souboru JSON definice akce.

Kořenový adresář dokumentu

Vlastnictví Typ Popis Povinné
verze řetězec Verze schématu Po přidání nové funkce se verze zvýší o jednu. Ano.
Akce Akce[] Definuje akce poskytované aplikací. Ano.

Činnost

Vlastnictví Typ Popis Povinné
identifikační číslo řetězec Identifikátor akce. Musí být jedinečný pro každý balíček aplikace. Tato hodnota není lokalizovatelná. Ano
popis řetězec Popis této akce, který je určený pro uživatele Tato hodnota je lokalizovatelná. Ano
ikona řetězec Ikona pro lokalizovatelnou akci Tato hodnota je řetězec ms-resource pro ikonu nasazenou v aplikaci. Ne
používáGenerativníAI Boolovská logika Určuje, jestli akce používá generování umělé inteligence. Výchozí hodnota je false. Ne
je dostupný Boolovská logika Určuje, jestli je akce dostupná pro použití při instalaci. Výchozí hodnota je true. Ano
vstupy Vstupy[] Seznam entit, které tato akce přijímá jako vstup Ano
kombinaceVstupů KombinaceVstupů[] Poskytuje popisy pro různé kombinace vstupů. Ano
výstupy Výstup[] Pokud je to specifikováno, musí být v aktuální verzi prázdný řetězec. Ne
vyvolání Vyvolání Poskytuje informace o vyvolání akce. Ano
hodnocení věkové vhodnosti obsahu řetězec Název pole ze skupiny UserAgeConsentGroup , která určuje odpovídající věkové hodnocení akce. Povolené hodnoty jsou "Child", "Minor", "Adult". Pokud není zadána žádná hodnota, výchozí chování umožňuje přístup ke všem věkovým kategoriím. Ne

Výstup

Vlastnictví Typ Popis Povinné
název řetězec Název proměnné entity. Tato hodnota není lokalizovatelná. Ano
laskavý řetězec Název pole z výčtu ActionEntityKind určující typ entity. Tato hodnota není lokalizovatelná. Povolené hodnoty jsou None( Žádný), Document (Dokument), File (Soubor), Photo (Fotka), Text (Text). Ano

kombinace vstupu

Vlastnictví Typ Popis Povinné
vstupy řetězec[] Seznam názvů vstupů pro vyvolání akce. Seznam může být prázdný. Ano
popis řetězec Popis vyvolání akce Tato hodnota je lokalizovatelná. Ne
kde řetězec[] Jeden nebo více podmíněných příkazů určujících podmínky, za kterých se akce použije. Ne

Vyvolání

Vlastnictví Typ Popis Povinné
druh řetězec Typ instancování akce. Povolené hodnoty jsou URI a Com. Ano
URI řetězec Absolutní identifikátor URI pro spuštění akce. Použití entity může být zahrnuto v řetězci. Ano, u akcí s vytvářením instancí identifikátoru URI.
clsid řetězec ID třídy modelu COM, která implementuje IActionProvider. Ano, pro akce modelu COM
vstupní data Seznam párů název/hodnota určující další data pro akce identifikátoru URI. Ne. Platí pouze pro akce URI.

Výčet typů ActionEntityKind

Výčet ActionEntityKind určuje typy entit, které jsou podporovány akcemi aplikací ve Windows. V kontextu definice akce JSON jsou druhy entit řetězcové literály, které rozlišují mezi malými a velkými písmeny.

Řetězec typu entity Popis
"Soubor" Zahrnuje všechny typy souborů, které nejsou podporovány entitami typu fotografie nebo dokument.
"Fotka" Typy souborů obrázků. Podporované přípony souborů obrázků jsou ".jpg", ".jpeg" a ".png"
"Dokument" Typy souborů dokumentu. Podporované přípony souborů dokumentů jsou ".doc", ".docx", ".pdf", ".txt"
"Text" Podporuje řetězce textu.
StreamingText Podporuje přírůstkově streamované řetězce textu.
"RemoteFile" Podporuje metadata, která umožňují akce ověřovat a načítat záložní soubory z cloudové služby.

Vlastnosti entit

Každý typ entity podporuje jednu nebo více vlastností, které poskytují data instance entity. V názvech vlastností entity se rozlišují malá a velká písmena.

Následující příklad ukazuje, jak jsou entity odkazovány v řetězci dotazu na akce spuštěné prostřednictvím aktivace identifikátoru URI:

...?param1=${entityName.property1}&param2=${entityName.property2}

Informace o použití vlastností entity k vytvoření podmíněných oddílů v kódu JSON definice akce najdete v tématu Klauzule Where.

Vlastnosti entity souboru

Vlastnictví Typ Popis
NázevSouboru řetězec Název souboru.
"Cesta" řetězec Cesta k souboru.
"Rozšíření" řetězec Přípona souboru.

Vlastnosti entity dokumentu

Entita Dokument podporuje stejné vlastnosti jako Soubor.

Vlastnosti entity fotografie

Entita Fotografie podporuje všechny vlastnosti souboru kromě následujících vlastností.

Vlastnictví Typ Popis
JeDočasnáCesta Boolovská logika Hodnota určující, zda je fotografie uložena v dočasné cestě. Tato vlastnost je například pravdivá pro fotografie uložené v paměti z rastrového obrázku, které nejsou trvale uloženy v souboru.

Vlastnosti textové entity

Vlastnictví Typ Popis
"Text" řetězec Celý text.
"Krátký text" řetězec Zkrácená verze textu vhodná pro zobrazení uživatelského rozhraní.
"Název" řetězec Název textu.
"Popis" řetězec Popis textu.
Délka dvojitý Délka textu ve znacích.
Počet slov dvojitý Počet slov v textu

Vlastnosti entity StreamingText

Vlastnictví Typ Popis
TextFormat řetězec Formát streamovaného textu. Podporované hodnoty jsou "Plain", "Markdown".

Vlastnosti entity RemoteFile

Vlastnictví Typ Popis
ID účtu řetězec Identifikátor účtu cloudové služby přidruženého ke vzdálenému souboru.
Typ obsahu řetězec Typ MIME vzdáleného souboru.
"DriveId" řetězec Identifikátor vzdáleného disku přidruženého ke vzdálenému souboru.
"Rozšíření" řetězec Přípona vzdáleného souboru.
Identifikátor souboru řetězec Identifikátor vzdáleného souboru.
"FileKind" RemoteFileKind Druh vzdáleného souboru.
SourceId řetězec Identifikátor cloudové služby, která je hostitelem vzdáleného souboru.
"SourceUri" řetězec Identifikátor URI vzdáleného souboru.

RemoteFileKind: výčet

Výčet RemoteFileKind určuje typy souborů, které jsou podporovány pro entitu RemoteFile .

Řetězec typu entity Popis
"Soubor" Zahrnuje všechny typy souborů, které nejsou podporovány entitami typu fotografie nebo dokument.
"Fotka" Typy souborů obrázků. Podporované přípony souborů obrázků jsou ".jpg", ".jpeg" a ".png"
"Dokument" Typy souborů dokumentu. Podporované přípony souborů dokumentů jsou ".doc", ".docx", ".pdf", ".txt"

Klauzule WHERE

Formát JSON definice akce podporuje klauzule , které lze použít k implementaci podmíněné logiky, jako je například určení, že akce by měla být vyvolána pouze v případě, že vlastnost entity má zadanou hodnotu.

Následující operátory lze použít s klauzulemi where .

Operátor Popis
== Rovnost
~= Rovnost bez rozlišení velkých a malých písmen
!= Nerovnost
< Menší než
<= Menší nebo rovno
> Je větší než
>= Větší nebo rovno
|| Logické NEBO
&& Logická operace AND

Klauzule Where používají následující formát:

"where": [ 
    "${<property_accessor>} <operator> <value>" 
] 

Následující příklad ukazuje klauzuli where , která se vyhodnotí jako true, pokud entita File má příponu souboru ".txt".

"where": [ 
    "${File.Extension} ~= \".txt\"" 
] 

Více klauzulí where lze kombinovat pomocí logických operátorů AND a logických operátorů OR.

"where": [ 
  "${File.Extension} ~= \".txt\" || ${File.Extension} ~= \".md\"" 
]