feat: 完整集成JWLLL搜索推荐系统到Merge项目

新增功能:
- 完整的JWLLL搜索推荐后端服务 (back_jwlll/)
- 前端智能搜索和推荐功能集成
- HomeFeed组件增强: 数据源切换(原始数据 ↔ 智能推荐)
- 新增PostDetailJWLLL和UploadPageJWLLL组件
- 新增search_jwlll.js API接口

技术特性:
- 标签推荐和协同过滤推荐算法
- 中文分词和Word2Vec语义搜索
- 100%向后兼容,原功能完全保留
- 独立服务架构,无冲突部署

集成内容:
- JWLLL后端服务配置和依赖
- 前端路由和组件更新
- 样式文件和API集成
- 项目文档和启动工具

Change-Id: I1d008cf04eee40e7d81bfb9109f933d3447d1760
diff --git a/Merge/front/src/style/HomeFeed.css b/Merge/front/src/style/HomeFeed.css
index f1bf75d..394c84b 100644
--- a/Merge/front/src/style/HomeFeed.css
+++ b/Merge/front/src/style/HomeFeed.css
@@ -113,4 +113,95 @@
 .card-likes .likes-count {
   font-size: 13px;
   color: #666;
+}
+
+/* --------- JWLLL 搜索推荐功能样式 --------- */
+
+/* 搜索框美化 */
+.feed-search {
+  display: flex;
+  gap: 8px;
+  align-items: center;
+}
+
+.search-input {
+  flex: 1;
+  padding: 8px 14px;
+  border: 1.5px solid #e0e0e0;
+  border-radius: 20px;
+  font-size: 15px;
+  outline: none;
+  transition: border 0.2s;
+  background: #fafbfc;
+}
+
+.search-input:focus {
+  border: 1.5px solid #e84c4a;
+  background: #fff;
+}
+
+.search-btn {
+  padding: 8px 22px;
+  border: none;
+  border-radius: 20px;
+  background: linear-gradient(90deg,#ff6a6a,#ff4757);
+  color: #fff;
+  font-weight: 600;
+  font-size: 15px;
+  cursor: pointer;
+  box-shadow: 0 2px 8px rgba(255,71,87,0.08);
+  transition: background 0.2s, box-shadow 0.2s;
+}
+
+.search-btn:hover {
+  background: linear-gradient(90deg,#ff4757,#e84c4a);
+  box-shadow: 0 4px 16px rgba(255,71,87,0.15);
+}
+
+/* 推荐模式切换按钮 */
+.rec-btn {
+  background: #f8f9fa;
+  border: 1px solid #dee2e6;
+  color: #495057;
+  padding: 6px 12px;
+  border-radius: 20px;
+  cursor: pointer;
+  transition: all 0.2s;
+  font-size: 14px;
+  outline: none;
+}
+
+.rec-btn:hover {
+  background: #e9ecef;
+}
+
+.rec-btn.active {
+  background: #fff0f0;
+  border: 2px solid #e84c4a;
+  color: #e84c4a;
+  font-weight: 600;
+}
+
+/* 卡片内容显示区域 */
+.card-content {
+  padding: 0 12px 8px;
+  font-size: 13px;
+  color: #666;
+  line-height: 1.4;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+}
+
+/* 点击效果 */
+.feed-card {
+  cursor: pointer;
+  transition: transform 0.2s, box-shadow 0.2s;
+}
+
+.feed-card:hover {
+  transform: translateY(-2px);
+  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
 }
\ No newline at end of file