Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve o formato dos parâmetros de ativação da linha de comandos para fornecedores de widgets que utilizam o tipo de ativação ActivateApplication.
Importante
Os fornecedores de widgets especificam um método de ativação no ficheiro manifesto do fornecedor de widgets, conforme descrito no formato XML do manifesto do pacote do fornecedor de widgets. Recomenda-se que os fornecedores de widgets utilizem o tipo de ativação CreateInstance e respondam a pedidos de host de widgets usando os métodos de interface IWidgetProvider em vez do método de ativação ActivateApplication . A informação neste artigo é fornecida para maior completude e não é recomendada para uso pela maioria das implementações de fornecedores de widgets.
Cadeia de argumentos no ActivateApplication e codificação base64url
Quando o fornecedor do widget é ativado, a linha de comandos terá o prefixo --widget-call= antes da codificação base64url nos argumentos da linha de comandos.
--widget-call=[base64url]
Por exemplo, a parte base64url em
--widget-call=ew0KICAgICJXaWRnZXRDYWxsIjoiQ3JlYXRlV2lkZ2V0IiwNCiAgICAiV2lkZ2V0Q29udGV4dCI6ew0KICAgICAgICAiSWQiOiI5ODU4MjEwOS1jNmJmLTQzNzItODlkNi04OWY1N2ViNzU0ZjYiLA0KICAgICAgICAiRGVmaW5pdGlvbk5hbWUiOiJQV0FfQ291bnRpbmdfV2lkZ2V0IiwNCiAgICAgICAgIlNpemUiOiJMYXJnZSINCiAgICB9DQp9
é decodificado em
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Detalhes do formato da linha de comandos
A linha de comandos Json codifica chamadas para os IWidgetProvider métodos:
interface IWidgetProvider
{
void CreateWidget(WidgetContext widgetContext);
void DeleteWidget(String widgetId);
void OnActionInvoked(WidgetCallInvokedArgs actionInvokedArgs);
void OnWidgetContextChanged(WidgetContextChangedArgs contextChangedArgs);
}
Cada ativação representa uma chamada de método. O objeto Json tem um WidgetCall valor com o nome do método, e depois um valor para cada parâmetro, nomeado como o nome do parâmetro mas com maiúscula. Cada parâmetro é mapeado para o objeto JSON como um par< nome da variável, valor>. Por exemplo, para o WidgetContext widgetContext parâmetro do CreateWidget método, o WidgetContext é definido assim:
runtimeclass WidgetContext
{
String Id { get; };
String DefinitionId{ get; };
String Size { get; };
};
Note
Os fornecedores de widgets devem ignorar valores inesperados de parâmetros para lidar com o caso em que sejam adicionados parâmetros adicionais no futuro.
A chamada à API do fornecedor de widgets CreateWidget é convertida num objeto JSON:
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
O objeto incluirá sempre o WidgetCall valor e todos os valores dos parâmetros especificados pelo IWidgetProvider método.
Exemplos de objetos marshallados
Criar objeto Json de Widget
{
"WidgetCall":"CreateWidget",
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Eliminar objeto Json do widget
{
"WidgetId": "1AC74363-177B-4CD2-995F-3B25AEEA3FF4",
"WidgetCall": "DeleteWidget",
"CustomState": "usedata"
}
OnActionInvoked Json Object
{
"WidgetCall": "OnActionInvoked",
"Args":{
"Verb": "Verb String",
"Data": "Data Details",
"CustomState": "usedata",
"WidgetContext": {
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
}
Ativar Objeto Json
{
"WidgetCall": "Activate",
"WidgetContext": {
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Large"
}
}
Desativar Objeto Json
{
"WidgetCall": "Deactivate",
"WidgetId":"98582109-c6bf-4372-89d6-89f57eb754f6"
}
Objeto JSON de OnWidgetContextChanged
Por exemplo, quando WidgetSize muda para Medium, um WidgetContextChanged evento é desencadeado.
{
"WidgetCall": "OnWidgetContextChanged",
"Args":{
"WidgetContext":{
"Id":"98582109-c6bf-4372-89d6-89f57eb754f6",
"DefinitionId":"PWA_Counting_Widget",
"Size":"Medium"
}
}
}
Windows developer