zhilian-auto-hi
Version:
智联招聘自动打招呼工具 - 自动化招聘流程的命令行工具
127 lines (109 loc) • 3.74 kB
JavaScript
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);
});