Expo - 分享点击即可打开应用的链接

问题描述

我目前正在开发一个 Expo 应用程序,人们可以在其中发布帖子并与他们在 Whatsapp、Facebook 上的朋友分享......

我面临的问题是我不知道如何创建一个链接,当点击AND时会打开应用程序,这要求用户登录应用程序。

我使用的服务器是用 NodeJS 制作的,并且有一个中间件来检查用户是否登录以及获取特定帖子的路径。见下面的代码

//Middleware 'checkLoggedIn' that checks if the user is logged in
modules.exports = (req,res,next) => {
    const { authorization } = req.headers;
    if(!authorization) //Handle unauthorized

    const token = authorization.replace('Bearer ','')
    jwt.verify(token,SECRET,(err,payload) => {
        if(err) //Handle error
        else {
            //Find the user and save it in req.user
        }
    })
}

//Get specific post by id
Router.route('/:id').get(checkLoggedIn,(req,res) => {
    //Find post in Post model where id matches req.params.id 
})

在客户端,当用户单击共享按钮时,我不知道要提供哪个链接,因为我在 Expo Linking 文档中看到链接必须具有 exp:// 方案。

我目前尝试的是将 exp://app:port 链接直接传递给 Expo Share 库中的 Share.share 方法,但它从不检查用户是否已登录。我也尝试过传递服务器路由http://localhost:PORT/123 其中 123 是帖子的 ID,但它会将我重定向到带有未经授权消息的浏览器。

注意:我可能完全误解了共享链接的原则,并为此提前道歉。

感谢任何可以帮助我的人!如果我不清楚,请随时向我询问更多细节

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)