整個用java kt混編。
主要難點在於以下幾個點:
- kt學習成本
- 資料來源
- 播放及鎖屏
- 資料操作
一、kt學習成本
二、資料來源
1、排行榜請求介面在主模組暴露,但是介面訪問的是個人地址。猜測應該是作者自己搭建的伺服器。(地址為xxx.zzsun.cc)。目前看是沒有包含app相關的token資訊。
另外,有2個地方產生了token。
一個是微信登陸,一個是微博登陸。產生的token用於請求排行榜資料,猜測是用了用來校驗使用者。做app後續操作的建權(比如登陸才能下載以及檢視聊天室等)。
2、關鍵api資訊在musciapi模組下,利用dsbridge這個庫去呼叫webview去請求(這個庫初始化時間很長,需要優化),請求介面全部寫在js中,而且js是壓縮過的,很難看清楚內容。(大致看了下,呼叫的是官方的api介面,比如qq音樂)。
所以,很難界定直接用是否有被封介面的風險。
如果改用自己的介面,目前來說 只有qq音樂的,沒有網易雲音樂及蝦米音樂的介面,要改的話這是一部分工作。