收藏
回答

请问非同一主体账号下的APP和小程序,怎样实现跳转?

https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Launching_a_Mini_Program/Launching_a_Mini_Program.html

请问非同一主体账号下的移动应用APP和小程序,怎样实现跳转?

1. 是只能通过以下图1的代码实现跳转吗?

2.为什么在微信开放平台找不到图2的页面呢?

回答关注问题邀请回答
收藏

1 个回答

  • 伊依&伊恒
    伊依&伊恒
    2023-04-24

    对于非同一主体账号下的APP和小程序,它们之间的跳转需要通过微信公众平台的开放能力来实现。具体来讲,有以下两种方法可供选择:

    1.使用跳转链接

    可以通过在小程序内部生成一个跳转链接,再在APP中调用系统浏览器打开该链接的方式进行跳转。

    生成跳转链接的方式如下:

    复制代码
    // 小程序内部生成跳转链接
    const jumpUrl = 'https://servicewechat.com/{appid}/{version}/page-frame.html'
    
    wx.navigateTo({ url: `/pages/webview/webview?url=${encodeURIComponent(jumpUrl)}` })
    

    其中,appid和version分别是小程序的AppID和版本号,可以在微信公众平台获取。

    2.使用小程序JS-SDK

    另一种方法是使用小程序JS-SDK提供的能力,在APP中集成JS-SDK并调用其API,实现小程序的跳转。需要注意的是,此方法要求APP和小程序都必须经过认证,并且具有相应的权限才能使用。

    使用小程序JS-SDK的方式如下:

    首先在小程序中进行初始化:

    复制代码
    wx.config({
      beta: true,
      debug: true,
      appId: '{appid}',
      timestamp: {timestamp},
      nonceStr: '{nonceStr}',
      signature: '{signature}',
      jsApiList: ['navigateTo'],
    })
    

    然后在APP中调用对应的API(如navigateTo):

    复制代码
    wx.navigateToMiniProgram({
      appId: '{appid}',
      path: '/pages/index/index',
      extraData: {},
      success(res) {
        // 跳转成功处理逻辑
      },
      fail(res) {
        // 跳转失败处理逻辑
      }
    })
    

    其中,appid、timestamp、nonceStr和signature是通过微信公众平台API获取的,path是小程序的页面路径。


    2023-04-24
    有用
    回复
登录 后发表内容