extract_source_code.sh 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. #!/bin/bash
  2. # 软件著作权源代码提取脚本
  3. # 提取前30页和后30页源代码,每页50行,共3000行
  4. OUTPUT_DIR="c:/Users/caoyg/ai/audio-tts/audio_codebuddy/软件著作权申请材料"
  5. TEMP_FILE="$OUTPUT_DIR/source_code_all.txt"
  6. OUTPUT_FILE="$OUTPUT_DIR/02-源代码文档.txt"
  7. # 清理
  8. > "$TEMP_FILE"
  9. > "$OUTPUT_FILE"
  10. # 写入页眉
  11. echo "==============================================================================" >> "$OUTPUT_FILE"
  12. echo " AI有声书智能生成系统 V1.0 源代码文档" >> "$OUTPUT_FILE"
  13. echo "==============================================================================" >> "$OUTPUT_FILE"
  14. echo "" >> "$OUTPUT_FILE"
  15. echo "软件全称:AI有声书智能生成系统" >> "$OUTPUT_FILE"
  16. echo "软件简称:AI有声书系统" >> "$OUTPUT_FILE"
  17. echo "版 本 号:V1.0" >> "$OUTPUT_FILE"
  18. echo "" >> "$OUTPUT_FILE"
  19. echo "说明:本文档包含软件前30页和后30页源代码,每页50行。" >> "$OUTPUT_FILE"
  20. echo " 前30页为软件前端代码,后30页为软件后端代码。" >> "$OUTPUT_FILE"
  21. echo "" >> "$OUTPUT_FILE"
  22. # ========================
  23. # 第一部分:前端代码(前30页,1500行)
  24. # ========================
  25. echo "##############################################################################" >> "$OUTPUT_FILE"
  26. echo "# 第一部分:前端源代码(前30页)" >> "$OUTPUT_FILE"
  27. echo "##############################################################################" >> "$OUTPUT_FILE"
  28. echo "" >> "$OUTPUT_FILE"
  29. # 收集前端核心文件
  30. FRONTEND_FILES=(
  31. "my-uniapp-vue3/src/main.ts"
  32. "my-uniapp-vue3/src/App.vue"
  33. "my-uniapp-vue3/src/config.ts"
  34. "my-uniapp-vue3/src/store/user.ts"
  35. "my-uniapp-vue3/src/store/audio.ts"
  36. "my-uniapp-vue3/src/store/notification.ts"
  37. "my-uniapp-vue3/src/pages/index/index.vue"
  38. "my-uniapp-vue3/src/pages/create/index.vue"
  39. "my-uniapp-vue3/src/pages/book-generator/create.vue"
  40. "my-uniapp-vue3/src/pages/book-generator/detail.vue"
  41. "my-uniapp-vue3/src/pages/book-generator/interactive.vue"
  42. "my-uniapp-vue3/src/pages/book-generator/chapter-detail.vue"
  43. "my-uniapp-vue3/src/pages/player/index.vue"
  44. "my-uniapp-vue3/src/pages/member/index.vue"
  45. "my-uniapp-vue3/src/pages/mine/index.vue"
  46. "my-uniapp-vue3/src/pages/search/index.vue"
  47. "my-uniapp-vue3/src/pages/history/index.vue"
  48. "my-uniapp-vue3/src/pages/favorites/index.vue"
  49. "my-uniapp-vue3/src/pages/login/index.vue"
  50. "my-uniapp-vue3/src/pages/settings/index.vue"
  51. "my-uniapp-vue3/src/pages/billing/index.vue"
  52. "my-uniapp-vue3/src/pages/notifications/index.vue"
  53. "my-uniapp-vue3/src/pages/album/index.vue"
  54. "my-uniapp-vue3/src/pages/albums/index.vue"
  55. "my-uniapp-vue3/src/pages/pixelle-video/index.vue"
  56. "my-uniapp-vue3/src/components/MiniPlayer.vue"
  57. "my-uniapp-vue3/src/components/AudioDownload.vue"
  58. "my-uniapp-vue3/src/components/SharePanel.vue"
  59. "my-uniapp-vue3/src/components/CreditInsufficientModal.vue"
  60. "my-uniapp-vue3/src/components/GenerationStatusBadge.vue"
  61. )
  62. cd "c:/Users/caoyg/ai/audio-tts/audio_codebuddy"
  63. frontend_count=0
  64. for file in "${FRONTEND_FILES[@]}"; do
  65. if [ -f "$file" ]; then
  66. echo "" >> "$OUTPUT_FILE"
  67. echo "// ═══════════════════════════════════════════════════════════════" >> "$OUTPUT_FILE"
  68. echo "// 文件: $file" >> "$OUTPUT_FILE"
  69. echo "// ═══════════════════════════════════════════════════════════════" >> "$OUTPUT_FILE"
  70. # 去除空行,保留有效代码
  71. grep -v '^\s*$' "$file" | head -80 >> "$OUTPUT_FILE"
  72. frontend_count=$((frontend_count + 1))
  73. fi
  74. done
  75. # ========================
  76. # 第二部分:后端代码(后30页,1500行)
  77. # ========================
  78. echo "" >> "$OUTPUT_FILE"
  79. echo "##############################################################################" >> "$OUTPUT_FILE"
  80. echo "# 第二部分:后端源代码(后30页)" >> "$OUTPUT_FILE"
  81. echo "##############################################################################" >> "$OUTPUT_FILE"
  82. echo "" >> "$OUTPUT_FILE"
  83. # 收集后端核心文件
  84. BACKEND_FILES=(
  85. "server/src/app.ts"
  86. "server/src/config/index.ts"
  87. "server/src/models/index.ts"
  88. "server/src/middleware/auth.ts"
  89. "server/src/middleware/security.ts"
  90. "server/src/middleware/errorHandler.ts"
  91. "server/src/middleware/rate-limiter.ts"
  92. "server/src/modules/auth/auth.controller.ts"
  93. "server/src/modules/auth/auth.service.ts"
  94. "server/src/modules/book-generator/book-generator.controller.ts"
  95. "server/src/modules/book-generator/book-generator.service.ts"
  96. "server/src/modules/book-generator/langgraph-controller.ts"
  97. "server/src/modules/book-generator/book-generator.store.ts"
  98. "server/src/modules/book-generator/book-generator.types.ts"
  99. "server/src/modules/book-generator/graph.ts"
  100. "server/src/modules/book-generator/nodes/content.node.ts"
  101. "server/src/modules/book-generator/nodes/plan.node.ts"
  102. "server/src/modules/book-generator/nodes/outline.node.ts"
  103. "server/src/modules/book-generator/nodes/quality-check.node.ts"
  104. "server/src/modules/tts/tts.service.ts"
  105. "server/src/modules/player/player.controller.ts"
  106. "server/src/modules/member/member.controller.ts"
  107. "server/src/modules/subscription/subscription.controller.ts"
  108. "server/src/modules/payment/payment.controller.ts"
  109. "server/src/modules/favorites/favorites.controller.ts"
  110. "server/src/modules/history/history.controller.ts"
  111. "server/src/modules/search/search.controller.ts"
  112. "server/src/services/oss.service.ts"
  113. "server/src/services/queue.service.ts"
  114. "server/src/services/websocket.service.ts"
  115. )
  116. backend_count=0
  117. for file in "${BACKEND_FILES[@]}"; do
  118. if [ -f "$file" ]; then
  119. echo "" >> "$OUTPUT_FILE"
  120. echo "// ═══════════════════════════════════════════════════════════════" >> "$OUTPUT_FILE"
  121. echo "// 文件: $file" >> "$OUTPUT_FILE"
  122. echo "// ═══════════════════════════════════════════════════════════════" >> "$OUTPUT_FILE"
  123. # 去除空行,保留有效代码
  124. grep -v '^\s*$' "$file" | head -80 >> "$OUTPUT_FILE"
  125. backend_count=$((backend_count + 1))
  126. fi
  127. done
  128. # 统计
  129. total_lines=$(grep -c '.' "$OUTPUT_FILE")
  130. echo "" >> "$OUTPUT_FILE"
  131. echo "##############################################################################" >> "$OUTPUT_FILE"
  132. echo "# 统计信息" >> "$OUTPUT_FILE"
  133. echo "##############################################################################" >> "$OUTPUT_FILE"
  134. echo "# 前端文件数: $frontend_count" >> "$OUTPUT_FILE"
  135. echo "# 后端文件数: $backend_count" >> "$OUTPUT_FILE"
  136. echo "# 文档总行数: $total_lines" >> "$OUTPUT_FILE"
  137. echo "源代码文档已生成: $OUTPUT_FILE"
  138. echo "前端文件: $frontend_count 个"
  139. echo "后端文件: $backend_count 个"
  140. echo "总行数: $total_lines 行"