test-book2-api.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. const http = require('http');
  2. async function testGenerateAPI() {
  3. const bookId = 2;
  4. console.log(`测试 bookId=${bookId} 的生成API...\n`);
  5. // 1. 先重置状态
  6. console.log('步骤1: 重置书籍状态...');
  7. const { PrismaClient } = require('@prisma/client');
  8. const prisma = new PrismaClient();
  9. await prisma.book.update({
  10. where: { id: bookId },
  11. data: {
  12. status: 'draft',
  13. progress: 0,
  14. errorMsg: null,
  15. }
  16. });
  17. console.log('✅ 状态已重置\n');
  18. // 2. 调用生成API
  19. console.log('步骤2: 调用生成API...');
  20. const postData = JSON.stringify({});
  21. const options = {
  22. hostname: 'localhost',
  23. port: 3000,
  24. path: `/api/book-generator/langgraph/books/${bookId}/generate`,
  25. method: 'POST',
  26. headers: {
  27. 'Content-Type': 'application/json',
  28. 'Content-Length': Buffer.byteLength(postData),
  29. },
  30. };
  31. const response = await new Promise((resolve, reject) => {
  32. const req = http.request(options, (res) => {
  33. let data = '';
  34. res.on('data', chunk => data += chunk);
  35. res.on('end', () => {
  36. resolve({
  37. statusCode: res.statusCode,
  38. body: JSON.parse(data),
  39. });
  40. });
  41. });
  42. req.on('error', reject);
  43. req.write(postData);
  44. req.end();
  45. });
  46. console.log('\nAPI响应:');
  47. console.log(`状态码: ${response.statusCode}`);
  48. console.log(`响应体: ${JSON.stringify(response.body, null, 2)}`);
  49. // 3. 等待5秒后检查状态
  50. console.log('\n步骤3: 等待5秒后检查状态...');
  51. await new Promise(resolve => setTimeout(resolve, 5000));
  52. const book = await prisma.book.findUnique({
  53. where: { id: bookId },
  54. select: { id: true, status: true, progress: true, errorMsg: true }
  55. });
  56. console.log('\n当前状态:');
  57. console.log(JSON.stringify(book, null, 2));
  58. await prisma.$disconnect();
  59. console.log('\n✅ 测试完成!');
  60. console.log('\n请刷新前端页面查看:http://localhost:5173/#/pages/book-generator/index?id=2');
  61. }
  62. testGenerateAPI().catch(console.error);