| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- // 简单的构建脚本
- const fs = require('fs');
- const path = require('path');
- console.log('开始简单构建飞鹅打印模块...');
- const srcDir = path.join(__dirname, 'src');
- const distDir = path.join(__dirname, 'dist');
- // 确保dist目录存在
- if (!fs.existsSync(distDir)) {
- fs.mkdirSync(distDir, { recursive: true });
- }
- // 复制所有.js文件
- function copyJsFiles(dir, relativePath = '') {
- const files = fs.readdirSync(dir);
- for (const file of files) {
- const fullPath = path.join(dir, file);
- const stat = fs.statSync(fullPath);
- if (stat.isDirectory()) {
- copyJsFiles(fullPath, path.join(relativePath, file));
- } else if (file.endsWith('.js')) {
- const destDir = path.join(distDir, relativePath);
- if (!fs.existsSync(destDir)) {
- fs.mkdirSync(destDir, { recursive: true });
- }
- const destPath = path.join(destDir, file);
- fs.copyFileSync(fullPath, destPath);
- console.log(`复制: ${path.join(relativePath, file)}`);
- } else if (file.endsWith('.ts')) {
- // 对于.ts文件,我们创建一个简单的.js版本
- const jsFile = file.replace('.ts', '.js');
- const destDir = path.join(distDir, relativePath);
- if (!fs.existsSync(destDir)) {
- fs.mkdirSync(destDir, { recursive: true });
- }
- const destPath = path.join(destDir, jsFile);
- // 创建一个简单的导出文件
- const moduleName = path.basename(file, '.ts');
- const content = `// 自动生成的简单版本
- console.warn('使用自动生成的简单版本: ${moduleName}');
- module.exports = {};`;
- fs.writeFileSync(destPath, content);
- console.log(`创建简单版本: ${path.join(relativePath, jsFile)}`);
- }
- }
- }
- // 创建index.js
- const indexPath = path.join(distDir, 'index.js');
- const indexContent = `// 自动生成的index.js
- console.warn('使用自动生成的飞鹅打印模块简单版本');
- // 导出主要服务
- exports.PrintTriggerService = require('./services/print-trigger.service.js').PrintTriggerService;
- exports.PrintTaskService = require('./services/print-task.service.js').PrintTaskService;
- exports.PrinterService = require('./services/printer.service.js').PrinterService;
- exports.DelaySchedulerService = require('./services/delay-scheduler.service.js').DelaySchedulerService;
- exports.FeieApiService = require('./services/feie-api.service.js').FeieApiService;
- // 导出类型
- exports.PrintType = { RECEIPT: 'RECEIPT', SHIPPING: 'SHIPPING', ORDER: 'ORDER' };
- exports.PrintStatus = {
- PENDING: 'PENDING',
- DELAYED: 'DELAYED',
- PRINTING: 'PRINTING',
- SUCCESS: 'SUCCESS',
- FAILED: 'FAILED',
- CANCELLED: 'CANCELLED'
- };
- exports.CancelReason = {
- REFUND: 'REFUND',
- MANUAL: 'MANUAL',
- TIMEOUT: 'TIMEOUT'
- };
- console.log('飞鹅打印模块简单版本已加载');`;
- fs.writeFileSync(indexPath, indexContent);
- console.log('创建index.js');
- // 复制源文件
- if (fs.existsSync(srcDir)) {
- copyJsFiles(srcDir);
- } else {
- console.log('src目录不存在,创建示例文件...');
- // 创建必要的目录结构
- const servicesDir = path.join(distDir, 'services');
- fs.mkdirSync(servicesDir, { recursive: true });
- // 创建简单的PrintTriggerService
- const printTriggerServicePath = path.join(servicesDir, 'print-trigger.service.js');
- const printTriggerServiceContent = `class PrintTriggerService {
- constructor(dataSource, feieConfig) {
- console.log('PrintTriggerService created');
- this.dataSource = dataSource;
- this.feieConfig = feieConfig;
- }
- async handleOrderPaymentSuccess(tenantId, orderId) {
- console.log(\`[租户\${tenantId}] 处理订单支付成功事件,订单ID: \${orderId}\`);
- console.log('注意:这是简单版本,不会实际创建打印任务');
- return Promise.resolve();
- }
- async handleOrderRefund(tenantId, orderId) {
- console.log(\`[租户\${tenantId}] 处理订单退款事件,订单ID: \${orderId}\`);
- return Promise.resolve();
- }
- }
- module.exports = { PrintTriggerService };`;
- fs.writeFileSync(printTriggerServicePath, printTriggerServiceContent);
- console.log('创建简单的PrintTriggerService');
- }
- console.log('简单构建完成!');
|