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 时生效
|
||||
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
|
||||
* @param {Array} cookies 获取到的 cookie 数组
|
||||
@@ -145,7 +160,11 @@ export async function updateLocalConfigCookieByEmail(page) {
|
||||
return;
|
||||
}
|
||||
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 found = findSessionByEmail(configObj, newEmail);
|
||||
|
||||
Reference in New Issue
Block a user