【emby折騰日記】自定義emby的下載功能
之前用emby建了個galgame庫,但一直沒想好怎么利用,就想著先把下載功能實現(xiàn),但emby的下載功能需要會員,所以就準備自定義個下載功能。

先看看效果:

大致流程就是先請求自建的后端,后端將文件壓縮,用文件流的形式傳給前端實現(xiàn)下載功能。

前端部分
前端部分
\system\dashboard-ui\modules\itemcontextmenu.js
需要使用兩個庫,axios.min.js,sweetalert2.js,先把庫文件放到modules下,然后引入。
注意_confirm, _axios, _sweetalert2這三個就是后引入的庫

注意需要加break;直接跳出

自定義下載函數(shù):


后端部分
后端部分

文件壓縮類:


存在的問題
存在的問題
后端沒有驗證權限,安全性存在一定問題。
如果同時壓縮和傳輸多個文件,會對服務器造成一定壓力,因此需要限制同時壓縮和傳輸?shù)臄?shù)量。
測試了4G左右的壓縮包可以正常壓縮和傳輸,但未測試更大的文件是否會產(chǎn)生未知問題。
小改動
小改動
從媒體庫點近游戲庫會先進入"系統(tǒng)",現(xiàn)在想直接進入文件夾。

觀察發(fā)現(xiàn)進入文件夾是在url上加入?yún)?shù)&tab=folders實現(xiàn)的,于是通過修改進入時的默認url實現(xiàn)。
\system\dashboard-ui\modules\approuter.js
就是這個部分,在games的return中加入"&tab=folders";就可以了


總結
總結
雖然只是實現(xiàn)了一個小功能,但提供了一個思路,以后可能考慮實現(xiàn)更多的功能。如果有什么好的想法也可以評論區(qū)留言。想要完整代碼或程序的,想知道怎么定位js和函數(shù)的也可以評論區(qū)留言。