创建持久的唯一链接

时间:2017-07-06 07:59:33

标签: angular

我正在构建一个应用程序,允许用户搜索并创建自己喜欢的音乐专辑列表。到目前为止,用户可以创建列表。

但现在我需要能够为每个创建的列表创建一个新的唯一链接,以便用户可以在社交媒体上共享它。谁能告诉我怎么做呢?谢谢!

1 个答案:

答案 0 :(得分:1)

由于您已经完成了创建新列表的部分,其余部分非常简单。

我假设您将这些列表存储在某个数据库中。您现在需要的是为每个列表创建具有唯一标识符的单独路由。这个唯一标识符可以是您生成的内容(比如说字母数字字符串),也可以是数据库中此列表的id之类的简单标识符。

完成后,您可以创建一个组件(比如ListItemComponent) 然后在路由器模块路由中使用它。

{ path: 'list/:id', component: ListItemComponent },

在组件的OnInit中,您可以获得此ID,

constructor(private route : ActivatedRoute) {}

ngOnInit() {
 var id = this.route.snapshot.params['id'];
}

您可以使用此ID从后端获取列表。

另外,由于你想要社交媒体共享,如果你想在fb等上共享时为这些路由设置元标记(标题,描述等),我建议你研究一下服务器端渲染。

根据评论中的内容。

https://developer.github.com/v3/gists/

参考此API。只要用户想要共享其列表,您就可以调用此API来创建要点。作为响应的一部分,您将获得该gist的URL。文档中非常清楚地解释了这一点。

POST /gists

说这个新要点的URL是 -

https://api.github.com/gists/aa5a315d61ae9438b18d

现在,您可以在您的网站中使用此ID('aa5a315d61ae9438b18d')。 也就是说,例如yoursite.com/lists/aa5a315d61ae9438b18d 从上面的方法,获取ID,使用它从github获取要点,你就完成了!

GET /gists/:id

这应该有效。不仅仅是github gists,还有任何提供API的东西。 希望这有帮助!