fix:未绑定设备使用默认值

This commit is contained in:
kissnavel 2024-08-17 16:06:12 +08:00
parent 4913e524c9
commit c71cb5a7f4

View file

@ -87,12 +87,13 @@ export class ZZZPlugin extends plugin {
return { api: null, uid: null, deviceFp: null };
}
// 获取设备指纹
let deviceFp = await redis.get(`ZZZ:DEVICE_FP:${ltuid}:FP`);
let deviceFp
let bindInfo = await redis.get(`ZZZ:DEVICE_FP:${ltuid}:BIND`);
let data = {
deviceFp,
};
if (bindInfo) {
deviceFp = await redis.get(`ZZZ:DEVICE_FP:${ltuid}:FP`);
let data = {
deviceFp,
};
try {
bindInfo = JSON.parse(bindInfo);
data = {
@ -106,44 +107,61 @@ export class ZZZPlugin extends plugin {
} catch (error) {
bindInfo = null;
}
}
if (!deviceFp) {
const sdk = api.getUrl('getFp', data);
const res = await request(sdk.url, {
headers: sdk.headers,
method: 'POST',
body: sdk.body,
});
const fpRes = await res.json();
logger.debug(`[米游社][设备指纹]${JSON.stringify(fpRes)}`);
deviceFp = fpRes?.data?.device_fp;
if (!deviceFp) {
return { api: null, uid: null, deviceFp: null };
const sdk = api.getUrl('getFp', data);
const res = await request(sdk.url, {
headers: sdk.headers,
method: 'POST',
body: sdk.body,
});
const fpRes = await res.json();
logger.debug(`[米游社][设备指纹]${JSON.stringify(fpRes)}`);
deviceFp = fpRes?.data?.device_fp;
if (!deviceFp) {
return { api: null, uid: null, deviceFp: null };
}
await redis.set(`ZZZ:DEVICE_FP:${ltuid}:FP`, deviceFp, {
EX: 86400 * 7,
});
data['deviceFp'] = deviceFp;
const deviceLogin = api.getUrl('deviceLogin', data);
const saveDevice = api.getUrl('saveDevice', data);
if (!!deviceLogin && !!saveDevice) {
logger.debug(`[米游社][设备登录]保存设备信息`);
try {
logger.debug(`[米游社][设备登录]${JSON.stringify(deviceLogin)}`);
const login = await request(deviceLogin.url, {
headers: deviceLogin.headers,
method: 'POST',
body: deviceLogin.body,
});
const save = await request(saveDevice.url, {
headers: saveDevice.headers,
method: 'POST',
body: saveDevice.body,
});
const result = await Promise.all([login.json(), save.json()]);
logger.debug(`[米游社][设备登录]${JSON.stringify(result)}`);
} catch (error) {
logger.error(`[米游社][设备登录]${error.message}`);
}
}
}
await redis.set(`ZZZ:DEVICE_FP:${ltuid}:FP`, deviceFp, {
EX: 86400 * 7,
});
data['deviceFp'] = deviceFp;
const deviceLogin = api.getUrl('deviceLogin', data);
const saveDevice = api.getUrl('saveDevice', data);
if (!!deviceLogin && !!saveDevice) {
logger.debug(`[米游社][设备登录]保存设备信息`);
try {
logger.debug(`[米游社][设备登录]${JSON.stringify(deviceLogin)}`);
const login = await request(deviceLogin.url, {
headers: deviceLogin.headers,
method: 'POST',
body: deviceLogin.body,
} else {
deviceFp = await redis.get(`ZZZ:DEVICE_FP:${uid}`);
if (!deviceFp) {
const sdk = api.getUrl('getFp');
const res = await fetch(sdk.url, {
headers: sdk.headers,
method: 'POST',
body: sdk.body,
});
const fpRes = await res.json();
deviceFp = fpRes?.data?.device_fp;
if (deviceFp) {
await redis.set(`ZZZ:DEVICE_FP:${uid}`, deviceFp, {
EX: 86400 * 7,
});
const save = await request(saveDevice.url, {
headers: saveDevice.headers,
method: 'POST',
body: saveDevice.body,
});
const result = await Promise.all([login.json(), save.json()]);
logger.debug(`[米游社][设备登录]${JSON.stringify(result)}`);
} catch (error) {
logger.error(`[米游社][设备登录]${error.message}`);
}
}
}