微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。