Files
YMhut-box-C-/third_party/MoeKoeMusic/api/module/login.js
T

52 lines
2.3 KiB
JavaScript

const { cryptoAesDecrypt, cryptoAesEncrypt, cryptoRSAEncrypt } = require('../util');
module.exports = (params, useAxios) => {
const dateNow = Date.now();
const encrypt = cryptoAesEncrypt({ pwd: params?.password || '', code: params?.code || '', clienttime_ms: dateNow });
const dataMap = {
plat: 1,
support_multi: 1,
clienttime_ms: dateNow,
t1: '562a6f12a6e803453647d16a08f5f0c2ff7eee692cba2ab74cc4c8ab47fc467561a7c6b586ce7dc46a63613b246737c03a1dc8f8d162d8ce1d2c71893d19f1d4b797685a4c6d3d81341cbde65e488c4829a9b4d42ef2df470eb102979fa5adcdd9b4eecfea8b909ff7599abeb49867640f10c3c70fc444effca9d15db44a9a6c907731e2bb0f22cd9b3536380169995693e5f0e2424e3378097d3813186e3fe96bbe7023808a0981b4e2b6135a76faac',
t2: '31c4daf4cf480169ccea1cb7d4a209295865a9d2b788510301694db229b87807469ea0d41b4d4b9173c2151da7294aeebfc9738df154bbdf11a4e117bb5dff6a3af8ce5ce333e681c1f29a44038f27567d58992eb81283e080778ac77db1400fdf49b7cf7e26be2e5af4da7830cc3be4',
t3: 'MCwwLDAsMCwwLDAsMCwwLDA=',
username: params?.username,
params: encrypt.str,
pk: cryptoRSAEncrypt({ 'clienttime_ms': dateNow, key: encrypt.key }).toUpperCase(),
};
return new Promise((resolve, reject) => {
useAxios({
url: '/v9/login_by_pwd',
method: 'POST',
data: dataMap,
encryptType: 'android',
cookie: params?.cookie || {},
headers: { 'x-router': 'login.user.kugou.com' },
})
.then((res) => {
const { body } = res;
if (body?.status && body?.status === 1) {
if (body?.data?.secu_params) {
const getToken = cryptoAesDecrypt(body.data.secu_params, encrypt.key);
if (typeof getToken === 'object') {
res.body.data = { ...body.data, ...getToken };
Object.keys(getToken).forEach((key) => res.cookie.push(`${key}=${getToken[key]}`));
} else {
res.body.data['token'] = getToken;
res.cookie.push(`token=${getToken}`);
}
res.cookie.push(`userid=${res.body.data?.userid || 0}`);
res.cookie.push(`vip_type=${res.body.data?.vip_type || 0}`);
res.cookie.push(`vip_token=${res.body.data?.vip_token || ''}`);
resolve(res);
return;
}
}
resolve(res);
})
.catch((e) => reject(e));
});
};