feat(学习材料):多 URL 支持 + 网页标题自动抓取

TaskForm.vue:
- 学习材料输入从单行改为 textarea,每行一个链接

Study.vue:
- 改为迭代多 URL 展示,每行显示网页标题(通过 lpt-ai
  /fetch-title 获取)或回退到 URL 本身
- 选中不同任务时自动刷新标题

新增 src/utils/fetchTitle.ts:
- fetchTitle(url) / fetchTitles(urls) 工具函数
- 内存缓存避免重复请求
- 失败时回退到 URL,不阻塞页面

后端:
- V20260704_1 迁移:material_url varchar(255) → TEXT
This commit is contained in:
2026-07-04 22:37:01 +08:00
parent 5f7a5a55a4
commit a63942d105
3 changed files with 74 additions and 9 deletions
+1 -1
View File
@@ -239,7 +239,7 @@ const isMobile = computed(() => screenWidth.value <= 900);
<el-input v-model="taskDescription" type="textarea" :rows="5" placeholder="请输入任务描述" />
</el-form-item>
<el-form-item label="学习材料地址">
<el-input v-model="materialURL" placeholder="例如:https://..." />
<el-input v-model="materialURL" type="textarea" :rows="3" placeholder="每行输入一个链接&#10;例如:https://vuejs.org/guide&#10;https://github.com/vuejs/core" />
</el-form-item>
</div>