2017-07-06 40 views
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來創建一個要點。您將獲得該要點的URL作爲響應的一部分。這在文檔中有非常清楚的解釋。

POST /gists 

說這個新的要點的URL是 -

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

現在,你可以做的是在你的網站上使用這個ID( 'aa5a315d61ae9438b18d')爲好。 也就是說,yoursite.com/lists/aa5a315d61ae9438b18d 從上面的方法中,獲取ID,用它從github獲得要點,然後就完成了!

GET /gists/:id 

這應該有效。不僅僅是使用github gists,而是使用任何提供API的東西。 希望這有助於!

+0

感謝您的輸入。我還沒有將這些列表存儲在數據庫中,但我認爲這是一種做法。另外,我聽說它可以通過Github的要點替代完成......你可能有什麼想法嗎? – ZeroDarkThirty

+0

一個要點只是用於一小塊內容(通常與其他代碼無關),就像我在這裏討論和給出與您相關的示例一樣。我想你可以使用他們的API來創建一個要點(甚至允許匿名的),然後分享這個鏈接,也許?但是,那意味着列表不再是您網站的一部分。 –

+0

啊!等等,我認爲有一個解決方法,以及如果你想要github gists。將編輯答案。 –

相關問題