v3backend

This commit is contained in:
booploops 2022-04-19 22:17:57 -07:00
parent f1e0bc70f0
commit 723494b56f
2 changed files with 56 additions and 13 deletions

View file

@ -645,6 +645,35 @@ export class BrowserWindow {
* ipcMain Events * ipcMain Events
****************************************************************************************************************** */ ****************************************************************************************************************** */
ipcMain.handle("mkv3", async (event, args) => {
const options = {
route: "",
token: "",
mediaToken: "",
GETBody: {}
}
Object.assign(options, args);
let res = await fetch(
`https://amp-api.music.apple.com/${options.route}?${new URLSearchParams({
...options.GETBody
}).toString()}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
authorization: `Bearer ${options.token}`,
path: options.route,
authority: "amp-api.music.apple.com",
"media-user-token": options.mediaToken,
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Cider/1.4.2 Chrome/100.0.4896.75 Electron/18.0.3 Safari/537.36"
},
}
);
let json = await res.json();
return json;
})
ipcMain.on("get-wallpaper", async (event) => { ipcMain.on("get-wallpaper", async (event) => {
const wpPath: string = await wallpaper.get(); const wpPath: string = await wallpaper.get();
// get the wallpaper and encode it to base64 then return // get the wallpaper and encode it to base64 then return

View file

@ -1,30 +1,44 @@
const MusicKitTools = { const MusicKitTools = {
async v3Continuous ({ async v3Backend({
href, route = "", getBody = {}, options = {}
options = {}, }) {
reqOptions = {}, return await (await ipcRenderer.invoke("mkv3", {
onProgress = () => {}, token: MusicKit.getInstance().developerToken,
onError = () => {}, route: route,
onSuccess = () => {} mediaToken: MusicKit.getInstance().musicUserToken,
} = {}) { GETBody: getBody
}))
},
async v3Continuous({
href,
options = {},
reqOptions = {},
onProgress = () => {
},
onError = () => {
},
onSuccess = () => {
}
} = {}) {
let returnData = [] let returnData = []
async function sendReq(href, options) { async function sendReq(href, options) {
const response = await app.mk.api.v3.music(href, options).catch(error => onError) const response = await app.mk.api.v3.music(href, options).catch(error => onError)
returnData = returnData.concat(response.data.data) returnData = returnData.concat(response.data.data)
if(response.data.next) { if (response.data.next) {
onProgress({ onProgress({
response: response, response: response,
total: returnData.length total: returnData.length
}) })
try { try {
await sendReq(response.data.next, options) await sendReq(response.data.next, options)
}catch(e){ } catch (e) {
await sendReq(response.data.next, options) await sendReq(response.data.next, options)
} }
} }
} }
await sendReq(href, options) await sendReq(href, options)
onSuccess(returnData) onSuccess(returnData)
return returnData return returnData
@ -39,4 +53,4 @@ const MusicKitTools = {
} }
} }
export { MusicKitTools } export {MusicKitTools}