策划组 酒、黄河、白发edit icon

Fork(复制)
下载
嵌入
BUG反馈
index.html
现在支持上传本地图片了!
index.html
            
            <!DOCTYPE html>
<html>
  
<head>
    <title>文学意象深度解析系统</title>
    <style>
        /* 样式增强 */
        .container { max-width: 1000px; margin: 20px auto; padding: 20px; }
        .analysis-section { 
            margin: 20px 0; 
            padding: 15px;
            border-left: 4px solid #007bff;
            background: #f8f9fa;
        }
        .symbol-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 15px;
        }
        .comparison-table {
            width: 100%;
            border-collapse: collapse;
            margin: 15px 0;
        }
        .comparison-table td {
            padding: 10px;
            border: 1px solid #dee2e6;
            vertical-align: top;
        }
        .theory-tag {
            display: inline-block;
            padding: 3px 8px;
            background: #e9ecef;
            border-radius: 3px;
            margin: 5px 3px;
            font-size: 0.9em;
        }
        .mind-map-node {
            margin-left: 30px;
            position: relative;
        }
        .mind-map-node::before {
            content: "";
            position: absolute;
            left: -15px;
            top: 10px;
            width: 10px;
            height: 1px;
            background: #999;
        }
    </style>
</head>
<body>
    <div class="container">
        <input type="text" id="keyword" placeholder="输入文学意象关键词" style="width:300px; padding:8px">
        <button onclick="showResult()" style="padding:8px 15px">深度解析</button>
        
        <!-- 默认提示 -->
        <div id="result" class="result">
            <div class="default-prompt">
                <h3>📖 文学意象解析指南</h3>
                <p>请输入以下任意关键词体验深度解析:</p>
                <div class="example-keywords">
                    <span class="example-keyword" onclick="fillInput('酒')">酒</span>
                    <span class="example-keyword" onclick="fillInput('黄河')">黄河</span>
                    <span class="example-keyword" onclick="fillInput('白发')">白发</span>
                </div>
                <p>支持功能:<br>
                • 多维象征分析<br>
                • 时空演变追踪<br>
                • 对比诗学解读</p>
            </div>
        </div>
    </div>

<script>
// 保留原有数据结构...

// 新增功能:示例关键词点击填充
function fillInput(word) {
    document.getElementById("keyword").value = word;
    showResult();
}

// 修改后的显示函数
function showResult() {
    const keyword = document.getElementById("keyword").value.trim();
    const resultDiv = document.getElementById("result");
    resultDiv.innerHTML = "";

    if (!keyword) {
        // 保留默认提示
        resultDiv.innerHTML = `
            <div class="default-prompt">
                <h3>📖 文学意象解析指南</h3>
                <p>请输入以下任意关键词体验深度解析:</p>
                <div class="example-keywords">
                    <span class="example-keyword" onclick="fillInput('酒')">酒</span>
                    <span class="example-keyword" onclick="fillInput('黄河')">黄河</span>
                    <span class="example-keyword" onclick="fillInput('白发')">白发</span>
                </div>
            </div>`;
        return;
    }

    if (!data[keyword]) {
        resultDiv.innerHTML = `
            <div class="analysis-section">
                <h3>⚠️ 未找到相关意象</h3>
                <p>当前词库包含以下可解析意象:</p>
                <div class="example-keywords">
                    ${Object.keys(data).map(word => `
                        <span class="example-keyword" onclick="fillInput('${word}')">${word}</span>
                    `).join("")}
                </div>
            </div>`;
        return;
    }

    // 保留原有解析逻辑...
}
</script>
  

<script>
// 增强后的数据结构
const data = {
    "酒": {
        meta: {
            文学理论: ["抒情传统", "意象符号学", "狂欢理论"],
            高频时期: ["魏晋南北朝", "盛唐", "宋代"]
        },
        象征体系: {
            "解忧药": {
                解析: "源自《诗经》'微我无酒,以敖以游',发展至曹操'何以解忧,唯有杜康'确立疗愈功能",
                例句: [
                    "岑参《凉州馆中与诸判官夜集》:一生大笑能几回,斗酒相逢须醉倒",
                    "白居易《问刘十九》:晚来天欲雪,能饮一杯无"
                ]
            },
            "豪情催化剂": {
                解析: "结合游侠精神与酒神精神,在盛唐达到美学巅峰",
                例句: [
                    "王翰《凉州词》:葡萄美酒夜光杯,欲饮琵琶马上催",
                    "李白《侠客行》:三杯吐然诺,五岳倒为轻"
                ]
            }
        },
        时空演变: [
            { 时期: "先秦", 特点: "祭祀礼仪", 例句: "《楚辞·招魂》:瑶浆蜜勺,实羽觞些" },
            { 时期: "盛唐", 特点: "个性解放", 例句: "李白《将进酒》:钟鼓馔玉不足贵,但愿长醉不复醒" }
        ]
    },
    "黄河": {
        mindMap: {
            "自然母题": {
                "力量崇拜": [
                    "李白《公无渡河》:黄河西来决昆仑,咆哮万里触龙门",
                    "刘禹锡《浪淘沙》:九曲黄河万里沙,浪淘风簸自天涯"
                ],
                "时间隐喻": {
                    解析: "通过水的流动性构建线性时间观",
                    例句: "李白《将进酒》:君不见黄河之水天上来,奔流到海不复回"
                }
            },
            "文化符号": {
                "文明起源": "《左传》:江、汉、沮、漳,楚之望也",
                "民族精神": "光未然《黄河颂》:啊!黄河!你是中华民族的摇篮"
            }
        },
        美学特征: ["崇高美", "悲剧美", "沧桑美"]
    },
    "白发": {
        对比分析: {
            "空间呈现": {
                "镜前突显": "李白《秋浦歌》:白发三千丈,缘愁似个长",
                "战场惊现": "辛弃疾《破阵子》:了却君王天下事,赢得生前身后名。可怜白发生!"
            },
            "情感维度": {
                "个体焦虑": "朝如青丝暮成雪(时间突变性)",
                "历史焦虑": "杜牧《题禅院》:今日鬓丝禅榻畔,茶烟轻飏落花风"
            }
        },
        修辞图谱: ["夸张", "借代", "意象并置"]
    }
};

function showResult() {
    const keyword = document.getElementById("keyword").value.trim();
    const resultDiv = document.getElementById("result");
    resultDiv.innerHTML = "";

    if (!data[keyword]) {
        resultDiv.innerHTML = `<div class="analysis-section">该意象暂未收录,可尝试:酒、黄河、白发</div>`;
        return;
    }

    let html = `<h2 style="color:#2c3e50; border-bottom:2px solid #007bff">${keyword}意象深度解析</h2>`;
    
    // 元数据分析
    if (data[keyword].meta) {
        html += `<div class="analysis-section">
            <h3>📚 理论框架</h3>
            ${data[keyword].meta.文学理论.map(t => `<span class="theory-tag">${t}</span>`).join("")}
            <p>高频出现时期:${data[keyword].meta.高频时期.join(" → ")}</p>
        </div>`;
    }

    // 象征体系解析
    if (data[keyword].象征体系) {
        html += `<div class="analysis-section">
            <h3>🔍 多维象征系统</h3>
            <div class="symbol-grid">`;
        for (const [symbol, details] of Object.entries(data[keyword].象征体系)) {
            html += `<div>
                <h4>${symbol}</h4>
                <p>${details.解析}</p>
                ${details.例句 ? `<div class="poem">${details.例句.join("<br>")}</div>` : ""}
            </div>`;
        }
        html += `</div></div>`;
    }

    // 思维导图增强版
    if (keyword === "黄河") {
        html += `<div class="analysis-section">
            <h3>🌊 意象网络拓扑图</h3>`;
        const buildMindMap = (node, depth=0) => {
            let str = "";
            for (const [key, value] of Object.entries(node)) {
                str += `<div class="mind-map-node" style="margin-left:${depth*30}px">
                    <b>${key}</b>`;
                if (typeof value === 'object') {
                    if (Array.isArray(value)) {
                        str += `<div class="poem">${value.join("<br>")}</div>`;
                    } else {
                        str += buildMindMap(value, depth+1);
                    }
                } else {
                    str += `<div>${value}</div>`;
                }
                str += `</div>`;
            }
            return str;
        }
        html += buildMindMap(data[keyword].mindMap);
        html += `</div>`;
    }

    // 对比分析表格
    if (data[keyword].对比分析) {
        html += `<div class="analysis-section">
            <h3>⚖️ 对比诗学分析</h3>
            <table class="comparison-table">`;
        for (const [dimension, content] of Object.entries(data[keyword].对比分析)) {
            html += `<tr>
                <td width="120"><b>${dimension}</b></td>
                <td>${typeof content === 'string' ? content : 
                    Object.entries(content).map(([k,v]) => 
                    `<b>${k}</b>: ${v}`).join("<br>")}
                </td>
            </tr>`;
        }
        html += `</table></div>`;
    }

    resultDiv.innerHTML = html;
}
</script>
</body>
</html>
        
编辑器加载中
预览
控制台