# openPlugin

打开插件/插槽 

## API 调用

### QN.app.invoke({api:'openPlugin', query})

#### API 调用入参

参数名             | 类型       | 是否可选 | 默认值 | 含义
:-------------- | :------- | :--- | :-- | :-----------------------------------------------------------------------------------------------------------------------
`query`         | `Object` |      |     |
`query.appkey`  | `string` |  可选    |  4272 | 插件的appkey，和category之间必须填一个
`query.category`  | `string` |  可选    |  shangpinguanli | 插槽类目，和appkey之间必须填一个，如果都存在，category优先appkey
`query.extraData`  | `string` |  可选    |  {\"key\":\"value\"} | 特殊的字段，会透传到插件中，同时可以实现和开发之间约定的一些功能
`query.directUrl`  | `string` |  可选    |  http://www.taobao.com | 插件跳转的地址，如果设置后，直接跳转到该地址，不会跳转到插件的callbackUrl。注意，该地址host必须与callbackUrl相同
`query.page`  | `string` |  可选    |  JSON格式字符串 | 用来打开应用的指定页面，和qap.json中pages的元素相对应。 请注意是JSON格式字符串： "{ \"url\": \"qap://index.js\", \"capability\": \"itemChoose\", \"alias\": \"index\" }"


#### API 响应结果

参数名      | 类型  | 示例 | 含义
:------- | :-- | :----- | :---
`result` | `*` |        | 请求响应


#### 调用示例

```javascript
QN.app.invoke({
      api:'openPlugin',
      query:{
                appkey : '4272'  ,
                    category : 'shangpinguanli'  ,
                    extraData : '{\"key\":\"value\"}'  ,
                    directUrl : 'http://www.taobao.com'  ,
                    page : 'JSON格式字符串'  
            
      }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});
    
```
