notion-zh_CN icon indicating copy to clipboard operation
notion-zh_CN copied to clipboard

我自己写了个nodejs更新脚本,亲测可用

Open bigsu opened this issue 1 year ago • 3 comments

将代码保存为index.js 然后在控制台执行 node index.js 像我这样建个文件夹,弄个脚本,双击执行就可以 image

const fs = require('fs');
const os = require('os');
const path = require('path');

// 获取系统用户名
const username = os.userInfo().username;

// 构建文件夹路径
const folderPath = path.join('C:\\Users', username, 'AppData', 'Roaming', 'Notion', 'notionAssetCache-v2');
fs.readFile(path.join(folderPath, "latestVersion.json"), 'utf8', (err, jsondata) => {
    const latestVersion = JSON.parse(jsondata);

    // 构建 assets.json 文件路径
    const assetsJsonPath = path.join(folderPath, latestVersion.version, 'assets.json');

    // 读取 assets.json 文件
    fs.readFile(assetsJsonPath, 'utf8', (err, data) => {
        if (err) {
            console.error('无法读取 assets.json 文件:', err);
            return;
        }

        try {
            // 解析 JSON 数据
            const assetsData = JSON.parse(data);

            // 遍历所有的 localeHtml 对象
            for (const localeKey in assetsData) {
                if (assetsData.hasOwnProperty(localeKey) && typeof assetsData[localeKey] === 'object') {
                    // 遍历当前 localeHtml 对象的所有键值对
                    for (const key in assetsData[localeKey]) {
                        if (assetsData[localeKey].hasOwnProperty(key) && key === 'en-US') {
                            // 修改键为 en-US 的值为 zh-CN
                            assetsData[localeKey][key] = assetsData[localeKey]['zh-CN'];
                        }
                    }
                }
            }

            // 将修改后的数据写回文件
            fs.writeFile(assetsJsonPath, JSON.stringify(assetsData, null, 2), 'utf8', (err) => {
                if (err) {
                    console.error('无法写入 assets.json 文件:', err);
                    return;
                }
                console.log('成功更新 assets.json 文件。');
            });
        } catch (jsonError) {
            console.error('无法解析 JSON 数据:', jsonError);
        }
    });
});

bigsu avatar Dec 21 '23 03:12 bigsu

确实可以,但是也要次次 notion 热更新就要运行一下

Reamd7 avatar Dec 21 '23 14:12 Reamd7

我去,大佬🐂🍺,根据您的代码,运行一次就可以了

muyigege avatar Jan 12 '24 12:01 muyigege

我去,大佬🐂🍺,根据您的代码,运行一次就可以了

哥们,没有代码基础,怎么运行这个脚本,不太懂

Luozhe-Socrates avatar Jan 14 '24 06:01 Luozhe-Socrates