This commit is contained in:
yazninja 2022-04-26 09:37:52 +08:00
parent 8bfc714209
commit 57741ac2d9
4 changed files with 43 additions and 3 deletions

26
src/ciderkit/public.js Normal file
View file

@ -0,0 +1,26 @@
const CiderKit = {
v1: {
musickit: {
async mkv3(route, body, options) {
let opts = {
method: 'POST',
cache: 'no-cache',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json'
},
redirect: 'follow',
referrerPolicy: 'no-referrer',
body: {}
}
opts.body = JSON.stringify({
route: route,
body: body,
options: options
})
let response = await fetch("http://localhost:9000/api/musickit/v3", opts);
return response.json()
}
}
}
}

View file

@ -328,10 +328,9 @@
"settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時,使用 YouTube 歌詞",
"settings.header.connectivity": "外部連接",
"settings.header.connectivity.description": "調整 Cider 與外部的連接",
"settings.option.connectivity.discordRPC": "Discord 動態",
"settings.option.connectivity.playbackNotifications": "歌曲播放通知",
"settings.header.connectivity.discordRPC.cider": "顯示正在使用 Cider",
"settings.header.connectivity.discordRPC.appleMusic": "顯示正在使用 Apple Music",
"settings.option.connectivity.discordRPC": "Discord 動態",
"settings.option.connectivity.discordRPC.clientName": "應用程式名稱",
"settings.option.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 動態",
"settings.option.connectivity.discordRPC.hideButtons": "隱藏 Discord 動態上的按鈕",
"settings.option.connectivity.lastfmScrobble": "Last.FM Scrobbling 記錄",
@ -357,6 +356,9 @@
"settings.option.visual.transparent": "透明視窗框架",
"settings.option.visual.transparent.description": "需主題有支援透明框架,且須重新啟動才會套用。",
"settings.header.advanced": "進階",
"settings.header.connect": "同步",
"settings.option.connect.link_account": "開啟與 Cider Connect 同步",
"settings.option.connect.link_account.description": "將您的 Discord 帳戶與 Cider Connect 連接後,你可以儲存使用者資料,包括設定、等化器,並最終在完成後儲存更多資料。(正在進行中)",
"spatial.notTurnedOn": "空間音訊目前是關閉狀態,請先開啟再使用。",
"spatial.spatialProperties": "空間音訊屬性設定",
"spatial.width": "寬度",

View file

@ -157,6 +157,10 @@ export class wsapi {
this._win.webContents.executeJavaScript(`MusicKit.getInstance().pause()`);
response.message = "Paused";
break;
case "playpause":
this._win.webContents.executeJavaScript(`MusicKitInterop.playPause()`);
response.message = "Play/Pause";
break
case "play":
this._win.webContents.executeJavaScript(`MusicKit.getInstance().play()`);
response.message = "Playing";

View file

@ -1,6 +1,14 @@
const wsapi = {
cache: {playParams: {id: 0}, status: null, remainingTime: 0},
playbackCache: {status: null, time: Date.now()},
async v3(encoded = "") {
let decoded = atob(encoded);
let json = JSON.parse(decoded);
console.log(json)
let response = await (await MusicKit.getInstance().api.v3.music(json.route, json.body, json.options))
let ret = response.data
return JSON.stringify(ret)
},
search(term, limit) {
MusicKit.getInstance().api.search(term, {limit: limit, types: 'songs,artists,albums,playlists'}).then((results)=>{
ipcRenderer.send('wsapi-returnSearch', JSON.stringify(results))