我正在构建一个应用程序,允许用户搜索并创建自己喜欢的音乐专辑列表。到目前为止,用户可以创建列表。
但现在我需要能够为每个创建的列表创建一个新的唯一链接,以便用户可以在社交媒体上共享它。谁能告诉我怎么做呢?谢谢!
答案 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的东西。 希望这有帮助!