UNPKG

zhilian-auto-hi

Version:

智联招聘自动打招呼工具 - 自动化招聘流程的命令行工具

127 lines (109 loc) 3.74 kB
#!/usr/bin/env node const path = require('path'); const fs = require('fs'); // 解析命令行参数 const args = process.argv.slice(2); const command = args[0]; // 文件路径 const configPath = path.join(process.cwd(), 'config.json'); const exampleConfigPath = path.join(__dirname, '..', 'config.example.json'); // 显示帮助信息 function showHelp() { console.log(` 智联招聘自动打招呼工具 使用方法: zhilian-auto-hi 运行工具 zhilian-auto-hi init 初始化配置文件和下载浏览器 zhilian-auto-hi --help 显示帮助信息 选项: init 创建配置文件并下载浏览器 -h, --help 显示帮助信息 -v, --version 显示版本信息 `); } // 显示版本信息 function showVersion() { const pkg = require('../package.json'); console.log(`v${pkg.version}`); } // 初始化配置和浏览器 async function initProject() { console.log('🚀 正在初始化项目...\n'); // 1. 创建配置文件 if (fs.existsSync(configPath)) { console.log('⚠️ config.json 已存在,跳过创建'); } else { if (fs.existsSync(exampleConfigPath)) { console.log('📝 正在创建配置文件...'); fs.copyFileSync(exampleConfigPath, configPath); console.log('✅ 已创建 config.json'); } else { console.log('❌ 未找到示例配置文件'); process.exit(1); } } // 2. 下载浏览器 console.log('\n🌐 正在检查和下载浏览器...'); try { // 动态导入浏览器安装器 const BrowserInstaller = require('../dist/services/browser-installer.js').default; const installer = new BrowserInstaller(); await installer.ensureBrowserReady(); console.log('✅ 浏览器准备完成'); } catch (error) { console.log('⚠️ 浏览器下载可能需要在首次运行时完成'); console.log(` 错误信息: ${error.message}`); } // 3. 提示用户编辑配置 console.log('\n🎯 初始化完成!'); console.log('\n下一步操作:'); console.log('1. 编辑 config.json 文件,填入你的智联招聘 cookies'); console.log('2. 根据需要调整其他配置项(关键词、年龄范围等)'); console.log('3. 运行 zhilian-auto-hi 开始使用'); console.log('\n💡 获取 cookies 方法:'); console.log(' - 登录智联招聘网站'); console.log(' - 打开浏览器开发者工具 (F12)'); console.log(' - 在 Network 标签页找到请求,复制 Cookie 请求头'); } // 主函数 async function main() { // 处理命令行参数 if (command === 'init') { await initProject(); process.exit(1); } if (command === '--help' || command === '-h') { showHelp(); return; } if (command === '--version' || command === '-v') { showVersion(); return; } // 如果有未知参数,显示帮助 if (command && !command.startsWith('-')) { console.log(`❌ 未知命令: ${command}`); showHelp(); process.exit(1); } // 检查配置文件 if (!fs.existsSync(configPath)) { console.log('❌ 未找到 config.json 配置文件'); console.log('\n请先运行初始化命令:'); console.log(' zhilian-auto-hi init'); console.log('\n或手动创建配置文件后重试'); process.exit(1); } // 运行主程序 try { require('../dist/index.js'); } catch (error) { console.error('❌ 启动失败:', error.message); process.exit(1); } } // 运行主函数 main().catch(error => { console.error('❌ 程序执行出错:', error.message); process.exit(1); });