问题描述
我目前正在开发一个 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 (将#修改为@)