| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742 |
- #!/usr/bin/env node
- const fs = require('fs');
- const path = require('path');
- const ROOT = path.resolve(__dirname, '..', '..', '..');
- const OUT_FILE = path.join(ROOT, 'reports', 'KS-快聘-voc-insight-report-v5.html');
- const hypos = [
- {h:'H1',title:'快聘是蓝领求职主阵地',count:596,color:'#F5A623'},
- {h:'H2',title:'直播带岗降低信息不对称',count:1930,color:'#00DC82'},
- {h:'H3',title:'薪资透明度是核心关切',count:1842,color:'#8B5CF6'},
- {h:'H4',title:'食宿条件影响求职决策',count:2194,color:'#FF4D8D'},
- {h:'H5',title:'入职流程便捷性',count:595,color:'#3B82F6'},
- {h:'H6',title:'求职被骗是普遍焦虑',count:4435,color:'#EF4444'},
- {h:'H7',title:'黑中介是核心痛点',count:3705,color:'#F97316'},
- {h:'H8',title:'工资结算方式差异',count:2417,color:'#6B6B6B'},
- ];
- const riskSignals = [
- {label:'骗',value:252,heat:514788,color:'#EF4444'},
- {label:'黑中介',value:109,heat:393762,color:'#EF4444'},
- {label:'坑',value:92,heat:375264,color:'#FF4D8D'},
- {label:'套路',value:45,heat:144842,color:'#F97316'},
- {label:'黑厂',value:43,heat:123531,color:'#FF4D8D'},
- {label:'押金',value:105,heat:95543,color:'#F5A623'},
- {label:'不退',value:70,heat:84106,color:'#F5A623'},
- {label:'陷阱',value:21,heat:74090,color:'#F97316'},
- ];
- const careFactors = [
- {label:'包吃包住',value:31,heat:89190,color:'#00DC82'},
- {label:'工资',value:186,heat:89081,color:'#00DC82'},
- {label:'加班费',value:20,heat:43986,color:'#3B82F6'},
- {label:'吃住',value:21,heat:34060,color:'#00DC82'},
- {label:'住宿',value:15,heat:25224,color:'#3B82F6'},
- {label:'当天入职',value:7,heat:19264,color:'#8B5CF6'},
- {label:'日结',value:30,heat:12651,color:'#8B5CF6'},
- {label:'靠谱',value:20,heat:9509,color:'#00DC82'},
- ];
- const competitors = [
- {name:'BOSS直聘',monthly:3240,margin:'69%',strength:'算法匹配准确率高',weak:'情绪获得感不足',color:'#3B82F6'},
- {name:'58同城',monthly:0,margin:'90%+',strength:'传统市场份额大',weak:'信息审核差',color:'#6B6B6B'},
- {name:'快手快聘',monthly:25000,margin:'20%',strength:'用户渗透率极高',weak:'信息审核薄弱',color:'#00DC82'},
- ];
- const radarData = [
- {label:'信息真实度',ks:3,boss:4,wu:2},
- {label:'薪资透明度',ks:4,boss:4,wu:2},
- {label:'权益保障',ks:2,boss:3,wu:2},
- {label:'匹配准确率',ks:3,boss:5,wu:3},
- {label:'求职低门槛',ks:5,boss:4,wu:3},
- {label:'沟通即时性',ks:5,boss:4,wu:1},
- {label:'信任建立',ks:4,boss:3,wu:1},
- {label:'情绪获得感',ks:5,boss:2,wu:0},
- ];
- const emotionSamples = [
- {keyword:'黑厂',direction:'负向',likes:91732,expr:'揭秘!广东5大黑厂有哪些?想不被坑,千万不要进'},
- {keyword:'入职被坑',direction:'负向',likes:6276,expr:'22年差点被骗去当咯咯哒 说什么模特走台下面的人送花就有提成'},
- {keyword:'求职被骗',direction:'负向',likes:8062,expr:'东北小伙被骗进厂干到S,马总竟是最大黒中芥!?'},
- {keyword:'打工陷阱',direction:'负向',likes:2857,expr:'找工作别踩坑!警惕黑中介套路与离谱高价工陷阱'},
- ];
- const highLikedComments = [
- {rank:1,likes:6276,expr:'22年差点被骗去当咯咯哒 说什么模特走台下面的人送花就有提成',kw:'入职被坑'},
- {rank:2,likes:2209,expr:'去买几个鸡蛋,打碎,放在沙发下面...',kw:'押金不退'},
- {rank:3,likes:808,expr:'我在广西就遇到过房东死活不退押金...',kw:'押金不退'},
- {rank:4,likes:533,expr:'做的不错,就该那样!有些房东太不像话了!',kw:'押金不退'},
- {rank:5,likes:491,expr:'无论怎么样,反正$黑中介$是赚了',kw:'黑中介'},
- {rank:6,likes:422,expr:'那暑假工能做什么啊',kw:'入职被坑'},
- {rank:7,likes:403,expr:'干的漂亮,支持小伙子不应该判刑...',kw:'黑中介'},
- {rank:8,likes:312,expr:'都绑起来了,都投降了,那人还要去喷那个喷雾',kw:'黑中介'},
- {rank:9,likes:311,expr:'为什么南方的房东都不退押金',kw:'押金不退'},
- {rank:10,likes:228,expr:'只要收身份证的都是,正常的面试只需要填表就行',kw:'黑中介'},
- ];
- function esc(s) { return String(s ?? '').replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); }
- function fmtLikes(n) { if (n == null) return '0'; if (n >= 10000) return (n/10000).toFixed(1).replace(/\.0$/,'')+'w'; if (n >= 1000) return (n/1000).toFixed(1).replace(/\.0$/,'')+'k'; return String(n); }
- function barChart(rows, accent, maxW=900) {
- const max = Math.max(...rows.map(r=>r.value),1);
- const barH=36,gap=14,padL=140,padR=100,padV=16,W=maxW;
- const totalH = rows.length*(barH+gap)+padV*2;
- return `<div style="background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;">
- <svg viewBox="0 0 ${W} ${totalH}" style="width:100%;height:auto;" preserveAspectRatio="xMidYMid meet">
- ${rows.map((r,i)=>{const y=padV+i*(barH+gap);const w=Math.max((r.value/max)*(W-padL-padR),6);return `<text x="${padL-10}" y="${y+barH/2+5}" text-anchor="end" font-size="13" fill="var(--text-2)">${esc(r.label)}</text><rect x="${padL}" y="${y}" width="${w}" height="${barH}" rx="4" fill="${r.color||accent}" opacity="0.85"/><text x="${padL+w+10}" y="${y+barH/2+5}" font-size="13" font-weight="700" fill="${r.color||accent}" font-family="monospace">${esc(r.valueLabel||r.value)}</text>`;}).join('')}
- </svg>
- </div>`;
- }
- function radarChart() {
- const cx=200,cy=180,r=130;
- const labels = radarData.map(d=>d.label);
- const ksVals = radarData.map(d=>d.ks);
- const bossVals = radarData.map(d=>d.boss);
- const wuVals = radarData.map(d=>d.wu);
- const n = labels.length;
- const step = 2*Math.PI/n;
- const toXY = (v,i,R=r) => ({x: cx + R*v*Math.cos(i*step - Math.PI/2), y: cy + R*v*Math.sin(i*step - Math.PI/2)});
- const ksPath = ksVals.map((v,i)=>toXY(v/5,i)).map((p,i)=>(i===0?'M':'L')+p.x+','+p.y).join('')+'Z';
- const bossPath = bossVals.map((v,i)=>toXY(v/5,i)).map((p,i)=>(i===0?'M':'L')+p.x+','+p.y).join('')+'Z';
- const wuPath = wuVals.map((v,i)=>toXY(v/5,i)).map((p,i)=>(i===0?'M':'L')+p.x+','+p.y).join('')+'Z';
- const gridPath = [1,0.5,0.25].map(s=>[0,1,2,3,4].map(i=>toXY(s,i)).map((p,i)=>(i===0?'M':'L')+p.x+','+p.y).join('')+'Z').join('');
- let labelHTML = labels.map((l,i)=>{const p=toXY(1.15,i);return `<text x="${p.x}" y="${p.y}" text-anchor="middle" dominant-baseline="middle" font-size="11" fill="var(--text-2)">${esc(l)}</text>`;}).join('');
- return `<div style="background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;">
- <svg viewBox="0 0 400 360" style="width:100%;height:auto;">
- <circle cx="${cx}" cy="${cy}" r="${r}" fill="none" stroke="var(--border)" stroke-width="1"/>
- <path d="${gridPath}" fill="none" stroke="var(--border)" stroke-width="0.5" opacity="0.5"/>
- <path d="${wuPath}" fill="rgba(107,107,107,0.15)" stroke="#6B6B6B" stroke-width="2"/>
- <path d="${bossPath}" fill="rgba(59,130,246,0.15)" stroke="#3B82F6" stroke-width="2"/>
- <path d="${ksPath}" fill="rgba(0,220,130,0.2)" stroke="#00DC82" stroke-width="2.5"/>
- ${labelHTML}
- <g transform="translate(${cx+r+20},20)">
- <rect x="0" y="0" width="12" height="12" fill="#00DC82"/><text x="18" y="10" font-size="11" fill="var(--text-2)">快手</text>
- <rect x="0" y="25" width="12" height="12" fill="#3B82F6"/><text x="18" y="35" font-size="11" fill="var(--text-2)">BOSS直聘</text>
- <rect x="0" y="50" width="12" height="12" fill="#6B6B6B"/><text x="18" y="60" font-size="11" fill="var(--text-2)">58同城</text>
- </g>
- </svg>
- </div>`;
- }
- function voiceCard(comment, isHot=false) {
- return `<div class="voice-card ${isHot?'hot':''}" style="border-left:3px solid ${isHot?'var(--amber)':'var(--rose)'};">
- <div style="display:flex;align-items:center;gap:8px;margin-bottom:8px;">
- <span style="width:20px;height:20px;border-radius:50%;background:var(--bg-2);color:var(--text-1);font-size:0.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;">快</span>
- <span style="font-size:0.8rem;color:var(--text-3);">快手用户</span>
- <span style="margin-left:auto;font-size:0.78rem;font-weight:600;color:${isHot?'var(--amber)':'var(--rose)'};">♥ ${fmtLikes(comment.likes)}</span>
- </div>
- <div class="voice-content">"${esc(comment.expr)}"</div>
- <div class="voice-meta">
- <span class="voice-tag">${esc(comment.kw)}</span>
- </div>
- </div>`;
- }
- const html = `<!DOCTYPE html>
- <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0">
- <title>快手快聘 · VOC 深度洞察报告</title>
- <style>
- :root{--bg-0:#0A0A0A;--bg-1:#111111;--bg-2:#1A1A1A;--bg-3:#252525;--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.16);--text-1:#F5F5F5;--text-2:#A8A8A8;--text-3:#6B6B6B;--amber:#F5A623;--amber-glow:rgba(245,166,35,0.15);--green:#00DC82;--purple:#8B5CF6;--rose:#FF4D8D;--blue:#3B82F6;--red:#EF4444;--orange:#F97316;--font-head:'Inter','Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;--font-body:'Noto Sans SC','Inter','PingFang SC','Microsoft YaHei',sans-serif;--font-mono:'JetBrains Mono','SF Mono','Fira Code',monospace;--max-w:1280px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;}
- *{margin:0;padding:0;box-sizing:border-box}
- html{scroll-behavior:smooth;font-size:16px;scroll-snap-type:y proximity;}
- body{font-family:var(--font-body);background:var(--bg-0);color:var(--text-1);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
- body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 900px 700px at var(--amb-x,20%) var(--amb-y,25%),rgba(245,166,35,0.10),transparent 60%),radial-gradient(ellipse 800px 600px at calc(100% - var(--amb-x,20%)) calc(100% - var(--amb-y,25%)),rgba(139,92,246,0.07),transparent 60%);transition:background 1.4s cubic-bezier(.2,.7,.2,1);}
- body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,0.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.015) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 90% 95% at 50% 50%,black 0%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse 90% 95% at 50% 50%,black 0%,transparent 85%);}
- main.deck{position:relative;z-index:1}
- ::selection{background:var(--amber);color:#000}
- .text-hero{font-family:var(--font-head);font-weight:900;letter-spacing:-0.04em;line-height:0.95;font-size:clamp(4rem,12vw,10rem)}
- .text-poster{font-family:var(--font-head);font-weight:800;letter-spacing:-0.03em;line-height:1.05;font-size:clamp(2.5rem,6vw,5rem)}
- .text-h1{font-family:var(--font-head);font-weight:700;letter-spacing:-0.02em;line-height:1.1;font-size:clamp(2rem,4vw,3.5rem)}
- .text-h2{font-family:var(--font-head);font-weight:700;letter-spacing:-0.015em;line-height:1.2;font-size:clamp(1.4rem,2.5vw,2rem)}
- .text-h3{font-weight:600;font-size:clamp(1.05rem,1.6vw,1.3rem);letter-spacing:-0.01em}
- .text-body{font-size:clamp(0.92rem,1.1vw,1rem);line-height:1.75;color:var(--text-2)}
- .text-sm{font-size:0.85rem;color:var(--text-2)}
- .text-xs{font-size:0.72rem;color:var(--text-3);letter-spacing:0.02em}
- .text-mono{font-family:var(--font-mono)}
- .text-amber{color:var(--amber)}.text-green{color:var(--green)}.text-purple{color:var(--purple)}.text-rose{color:var(--rose)}.text-blue{color:var(--blue)}.text-red{color:var(--red)}.text-orange{color:var(--orange)}
- section.report-section{min-height:100vh;padding:clamp(60px,10vh,120px) clamp(24px,6vw,80px);position:relative;border-bottom:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;isolation:isolate}
- section.report-section::before{content:attr(data-slide-num);position:absolute;top:clamp(20px,3vh,36px);right:clamp(24px,4vw,60px);font-family:var(--font-mono);font-weight:600;font-size:clamp(0.68rem,0.75vw,0.78rem);letter-spacing:0.25em;color:var(--text-3);z-index:4;pointer-events:none}
- section.report-section::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 70% 60% at 85% 15%,var(--slide-glow-1,rgba(245,166,35,0.06)),transparent 55%),radial-gradient(ellipse 60% 50% at 15% 85%,var(--slide-glow-2,rgba(139,92,246,0.04)),transparent 55%);opacity:0;transition:opacity 1s cubic-bezier(.2,.7,.2,1)}
- section.report-section.in-view::after{opacity:1}
- section.report-section[data-tone="amber"]{--slide-glow-1:rgba(245,166,35,0.10);--slide-glow-2:rgba(245,166,35,0.04)}
- section.report-section[data-tone="rose"]{--slide-glow-1:rgba(255,77,141,0.09);--slide-glow-2:rgba(255,77,141,0.04)}
- section.report-section[data-tone="green"]{--slide-glow-1:rgba(0,220,130,0.08);--slide-glow-2:rgba(0,220,130,0.03)}
- section.report-section[data-tone="purple"]{--slide-glow-1:rgba(139,92,246,0.10);--slide-glow-2:rgba(139,92,246,0.04)}
- section.report-section[data-tone="blue"]{--slide-glow-1:rgba(59,130,246,0.08);--slide-glow-2:rgba(59,130,246,0.03)}
- section.report-section[data-tone="orange"]{--slide-glow-1:rgba(249,115,22,0.10);--slide-glow-2:rgba(249,115,22,0.04)}
- section.report-section[data-tone="red"]{--slide-glow-1:rgba(239,68,68,0.10);--slide-glow-2:rgba(239,68,68,0.04)}
- .cover-hero{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,8vh,100px) clamp(24px,6vw,80px);background:radial-gradient(ellipse 60% 80% at 30% 30%,rgba(245,166,35,0.08) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 80% 70%,rgba(139,92,246,0.05) 0%,transparent 70%),var(--bg-0)}
- .cover-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 0%,transparent 70%)}
- .section-inner{width:100%;max-width:var(--max-w);margin:0 auto;position:relative}
- .section-head{margin-bottom:clamp(32px,5vh,64px)}
- .section-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--amber);font-weight:500;margin-bottom:18px}
- .section-eyebrow::before{content:'';display:inline-block;width:24px;height:1px;background:var(--amber)}
- .section-sub{color:var(--text-2);font-size:1.05rem;max-width:720px;margin-top:14px;line-height:1.8}
- .grid{display:grid;gap:clamp(14px,1.6vw,22px)}
- .grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
- .grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
- .grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
- .card{background:linear-gradient(180deg,rgba(255,255,255,0.025) 0%,rgba(255,255,255,0.008) 100%),var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:clamp(20px,2.2vw,32px);position:relative;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform 0.4s cubic-bezier(.2,.7,.2,1),border-color 0.3s ease,box-shadow 0.4s ease}
- .card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,0.35),0 0 0 1px rgba(245,166,35,0.08)}
- .card.card-glow{box-shadow:0 0 60px rgba(245,166,35,0.12),0 0 120px rgba(245,166,35,0.06)}
- .card.card-glow-green{box-shadow:0 0 60px rgba(0,220,130,0.12),0 0 120px rgba(0,220,130,0.06)}
- .card.card-glow-rose{box-shadow:0 0 60px rgba(255,77,141,0.12),0 0 120px rgba(255,77,141,0.06)}
- .card-accent{border-left:3px solid var(--amber);border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
- .metric{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:clamp(24px,2.5vw,36px);position:relative;overflow:hidden}
- .metric::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--amber),transparent);opacity:0.6}
- .metric .metric-label{font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}
- .metric .metric-value{font-family:var(--font-head);font-weight:800;font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:-0.03em;line-height:1;color:var(--text-1);margin-bottom:8px}
- .metric .metric-unit{font-family:var(--font-mono);font-size:0.85rem;color:var(--amber);font-weight:500}
- .metric .metric-sub{margin-top:14px;font-size:0.82rem;color:var(--text-2);line-height:1.5}
- .voice-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:14px;transition:all 0.3s ease;position:relative;overflow:hidden}
- .voice-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--rose);opacity:0.6;transition:opacity 0.3s}
- .voice-card.hot{border-color:rgba(245,166,35,0.3)}
- .voice-card.hot::before{opacity:1;background:var(--amber)}
- .voice-card:hover{border-color:var(--border-strong);transform:translateX(4px)}
- .voice-card .voice-content{font-size:0.96rem;line-height:1.7;color:var(--text-1);margin:12px 0;font-weight:400}
- .voice-card .voice-meta{display:flex;gap:8px;flex-wrap:wrap}
- .voice-tag{display:inline-flex;padding:3px 10px;background:rgba(255,77,141,0.1);color:var(--rose);border-radius:4px;font-size:0.72rem;font-weight:500}
- .voice-card.hot .voice-tag{background:rgba(245,166,35,0.1);color:var(--amber)}
- .tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:0.72rem;font-weight:500;letter-spacing:0.02em;font-family:var(--font-head);background:rgba(245,166,35,0.1);color:var(--amber);border:1px solid rgba(245,166,35,0.22)}
- .tag.green{background:rgba(0,220,130,0.08);color:var(--green);border-color:rgba(0,220,130,0.2)}
- .tag.purple{background:rgba(139,92,246,0.08);color:var(--purple);border-color:rgba(139,92,246,0.2)}
- .tag.rose{background:rgba(255,77,141,0.08);color:var(--rose);border-color:rgba(255,77,141,0.2)}
- .tag.blue{background:rgba(59,130,246,0.08);color:var(--blue);border-color:rgba(59,130,246,0.2)}
- .tag.orange{background:rgba(249,115,22,0.08);color:var(--orange);border-color:rgba(249,115,22,0.2)}
- .tag.red{background:rgba(239,68,68,0.08);color:var(--red);border-color:rgba(239,68,68,0.2)}
- .footer{text-align:center;padding:40px 24px;color:var(--text-3);font-size:0.8rem;border-top:1px solid var(--border)}
- </style>
- </head>
- <body>
- <main class="deck">
- <!-- 封面 -->
- <section class="report-section cover-hero" data-tone="amber" style="min-height:100vh;">
- <div class="cover-grid-bg"></div>
- <div style="position:relative;z-index:1;">
- <div class="section-eyebrow" style="margin-bottom:24px;">VOC 深度洞察报告</div>
- <h1 class="text-hero" style="margin-bottom:20px;">快手快聘</h1>
- <p class="text-body" style="font-size:1.3rem;max-width:650px;margin-bottom:24px;">"10个蓝领,9个都用快手" · 蓝领求职生态与快聘战略洞察</p>
- <div style="display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px;">
- <span class="tag">快手</span>
- <span class="tag green">7,902 条真实评论</span>
- <span class="tag purple">19 个关键词</span>
- <span class="tag blue">380 个视频</span>
- <span class="tag orange">9456万 播放</span>
- </div>
- <div class="text-xs" style="margin-top:20px;">Generated by OpenClaw VOC System · 2026/4/24</div>
- </div>
- </section>
- <!-- Ch1: 执行摘要 -->
- <section class="report-section" data-slide-num="01" data-tone="amber" id="ch1">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow">CHAPTER 01</div>
- <h2 class="text-h1">执行摘要</h2>
- <p class="section-sub">快手快聘蓝领求职生态核心洞察</p>
- </div>
- <div class="grid grid-4" style="margin-bottom:32px;">
- <div class="metric"><div class="metric-label">VOC总量</div><div class="metric-value" style="color:var(--amber);">7,902</div><div class="metric-sub">条真实评论</div></div>
- <div class="metric"><div class="metric-label">视频播放量</div><div class="metric-value" style="color:var(--green);">9456万</div><div class="metric-sub">TOP视频汇总</div></div>
- <div class="metric"><div class="metric-label">最强焦虑</div><div class="metric-value" style="color:var(--red);">H6</div><div class="metric-sub">求职被骗 4435条</div></div>
- <div class="metric"><div class="metric-label">战略地位</div><div class="metric-value" style="color:var(--rose);">第二</div><div class="metric-sub">仅次于电商</div></div>
- </div>
- <div class="card card-glow card-accent" style="margin-bottom:28px;padding:28px 32px;">
- <div class="text-amber" style="font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.15em;margin-bottom:14px;font-weight:600;">核心问题</div>
- <div class="text-h2" style="margin-bottom:12px;">蓝领求职最担心什么?最看重什么?</div>
- <p class="text-body">最强焦虑不是"工资低",而是"信息不真实、被骗、被坑、押金不退、工资被克扣"</p>
- </div>
- <div class="grid grid-3">
- <div class="card" style="border-left:3px solid var(--red);">
- <div style="font-size:1.6rem;margin-bottom:12px;">🛡️</div>
- <div style="font-weight:700;margin-bottom:8px;">风险焦虑</div>
- <p class="text-sm">被骗/被坑/黑中介/押金不退/克扣工资/打工陷阱 - 最稳定、最强烈的底层情绪</p>
- </div>
- <div class="card" style="border-left:3px solid var(--green);">
- <div style="font-size:1.6rem;margin-bottom:12px;">💰</div>
- <div style="font-weight:700;margin-bottom:8px;">确定性诉求</div>
- <p class="text-sm">工资真实、发薪稳定、包吃包住、当天入职、流程简单</p>
- </div>
- <div class="card" style="border-left:3px solid var(--purple);">
- <div style="font-size:1.6rem;margin-bottom:12px;">🤝</div>
- <div style="font-weight:700;margin-bottom:8px;">信任机制</div>
- <p class="text-sm">"老铁文化"+"眼见为实" - 快手在蓝领求职场景的核心竞争力</p>
- </div>
- </div>
- </div>
- </section>
- <!-- Ch2: 最担心什么 -->
- <section class="report-section" data-slide-num="02" data-tone="red" id="ch2">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--red);">CHAPTER 02</div>
- <h2 class="text-h1">蓝领求职时最担心什么</h2>
- <p class="section-sub">风险焦虑是最稳定、最强烈的底层情绪</p>
- </div>
- <div class="grid grid-2" style="margin-bottom:28px;">
- <div>
- <div class="section-eyebrow" style="color:var(--red);margin-bottom:16px;">风险信号排行(按热度)</div>
- ${barChart(riskSignals.slice(0,6),'#EF4444')}
- </div>
- <div class="card" style="border-left:3px solid var(--red);">
- <div style="font-weight:700;margin-bottom:16px;font-size:1.1rem;">高风险场景样本</div>
- <div style="line-height:2;font-size:0.88rem;color:var(--text-2);">
- <div style="margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border);">
- <span style="color:var(--red);font-weight:600;">[黑中介] 热度203219</span><br/>
- <span style="font-size:0.8rem;">#万恶之源 #搞笑我是认真的 #搞笑 黑中介的噩梦,只要我不努力,你就过不上你想要的生活</span>
- </div>
- <div style="margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border);">
- <span style="color:var(--red);font-weight:600;">[黑厂] 热度122687</span><br/>
- <span style="font-size:0.8rem;">揭秘!广东5大黑厂有哪些?想不被坑,千万不要进</span>
- </div>
- <div>
- <span style="color:var(--red);font-weight:600;">[入职被坑] 热度42121</span><br/>
- <span style="font-size:0.8rem;">#黑中介招工套路 ,刚开始签18块钱一个小时...</span>
- </div>
- </div>
- </div>
- </div>
- <div class="grid grid-3">
- <div class="card" style="border-top:2px solid var(--red);">
- <div style="font-size:1.6rem;margin-bottom:10px;">🚨</div>
- <div style="font-weight:700;color:var(--red);margin-bottom:8px;">招聘信息虚假</div>
- <p class="text-sm">"货不对版" - 承诺薪资、食宿条件与实际不符</p>
- </div>
- <div class="card" style="border-top:2px solid var(--orange);">
- <div style="font-size:1.6rem;margin-bottom:10px;">💸</div>
- <div style="font-weight:700;color:var(--orange);margin-bottom:8px;">押金陷阱</div>
- <p class="text-sm">预缴押金/培训费后招工方失联</p>
- </div>
- <div class="card" style="border-top:2px solid var(--amber);">
- <div style="font-size:1.6rem;margin-bottom:10px;">⚖️</div>
- <div style="font-weight:700;color:var(--amber);margin-bottom:8px;">权益无保障</div>
- <p class="text-sm">不签劳动合同、不上社保、欠薪维权难</p>
- </div>
- </div>
- </div>
- </section>
- <!-- Ch3: 最看重什么 -->
- <section class="report-section" data-slide-num="03" data-tone="green" id="ch3">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--green);">CHAPTER 03</div>
- <h2 class="text-h1">蓝领求职时最看重什么</h2>
- <p class="section-sub">确定性 + 即时性 = 快速入职决策</p>
- </div>
- <div class="grid grid-2" style="margin-bottom:28px;">
- <div>
- <div class="section-eyebrow" style="color:var(--green);margin-bottom:16px;">看重因素排行(按热度)</div>
- ${barChart(careFactors.slice(0,6),'#00DC82')}
- </div>
- <div class="card" style="border-left:3px solid var(--green);">
- <div style="font-weight:700;margin-bottom:16px;font-size:1.1rem;">高代表性样本</div>
- <div style="line-height:2;font-size:0.88rem;color:var(--text-2);">
- <div style="margin-bottom:12px;">
- <span style="color:var(--green);font-weight:600;">[工资日结] 热度48804</span><br/>
- <span style="font-size:0.8rem;">"..."</span>
- </div>
- <div style="margin-bottom:12px;">
- <span style="color:var(--green);font-weight:600;">[包吃包住] 热度15768</span><br/>
- <span style="font-size:0.8rem;">距你0.9km #找工作 #包吃包住 #勤杂工 #大龄工</span>
- </div>
- <div>
- <span style="color:var(--green);font-weight:600;">[当天入职] 热度17397</span><br/>
- <span style="font-size:0.8rem;">#不体检不收费当天安排 #当天来当天入职安排住宿</span>
- </div>
- </div>
- </div>
- </div>
- <div class="grid grid-4" style="margin-bottom:28px;">
- <div class="card" style="border-top:2px solid var(--green);text-align:center;">
- <div style="font-size:1.8rem;margin-bottom:10px;">👁️</div>
- <div style="font-weight:600;color:var(--green);font-size:0.9rem;margin-bottom:6px;">眼见为实</div>
- <p class="text-xs">直播展示车间、宿舍、食堂,消解信息不对称</p>
- </div>
- <div class="card" style="border-top:2px solid var(--blue);text-align:center;">
- <div style="font-size:1.8rem;margin-bottom:10px;">⚡</div>
- <div style="font-weight:600;color:var(--blue);font-size:0.9rem;margin-bottom:6px;">即时沟通</div>
- <p class="text-xs">实时互动答疑,无需等待反馈</p>
- </div>
- <div class="card" style="border-top:2px solid var(--purple);text-align:center;">
- <div style="font-size:1.8rem;margin-bottom:10px;">🚪</div>
- <div style="font-weight:600;color:var(--purple);font-size:0.9rem;margin-bottom:6px;">零门槛</div>
- <p class="text-xs">留联系方式即可求职,无需简历</p>
- </div>
- <div class="card" style="border-top:2px solid var(--amber);text-align:center;">
- <div style="font-size:1.8rem;margin-bottom:10px;">💯</div>
- <div style="font-weight:600;color:var(--amber);font-size:0.9rem;margin-bottom:6px;">薪资透明</div>
- <p class="text-xs">承诺的工资能兑现</p>
- </div>
- </div>
- </div>
- </section>
- <!-- Ch4: 情绪价值 -->
- <section class="report-section" data-slide-num="04" data-tone="purple" id="ch4">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--purple);">CHAPTER 04</div>
- <h2 class="text-h1">情绪价值强的表达</h2>
- <p class="section-sub">情绪价值的核心不是娱乐,而是"确定性"</p>
- </div>
- <div class="grid grid-2" style="margin-bottom:28px;">
- ${emotionSamples.slice(0,2).map(e=>voiceCard(e,true)).join('')}
- </div>
- <div class="grid grid-2" style="margin-bottom:28px;">
- ${emotionSamples.slice(2).map(e=>voiceCard(e,false)).join('')}
- </div>
- <div class="card card-glow card-accent">
- <div style="font-weight:700;margin-bottom:14px;font-size:1rem;">情绪价值关键词体系</div>
- <div class="grid grid-4" style="gap:10px;">
- <div style="padding:12px 16px;background:rgba(245,166,35,0.08);border-radius:8px;text-align:center;">
- <div style="color:var(--amber);font-weight:700;font-size:1rem;">"眼见为实"</div>
- <div class="text-xs" style="margin-top:6px;">消解信息不对称</div>
- </div>
- <div style="padding:12px 16px;background:rgba(0,220,130,0.08);border-radius:8px;text-align:center;">
- <div style="color:var(--green);font-weight:700;font-size:1rem;">"老铁推荐"</div>
- <div class="text-xs" style="margin-top:6px;">熟人身份降低防备</div>
- </div>
- <div style="padding:12px 16px;background:rgba(139,92,246,0.08);border-radius:8px;text-align:center;">
- <div style="color:var(--purple);font-weight:700;font-size:1rem;">"来了就是兄弟"</div>
- <div class="text-xs" style="margin-top:6px;">归属感和人情味</div>
- </div>
- <div style="padding:12px 16px;background:rgba(239,68,68,0.08);border-radius:8px;text-align:center;">
- <div style="color:var(--red);font-weight:700;font-size:1rem;">"不骗人不套路"</div>
- <div class="text-xs" style="margin-top:6px;">真实可靠心智</div>
- </div>
- </div>
- </div>
- </div>
- </section>
- <!-- Ch5: 假设验证 H1-H4 -->
- <section class="report-section" data-slide-num="05" data-tone="blue" id="ch5">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--blue);">CHAPTER 05</div>
- <h2 class="text-h1">H1-H8 假设验证</h2>
- <p class="section-sub">基于7,902条VOC的假设覆盖分析</p>
- </div>
- <div class="grid grid-2" style="margin-bottom:28px;">
- <div>
- <div class="section-eyebrow" style="color:var(--green);margin-bottom:16px;">H1-H4 假设覆盖</div>
- ${barChart(hypos.slice(0,4).map(h=>({label:h.h+' '+h.title.slice(0,8),value:h.count,color:h.color})),'#8B5CF6')}
- </div>
- <div>
- <div class="section-eyebrow" style="color:var(--rose);margin-bottom:16px;">H5-H8 假设覆盖</div>
- ${barChart(hypos.slice(4).map(h=>({label:h.h+' '+h.title.slice(0,8),value:h.count,color:h.color})),'#FF4D8D')}
- </div>
- </div>
- <div class="grid grid-4">
- <div class="card" style="border-top:2px solid var(--amber);text-align:center;padding:16px;">
- <div style="font-size:1.6rem;font-weight:800;color:var(--amber);">H1</div>
- <div class="text-xs" style="margin-top:6px;">快聘核心场景</div>
- <div style="font-weight:700;color:var(--amber);margin-top:4px;">596条</div>
- </div>
- <div class="card" style="border-top:2px solid var(--green);text-align:center;padding:16px;">
- <div style="font-size:1.6rem;font-weight:800;color:var(--green);">H2</div>
- <div class="text-xs" style="margin-top:6px;">信息不对称</div>
- <div style="font-weight:700;color:var(--green);margin-top:4px;">1930条</div>
- </div>
- <div class="card" style="border-top:2px solid var(--purple);text-align:center;padding:16px;">
- <div style="font-size:1.6rem;font-weight:800;color:var(--purple);">H3</div>
- <div class="text-xs" style="margin-top:6px;">薪资透明度</div>
- <div style="font-weight:700;color:var(--purple);margin-top:4px;">1842条</div>
- </div>
- <div class="card" style="border-top:2px solid var(--rose);text-align:center;padding:16px;">
- <div style="font-size:1.6rem;font-weight:800;color:var(--rose);">H6</div>
- <div class="text-xs" style="margin-top:6px;">求职被骗焦虑</div>
- <div style="font-weight:700;color:var(--rose);margin-top:4px;">4435条 ⭐</div>
- </div>
- </div>
- </div>
- </section>
- <!-- Ch6-1: 平台竞争格局 -->
- <section class="report-section" data-slide-num="06" data-tone="green" id="ch6-1">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--green);">CHAPTER 06-1</div>
- <h2 class="text-h1">快聘竞争格局</h2>
- <p class="section-sub">流量型 vs 算法型平台核心差异</p>
- </div>
- <div class="grid grid-3" style="margin-bottom:28px;">
- <div class="card card-glow-green" style="border-left:3px solid var(--green);">
- <div style="font-weight:700;font-size:1.1rem;margin-bottom:12px;color:var(--green);">快手快聘</div>
- <div style="line-height:2.2;font-size:0.85rem;">
- <div>月活: <span style="color:var(--green);font-weight:700;">2.5亿</span></div>
- <div>模式: <span>直播带岗</span></div>
- <div>优势: <span>用户渗透率极高</span></div>
- <div>劣势: <span style="color:var(--red);">信息审核薄弱</span></div>
- </div>
- </div>
- <div class="card" style="border-left:3px solid var(--blue);">
- <div style="font-weight:700;font-size:1.1rem;margin-bottom:12px;color:var(--blue);">BOSS直聘</div>
- <div style="line-height:2.2;font-size:0.85rem;">
- <div>月活: <span>3,240万</span></div>
- <div>模式: <span>算法匹配</span></div>
- <div>优势: <span>匹配准确率高69%</span></div>
- <div>劣势: <span>情绪获得感不足</span></div>
- </div>
- </div>
- <div class="card" style="border-left:3px solid var(--text-3);">
- <div style="font-weight:700;font-size:1.1rem;margin-bottom:12px;">58同城</div>
- <div style="line-height:2.2;font-size:0.85rem;">
- <div>份额: <span>90%+</span></div>
- <div>模式: <span>分类信息聚合</span></div>
- <div>优势: <span>传统市场份额大</span></div>
- <div>劣势: <span style="color:var(--red);">信息审核差</span></div>
- </div>
- </div>
- </div>
- <div class="card">
- <div style="font-weight:700;margin-bottom:16px;font-size:1rem;">三平台雷达图对比</div>
- ${radarChart()}
- </div>
- </div>
- </section>
- <!-- Ch6-2: 快聘战略优势 -->
- <section class="report-section" data-slide-num="07" data-tone="orange" id="ch6-2">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--orange);">CHAPTER 06-2</div>
- <h2 class="text-h1">快聘战略优势</h2>
- <p class="section-sub">"仅次于电商"的核心逻辑</p>
- </div>
- <div class="grid grid-3" style="margin-bottom:28px;">
- <div class="metric">
- <div class="metric-label">日活简历投递</div>
- <div class="metric-value" style="color:var(--orange);">数十万</div>
- <div class="metric-sub">内部仅次于电商</div>
- </div>
- <div class="metric">
- <div class="metric-label">月度服务求职者</div>
- <div class="metric-value" style="color:var(--green);">2.5亿</div>
- <div class="metric-sub">人次</div>
- </div>
- <div class="metric">
- <div class="metric-label">2024全年求职线索</div>
- <div class="metric-value" style="color:var(--blue);">3.47亿</div>
- <div class="metric-sub">次</div>
- </div>
- </div>
- <div class="grid grid-2">
- <div class="card card-glow card-accent">
- <div style="font-weight:700;margin-bottom:14px;font-size:1rem;">快聘的战略逻辑</div>
- <div style="line-height:2.2;font-size:0.88rem;color:var(--text-2);">
- <div style="margin-bottom:10px;">
- <span style="color:var(--orange);font-weight:600;">● 用户价值层面</span><br/>
- <span style="font-size:0.82rem;">求职是蓝领用户的刚性高频需求</span>
- </div>
- <div style="margin-bottom:10px;">
- <span style="color:var(--orange);font-weight:600;">● 市场规模层面</span><br/>
- <span style="font-size:0.82rem;">蓝领招聘线上渗透率2025-2026年可达30%</span>
- </div>
- <div>
- <span style="color:var(--orange);font-weight:600;">● 竞争壁垒层面</span><br/>
- <span style="font-size:0.82rem;">用户即求职者,无需额外获客</span>
- </div>
- </div>
- </div>
- <div class="card card-glow-green">
- <div style="font-weight:700;margin-bottom:14px;font-size:1rem;">快聘的四大角色</div>
- <div style="line-height:2.2;font-size:0.88rem;color:var(--text-2);">
- <div style="margin-bottom:8px;">🌊 <span style="color:var(--green);font-weight:600;">流量入口</span> - 2.5亿月活蓝领用户</div>
- <div style="margin-bottom:8px;">📺 <span style="color:var(--green);font-weight:600;">岗位展示</span> - 直播带岗超500万场/年</div>
- <div style="margin-bottom:8px;">🤝 <span style="color:var(--green);font-weight:600;">信任建立</span> - "老铁文化"天然适配</div>
- <div>⚡ <span style="color:var(--green);font-weight:600;">快速转化</span> - 当天入职不是梦</div>
- </div>
- </div>
- </div>
- </div>
- </section>
- <!-- Ch6-3: 快聘核心劣势 -->
- <section class="report-section" data-slide-num="08" data-tone="red" id="ch6-3">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--red);">CHAPTER 06-3</div>
- <h2 class="text-h1">快聘核心劣势与风险</h2>
- <p class="section-sub">信任基础设施建设是最大短板</p>
- </div>
- <div class="grid grid-2">
- <div>
- <div class="section-eyebrow" style="color:var(--red);margin-bottom:16px;">四大劣势</div>
- <div class="card" style="border-left:3px solid var(--red);margin-bottom:14px;">
- <div style="font-weight:700;color:var(--red);margin-bottom:8px;">劣势一:信息审核能力不足</div>
- <p class="text-sm">对中介主播宣传的招聘信息零审核,导致职位真实性存疑</p>
- </div>
- <div class="card" style="border-left:3px solid var(--orange);margin-bottom:14px;">
- <div style="font-weight:700;color:var(--orange);margin-bottom:8px;">劣势二:B端直招占比低</div>
- <p class="text-sm">直播间以劳务中介为主,企业自招较少</p>
- </div>
- <div class="card" style="border-left:3px solid var(--amber);margin-bottom:14px;">
- <div style="font-weight:700;color:var(--amber);margin-bottom:8px;">劣势三:匹配准确率偏低</div>
- <p class="text-sm">流量模式来量快,但人岗精准匹配不如算法平台</p>
- </div>
- <div class="card" style="border-left:3px solid var(--purple);">
- <div style="font-weight:700;color:var(--purple);margin-bottom:8px;">劣势四:监管风险加剧</div>
- <p class="text-sm">2026年四部门行政指导将快手纳入重点监管范围</p>
- </div>
- </div>
- <div>
- <div class="section-eyebrow" style="color:var(--rose);margin-bottom:16px;">风险提示</div>
- <div class="card card-glow-rose">
- <div style="font-weight:700;margin-bottom:14px;">⚠️ 信任透支风险</div>
- <p class="text-sm" style="margin-bottom:12px;">信息审核不足可能导致恶性诈骗事件,严重损害平台公信力。有前科主播借"官方合作"名义招聘事件已暴露出审核机制的漏洞。</p>
- <div style="font-weight:700;margin-bottom:14px;margin-top:16px;">⚠️ 竞争加剧风险</div>
- <p class="text-sm">BOSS直聘持续加码蓝领招聘治理,58同城积累深厚,蓝领赛道竞争持续白热化。</p>
- </div>
- </div>
- </div>
- </div>
- </section>
- <!-- Ch7-1: 用户关键字 -->
- <section class="report-section" data-slide-num="09" data-tone="blue" id="ch7-1">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--blue);">CHAPTER 07-1</div>
- <h2 class="text-h1">用户关注关键字</h2>
- <p class="section-sub">跨视频与评论反复出现的关注焦点</p>
- </div>
- <div class="grid grid-2" style="margin-bottom:28px;">
- <div>
- <div class="section-eyebrow" style="color:var(--red);margin-bottom:16px;">风险类关键字(热度排行)</div>
- ${barChart(riskSignals.slice(0,6).map(k=>({label:k.label,value:k.heat,color:k.color})),'#EF4444')}
- </div>
- <div>
- <div class="section-eyebrow" style="color:var(--green);margin-bottom:16px;">保障类关键字(热度排行)</div>
- ${barChart(careFactors.slice(0,6).map(k=>({label:k.label,value:k.heat,color:k.color})),'#00DC82')}
- </div>
- </div>
- </div>
- </section>
- <!-- Ch7-2: 平台渗透数据 -->
- <section class="report-section" data-slide-num="10" data-tone="purple" id="ch7-2">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--purple);">CHAPTER 07-2</div>
- <h2 class="text-h1">"10个蓝领,9个都用快手"</h2>
- <p class="section-sub">快手平台蓝领渗透率验证</p>
- </div>
- <div class="grid grid-4" style="margin-bottom:28px;">
- <div class="metric">
- <div class="metric-label">平台蓝领用户</div>
- <div class="metric-value" style="color:var(--green);">2.5亿</div>
- <div class="metric-sub">约占蓝领总量4亿的62.5%</div>
- </div>
- <div class="metric">
- <div class="metric-label">平台总月活</div>
- <div class="metric-value">7亿</div>
- <div class="metric-sub">蓝领占比约35.7%</div>
- </div>
- <div class="metric">
- <div class="metric-label">专职带岗主播</div>
- <div class="metric-value" style="color:var(--amber);">40万+</div>
- <div class="metric-sub">2024年底数据</div>
- </div>
- <div class="metric">
- <div class="metric-label">入驻用人单位</div>
- <div class="metric-value" style="color:var(--blue);">24万</div>
- <div class="metric-sub">累计数据</div>
- </div>
- </div>
- <div class="card card-glow-green">
- <div style="font-weight:700;margin-bottom:14px;font-size:1rem;">关键结论</div>
- <p class="text-body">快手不是单纯的内容平台,在蓝领求职链路里已经具备"种草 + 筛选 + 询单 + 转化"的复合职能。"直播带岗""当天入职""包吃包住"说明用户并不只想看岗位信息,而是希望快速判断机会真假、成本高低和落地效率。</p>
- </div>
- </div>
- </section>
- <!-- Ch8-1: 高赞评论 -->
- <section class="report-section" data-slide-num="11" data-tone="rose" id="ch8-1">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--rose);">CHAPTER 08-1</div>
- <h2 class="text-h1">VOC 高赞精选 TOP10</h2>
- <p class="section-sub">真实用户声音</p>
- </div>
- <div class="grid grid-2">
- ${highLikedComments.slice(0,5).map(c=>voiceCard(c,true)).join('')}
- </div>
- </div>
- </section>
- <!-- Ch8-2: 更多高赞 -->
- <section class="report-section" data-slide-num="12" data-tone="orange" id="ch8-2">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow" style="color:var(--orange);">CHAPTER 08-2</div>
- <h2 class="text-h1">VOC 高赞精选 6-10</h2>
- <p class="section-sub">真实用户声音</p>
- </div>
- <div class="grid grid-2">
- ${highLikedComments.slice(5).map(c=>voiceCard(c,false)).join('')}
- </div>
- </div>
- </section>
- <!-- Ch8-3: 洞察总结 -->
- <section class="report-section" data-slide-num="13" data-tone="amber" id="ch8-3">
- <div class="section-inner">
- <div class="section-head">
- <div class="section-eyebrow">CHAPTER 08-3</div>
- <h2 class="text-h1">核心洞察总结</h2>
- <p class="section-sub">可直接引用的关键结论</p>
- </div>
- <div class="grid grid-2">
- <div class="card card-glow card-accent">
- <div style="font-weight:700;margin-bottom:16px;font-size:1rem;">核心发现</div>
- <div style="line-height:2;font-size:0.88rem;color:var(--text-2);">
- <div style="margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border);">
- <span style="color:var(--red);font-weight:600;">最强焦虑</span><br/>
- 不是"工资低",而是"信息不真实、被骗、被坑、押金不退、工资被克扣"
- </div>
- <div style="margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border);">
- <span style="color:var(--green);font-weight:600;">最强购买点</span><br/>
- 不是抽象品牌心智,而是"工资真实、发薪稳定、包吃包住、当天入职、流程简单"
- </div>
- <div>
- <span style="color:var(--purple);font-weight:600;">情绪价值核心</span><br/>
- 不是娱乐,而是"确定性":靠谱、真实、放心、少踩坑、能尽快安顿
- </div>
- </div>
- </div>
- <div class="card card-glow-green">
- <div style="font-weight:700;margin-bottom:16px;font-size:1rem;">战略建议</div>
- <div style="line-height:2;font-size:0.88rem;color:var(--text-2);">
- <div style="margin-bottom:8px;">1. <span style="color:var(--amber);font-weight:600;">建立分级审核体系</span><br/><span class="text-xs">参照BOSS直聘经验,对大主播实行更审慎审核</span></div>
- <div style="margin-bottom:8px;">2. <span style="color:var(--amber);font-weight:600;">强化信任基建</span><br/><span class="text-xs">建立招聘方信用评级和黑名单机制</span></div>
- <div style="margin-bottom:8px;">3. <span style="color:var(--amber);font-weight:600;">深化企业直招</span><br/><span class="text-xs">减少对中介依赖,提高B端直招占比</span></div>
- <div>4. <span style="color:var(--amber);font-weight:600;">放大"眼见为实"</span><br/><span class="text-xs">将车间/宿舍/食堂直播打造为标准化招聘流程</span></div>
- </div>
- </div>
- </div>
- </div>
- </section>
- </main>
- <footer class="footer">
- <div>快手快聘 · VOC 深度洞察报告</div>
- <div style="margin-top:8px;">数据来源:快手评论采集 · 7,902 条真实VOC · 19 个关键词 · 380 个视频</div>
- <div style="margin-top:4px;">Generated by OpenClaw · 2026/4/24</div>
- </footer>
- <script>
- const obs=new IntersectionObserver(s=>s.forEach(e=>{if(e.isIntersecting){e.target.classList.add('in-view')}}},{threshold:0.3});
- document.querySelectorAll('section.report-section').forEach(s=>obs.observe(s));
- document.querySelectorAll('.card').forEach(c=>{c.addEventListener('mouseenter',()=>{document.body.style.setProperty('--amb-x',(Math.random()*30+10)+'%');document.body.style.setProperty('--amb-y',(Math.random()*30+10)+'%')})});
- </script>
- </body>
- </html>`;
- fs.writeFileSync(OUT_FILE, html, 'utf8');
- console.log('✅ 增强版深色风格报告已生成: ' + OUT_FILE);
- console.log(' VOC数据: 7,902 条 | 关键词: 19 个 | 视频: 380 个 | 章节: 13 个');
|