mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 05:07:46 +00:00
fix:补充描述
This commit is contained in:
parent
d6e52b1a24
commit
c5f40f6a24
2 changed files with 20 additions and 23 deletions
|
|
@ -69,7 +69,7 @@ git clone --depth=1 https://gitee.com/bietiaop/ZZZ-Plugin.git ./plugins/ZZZ-Plug
|
|||
|
||||
## 绑定设备
|
||||
|
||||
本插件会自带一个默认设备参数模拟真机进行请求,但是这个设备参数会被所有使用本插件的用户共同使用,因此**大概率**会遭遇账号异常,因此在遇到米游社抛出对应错误时,需要每个人绑定登陆米游社账号的常用设备参数进行请求。
|
||||
本插件会自带一个默认设备参数模拟真机进行请求,但是这个设备参数会被所有使用本插件的用户共同使用,因此**大概率**会遭遇账号异常,因此在遇到米游社抛出对应错误时,需要每个人绑定**已经登陆米游社账号的常用设备参数**进行请求。
|
||||
|
||||
如果需要绑定设备,请发送 `%绑定设备帮助` 进行查看如何绑定。第一种方法就是抓包,此种方法危害性较小,技术难度相对较高,但是IOS与Android设备通用。
|
||||
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ export default class MysZZZApi extends MysApi {
|
|||
if (data.deviceId) {
|
||||
headers['x-rpc-device_id'] = data.deviceId;
|
||||
}
|
||||
// 如果有设备信息,写入设备信息
|
||||
// 如果有绑定设备信息,写入绑定设备信息,否则写入默认设备信息
|
||||
if (data?.deviceInfo && data?.modelName) {
|
||||
const deviceBrand = data.deviceInfo?.split('/')[0];
|
||||
try {
|
||||
|
|
@ -140,6 +140,19 @@ export default class MysZZZApi extends MysApi {
|
|||
} catch (error) {
|
||||
logger.error(`[ZZZ]设备信息解析失败:${error.message}`);
|
||||
}
|
||||
} else {
|
||||
const deviceCfg = settings.getConfig('device');
|
||||
const defDeviceCfg = settings.getdefSet('device');
|
||||
const modelName = _.get(deviceCfg, 'modelName') ?? _.get(defDeviceCfg, 'modelName');
|
||||
const deviceInfo = _.get(deviceCfg, 'deviceInfo') ?? _.get(defDeviceCfg, 'deviceInfo');
|
||||
const deviceBrand = deviceInfo.split('/')[0];
|
||||
try {
|
||||
headers['x-rpc-device_name'] = `${deviceBrand} ${modelName}`;
|
||||
headers['x-rpc-device_model'] = modelName;
|
||||
headers['x-rpc-csm_source'] = 'myself';
|
||||
} catch (error) {
|
||||
logger.error(`[ZZZ]设备信息解析失败:${error.message}`);
|
||||
}
|
||||
}
|
||||
// 写入DS
|
||||
switch (dsSalt) {
|
||||
|
|
@ -212,12 +225,11 @@ export default class MysZZZApi extends MysApi {
|
|||
* @returns {object}
|
||||
*/
|
||||
getHeaders(query = '', body = '') {
|
||||
const info = this.getBindInfo()
|
||||
const deviceCfg = settings.getConfig('device');
|
||||
const defDeviceCfg = settings.getdefSet('device');
|
||||
const deviceInfo = info?.deviceFingerprint ?? _.get(deviceCfg, 'deviceInfo') ?? _.get(defDeviceCfg, 'deviceInfo');
|
||||
const osVersion = info?.androidVersion ?? _.get(deviceCfg, 'osVersion') ?? _.get(defDeviceCfg, 'osVersion');
|
||||
const modelName = info?.deviceModel ?? _.get(deviceCfg, 'modelName') ?? _.get(defDeviceCfg, 'modelName');
|
||||
const osVersion = _.get(deviceCfg, 'osVersion') ?? _.get(defDeviceCfg, 'osVersion');
|
||||
const modelName = _.get(deviceCfg, 'modelName') ?? _.get(defDeviceCfg, 'modelName');
|
||||
const deviceInfo = _.get(deviceCfg, 'deviceInfo') ?? _.get(defDeviceCfg, 'deviceInfo');
|
||||
const deviceDisplay = deviceInfo.split('/')[3];
|
||||
const cn = {
|
||||
app_version: '2.73.1',
|
||||
|
|
@ -257,22 +269,6 @@ export default class MysZZZApi extends MysApi {
|
|||
};
|
||||
}
|
||||
|
||||
async getBindInfo() {
|
||||
// 从 this.cookie 中获取ltuid
|
||||
const ck = this.cookie;
|
||||
let ltuid = ck.match(/ltuid=(\d+);/);
|
||||
if (ltuid) {
|
||||
ltuid = ltuid[1];
|
||||
}
|
||||
let bindInfo = await redis.get(`ZZZ:DEVICE_FP:${ltuid}:BIND`);
|
||||
if (bindInfo) {
|
||||
bindInfo = JSON.parse(bindInfo);
|
||||
} else {
|
||||
bindInfo = null;
|
||||
}
|
||||
return { bindInfo };
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验状态码
|
||||
* @param e 消息e
|
||||
|
|
@ -333,8 +329,9 @@ export default class MysZZZApi extends MysApi {
|
|||
ltuid = ltuid[1];
|
||||
}
|
||||
if (ltuid) {
|
||||
let bindInfo = this.getBindInfo();
|
||||
let bindInfo = await redis.get(`ZZZ:DEVICE_FP:${ltuid}:BIND`);
|
||||
if (bindInfo) {
|
||||
bindInfo = JSON.parse(bindInfo);
|
||||
try {
|
||||
data = {
|
||||
...data,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue