Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 深度链接不';如果它';这是一个重定向url_Vue.js_Deep Linking_Capacitor - Fatal编程技术网

Vue.js 深度链接不';如果它';这是一个重定向url

Vue.js 深度链接不';如果它';这是一个重定向url,vue.js,deep-linking,capacitor,Vue.js,Deep Linking,Capacitor,我正在使用Capactor(与VueJS一起使用),我的深度链接工作正常,但如果它是重定向URL,则无法工作 我想使用oauth2连接到Facebook。当我输入我的Facebook登录名/密码时,Facebook会将我重定向到我的服务器API“https://myapi.com/mydeeplink“,但我的应用程序不会触发深层链接(它不会问我是否要用我的应用程序打开此URL) 我知道这是因为重定向URL,因为如果我手动转到“https://myapi.com/mydeeplink在谷歌浏览器

我正在使用Capactor(与VueJS一起使用),我的深度链接工作正常,但如果它是重定向URL,则无法工作

我想使用oauth2连接到Facebook。当我输入我的Facebook登录名/密码时,Facebook会将我重定向到我的服务器API“https://myapi.com/mydeeplink“,但我的应用程序不会触发深层链接(它不会问我是否要用我的应用程序打开此URL)

我知道这是因为重定向URL,因为如果我手动转到“https://myapi.com/mydeeplink在谷歌浏览器中


问题是:如果是重定向的URL,是否可能触发深层链接?

好的,看来我找到了答案

对于电容器,我们必须使用浏览器插件

当我点击我的Facebook按钮登录时,我会调用Browser.open打开链接,每次都会触发AppUrlOpen(即使是重定向url)

…我使用facebook登录..
…我的服务器将我重定向到app://mydomain/myroute?myquery=param..

然后我可以用App.addListener('appUrlOpen')捕捉到deeplink

小心!要使其工作,您需要在此处解释关联文件:
"https://capacitorjs.com/docs/guides/deep-links“,这是强制性的

然后你必须把这个加到你的马尼

            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="app" android:host="mydomain" />
            </intent-filter>


完成

请给出文件名,您在其中添加了侦听器代码,并在其中添加了xml,以便提供帮助?因为我面临着同样的问题。提前感谢您观看以下内容:
  App.addListener('appUrlOpen', function (data) {
    const url = "area://mydomain/myroute"
    let slug = data.url.split(url).pop();

    if (data.url.startsWith(url)) { // if it's the good url I redirect to my app
      this.$router.router(`/${slug ? slug : ""}`);
    }
  });
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="app" android:host="mydomain" />
            </intent-filter>