# 🔧 给铸渊的取码任务单 · 诺安系统软著源程序稿
## 📏 提交规格(先记牢)
- 交 **前 30 页 + 后 30 页**,共 60 页(即前 1500 行 + 后 1500 行)
- 每页不少于 50 行;**不能有空白页**
- 代码总量不足 3000 行则**全部提交**
## 🪜 第一步·统计代码行数
```bash
find . \( -name "*.py" -o -name "*.tsx" -o -name "*.ts" -o -name "*.js" -o -name "*.sh" -o -name "*.sql" -o -name "*.json" -o -name "*.yaml" -o -name "*.yml" -o -name "*.md" \) \
-not -path "*/node_modules/*" -not -path "*/.next/*" -not -path "*/dist/*" \
| xargs wc -l | tail -1
```
## 🪜 第二步·合并代码
```bash
mkdir -p copyright-materials
find . \( -name "*.py" -o -name "*.tsx" -o -name "*.ts" -o -name "*.js" -o -name "*.sh" -o -name "*.sql" -o -name "*.json" -o -name "*.yaml" -o -name "*.yml" -o -name "*.md" \) \
-not -path "*/node_modules/*" -not -path "*/.next/*" -not -path "*/dist/*" \
| sort | while read f; do
echo "// ========== 文件:$f ==========" >> copyright-materials/all-source-code.txt
cat "$f" >> copyright-materials/all-source-code.txt
echo "" >> copyright-materials/all-source-code.txt
done
```
## 🪜 第三步·截前后各 30 页
```bash
head -n 1500 copyright-materials/all-source-code.txt > copyright-materials/前30页.txt
tail -n 1500 copyright-materials/all-source-code.txt > copyright-materials/后30页.txt
```
## 🪜 第四步·排版导 PDF
- 字体:宋体 或 Courier New
- 字号:小四(12pt)
- 行距:固定值 20 磅
- 每页确保不少于 50 行
- 页眉:**诺安宠物医院管理系统 V1.0**
- 页脚:页码
- 分别导出为 PDF
## ✅ 交付物
- [x] 前 30 页源程序 PDF
- [x] 后 30 页源程序 PDF
- [ ] (若不足 3000 行)全部源程序 PDF