diff --git a/.gitignore b/.gitignore index 1406277..e66fd95 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,22 @@ +# Dependencies node_modules + +# Output output + +# Cookies / sessions (auto-generated by scraper) +cookies.json +feishu-cookies.json +feishu-wiki-cookies.json +*-cookies.json + +# Auth artifacts +feishu-auth-qr.png + +# Local config / IDE +.claude/ +.debug/ +.DS_Store + +# Bundled browsers (pkg build output) +browsers/ diff --git a/README.md b/README.md index 597bae6..c72fc19 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ node feishu-to-md.mjs **示例:** ```bash -node feishu-to-md.mjs https://yitanger.feishu.cn/wiki/R9NywV2i9izjuqkPd63cWuafn4g +node feishu-to-md.mjs https://your-tenant.feishu.cn/wiki/WikiNodeTokenExample ``` **输出:** diff --git a/auto-scrape.mjs b/auto-scrape.mjs index 60cd53f..7b62b56 100644 --- a/auto-scrape.mjs +++ b/auto-scrape.mjs @@ -7,7 +7,7 @@ * * 示例: * node auto-scrape.mjs https://yitang.top/fs-doc/abc123/docId - * node auto-scrape.mjs https://yitanger.feishu.cn/wiki/R9NywV2i9i... + * node auto-scrape.mjs https://your-tenant.feishu.cn/wiki/WikiNodeTokenExample... * * Cookie 持久化:首次登录后自动保存,之后无需重复扫码。 */ @@ -41,7 +41,7 @@ if (!args[0] || args[0] === '--help' || args[0] === '-h') { 示例: node auto-scrape.mjs https://yitang.top/fs-doc/abc/docId - node auto-scrape.mjs https://yitanger.feishu.cn/wiki/R9NywV2i9izjuqkPd63cWuafn4g + node auto-scrape.mjs https://your-tenant.feishu.cn/wiki/WikiNodeTokenExample node auto-scrape.mjs https://yitang.top/fs-doc/abc/docId 课程笔记.md `); process.exit(0); diff --git a/feishu-copy.mjs b/feishu-copy.mjs index 2f240f3..5392e81 100755 --- a/feishu-copy.mjs +++ b/feishu-copy.mjs @@ -27,8 +27,8 @@ if (!argv[0] || argv[0] === '--help' || argv[0] === '-h') { 目标文件夹token 可选,新文档放在指定文件夹下 示例: - node feishu-copy.mjs https://yitanger.feishu.cn/wiki/R9NywV2i9izjuqkPd63cWuafn4g - node feishu-copy.mjs https://yitanger.feishu.cn/wiki/ABC123 fldcnXXXXXXX + node feishu-copy.mjs https://your-tenant.feishu.cn/wiki/WikiNodeTokenExample + node feishu-copy.mjs https://your-tenant.feishu.cn/wiki/ABC123 fldcnXXXXXXX `); process.exit(0); } diff --git a/feishu-to-md.mjs b/feishu-to-md.mjs index 03df36d..a252798 100755 --- a/feishu-to-md.mjs +++ b/feishu-to-md.mjs @@ -20,15 +20,26 @@ if (!argv[0] || argv[0] === '--help' || argv[0] === '-h') { 用法:node feishu-to-md.mjs [输出目录] 示例: - node feishu-to-md.mjs https://yitanger.feishu.cn/wiki/R9NywV2i9izjuqkPd63cWuafn4g - node feishu-to-md.mjs R9NywV2i9izjuqkPd63cWuafn4g + node feishu-to-md.mjs https://your-tenant.feishu.cn/wiki/WikiNodeTokenExample + FEISHU_TENANT=your-tenant node feishu-to-md.mjs WikiNodeTokenExample `); process.exit(0); } const input = argv[0].trim(); const outDir = argv[1] ? resolve(argv[1]) : resolve('./output'); -const wikiUrl = input.startsWith('http') ? input : `https://yitanger.feishu.cn/wiki/${input}`; +let wikiUrl; +if (input.startsWith('http')) { + wikiUrl = input; +} else { + const tenant = process.env.FEISHU_TENANT; + if (!tenant) { + console.error('❌ 传入纯 token 时需设置 FEISHU_TENANT 环境变量,例如:'); + console.error(' FEISHU_TENANT=your-tenant node feishu-to-md.mjs '); + process.exit(1); + } + wikiUrl = `https://${tenant}.feishu.cn/wiki/${input}`; +} // lark-cli 命令必须在 outDir 下执行(+media-preview 只接受相对路径) process.chdir(outDir);