# functional-page-navigator

> 基础库 2.1.0 开始支持，低版本需做[兼容处理](1003706)。

> __微信 Windows 版__：支持
> 
> __微信 Mac 版__：支持
> 
> __微信 鸿蒙 OS 版__：支持

渲染框架支持情况：Skyline （使用最新 [Nightly](/miniprogram/dev/devtools/nightly.html) 工具调试）、WebView

## 功能描述

仅在插件中有效，用于跳转到插件功能页。

## 通用属性


```json
[
  {
    "属性": "version",
    "类型": "string",
    "默认值": "release",
    "必填": "否",
    "说明": "跳转到的小程序版本，**线上版本必须设置为 release**",
    "最低版本": "[2.1.0](1003706)",
    "子项": [
      {
        "合法值": "develop",
        "说明": "开发版"
      },
      {
        "合法值": "trial",
        "说明": "体验版"
      },
      {
        "合法值": "release",
        "说明": "正式版"
      }
    ]
  },
  {
    "属性": "name",
    "类型": "string",
    "默认值": "",
    "必填": "否",
    "说明": "要跳转到的功能页",
    "最低版本": "[2.1.0](1003706)",
    "子项": [
      {
        "合法值": "loginAndGetUserInfo",
        "说明": "[用户信息功能页](/miniprogram/dev/framework/plugin/functional-pages/user-info.md)",
        "最低版本": "[2.1.0](1003706)"
      },
      {
        "合法值": "requestPayment",
        "说明": "[支付功能页](/miniprogram/dev/framework/plugin/functional-pages/request-payment.md)",
        "最低版本": "[2.1.0](1003706)"
      },
      {
        "合法值": "chooseAddress",
        "说明": "[收货地址功能页](/miniprogram/dev/framework/plugin/functional-pages/choose-address.md)",
        "最低版本": "[2.4.0](1003706)"
      },
      {
        "合法值": "chooseInvoice",
        "说明": "[获取发票功能页](/miniprogram/dev/framework/plugin/functional-pages/choose-invoice.md)",
        "最低版本": "[2.14.1](1003706)"
      },
      {
        "合法值": "chooseInvoiceTitle",
        "说明": "[获取发票抬头功能页](/miniprogram/dev/framework/plugin/functional-pages/choose-invoice-title.md)",
        "最低版本": "[2.14.1](1003706)"
      }
    ]
  },
  {
    "属性": "args",
    "类型": "object",
    "默认值": "",
    "必填": "否",
    "说明": "功能页参数，参数格式与具体功能页相关",
    "最低版本": "[2.1.0](1003706)"
  },
  {
    "属性": "bind:success",
    "类型": "eventhandler",
    "默认值": "",
    "必填": "否",
    "说明": "功能页返回，且操作成功时触发， detail 格式与具体功能页相关",
    "最低版本": "[2.1.0](1003706)"
  },
  {
    "属性": "bind:fail",
    "类型": "eventhandler",
    "默认值": "",
    "必填": "否",
    "说明": "功能页返回，且操作失败时触发， detail 格式与具体功能页相关",
    "最低版本": "[2.1.0](1003706)"
  },
  {
    "属性": "bind:cancel",
    "类型": "eventhandler",
    "默认值": "",
    "必填": "否",
    "说明": "因用户操作从功能页返回时触发",
    "最低版本": "[2.4.1](1003706)"
  }
]
```

## Bug & Tip

1. `tip`: 功能页是插件所有者小程序中的一个特殊页面，开发者不能自定义这个页面的外观。
1. `tip`: 在功能页展示时，一些与界面展示相关的接口将被禁用（接口调用返回 fail ）。
1. `tip`: 这个组件本身可以在开发者工具中使用，但功能页的跳转目前不支持在开发者工具中调试，请在真机上测试。

## 示例代码

```html
<!-- sample.wxml -->
<functional-page-navigator name="loginAndGetUserInfo" bind:success="loginSuccess">
  <button>登录到插件</button>
</functional-page-navigator>
```

```js
// redirect.js navigator.js
Component({
  methods: {
    loginSuccess: function(e) {
      console.log(e.detail.code) // wx.login 的 code
      console.log(e.detail.userInfo) // wx.getUserInfo 的 userInfo
    }
  }
})
```
