fix format parsing
This commit is contained in:
@@ -12,6 +12,21 @@ const CONFIG_FILE_PATH = path.join(__dirname, "../config.mjs");
|
|||||||
// 仅在 USE_MANUAL_LOGIN 为 false 且 ENABLE_AUTO_COOKIE_UPDATE 为 true 时生效
|
// 仅在 USE_MANUAL_LOGIN 为 false 且 ENABLE_AUTO_COOKIE_UPDATE 为 true 时生效
|
||||||
const ENABLE_AUTO_COOKIE_UPDATE = process.env.ENABLE_AUTO_COOKIE_UPDATE === "true";
|
const ENABLE_AUTO_COOKIE_UPDATE = process.env.ENABLE_AUTO_COOKIE_UPDATE === "true";
|
||||||
|
|
||||||
|
function unifyQuotesForJSON(str) {
|
||||||
|
// 正则匹配 `` `...` ``
|
||||||
|
let out = str.replace(/`([^`]*)`/g, (match, p1) => {
|
||||||
|
const safe = p1.replace(/"/g, '\\"');
|
||||||
|
return `"${safe}"`;
|
||||||
|
});
|
||||||
|
out = out.replace(/'([^']*)'/g, (match, p1) => {
|
||||||
|
const safe = p1.replace(/"/g, '\\"');
|
||||||
|
return `"${safe}"`;
|
||||||
|
});
|
||||||
|
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cookies 解析出 DS 与 DSR
|
* cookies 解析出 DS 与 DSR
|
||||||
* @param {Array} cookies 获取到的 cookie 数组
|
* @param {Array} cookies 获取到的 cookie 数组
|
||||||
@@ -145,7 +160,11 @@ export async function updateLocalConfigCookieByEmail(page) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const raw = fs.readFileSync(CONFIG_FILE_PATH, "utf8");
|
const raw = fs.readFileSync(CONFIG_FILE_PATH, "utf8");
|
||||||
const jsonString = raw.replace(/^export const config\s*=\s*/, "");
|
// 去掉 export const config =
|
||||||
|
let jsonString = raw.replace(/^export const config\s*=\s*/, "").trim();
|
||||||
|
|
||||||
|
jsonString = unifyQuotesForJSON(jsonString);
|
||||||
|
|
||||||
const configObj = JSON.parse(jsonString);
|
const configObj = JSON.parse(jsonString);
|
||||||
|
|
||||||
const found = findSessionByEmail(configObj, newEmail);
|
const found = findSessionByEmail(configObj, newEmail);
|
||||||
|
|||||||
Reference in New Issue
Block a user