完成网络音乐、工具页面与安装器体验升级

This commit is contained in:
2026-08-18 13:54:33 +08:00
parent 337390f53e
commit 149c28082d
1082 changed files with 26442 additions and 162838 deletions
+52
View File
@@ -0,0 +1,52 @@
const { playlistAesEncrypt, playlistAesDecrypt, rsaEncrypt2, signParamsKey, clientver, appid } = require('../util');
module.exports = (params, useAxios) => {
const answer = { status: 500, body: {}, cookie: [] };
return new Promise(async (resolve) => {
try {
const userid = params?.userid || params?.cookie?.userid || 0;
const token = params?.token || params.cookie?.token || '';
const mid = params?.cookie?.KUGOU_API_MID; // 可以自定义
const clienttime = Math.floor(Date.now() / 1000);
const dataMap = {
page: params.page ?? 1,
pagesize: params.pagesize ?? 30,
getkmr: 1,
};
const aesEncrypt = playlistAesEncrypt(dataMap);
const p = rsaEncrypt2({ aes: aesEncrypt.key, uid: userid, token }).toUpperCase();
const paramsMap = {
clienttime,
mid,
key: signParamsKey(clienttime.toString(), appid),
clientver,
appid,
p,
};
const respone = await useAxios({
baseURL: 'https://mcloudservice.kugou.com',
url: '/v1/get_list',
params: paramsMap,
data: Buffer.from(aesEncrypt.str, 'base64'),
method: 'post',
encryptType: 'android',
responseType: 'arraybuffer',
cookie: params?.cookie || {},
clearDefaultParams: true,
notSignature: true,
});
respone.body = playlistAesDecrypt({ str: respone.body.toString('base64'), key: aesEncrypt.key });
resolve(respone);
} catch (error) {
console.log(error);
answer.body = error;
resolve(answer);
}
});
};