2025这一年真是辛苦了

点击这里,可以自己生成求职报告!!

代码比较粗糙,手机端打开有点错位,电脑打开是非常完整的,欢迎大家来玩!~

2025年真是高强度找工作的一年,现在找工作的水平就和高考前的学习水平一样,恐怕是人生巅峰期了;2025年不止是我,还有看到这篇内容的牛友,想必都很辛苦了,希望大家2026年能过得顺利一些!

自己简单做了1个总结报告

代码附上了,大家可以自己复制改字

在桌面新建文本文档---复制代码--保存HTML格式,然后打开就是了

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2025年度面试报告</title>
    <!-- 引入图标库 -->
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <style>
        :root {
            --primary-orange: #FF6B00;
            --primary-blue: #2B4CFF;
            --highlight: #FFD700;
            --bg-gradient: linear-gradient(135deg, #FFF6E5 0%, #EDF2FF 100%);
            --card-shadow: 0 10px 20px rgba(0,0,0,0.08);
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
            background-color: #f0f0f0;
            display: flex;
            justify-content: center;
            min-height: 100vh;
        }

        /* 手机端容器模拟 */
        .container {
            width: 100%;
            max-width: 480px;
            background: var(--bg-gradient);
            min-height: 100vh;
            padding: 20px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 0 30px rgba(0,0,0,0.1);
        }

        /* 顶部标题区 */
        .header {
            text-align: center;
            padding: 40px 0 20px;
            animation: fadeInDown 1s ease;
        }

        .header h1 {
            font-size: 28px;
            font-weight: 900;
            background: linear-gradient(to right, var(--primary-orange), var(--primary-blue));
            -webkit-background-clip: text;
            color: transparent;
            margin-bottom: 8px;
            letter-spacing: 2px;
        }

        .header p {
            color: #666;
            font-size: 14px;
            background: #fff;
            display: inline-block;
            padding: 4px 12px;
            border-radius: 20px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
        }

        /* 用户卡片 */
        .user-card {
            background: white;
            border-radius: 20px;
            padding: 20px;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            box-shadow: var(--card-shadow);
            border: 2px solid rgba(255, 107, 0, 0.1);
            animation: fadeInUp 1s ease 0.2s backwards;
        }

        .avatar {
            width: 60px;
            height: 60px;
            background: #eee;
            border-radius: 50%;
            margin-right: 15px;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 30px;
        }

        .user-info h2 {
            font-size: 18px;
            color: #333;
        }

        .user-info span {
            font-size: 12px;
            color: var(--primary-blue);
            background: rgba(43, 76, 255, 0.1);
            padding: 2px 6px;
            border-radius: 4px;
            margin-right: 5px;
        }

        /* 数据核心区 - 网格布局 */
        .data-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
            margin-bottom: 25px;
        }

        .data-item {
            background: white;
            padding: 20px 15px;
            border-radius: 16px;
            text-align: center;
            box-shadow: var(--card-shadow);
            transition: transform 0.3s;
            animation: zoomIn 0.8s ease backwards;
        }

        /* 动画延迟设置 */
        .data-item:nth-child(1) { animation-delay: 0.3s; }
        .data-item:nth-child(2) { animation-delay: 0.4s; }
        .data-item:nth-child(3) { animation-delay: 0.5s; }
        .data-item:nth-child(4) { animation-delay: 0.6s; }

        .data-item:hover {
            transform: translateY(-5px);
        }

        .data-num {
            display: block;
            font-size: 32px;
            font-weight: 800;
            font-family: 'Arial Black', sans-serif;
            margin-bottom: 5px;
        }

        .num-orange { color: var(--primary-orange); }
        .num-blue { color: var(--primary-blue); }
        .num-purple { color: #8A2BE2; }
        .num-gold { color: #DAA520; }

        .data-label {
            font-size: 13px;
            color: #888;
            font-weight: bold;
        }

        .icon-bg {
            font-size: 24px;
            margin-bottom: 8px;
            opacity: 0.8;
        }

        /* 实习经历条 */
        .exp-bar {
            background: linear-gradient(90deg, #2B4CFF, #6E85FF);
            color: white;
            border-radius: 16px;
            padding: 20px;
            margin-bottom: 25px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            box-shadow: 0 8px 16px rgba(43, 76, 255, 0.25);
            animation: slideInLeft 1s ease 0.7s backwards;
        }

        .exp-left h3 {
            font-size: 24px;
            font-weight: 800;
        }
        
        .exp-left p {
            font-size: 12px;
            opacity: 0.9;
            margin-top: 5px;
        }

        .exp-icon {
            font-size: 32px;
            background: rgba(255,255,255,0.2);
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* 漏斗转化率吐槽区 */
        .funnel-card {
            background: white;
            border-radius: 20px;
            padding: 25px;
            margin-bottom: 30px;
            box-shadow: var(--card-shadow);
            position: relative;
            animation: fadeInUp 1s ease 0.8s backwards;
        }

        .funnel-title {
            font-size: 16px;
            font-weight: bold;
            margin-bottom: 15px;
            border-left: 4px solid var(--primary-orange);
            padding-left: 10px;
        }

        .funnel-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 12px;
            font-size: 13px;
            color: #555;
        }

        .progress-bg {
            flex: 1;
            height: 10px;
            background: #f0f0f0;
            border-radius: 5px;
            margin: 0 10px;
            overflow: hidden;
        }

        .progress-fill {
            height: 100%;
            border-radius: 5px;
            position: relative;
        }

        /* 进度条动画 */
        .fill-1 { width: 100%; background: #FF6B00; animation: grow1 1.5s ease-out 1s forwards; width: 0; }
        .fill-2 { width: 20%; background: #FF9F43; animation: grow2 1.5s ease-out 1.2s forwards; width: 0; }
        .fill-3 { width: 16%; background: #2B4CFF; animation: grow3 1.5s ease-out 1.4s forwards; width: 0; }
        .fill-4 { width: 1%; background: #00D2D3; animation: grow4 1.5s ease-out 1.6s forwards; width: 0; }

        @keyframes grow1 { to { width: 100%; } }
        @keyframes grow2 { to { width: 20%; } }
        @keyframes grow3 { to { width: 16%; } }
        @keyframes grow4 { to { width: 1%; } } /* Offer率极低,真实 */

        /* 底部标签 */
        .tags {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            margin-bottom: 30px;
            animation: fadeIn 1.5s ease 1s backwards;
        }

        .tag {
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: bold;
            transform: rotate(-2deg);
        }
        .tag:nth-child(even) { transform: rotate(2deg); }

        .tag-1 { background: #FFEAA7; color: #d35400; border: 1px solid #d35400; }
        .tag-2 { background: #74b9ff; color: #0984e3; border: 1px solid #0984e3; }
        .tag-3 { background: #55efc4; color: #00b894; border: 1px solid #00b894; }

        /* 底部 */
        .footer {
            text-align: center;
            padding-bottom: 30px;
            font-size: 12px;
            color: #999;
            animation: fadeIn 1s ease 1.5s backwards;
        }

        .stamp {
            position: absolute;
            right: 20px;
            bottom: 80px;
            width: 100px;
            height: 100px;
            border: 3px solid var(--primary-orange);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--primary-orange);
            font-weight: 900;
            font-size: 18px;
            transform: rotate(-20deg) scale(0);
            opacity: 0.6;
            animation: stampIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 2s forwards;
            background: rgba(255, 255, 255, 0.8);
            z-index: 10;
        }

        /* 关键帧动画 */
        @keyframes fadeInDown {
            from { opacity: 0; transform: translateY(-20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes zoomIn {
            from { opacity: 0; transform: scale(0.8); }
            to { opacity: 1; transform: scale(1); }
        }
        @keyframes slideInLeft {
            from { opacity: 0; transform: translateX(-50px); }
            to { opacity: 1; transform: translateX(0); }
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        @keyframes stampIn {
            to { transform: rotate(-20deg) scale(1); }
        }

    </style>
</head>
<body>

<div class="container">
    <!-- 顶部标题 -->
    <header class="header">
        <h1>2025 求职生存报告</h1>
        <p>致那个在暴风雨中奔跑的自己</p>
    </header>

    <!-- 用户信息 -->
    <div class="user-card">
        <div class="avatar">👨‍🎓</div>
        <div class="user-info">
            <h2>2026届毕业生</h2>
            <div style="margin-top:5px;">
                <span>#焦虑中前行</span>
                <span>#面霸完全体</span>
                <span>#大厂练习生</span>
            </div>
        </div>
    </div>

    <!-- 核心数据网格 -->
    <div class="data-grid">
        <!-- 投递 -->
        <div class="data-item">
            <div class="icon-bg num-orange"><i class="fas fa-paper-plane"></i></div>
            <span class="data-num num-orange">500+</span>
            <span class="data-label">疯狂投递</span>
        </div>
        
        <!-- 笔试 -->
        <div class="data-item">
            <div class="icon-bg num-purple"><i class="fas fa-edit"></i></div>
            <span class="data-num num-purple">100+</span>
            <span class="data-label">做过的笔试</span>
        </div>

        <!-- 面试 -->
        <div class="data-item">
            <div class="icon-bg num-blue"><i class="fas fa-comments"></i></div>
            <span class="data-num num-blue">80+</span>
            <span class="data-label">面试场次</span>
        </div>

        <!-- Offer -->
        <div class="data-item">
            <div class="icon-bg num-gold"><i class="fas fa-trophy"></i></div>
            <span class="data-num num-gold">5+</span>
            <span class="data-label">收获Offer</span>
        </div>
    </div>

    <!-- 实习经历 -->
    <div class="exp-bar">
        <div class="exp-left">
            <h3>2段 实习经历</h3>
            <p>从打杂到独当一面,被社会毒打的勋章</p>
        </div>
        <div class="exp-icon">
            <i class="fas fa-briefcase"></i>
        </div>
    </div>

    <!-- 转化率漏斗 -->
    <div class="funnel-card">
        <div class="funnel-title">📊 扎心的转化漏斗</div>
        
        <div class="funnel-row">
            <span>投递</span>
            <div class="progress-bg"><div class="progress-fill fill-1"></div></div>
            <span>500+</span>
        </div>

        <div class="funnel-row">
            <span>笔试</span>
            <div class="progress-bg"><div class="progress-fill fill-2"></div></div>
            <span>100+</span>
        </div>

        <div class="funnel-row">
            <span>面试</span>
            <div class="progress-bg"><div class="progress-fill fill-3"></div></div>
            <span>80+</span>
        </div>

        <div class="funnel-row">
            <span style="font-weight:bold; color:#DAA520;">Offer</span>
            <div class="progress-bg"><div class="progress-fill fill-4"></div></div>
            <span style="font-weight:bold; color:#DAA520;">5+</span>
        </div>
        
        <p style="text-align:center; font-size:12px; color:#999; margin-top:15px;">
            * 约 1% 的通关率,你比大熊猫还珍贵
        </p>
    </div>

    <!-- 趣味标签 -->
    <div class="tags">
        <div class="tag tag-1">行走的八股文</div>
        <div class="tag tag-2">面试巅峰期</div>
        <div class="tag tag-3">笔试题库管理员</div>
        <div class="tag tag-1">心态已Next Level</div>
    </div>

    <!-- 盖章效果 -->
    <div class="stamp">
        未来<br>可期
    </div>

    <footer class="footer">
        <p>2025求职季 · 凡杀不死我的,终将使我强大</p>
        <p style="margin-top:5px; font-size:10px; opacity:0.5;">长按保存图片分享</p>
    </footer>

</div>

</body>
</html>

复制以下代码---生成HTML格式,然后在桌面打开,可以输入自己的数字,生成图片!!

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>2025求职生存报告</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
    <style>
        :root {
            --bg-color: #F0F2F5;
            --poster-bg: #FDFBF7;
            --primary-orange: #FF9F43;
            --primary-blue: #54A0FF;
            --primary-purple: #5F27CD;
            --text-main: #2C3A47;
            --text-sub: #889098;
        }

        body {
            margin: 0;
            padding: 20px 0;
            font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
            background-color: var(--bg-color);
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        #input-section {
            width: 90%;
            max-width: 375px;
            background: white;
            padding: 25px;
            border-radius: 16px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.05);
            box-sizing: border-box;
            display: block; 
        }

        .input-title {
            text-align: center;
            font-size: 20px;
            font-weight: 800;
            color: var(--text-main);
            margin-bottom: 20px;
        }

        .form-item { margin-bottom: 15px; }
        .form-item label { display: block; font-size: 14px; color: var(--text-sub); margin-bottom: 6px; }
        .form-item input {
            width: 100%;
            padding: 12px;
            border: 1px solid #E1E1E1;
            border-radius: 8px;
            font-size: 16px;
            box-sizing: border-box;
            outline: none;
            background: #FAFAFA;
        }
        .form-item input:focus { border-color: var(--primary-blue); background: #FFF; }

        .btn-generate {
            width: 100%;
            padding: 14px;
            background: linear-gradient(135deg, #6C5CE7, #a29bfe);
            color: white;
            border: none;
            border-radius: 50px;
            font-size: 16px;
            font-weight: bold;
            margin-top: 10px;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(108, 92, 231, 0.3);
        }

        #result-wrapper {
            display: none;
            flex-direction: column;
            align-items: center;
            width: 100%;
        }

        #poster-container {
            width: 375px;
            background-color: var(--poster-bg);
            padding: 40px 25px;
            box-sizing: border-box;
            position: relative;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08);
            overflow: hidden; 
            border-radius: 4px;
        }
        
        @media (max-width: 375px) {
            #poster-container { transform: scale(0.95); transform-origin: top center; margin-bottom: -20px; }
        }

        .header { text-align: center; margin-bottom: 30px; }
        
        .year-badge { 
            background: #EAEAEA; color: #666; 
            padding: 4px 12px; border-radius: 20px; 
            font-size: 12px; font-weight: bold; display: inline-block; margin-bottom: 8px;
        }
        
        .main-title { 
            font-size: 26px; font-weight: 900; color: var(--primary-purple); 
            letter-spacing: 1px; margin: 0; 
        }
        .sub-title {
            background: #E1E1E6; color: #666;
            font-size: 11px; padding: 4px 10px; border-radius: 4px;
            display: inline-block; margin-top: 8px;
        }

        .identity-card {
            background: white;
            border-radius: 12px;
            padding: 15px;
            display: flex;
            align-items: center;
            box-shadow: 0 2px 10px rgba(0,0,0,0.02);
            margin-bottom: 20px;
        }
        .avatar-box { font-size: 32px; margin-right: 15px; }
        .id-text h3 { margin: 0 0 5px 0; font-size: 16px; color: #333; }
        .tag-row span {
            font-size: 10px; padding: 2px 6px; border-radius: 4px; margin-right: 4px;
        }
        .t-blue { background: #E3F2FD; color: #2196F3; }
        .t-purple { background: #F3E5F5; color: #9C27B0; }

        .data-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
            margin-bottom: 20px;
        }
        .data-item {
            background: white;
            padding: 20px 10px;
            border-radius: 12px;
            text-align: center;
            box-shadow: 0 2px 10px rgba(0,0,0,0.02);
        }
        .d-icon { font-size: 22px; margin-bottom: 8px; display: block; }
        .d-num { font-size: 28px; font-weight: 800; line-height: 1; }
        .d-label { font-size: 11px; color: #999; margin-top: 6px; }
        
        .c-orange { color: #FF9F43; }
        .c-purple { color: #5F27CD; }
        .c-blue { color: #54A0FF; }
        .c-gold { color: #FECA57; }

        .intern-box {
            background: linear-gradient(90deg, #5F27CD, #9C88FF);
            border-radius: 12px;
            padding: 15px 20px;
            color: white;
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            box-shadow: 0 4px 15px rgba(95, 39, 205, 0.2);
        }

        .funnel-box {
            background: white;
            border-radius: 12px;
            padding: 20px;
            margin-bottom: 30px;
        }
        .funnel-head { 
            font-size: 14px; font-weight: bold; margin-bottom: 15px; 
            border-left: 4px solid #FF9F43; padding-left: 8px;
        }
        .f-row { display: flex; align-items: center; margin-bottom: 10px; font-size: 12px; }
        .f-name { width: 35px; color: #666; }
        .f-track { flex: 1; background: #F5F5F5; height: 10px; border-radius: 5px; margin: 0 10px; overflow: hidden;}
        .f-bar { height: 100%; border-radius: 5px; width: 0; transition: width 0.8s ease; }
        .f-val { width: 40px; text-align: right; color: #999; font-family: monospace; }
        
        .fb-1 { background: #FF9F43; }
        .fb-2 { background: #FECAA7; }
        .fb-3 { background: #54A0FF; }
        .fb-4 { background: #1DD1A1; }

        .f-tips { text-align: center; font-size: 10px; color: #BBB; margin-top: 10px; }

        .footer-badges { text-align: center; margin-bottom: 20px; }
        .badge-pill { 
            display: inline-block; padding: 5px 12px; border-radius: 15px; 
            font-size: 11px; font-weight: bold; margin: 0 2px;
            border: 1px solid;
        }
        .bp-orange { color: #E67E22; border-color: #F39C12; background: #FDF2E9; }
        .bp-blue { color: #2980B9; border-color: #3498DB; background: #EBF5FB; }
        .bp-green { color: #27AE60; border-color: #2ECC71; background: #E9F7EF; }

        .footer-text { text-align: center; font-size: 10px; color: #CCC; line-height: 1.5; }
        
        .stamp {
            position: absolute; bottom: 20px; right: 20px;
            width: 70px; height: 70px; border: 2px solid #FECA57; border-radius: 50%;
            color: #FECA57; display: flex; justify-content: center; align-items: center;
            font-weight: bold; transform: rotate(-15deg); font-size: 13px; text-align: center;
            opacity: 0.6;
        }

        .action-container {
            width: 375px;
            max-width: 90%;
            margin-top: 25px; 
            text-align: center;
            padding-bottom: 40px;
        }

        .btn-save {
            width: 100%;
            padding: 16px;
            background: linear-gradient(90deg, #FF9F43, #FFC048);
            color: white;
            border: none;
            border-radius: 50px;
            font-size: 18px;
            font-weight: bold;
            box-shadow: 0 6px 20px rgba(255, 159, 67, 0.4);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }
        .btn-save:active { transform: scale(0.98); }

        .btn-retry {
            background: none; border: none;
            color: #889098; text-decoration: underline;
            margin-top: 15px; cursor: pointer; font-size: 14px;
        }

    </style>
</head>
<body>

    <!-- 1. 输入表单 -->
    <div id="input-section">
        <div class="input-title">📊 生成2025求职报告</div>
        <div class="form-item">
            <label>毕业届数 (如 2026)</label>
            <input type="number" id="in-year" value="2026">
        </div>
        <div class="form-item">
            <label>投递数</label>
            <input type="number" id="in-delivery" value="320">
        </div>
        <div class="form-item">
            <label>笔试数</label>
            <input type="number" id="in-test" value="50">
        </div>
        <div class="form-item">
            <label>面试数</label>
            <input type="number" id="in-interview" value="12">
        </div>
        <div class="form-item">
            <label>Offer数</label>
            <input type="number" id="in-offer" value="2">
        </div>
        <div class="form-item">
            <label>实习经历 (段)</label>
            <input type="number" id="in-intern" value="1">
        </div>
        <button class="btn-generate" onclick="generate()">⚡ 立即生成</button>
    </div>

    <!-- 2. 结果展示 -->
    <div id="result-wrapper">
        <div id="poster-container">
            <div class="header">
                <span class="year-badge">2025</span>
                <h1 class="main-title">求职生存报告</h1>
                <span class="sub-title">致那个在暴风雨中奔跑的自己</span>
            </div>

            <!-- 身份卡片 -->
            <div class="identity-card">
                <div class="avatar-box">🎓</div>
                <div class="id-text">
                    <h3><span id="out-year-sub">2026</span>届毕业生</h3>
                    <div class="tag-row" id="tag-container"></div>
                </div>
            </div>

            <!-- 数据格 -->
            <div class="data-grid">
                <div class="data-item">
                    <span class="d-icon">📨</span>
                    <div class="d-num c-orange" id="out-delivery">0</div>
                    <div class="d-label">疯狂投递</div>
                </div>
                <div class="data-item">
                    <span class="d-icon">📝</span>
                    <div class="d-num c-purple" id="out-test">0</div>
                    <div class="d-label">做过的笔试</div>
                </div>
                <div class="data-item">
                    <span class="d-icon">💬</span>
                    <div class="d-num c-blue" id="out-interview">0</div>
                    <div class="d-label">面试场次</div>
                </div>
                <div class="data-item">
                    <span class="d-icon">🏆</span>
                    <div class="d-num c-gold" id="out-offer">0</div>
                    <div class="d-label">收获Offer</div>
                </div>
            </div>

            <!-- 实习区域:增加了 id="intern-desc" 用于动态修改文案 -->
            <div class="intern-box">
                <div>
                    <strong style="font-size: 18px;"><span id="out-intern">1</span>段 实习经历</strong>
                    <div id="intern-desc" style="font-size: 10px; opacity: 0.8; margin-top: 4px;">从打杂到独当一面,被社会毒打的勋章</div>
                </div>
                <div style="font-size: 24px;">💼</div>
            </div>

            <!-- 漏斗图 -->
            <div class="funnel-box">
                <div class="funnel-head">扎心的转化漏斗</div>
                <div class="f-row">
                    <span class="f-name">投递</span>
                    <div class="f-track"><div class="f-bar fb-1" style="width: 100%"></div></div>
                    <span class="f-val" id="f-val-delivery">320</span>
                </div>
                <div class="f-row">
                    <span class="f-name">笔试</span>
                    <div class="f-track"><div class="f-bar fb-2" id="bar-test" style="width: 50%"></div></div>
                    <span class="f-val" id="f-val-test">50</span>
                </div>
                <div class="f-row">
                    <span class="f-name">面试</span>
                    <div class="f-track"><div class="f-bar fb-3" id="bar-interview" style="width: 20%"></div></div>
                    <span class="f-val" id="f-val-interview">12</span>
                </div>
                <div class="f-row">
                    <span class="f-name">Offer</span>
                    <div class="f-track"><div class="f-bar fb-4" id="bar-offer" style="width: 5%"></div></div>
                    <span class="f-val" id="f-val-offer">2</span>
                </div>
                <div class="f-tips" id="funnel-tips">约 0.6% 的通关率,每一份都来之不易</div>
            </div>

            <!-- 底部 -->
            <div class="footer-badges" id="footer-badges"></div>
            <div class="footer-text">
                2025求职季 · 凡杀不死我的,终将使我强大<br>
                长按保存图片分享
            </div>

            <div class="stamp">未来<br>可期</div>
        </div>

        <!-- 3. 操作按钮 -->
        <div class="action-container">
            <button class="btn-save" id="btn-save" onclick="saveImage()">
                📥 保存为图片
            </button>
            <button class="btn-retry" onclick="retry()">重新填写</button>
        </div>

    </div>

    <script>
        function generate() {
            const year = document.getElementById('in-year').value;
            const delivery = parseInt(document.getElementById('in-delivery').value) || 0;
            const test = parseInt(document.getElementById('in-test').value) || 0;
            const interview = parseInt(document.getElementById('in-interview').value) || 0;
            const offer = parseInt(document.getElementById('in-offer').value) || 0;
            const intern = parseInt(document.getElementById('in-intern').value) || 0;

            document.getElementById('out-year-sub').innerText = year;
            document.getElementById('out-delivery').innerText = delivery + '+';
            document.getElementById('out-test').innerText = test + '+';
            document.getElementById('out-interview').innerText = interview + '+';
            document.getElementById('out-offer').innerText = offer;
            
            // ----------------------------------------
            // 核心修改:动态实习文案逻辑
            // ----------------------------------------
            document.getElementById('out-intern').innerText = intern;
            let internDesc = "";
            if (intern === 0) {
                internDesc = "实习预备役:一张白纸,主打一个“可塑性极强”";
            } else if (intern === 1) {
                internDesc = "职场初体验:终于拥有了第一枚“社畜”勋章";
            } else if (intern <= 2) {
                internDesc = "进阶打工人:熟练掌握“收到”与“好的”";
            } else if (intern <= 4) {
                internDesc = "实习老司机:你的工牌连起来能绕写字楼一圈";
            } else {
                internDesc = "实习届的灭霸:在这个领域已登巅峰,功力已可参加社招";
            }
            document.getElementById('intern-desc').innerText = internDesc;
            // ----------------------------------------

            document.getElementById('f-val-delivery').innerText = delivery;
            document.getElementById('f-val-test').innerText = test;
            document.getElementById('f-val-interview').innerText = interview;
            document.getElementById('f-val-offer').innerText = offer;

            const base = delivery === 0 ? 1 : delivery;
            document.getElementById('bar-test').style.width = Math.max((test/base*100), 5) + '%';
            document.getElementById('bar-interview').style.width = Math.max((interview/base*100), 5) + '%';
            document.getElementById('bar-offer').style.width = Math.max((offer/base*100), 3) + '%';

            const tagBox = document.getElementById('tag-container');
            const badgeBox = document.getElementById('footer-badges');
            tagBox.innerHTML = ''; 
            badgeBox.innerHTML = '';

            let tags = [];
            if (delivery > 500) tags.push({t:'#招聘软件VIP', c:'t-blue'});
            else if (delivery > 100) tags.push({t:'#焦虑中前行', c:'t-blue'});
            else tags.push({t:'#佛系求职', c:'t-blue'});
            
            const ivRatio = interview/base;
            if (ivRatio < 0.05) tags.push({t:'#HR已读不回', c:'t-purple'});
            else if (ivRatio > 0.3) tags.push({t:'#面霸完全体', c:'t-purple'});
            else tags.push({t:'#稳扎稳打', c:'t-purple'});

            tags.forEach(item => {
                const s = document.createElement('span');
                s.className = item.c;
                s.innerText = item.t;
                tagBox.appendChild(s);
            });

            let badges = [];
            if (offer === 0) {
                badges.push({t:'全职陪跑员', c:'bp-orange'});
                badges.push({t:'黎明前的夜最黑', c:'bp-green'});
                document.getElementById('funnel-tips').innerText = `别灰心,好的都在后头`;
            } else if (offer < 3) {
                badges.push({t:'面试巅峰期', c:'bp-blue'});
                badges.push({t:'行走的八股文', c:'bp-orange'});
                document.getElementById('funnel-tips').innerText = `约 ${(offer/base*100).toFixed(1)}% 的通关率,你比大熊猫还珍贵`;
            } else {
                badges.push({t:'Offer收割机', c:'bp-green'});
                badges.push({t:'凡尔赛大师', c:'bp-blue'});
                document.getElementById('funnel-tips').innerText = `也是体验了一把选妃的感觉`;
            }
            badges.push({t:'心态已Next Level', c:'bp-orange'});

            badges.forEach(item => {
                const s = document.createElement('span');
                s.className = `badge-pill ${item.c}`;
                s.innerText = item.t;
                badgeBox.appendChild(s);
            });
            
            document.getElementById('input-section').style.display = 'none';
            document.getElementById('result-wrapper').style.display = 'flex';
        }

        function retry() {
            document.getElementById('result-wrapper').style.display = 'none';
            document.getElementById('input-section').style.display = 'block';
        }

        function saveImage() {
            const btn = document.getElementById('btn-save');
            const oldText = btn.innerHTML;
            btn.innerHTML = '⏳ 生成中...';
            
            const element = document.getElementById("poster-container");
            
            html2canvas(element, {
                useCORS: true,
                scale: 3, 
                backgroundColor: '#FDFBF7'
            }).then(canvas => {
                const link = document.createElement('a');
                link.download = '2025求职生存报告.png';
                link.href = canvas.toDataURL("image/png");
                link.click();
                
                btn.innerHTML = '✅ 已保存';
                setTimeout(() => { btn.innerHTML = oldText; }, 2000);
            }).catch(err => {
                console.error(err);
                alert('生成失败,请尝试长按图片直接保存');
                btn.innerHTML = oldText;
            });
        }
    </script>
</body>
</html>

#2025年终总结#
全部评论
太有趣了啊
3 回复 分享
发布于 2025-12-19 08:27 湖北
有5个offer已经很厉害了
2 回复 分享
发布于 2025-12-18 18:31 吉林
这个有趣!我也要做1个
1 回复 分享
发布于 2025-12-18 18:32 河南
感谢分享!我也去做一个
1 回复 分享
发布于 2025-12-18 18:01 浙江
太棒了吧!
1 回复 分享
发布于 2025-12-18 17:37 北京
确实太辛苦了
点赞 回复 分享
发布于 2025-12-22 20:31 湖北
牛币啊,码友
点赞 回复 分享
发布于 2025-12-22 05:39 河南
点赞 回复 分享
发布于 2025-12-22 02:17 江西
能分享一下怎么找大数据的岗吗,考研估计是上不了岸了,想跟机构突击春招,机构说很难
点赞 回复 分享
发布于 2025-12-22 00:10 河南
很棒
点赞 回复 分享
发布于 2025-12-21 16:32 广东
漂亮的模板 厉害了
点赞 回复 分享
发布于 2025-12-20 20:42 广东
并非,上班了后才是真正的辛苦
点赞 回复 分享
发布于 2025-12-20 18:52 北京
我说牛客给一个根据帖子评论自动生成的
点赞 回复 分享
发布于 2025-12-19 21:38 山东
这个很像kimi生成的布局
点赞 回复 分享
发布于 2025-12-19 16:17 江苏
好棒呀
点赞 回复 分享
发布于 2025-12-19 14:36 贵州
这么优秀的牛友,膜拜一下
点赞 回复 分享
发布于 2025-12-19 13:58 广东
这么厉害
点赞 回复 分享
发布于 2025-12-19 13:36 北京
点赞 回复 分享
发布于 2025-12-19 12:02 北京
牛的
点赞 回复 分享
发布于 2025-12-19 12:01 广东
哥们太有才了
点赞 回复 分享
发布于 2025-12-19 11:57 北京

相关推荐

评论
46
44
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务