import { createRoot } from 'react-dom/client'; import React, { useState, useEffect } from 'react'; import { Globe, Map, Palette, Users, BookOpen, Sparkles, Shirt, Camera, Activity, Calendar, Layers, Image as ImageIcon, ArrowLeft, ChevronDown } from 'lucide-react'; const VOTER_ID_KEY = 'portrait_aesthetic_voter_id'; const LOCAL_VOTE_PREFIX = 'portrait_aesthetic_vote'; function getVoterId() { let voterId = localStorage.getItem(VOTER_ID_KEY); if (!voterId) { voterId = `voter_${Date.now()}_${Math.random().toString(16).slice(2)}`; localStorage.setItem(VOTER_ID_KEY, voterId); } return voterId; } function voteStorageKey(type, pollId) { return `${LOCAL_VOTE_PREFIX}_${type}_${pollId}`; } function readLocalVote(type, pollId) { return localStorage.getItem(voteStorageKey(type, pollId)); } function saveLocalVote(type, pollId, option) { localStorage.setItem(voteStorageKey(type, pollId), option); } async function fetchVoteCounts(type, pollId) { const res = await fetch('/api/votes'); const payload = await res.json(); if (!payload.ok) throw new Error(payload.message || '投票数据获取失败'); return payload.data?.[type]?.[pollId]?.counts || { total: 0 }; } async function submitVote(type, pollId, option) { const res = await fetch('/api/vote', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ type, pollId, option, voterId: getVoterId() }) }); const payload = await res.json(); if (!payload.ok) throw new Error(payload.message || '投票失败'); return payload; } // --- 1. 基础 UI 组件 (原子组件) --- const PhotoPlaceholder = ({ text, className = "h-32", imgClassName = "object-contain", iconSize = "w-6 h-6", src, onClick }) => (
onClick(src) : undefined} className={`bg-[#f8f8f8] flex flex-col items-center justify-center text-slate-400 border-[1.5px] border-black/30 ${src ? 'border-solid p-1.5 cursor-zoom-in' : 'border-dashed cursor-pointer'} rounded-none overflow-hidden relative group hover:bg-white hover:border-black hover:shadow-[4px_4px_0_0_rgba(0,0,0,0.1)] transition-all duration-300 ${className}`} > {src ? ( {text ) : ( <>
{text && ( {text} )} )}
); function PopulationBar({ region, pop, percentage, color, delay }) { return (
{region} {pop}
); } // --- 2. 数据配置 --- const makeupPollData = [ { id: 1, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1.png' }, { id: 2, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2.png' }, { id: 3, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/3.png' }, { id: 4, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/4.png' }, { id: 5, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/5.png' }, { id: 6, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/6.png' }, { id: 7, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/7.png' }, { id: 8, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/8.png' }, ]; const globalPollData = [ { id: 1, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%A4%9A%E4%BA%BA%E7%A7%8D%E6%8A%95%E7%A5%A8%E7%8E%AF%E8%8A%821.png' }, { id: 2, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%A4%9A%E4%BA%BA%E7%A7%8D%E6%8A%95%E7%A5%A8%E7%8E%AF%E8%8A%822.png' }, { id: 3, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%A4%9A%E4%BA%BA%E7%A7%8D%E6%8A%95%E7%A5%A8%E7%8E%AF%E8%8A%823.png' }, { id: 4, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%A4%9A%E4%BA%BA%E7%A7%8D%E6%8A%95%E7%A5%A8%E7%8E%AF%E8%8A%824.png' }, { id: 5, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%A4%9A%E4%BA%BA%E7%A7%8D%E6%8A%95%E7%A5%A8%E7%8E%AF%E8%8A%825.png' }, { id: 6, img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%A4%9A%E4%BA%BA%E7%A7%8D%E6%8A%95%E7%A5%A8%E7%8E%AF%E8%8A%826.png' }, ]; const regionalMakeupData = [ { region: "中东地区", title: "强调立体感与奢华感 - 极致放大眼部特征", desc: "深邃精致的眼妆是中东地区妆容的绝对灵魂。", products: [ { name: "眼影盘/睫毛膏/浓黑眼线笔", brand: "Huda Beauty", brandTag: "(销量冠军)", link: "https://hudabeauty.com", point: "满足当地女性打造精致眼妆的刚需。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%AD%E4%B8%9C1-%20%E7%9C%BC%E5%BD%B1%E7%9B%98%3A%E7%9D%AB%E6%AF%9B%E8%86%8F%3A%E6%B5%93%E9%BB%91%E7%9C%BC%E7%BA%BF%E7%AC%94.png" }, { name: "高遮瑕哑光粉底", brand: "Asteri Beauty", brandTag: "(防水防汗)", link: "https://asteribeauty.com", point: "偏好高遮瑕、强效防水防脱的粉底。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%AD%E4%B8%9C2-%20%E9%AB%98%E9%81%AE%E7%91%95%E5%93%91%E5%85%89%E7%B2%89%E5%BA%95%2B%E4%BF%AE%E5%AE%B9%3A%E9%AB%98%E5%85%89.png" }, { name: "中东特色香氛", brand: "Kayali", brandTag: "(沉香/玫瑰)", link: "https://hudabeauty.com/us/en_US/kayali", point: "偏爱浓郁的中东特色香调。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%AD%E4%B8%9C3-%20%E9%A6%99%E6%B0%9B%E4%BA%A7%E5%93%81%20.png" } ] }, { region: "南亚地区", title: "强调无瑕度与持久性 - 抵抗高温高湿", desc: "受常年炎热潮湿气候影响,女性尤为看重底妆的抗氧化与防脱妆能力。", products: [ { name: "丝绒哑光粉底液", brand: "Masarrat Misbah", brandTag: "(专为南亚定制)", link: "https://www.masarratmakeup.com", point: "适用于南亚闷热潮湿的气候。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8D%97%E4%BA%9A1-%20%E4%B8%9D%E7%BB%B8%E5%93%91%E5%85%89%E7%B2%89%E5%BA%95%E6%B6%B2.png" }, { name: "提亮维C精华", brand: "Minimalist", brandTag: "(护肤级爆款)", link: "https://beminimalist.co", point: "针对常见的肤色暗沉问题。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8D%97%E4%BA%9A2-%20%E4%BA%AE%E8%82%A4%E7%BB%B4%E7%94%9F%E7%B4%A0C%E7%B2%BE%E5%8D%8E.png" }, { name: "透水指甲油", brand: "Inglot", brandTag: "(Halal 认证)", link: "https://inglotcosmetics.com", point: "满足宗教小净需求的清真指甲油。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8D%97%E4%BA%9A3-%20%E9%80%8F%E6%B0%B4%EF%BC%88%E6%B8%85%E7%9C%9F%EF%BC%89%E6%8C%87%E7%94%B2%E6%B2%B9.png" } ] }, { region: "东南亚地区", title: "强调轻盈感与呼吸感 - 追求自然伪素颜", desc: "深受韩流影响,穆斯林女性偏好自然通透、轻薄水润的妆效。", products: [ { name: "高倍清爽防晒", brand: "Wardah", brandTag: "(本土销冠)", link: "https://www.wardahbeauty.com", point: "兼具高倍防护与轻盈肤感。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E5%8D%97%E4%BA%9A1-%20SPF%2050%2B%20PA%2B%2B%2B%2B%20%E9%AB%98%E5%80%8D%E9%98%B2%E6%99%92%E9%9C%9C.png" }, { name: "清透镜面唇彩", brand: "ESQA", brandTag: "(100% Halal)", link: "https://esqacosmetics.com", point: "不含酒精,价格亲民且持妆强。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E5%8D%97%E4%BA%9A2-%20-%20%E6%B8%85%E9%80%8F%E9%95%9C%E9%9D%A2%E5%94%87%E5%BD%A9.png" }, { name: "日常百搭眼影盘", brand: "Make Over", brandTag: "(平价大牌)", link: "https://www.makeoverforall.com", point: "全线清真认证,显色度极佳。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E5%8D%97%E4%BA%9A3-%20%E7%9C%BC%E5%BD%B1%E7%9B%98.png" } ] }, { region: "东非地区", title: "强调高显色与深肤适配 - 控油防沾蹭", desc: "底妆强调色号精准,彩妆偏好与深肤形成对比的高饱和色彩。", products: [ { name: "哑光液体唇膏", brand: "Fenty Beauty", brandTag: "(深肤色天花板)", link: "https://fentybeauty.com", point: "色号专为深皮定制,不沾头巾。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E9%9D%9E1-%20%E5%93%91%E5%85%89%E6%B6%B2%E4%BD%93%E5%94%87%E8%86%8F.png" }, { name: "深色号控油粉底", brand: "Huda Beauty", brandTag: "(控油王者)", link: "https://hudabeauty.com", point: "均匀肤色,强效控油。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E9%9D%9E2-%20%E7%B2%89%E5%BA%95%2B%E5%AE%9A%E5%A6%86%E6%95%A3%E7%B2%89.png" }, { name: "深色唇线笔", brand: "MAC Cosmetics", brandTag: "(立体唇形)", link: "https://www.maccosmetics.com", point: "打造对比度极高的渐变唇。", img: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E9%9D%9E3-%20%E5%94%87%E7%BA%BF%E7%AC%94.png" } ] } ]; const eventsData = [ { month: '1月', na: [{ title: '🇺🇸金球奖', desc: '好莱坞颁奖季,高定礼服与红毯妆容的社媒首波高潮', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E9%87%91%E7%90%83%E5%A5%96.png' }], eu: [{ title: '🇪🇺巴黎时装周', desc: '全球顶奢品牌高定发布,决定了当年核心高消费审美趋势', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E5%B7%B4%E9%BB%8E%E6%97%B6%E8%A3%85%E5%91%A8.png' }], sea: [], me: [], latam: [] }, { month: '2月', na: [ { title: '🇺🇸超级碗', desc: '全美最具商业价值的体育盛会,带火运动辣妹风与中场秀仿妆', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E8%B6%85%E7%BA%A7%E7%A2%97.png' }, { title: '🇺🇸格莱美', desc: '欧美流行乐坛最高奖项,社媒上先锋/前卫妆造爆发地', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E6%A0%BC%E8%8E%B1%E7%BE%8E.png' } ], eu: [ { title: '🇪🇺威尼斯狂欢节', desc: '华丽的古典主义与面具文化的传统盛典(极繁主义)', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E5%A8%81%E5%B0%BC%E6%96%AF%E7%8B%82%E6%AC%A2%E8%8A%82.png' }, { title: '🇪🇺秋冬四大时装周', desc: '成衣秀,顶流网红/明星高奢穿搭', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E7%A7%8B%E5%86%AC%E5%9B%9B%E5%A4%A7%E6%97%B6%E8%A3%85%E5%91%A8.png' } ], sea: [], me: [], latam: [{ title: '🇧🇷巴西里约狂欢节', desc: '色彩缤纷视觉盛宴,穿着极度夸张的羽毛服饰搭配高饱和色彩亮片妆', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%8B%89%E7%BE%8E-%E5%B7%B4%E8%A5%BF%E9%87%8C%E7%BA%A6%E7%8B%82%E6%AC%A2%E8%8A%82.png' }] }, { month: '3月', na: [ { title: '🇺🇸奥斯卡金像奖', desc: '全球关注度最高的红毯,极致完美“老钱风”妆造核心参考', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E5%A5%A5%E6%96%AF%E5%8D%A1%E9%87%91%E5%83%8F%E5%A5%96.png' }, { title: '🇺🇸圣帕特里克节', desc: '全民绿色穿搭狂欢,线下酒吧/派对和游行高峰(绿色系彩妆/服饰热卖期)', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E5%9C%A3%E5%B8%95%E7%89%B9%E9%87%8C%E5%85%8B%E8%8A%82.png' } ], eu: [{ title: '🇪🇺F1', desc: '全球顶级体育赛事与名流社交场,强势带动“赛车风”服饰热潮,更是极致“老钱风”与高级感妆造的社媒焦点', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-F1.png' }], sea: [], me: [{ title: '🇦🇪斋月及开斋节', desc: '中东最高级别亲友聚会/送礼、高定长袍与高级雾面哑光妆的爆发期', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%AD%E4%B8%9C-%E6%96%8B%E6%9C%88%E5%8F%8A%E5%BC%80%E6%96%8B.png' }], latam: [{ title: '🇨🇱南美Lollapalooza音乐节', desc: '南美最大音乐节,Y2K千禧风与音乐节辣妹妆爆发地', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8D%97%E7%BE%8ELollapalooza%E9%9F%B3%E4%B9%90%E8%8A%82.png' }] }, { month: '4月', na: [{ title: '🇺🇸科切拉音乐节', desc: '全球音乐节穿搭与妆容风向标', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E7%A7%91%E5%88%87%E6%8B%89%E9%9F%B3%E4%B9%90%E8%8A%82.png' }], eu: [], sea: [{ title: '🇹🇭泰国宋干节/泼水节', desc: '东南亚流量最大的夏日狂欢。防水妆/特色穿搭/节日氛围引起热议', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%B3%B0%E5%9B%BD%E5%AE%8B%E5%B9%B2%E8%8A%82%3A%E6%B3%BC%E6%B0%B4%E8%8A%82%20.png' }], me: [], latam: [] }, { month: '5月', na: [{ title: '🇺🇸Met Gala大都会艺术博物馆慈善舞会', desc: '“时尚界奥斯卡”,每年设定不同主题,产生破圈的高定妆造', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-Met%20Gala.png' }], eu: [{ title: '🇫🇷戛纳电影节', desc: '欧洲最高规格红毯', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E6%88%9B%E7%BA%B3.png' }], sea: [], me: [], latam: [] }, { month: '6月', na: [ { title: '🇺🇸NBA', desc: '体育界流量峰值,引起球衣改造穿搭、美式街头风话题', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-NBA.png' }, { title: '🇺🇸骄傲月', desc: '极度推崇彩虹色系穿搭、多巴胺彩妆、无性别主义的狂欢月', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E9%AA%84%E5%82%B2%E6%9C%88.png' } ], eu: [{ title: '🇬🇧英国格拉斯顿伯里音乐节', desc: '欧洲最大的户外绿地音乐节,掀起了“英伦废土风/雨靴穿搭”风潮', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E8%8B%B1%E5%9B%BD%E6%A0%BC%E6%8B%89%E6%96%AF%E9%A1%BF%E4%BC%AF%E9%87%8C%E9%9F%B3%E4%B9%90%E8%8A%82.png' }], sea: [], me: [], latam: [] }, { month: '6月+7月', na: [], eu: [], sea: [], me: [], latam: [], specialEvent: { title: '🌍世界杯', desc: ' -- 全球化赛事,球衣/国旗妆/街头狂欢高度视觉化。对拉美、中东、欧洲影响特别大', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/6-7%E6%9C%88%E4%B8%96%E7%95%8C%E6%9D%AF.png', inlineText: true, fullRow: true } }, { month: '7月', na: [], eu: [{ title: '🇧🇪比利时明日世界电音节', desc: '全球最大电音节,赛博朋克/金属感妆容/镭射反光服饰发源地', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E6%AF%94%E5%88%A9%E6%97%B6%E6%98%8E%E6%97%A5%E4%B8%96%E7%95%8C%E7%94%B5%E9%9F%B3%E8%8A%82.png' }], sea: [], me: [], latam: [{ title: '🏆美洲杯赛', desc: '拉美流量狂欢,掀起浓烈的国旗妆容与“球衣辣妹风”', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%8B%89%E7%BE%8E-%E7%BE%8E%E6%B4%B2%E6%9D%AF%E8%B5%9B.png' }] }, { month: '8月', na: [{ title: '🇺🇸火人节', desc: '为期八天的内华达沙漠狂欢。废土机能风/朋克风/部落彩绘', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E7%81%AB%E4%BA%BA%E8%8A%82%20.png' }], eu: [{ title: '🇮🇹威尼斯国际电影节', desc: '电影颁奖季,复古意式风情妆容', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E5%A8%81%E5%B0%BC%E6%96%AF.png' }], sea: [], me: [], latam: [] }, { month: '9月', na: [], // 清空,采用特殊合并渲染 eu: [{ title: '🇩🇪慕尼黑啤酒节', desc: '德国及欧洲最大民间狂欢', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E6%85%95%E5%B0%BC%E9%BB%91%E5%95%A4%E9%85%92%E8%8A%82.png' }], sea: [], me: [], latam: [], specialEvent: { title: '春夏四大时装周 (9月全月)', desc: '纽约(实用现代 可穿性)/ 伦敦(个性反叛 潮流性)/ 米兰(经典浪漫 工艺性)/ 巴黎(精致奢华 艺术性)轮番上演,奠定次年春夏全球流行色彩、发型与妆容创作趋势。', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E%3A%E6%AC%A7%E6%B4%B2-%E6%98%A5%E5%A4%8F%E5%9B%9B%E5%A4%A7%E6%97%B6%E8%A3%85%E5%91%A8.png' } }, { month: '10月', na: [{ title: '🇺🇸万圣节 (10/31)', desc: '主流社媒流量最夸张的变装派对季。特效妆/脑洞Cosplay全面爆发', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E4%B8%87%E5%9C%A3%E8%8A%82%2810%3A31%29.png' }], eu: [], sea: [], me: [{ title: '🇸🇦利雅得狂欢季', desc: '10月开幕持续至次年的超大型冬季盛会,主打“壕无人性”的奢华消费、文化体验与顶级娱乐。', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%AD%E4%B8%9C-%E5%88%A9%E9%9B%85%E5%BE%97%E7%8B%82%E6%AC%A2%E5%AD%A3.png' }], latam: [] }, { month: '11月', na: [ { title: '🇺🇸维密秀', desc: '顶级内衣秀场,掀起性感“大波浪与古铜肤色”热潮', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E7%BB%B4%E5%AF%86%E7%A7%80.png' }, { title: '🇺🇸感恩节', desc: '北美家庭聚餐,偏向温暖的“南瓜色调”滤镜/妆造', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E-%E6%84%9F%E6%81%A9%E8%8A%82.png' } ], eu: [], sea: [{ title: '🇹🇭泰国水灯节/天灯节', desc: '东南亚最传统节日,传统泰服/金饰步摇/轻泰妆集中展示', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E5%8D%97%E4%BA%9A-%E6%B3%B0%E5%9B%BD%E6%B0%B4%E7%81%AF%3A%E5%A4%A9%E7%81%AF%E8%8A%82.png' }], me: [], latam: [{ title: '🇲🇽墨西哥亡灵节', desc: '具有神秘色彩,被列入世界文化遗产。卡特里娜骷髅妆/寿菊元素/民族复古大方裙摆元素', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%8B%89%E7%BE%8E-%E5%A2%A8%E8%A5%BF%E5%93%A5%E4%BA%A1%E7%81%B5%E8%8A%82.png' }] }, { month: '12月', na: [], eu: [], sea: [{ title: '🇹🇭Wonderfruit音乐节', desc: '亚洲调性最高的生活音乐节。主打环保嬉皮风、和原生态大地色系穿搭', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E5%8D%97%E4%BA%9A-%E6%B3%B0%E5%9B%BDWonderfruit%E9%9F%B3%E4%B9%90%E8%8A%82%20.png' }], me: [{ title: '🇸🇦沙特MDLBEAST音爆电音节', desc: '中东规模最大电音节。主打国际与本土潮流混搭,展现极具活力的沙特年轻一代狂欢群像。', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%AD%E4%B8%9C%E6%B2%99%E7%89%B9MDLBEAST%20Soundstorm%E9%9F%B3%E7%88%86%E7%94%B5%E9%9F%B3%E8%8A%82.png' }], latam: [] } ]; const faceTraitData = [ { region: "北美", races: [ { name: "欧裔白人", percent: "55-60%", genes: "肤色基调多样,冷白皮到健康肤色。面部骨感强,眉眼深邃,高立体度。", body: "骨架较大四肢修长,追求匀称肌肉线条与未经过度修饰的活力感。", vibe: "崇尚真实随性,追求清冷感的骨相美与自信大方的精神面貌。", influencerName: "艾尔莎·霍斯克 (Elsa Hosk)", influencerDesc: "欧美真实感与松弛感完美结合", influencerLink: "https://www.instagram.com/hoskelsa/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E%E6%AC%A7%E8%A3%94%E7%99%BD%E4%BA%BA.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1-%E5%8C%97%E7%BE%8E%E6%AC%A7%E8%A3%94%E7%99%BD%E4%BA%BA%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B1.png" }, { name: "拉丁裔", percent: "18-20%", genes: "健康小麦色及古铜肤色。面部折叠度高,浓眉大眼深邃,毛发浓密。", body: "曲线鲜明,主打肉感与力量感并存,认同丰满有线条的形体。", vibe: "强韧生命力与力量感,展示极度自信与热情奔放的野性美。", influencerName: "卡米拉·门德斯 (Camila Mendes)", influencerDesc: "典型拉丁骨相,肉感与力量并存", influencerLink: "https://www.instagram.com/camimendes/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E%E6%8B%89%E4%B8%81%E8%A3%94.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1-%E5%8C%97%E7%BE%8E%E6%8B%89%E4%B8%81%E8%A3%94%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B2.png" }, { name: "非洲裔", percent: "12-14%", genes: "浅棕到深黑层次丰富。轮廓饱满,五官立体量感大,天然卷发。", body: "逆天头身比与大长腿。追求有张力的线条与紧实感,气场全开。", vibe: "打破白幼瘦框架,将生命张力与时尚前卫力量感完美融合。", influencerName: "洛里·哈维 (Lori Harvey)", influencerDesc: "力量感与肌肉线条美的代表", influencerLink: "https://www.instagram.com/loriharvey/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E%E9%9D%9E%E6%B4%B2%E8%A3%94.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1-%E5%8C%97%E7%BE%8E%E9%9D%9E%E6%B4%B2%E8%A3%94%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B2.png" }, { name: "亚裔", percent: "6%", genes: "暖白至黄黑中性肤色。五官精致皮相紧致,受ABG风格影响明显。", body: "整体偏纤细匀称。近年逐渐增加肌肉锻炼,平衡柔美与力量。", vibe: "东方温婉与西方自信相融合,独具魅力的亚裔混血感。", influencerName: "Jenn Im", influencerDesc: "ABG Style标杆,阳光自信笑容", influencerLink: "https://www.instagram.com/imjennim/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E%E4%BA%9A%E8%A3%94.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1-%E5%8C%97%E7%BE%8E%E4%BA%9A%E8%A3%94%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B2.png" }, { name: "混血人群", percent: "快速增长", genes: "多样的特征融合(白人骨相+有色人种肤色),INS极受欢迎。", body: "体型多样化,基因融合兼具修长与力量紧致的运动线条。", vibe: "打破单一族裔标签,强调个体的独特性与不可复制性。", influencerName: "凯尔西·梅里特 (@kelseymerritt)", influencerDesc: "亚裔+白人混血 “高审美”", influencerLink: "https://www.instagram.com/kelseymerritt/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8C%97%E7%BE%8E%E6%B7%B7%E8%A1%80.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1-%E5%8C%97%E7%BE%8E%E6%B7%B7%E8%A1%80%E8%A3%94%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B1.png" } ] }, { region: "欧洲", races: [ { name: "西欧 (法/德/英)", percent: "36.6%", genes: "自然白皙到偏粉的冷调或中性肤色。面部折叠度高,五官匀称。", body: "高挑修长视觉匀称。偏好自然体态,不过度强调夸张曲线。", vibe: "法式慵懒、英伦冷酷,整体呈现经典质感与现代简约的从容。", influencerName: "Romee Strijd", influencerDesc: "荷兰维密天使,健康阳光与自然性感美", influencerLink: "https://www.instagram.com/romeestrijd/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E8%A5%BF%E6%AC%A7.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2-%E6%AC%A7%E6%B4%B2%E8%A5%BF%E6%AC%A7%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B1.png" }, { name: "北欧 (瑞典/丹麦/挪威)", percent: "5.0%", genes: "浅色冷白皮,面部色彩对比度低。面部平整骨骼感重,浅色瞳孔。", body: "四肢修长头身比优越。推崇极简自然主义与清瘦骨感。", vibe: "高智清冷感与极简主义,男性多留胡须展现疏离的高级美。", influencerName: "Elsa Hosk", influencerDesc: "冰雪精灵般的高智冷艳美感", influencerLink: "https://www.instagram.com/hoskelsa/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E5%8C%97%E6%AC%A7.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2-%E6%AC%A7%E6%B4%B2%E5%8C%97%E6%AC%A7%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B1.png" }, { name: "南欧 (西/意/葡)", percent: "20.2%", genes: "健康橄榄色或暖沙色皮肤。浓颜系大五官,毛发浓密,眼窝深邃。", body: "体格相对强壮,肌肉线条与曲线感明显,喜爱充满活力的美感。", vibe: "热烈充满张力,展现奔放且极具生命力的氛围,性感奢华。", influencerName: "Georgina Rodriguez", influencerDesc: "张扬外放的南欧奢华热烈风", influencerLink: "https://www.instagram.com/georginagio/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E5%8D%97%E6%AC%A7.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2-%E6%AC%A7%E6%B4%B2%E5%8D%97%E6%AC%A7%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B1.png" }, { name: "东欧 (俄/乌/波)", percent: "38.2%", genes: "细腻通透冷白皮。五官极为立体,眼窝深鼻尖锐,标准V型脸。", body: "身高优势绝对,直角肩加紧致线条,追求极致的头身比例。", vibe: "追求极致精致与强大的气场,视觉上呈现冷艳高贵的距离感。", influencerName: "Lena Perminova", influencerDesc: "东欧极致比例与冷艳高贵气质", influencerLink: "https://www.instagram.com/lenaperminova/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%AC%A7%E6%B4%B2-%E4%B8%9C%E6%AC%A7.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2-%E6%AC%A7%E6%B4%B2%E4%B8%9C%E6%AC%A7%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B1.png" } ] }, { region: "东南亚", races: [ { name: "泰式混血系", percent: "约 25-30%", genes: "偏好白皙透亮或高光泽浅小麦色。混血感重,深邃大眼加野生眉。", body: "偏纤细的小骨架,追求年轻态与运动线条感的结合。", vibe: "融合多元审美,追求精致感与鲜活生命力,热带风情甜酷感。", influencerName: "davikah", influencerDesc: "泰式神颜,明艳大气的混血感", influencerLink: "https://www.instagram.com/davikah/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E5%8D%97%E4%BA%9A-%E6%B3%B0%E5%BC%8F.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/3-%E4%B8%9C%E5%8D%97%E4%BA%9A%E6%B3%B0%E5%BC%8F%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B.png" }, { name: "本土马来/印尼系", percent: "70%", genes: "健康深小麦色或暖古铜肤色。面部偏宽短,折叠度低骨相柔和。", body: "骨架偏小体态丰腴圆润,偏好充满生命力与肉感的丰腴美。", vibe: "追求原生生态的亲和力与自然美,强调健康的血色与淳朴张力。", influencerName: "Maudy Ayunda (@maudyayunda)", influencerDesc: "极具东南亚本土魅力的野性美", influencerLink: "https://www.instagram.com/maudyayunda/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%9C%E5%8D%97%E4%BA%9A-%E6%9C%AC%E5%9C%9F%E9%A9%AC%E6%9D%A5%3A%E5%8D%B0%E5%B0%BC%E7%B3%BB.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/3-%E4%B8%9C%E5%8D%97%E4%BA%9A%E6%9C%AC%E5%9C%9F%E9%A9%AC%E6%9D%A5%3A%E5%8D%B0%E5%B0%BC%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B.png" } ] }, { region: "中东", races: [ { name: "海湾/阿拉伯系", percent: "50.1%", genes: "浅古铜到暖棕色。极致浓颜,眼眉浓密毛流感极强,轮廓极深。", body: "骨架较大体量感强,女性多为极度明显的沙漏型身材曲线。", vibe: "追求极致奢华感,浓墨重彩展现神秘高贵且不可冒犯的气场。", influencerName: "Rawan Bin Hussain", influencerDesc: "海湾顶级浓颜奢华富贵花", influencerLink: "https://www.instagram.com/rawan/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%AD%E4%B8%9C%E6%B5%B7%E6%B9%BE%3A%E9%98%BF%E6%8B%89%E4%BC%AF%E7%B3%BB.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/4-%E4%B8%AD%E4%B8%9C%E6%B5%B7%E6%B9%BE%3A%E9%98%BF%E6%8B%89%E4%BC%AF%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B.png" }, { name: "黎凡特/地中海系", percent: "19.3%", genes: "受地中海影响多为偏白或浅橄榄肤色。轮廓柔和紧实鼻型直挺。", body: "高挑修长兼具骨感与匀称,偏好优雅端庄的舒展姿态。", vibe: "追求自然松弛与精致优雅的平衡,散发出现代高知与独立属性。", influencerName: "Karen Wazen", influencerDesc: "黎凡特优雅松弛的高知现代美", influencerLink: "https://www.instagram.com/karenwazen/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%AD%E4%B8%9C%E9%BB%8E%E5%87%A1%E7%89%B9%3A%E5%9C%B0%E4%B8%AD%E6%B5%B7%E7%B3%BB.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/4-%E4%B8%AD%E4%B8%9C%E9%BB%8E%E5%87%A1%E7%89%B9_%E5%9C%B0%E4%B8%AD%E6%B5%B7%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B.png" }, { name: "波斯/伊朗系", percent: "30.4%", genes: "浅肤色为主,追求精致小巧鼻型。面部线条硬朗,眼眶深邃度高。", body: "高挑挺拔具有一定的力量感,注重健身与肌肉线条的精准雕刻。", vibe: "追求完美主义与极致的雕琢感,展现出高智且带棱角的张力。", influencerName: "Mahlagha Jaberi", influencerDesc: "波斯极致雕琢感与完美骨相", influencerLink: "https://www.instagram.com/mahlaghajaberi/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%B8%AD%E4%B8%9C%E6%B3%A2%E6%96%AF%3A%E4%BC%8A%E6%9C%97%E7%B3%BB.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/4-%E4%B8%AD%E4%B8%9C%E6%B3%A2%E6%96%AF%3A%E4%BC%8A%E6%9C%97%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B.png" } ] }, { region: "拉美", races: [ { name: "印欧混血系", percent: "45-50%", genes: "偏暖色调棕褐色肤色。融合美洲原住民下颌与欧洲立体深邃五官。", body: "比例匀称,赞美健康活力的体态,以及力量感的宽臀细腰。", vibe: "追求热情奔放与自然野性美,展现充满生机的健康气血感。", influencerName: "Kenia Os", influencerDesc: "拉美热情张扬与健康性感美", influencerLink: "https://www.instagram.com/keniaos/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%8B%89%E7%BE%8E-%E5%8D%B0%E6%AC%A7%E6%B7%B7%E8%A1%80%E7%B3%BB.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/5-%E5%8D%B0%E6%AC%A7%E6%B7%B7%E8%A1%80%E6%8B%89%E7%BE%8E%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B.png" }, { name: "欧洲后裔", percent: "30-35%", genes: "浅白到中等橄榄色,皮肤通透。纯正欧洲立体骨相,五官深邃。", body: "骨架较大骨感明显四肢修长,受欧美流行生活方式影响极大。", vibe: "在精巧线上保留着拉美独特生命力的底色,松弛且充满活力。", influencerName: "Valentina Zenere", influencerDesc: "欧式精巧骨相碰撞拉美活力", influencerLink: "https://www.instagram.com/valentinazenere/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%8B%89%E7%BE%8E-%E6%AC%A7%E6%B4%B2%E8%A3%94%E6%8B%89%E7%BE%8E.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/5-%E6%AC%A7%E8%A3%94%E6%8B%89%E7%BE%8E%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B.png" }, { name: "巴西/多生态混血", percent: "15%", genes: "肤色极其多样化。面部特征既有立体骨相又有本土的胶原饱满度。", body: "融合多种基因优势,极具力量感与线条感,追求饱满的臀腿。", vibe: "强调个体的独特性和不可复制性,张扬外放的无拘束野性。", influencerName: "Camila Coelho", influencerDesc: "巴西混血多元基因与绝对自信", influencerLink: "https://www.instagram.com/camilacoelho/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%8B%89%E7%BE%8E-%E5%B7%B4%E8%A5%BF%3A%E5%A4%9A%E7%94%9F%E6%80%81%E6%B7%B7%E8%A1%80.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/5-%E5%B7%B4%E8%A5%BF%3A%E6%B7%B7%E8%A1%80%E6%8B%89%E7%BE%8E%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B.png" }, { name: "非洲裔后代", percent: "5-10%", genes: "焦糖色到深巧克力色。骨相立体丰满,大体量五官,厚唇深眸。", body: "骨架宽大肌肉量强硬。腰腿比例优越,线条极具爆发力。", vibe: "无上的生命张力与绝对的自信性感,打破单一审美的视觉冲击。", influencerName: "IZA", influencerDesc: "绝对的生命张力与黑人性感美", influencerLink: "https://www.instagram.com/iza/", faceImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%8B%89%E7%BE%8E-%E9%9D%9E%E8%A3%94%E6%8B%89%E7%BE%8E.png", influencerImg: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/5-%E9%9D%9E%E8%A3%94%E6%8B%89%E7%BE%8E%E5%8D%9A%E4%B8%BB%E4%B8%BE%E4%BE%8B.png" } ] } ]; // --- 3. 核心功能组件 --- function MakeupPollItem({ item, onImageClick, user }) { const [selected, setSelected] = useState(null); const [userVote, setUserVote] = useState(null); const [voteCounts, setVoteCounts] = useState({ total: 0 }); const [isSubmitting, setIsSubmitting] = useState(false); const options = ['中东地区', '南亚地区', '东南亚地区', '东非地区']; const labels = ['A', 'B', 'C', 'D']; useEffect(() => { const storedVote = readLocalVote('makeup', `poll_${item.id}`); if (storedVote) { setUserVote(storedVote); setSelected(storedVote); } }, [item.id]); useEffect(() => { let alive = true; const loadCounts = async () => { try { const counts = await fetchVoteCounts('makeup', `poll_${item.id}`); if (alive) setVoteCounts(counts); } catch (err) { console.warn("Vote counts error:", err); } }; loadCounts(); const timer = setInterval(loadCounts, 5000); return () => { alive = false; clearInterval(timer); }; }, [item.id]); const handleVote = async () => { if (!selected || userVote || isSubmitting) return; setIsSubmitting(true); try { const payload = await submitVote('makeup', `poll_${item.id}`, selected); const finalSelection = payload.selected || selected; saveLocalVote('makeup', `poll_${item.id}`, finalSelection); setUserVote(finalSelection); setSelected(finalSelection); const counts = payload.data?.makeup?.[`poll_${item.id}`]?.counts; if (counts) setVoteCounts(counts); } catch (e) { console.error("Vote failed", e); } finally { setIsSubmitting(false); } }; const voted = !!userVote; return (
onImageClick && item.img && onImageClick(item.img)} > {item.img ? ( <>
Mystery ) : (
?
)}
多元妆容盲猜
{options.map((opt, idx) => { const isSelected = selected === opt; const count = voteCounts[opt] || 0; const totalVotes = voteCounts.total || 0; const percentage = totalVotes > 0 ? Math.round((count / totalVotes) * 100) : 0; let stateClass = "border-transparent hover:border-black/20"; if (voted) { if (isSelected) stateClass = "border-black bg-white font-bold text-black"; else stateClass = "border-transparent opacity-60 text-slate-500"; } else if (isSelected) { stateClass = "border-black bg-slate-50 text-black"; } return (
!voted && setSelected(opt)}> {(voted || totalVotes > 0) &&
}
{isSelected &&
}
{labels[idx]} {opt}
{count}票{percentage}%
); })}
); } function GlobalPollItem({ item, onImageClick, user }) { const [selected, setSelected] = useState(null); const [userVote, setUserVote] = useState(null); const [voteCounts, setVoteCounts] = useState({ total: 0 }); const [isSubmitting, setIsSubmitting] = useState(false); const options = ['北美', '欧洲', '东南亚', '中东', '拉美']; const labels = ['A', 'B', 'C', 'D', 'E']; useEffect(() => { const storedVote = readLocalVote('global', `poll_${item.id}`); if (storedVote) { setUserVote(storedVote); setSelected(storedVote); } }, [item.id]); useEffect(() => { let alive = true; const loadCounts = async () => { try { const counts = await fetchVoteCounts('global', `poll_${item.id}`); if (alive) setVoteCounts(counts); } catch (err) { console.warn("Vote counts error:", err); } }; loadCounts(); const timer = setInterval(loadCounts, 5000); return () => { alive = false; clearInterval(timer); }; }, [item.id]); const handleVote = async () => { if (!selected || userVote || isSubmitting) return; setIsSubmitting(true); try { const payload = await submitVote('global', `poll_${item.id}`, selected); const finalSelection = payload.selected || selected; saveLocalVote('global', `poll_${item.id}`, finalSelection); setUserVote(finalSelection); setSelected(finalSelection); const counts = payload.data?.global?.[`poll_${item.id}`]?.counts; if (counts) setVoteCounts(counts); } catch (e) { console.error("Vote failed", e); } finally { setIsSubmitting(false); } }; const voted = !!userVote; return (
onImageClick && item.img && onImageClick(item.img)} > {item.img ? ( <>
Mystery ) : (
?
)}
多元人像
{options.map((opt, idx) => { const isSelected = selected === opt; const count = voteCounts[opt] || 0; const totalVotes = voteCounts.total || 0; const percentage = totalVotes > 0 ? Math.round((count / totalVotes) * 100) : 0; let stateClass = "border-transparent hover:border-black/20"; if (voted) { if (isSelected) stateClass = "border-black bg-white font-bold text-black"; else stateClass = "border-transparent opacity-60 text-slate-500"; } else if (isSelected) { stateClass = "border-black bg-slate-50 text-black"; } return (
!voted && setSelected(opt)}> {(voted || totalVotes > 0) &&
}
{isSelected &&
}
{labels[idx]} {opt}
{count}票{percentage}%
); })}
); } function MakeupDetailedTable({ onImageClick }) { return (
美妆特点
畅销单品
{regionalMakeupData.map((col, colIdx) => { const [mainTitle, subTitle] = col.title.split(' - '); return (
{col.region}

{mainTitle}

{subTitle &&
{subTitle}
}
{col.products.map((prod, pIdx) => (
{prod.name}
畅销品牌:{prod.brand}
核心卖点:{prod.point}
))}
); })}
); } function HalalMakeupMarket() { const marketData = [ { title: '市场潜力', subtitle: '年轻、庞大、多元', theme: { bg: 'bg-[#fdf6ea]', border: 'border-[#f5d9a9]', text: 'text-[#b47a18]', hoverBg: 'hover:bg-[#fdf6ea]/50' }, items: [ { highlight: '20亿+', desc: '全球人口基数', sub: '60%为30岁以下年轻群体' }, { highlight: '$280亿', desc: '2032年预估规模', sub: '行业增长呈爆发态势' }, { highlight: '+28%', desc: '男士护理激增', sub: '打破性别壁垒,走向多元化' } ] }, { title: '核心规定', subtitle: '遵循伊斯兰教法', theme: { bg: 'bg-[#eef8f5]', border: 'border-[#bce3d4]', text: 'text-[#2c7a5b]', hoverBg: 'hover:bg-[#eef8f5]/50' }, items: [ { highlight: '0 禁忌', desc: '成分绝对透明', sub: '拒绝猪油/明胶等违规成分' }, { highlight: '0 伤害', desc: '拒绝动物实验', sub: '不含酒精及有害化学物质' }, { highlight: '0 污染', desc: '推行可持续性', sub: '超30%品牌使用环保可降解包装' } ] }, { title: '市场细分', subtitle: '核心品类分布', theme: { bg: 'bg-[#f6f2fb]', border: 'border-[#d8c5f0]', text: 'text-[#6b42a1]', hoverBg: 'hover:bg-[#f6f2fb]/50' }, items: [ { highlight: '38%', desc: '护肤品类', sub: '占据市场绝对消费主力' }, { highlight: '29%', desc: '护发品类', sub: '位居第二大核心需求' }, { highlight: '21%', desc: '彩妆品类', sub: '色彩消费正在快速崛起' } ] } ]; return (
{/* 背景虚线 */}
清真美妆市场洞察
{marketData.map((col, i) => (
{col.title}

{col.subtitle}

{col.items.map((item, j) => (
{item.desc} {item.sub}
{item.highlight}
))}
))}
); } function ClothingCol({ region, femaleImages, maleImages, femaleDesc, maleDesc, materialDesc, onImageClick, customFemaleHeight, customMaleHeight }) { const renderImages = (images, height) => { if (Array.isArray(images)) return images.map((src, i) => ( )); return [...Array(images)].map((_, i) => ( )); }; return (
{region}
女性
{renderImages(femaleImages, customFemaleHeight)}

{femaleDesc}

男性
{renderImages(maleImages, customMaleHeight)}

{maleDesc}

{materialDesc}

); } function FestivalDetailedTable({ onImageClick }) { return (
斋月 (Ramadan)
开斋节 (Eid al-Fitr)
古尔邦节 / 宰牲节 (Eid al-Adha)
简介
{[ { t1: "定位与仪式", d1: "伊斯兰教一年中最神圣的月份。穆斯林必须在黎明至日落期间严格禁食禁水。", t2: "文化内核", d2: "这不仅是对身体的考验,更是为了精神净化与自我反省,培养坚韧自律品格。" }, { t1: "定位与仪式", d1: "标志着斋月圆满结束的庆祝节日。人们会换上新衣,参加盛大会礼。", t2: "文化内核", d2: "走亲访友、享用丰盛美食、分发红包礼物,象征团聚、喜悦与感恩。" }, { t1: "定位与仪式", d1: "伊斯兰教最盛大节日。核心仪式是宰杀符合教规的健康牲畜(牛/羊/骆驼)。", t2: "文化内核", d2: "肉品均分为三份:自用、馈赠、施舍。借此践行无私奉献与慈善精神。" } ].map((intro, idx) => (
# {intro.t1}

{intro.d1}

# {intro.t2}

{intro.d2}

))}
活动
{[ { i1: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%96%8B%E6%9C%881.png", i2: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E6%96%8B%E6%9C%882.png" }, { i1: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%BC%80%E6%96%8B%E8%8A%821.png", i2: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%BC%80%E6%96%8B%E8%8A%822.png" }, { i1: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8F%A4%E5%B0%94%E9%82%A6%E8%8A%82%20_%20%E5%AE%B0%E7%89%B2%E8%8A%82%201.png", i2: "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%8F%A4%E5%B0%94%E9%82%A6%E8%8A%82%20_%20%E5%AE%B0%E7%89%B2%E8%8A%82%202.png" } ].map((act, idx) => (
))}
代表性元素
🕌 宗教建筑
{[ "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%AE%97%E6%95%99%E5%BB%BA%E7%AD%91-1.png", "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%AE%97%E6%95%99%E5%BB%BA%E7%AD%91-2.png", "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%AE%97%E6%95%99%E5%BB%BA%E7%AD%91-4.png", "https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E5%AE%97%E6%95%99%E5%BB%BA%E7%AD%91-3.png" ].map((url, i) => ( ))}
); } // --- 4. 页面大板块组件 --- function IntroSection() { return (

01 / 定位与背景

当前 AI 模型在多元文化视觉生成中,容易出现“认知盲区”与“审美偏差”的情况

文档核心目标是提升AI在跨文化语境下视觉生成的质感与美感,并辅助业务侧确保全球化视觉表达更精准、地道

项目定位 · 背景 · 结构

全球文化审美研究 · 总览卡

{/* Col 1 - 定位 */}
{/* Header */}
01

定位

Positioning

{/* Timeline Area */}
{/* Vertical Line */}
{/* Node 1 */}
五大区域 · 全球视野

聚焦 北美、欧洲、东南亚、中东、拉美 五大区域
分析全球主流审美趋势

{/* Node 2 */}
从人像出发 · 多场景延展

深挖 人像美学,及其在 服装、摄影、建筑空间 中的本土化表达。

{/* Col 2 - 背景 */}
{/* Header */}
02

背景

Background

{/* Timeline Area */}
{/* Vertical Line */}
{/* Node 1 */}
优化模型

打破 AI 在跨文化生成中的
「认知盲区」与「审美偏差」。

{/* Node 2 */}
业务侧

确保 全球化视觉表达
更精准、地道

{/* Col 3 - 结构 */}
{/* Header */}
03

结构

Structure

{/* Timeline Area */}
{/* Vertical Line */}
{/* Node 1 */}
研究主轴
审美维度 (纵向) × 地理区域 (横向)
{/* Node 2 */}
P0 · 文化根基

· 民族传统 · 宗教习俗

{/* Node 3 */}
P1 · 流行趋势

· 人像特征 · INS 网感 · 设计语言

{/* Node 4 */}
P2 · 视觉体系

· 跨文化 · 全球审美融合

); } function MuslimSection({ onImageClick, user }) { const [subTab, setSubTab] = useState('population'); const tabs = [ { id: 'population', label: '人口分布', icon: }, { id: 'clothing', label: '服装特点', icon: }, { id: 'makeup', label: '美妆风格', icon: }, { id: 'festival', label: '传统节日', icon: }, ]; return (

02 / 穆斯林文化与美感

穆斯林文化与美感体系

{tabs.map((tab) => ( ))}
{subTab === 'population' && (

全球分布

20

亿

占世界总人口的四分之一。

主要分布在中东、南亚、东南亚等地区。

onImageClick("https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E7%A9%86%E6%96%AF%E6%9E%97%E5%85%A8%E7%90%83%E5%88%86%E5%B8%83.png")}>
Map
)} {subTab === 'clothing' && (

服装特点

{/* 特别地区 - 补充对比栏 */}
{/* 顶部全宽 Label */}
👀 特别地区
{/* 下方 垂直列表分析区 (左字右图) */}
{/* 中东 - 伊朗 */}
{/* 左侧文字 */}
伊朗地区穆斯林男性:

日常多为西式衬衫 + 长裤,很少佩戴头巾

最著名的潜规则是“不打领带”,因为领带被视为西方颓废文化的象征

{/* 右侧图片 */}
{/* 东南亚 - 苏门答腊 */}
{/* 左侧文字 */}
苏门答腊文化圈 (亚齐 / 西苏门答腊)

街头会有 宗教警察 检查女性是否戴头巾、服装是否太紧。

这与东南亚其他地区(如印尼主流文化圈)相对宽松的着装要求形成鲜明反差。

{/* 右侧图片 */}
{/* 东非 - 索马里 */}
{/* 左侧文字 */}
索马里和苏丹女性 穿衣风格反差极大:

索马里:穿搭极其华丽张扬,女性非常喜爱佩戴夸张的黄金饰品。

✨ 打破了“只能朴素单调”的刻板印象。
{/* 右侧图片 */}
)} {subTab === 'makeup' && (

互动环节:盲猜美妆风格

{makeupPollData.map(item => )}

清真美妆市场洞察

区域美妆特征分析

)} {subTab === 'festival' && (

传统节日与视觉特征

)}
); } function GlobalSection({ onImageClick, user }) { const [subTab, setSubTab] = useState('core'); const tabs = [ { id: 'core', label: '核心目标', icon: }, { id: 'ins', label: '网感氛围', icon: }, { id: 'face', label: '面部特征', icon: }, { id: 'body', label: '身型趋势', icon: }, { id: 'makeup_system', label: '主流妆造', icon: }, ]; return (

03 / 全球网感与特征

全球网感与特征体系

{tabs.map((tab) => ( ))}
{subTab === 'core' && (

三大核心目标

{[{id:'01',t:'氛围与质感',d:'拿捏不同文化 feel。'},{id:'02',t:'长相与人种',d:'真实强特征人像。'},{id:'03',t:'流行与审美',d:'当下变美思路。'}].map((i, idx)=>(

{i.id} {i.t}

{i.d}

))}
)} {subTab === 'ins' && (

网感氛围分析

)} {subTab === 'face' && (

互动环节

{globalPollData.map(item => )}

多区域人像特征详析

{/* 东南亚(2人群)和中东(3人群)并排展示,按2:3比例划分实现内部每一列的绝对等宽 */}
)} {subTab === 'body' && (

身型趋势分析

从“完美体态”全面转向“健康状态”

在全球“反身材焦虑”与审美多元化的浪潮下,单一严苛的标准正逐渐瓦解。各区域的审美趋势均已显著转向尊重基因差异,塑造出更具生命力的“健康力量体态”。

)} {subTab === 'makeup_system' && (

多区域主流妆造体系分析

核心演变:从“统一模版”向“多元原生”进化

在全球审美风向的更迭中,各区域的妆造体系正摆脱单一滤镜感。无论是北美的清透肌、欧洲的静奢风,还是中东的清透华丽,都指向了“保留原生纹理、放大独特气场”的全新高度。

)}
); } function FaceTraitCard({ region, races, onImageClick }) { const gridColsClass = { 2: 'lg:grid-cols-2', 3: 'lg:grid-cols-3', 4: 'lg:grid-cols-4', 5: 'lg:grid-cols-5' }[races.length] || 'lg:grid-cols-1'; return (
{region}地区 · 面部特征分析 核心人群构成
{races.map((race, idx) => (
{/* 顶部主图区域 */}
{/* 人群与占比 */}

{race.name}

占比: {race.percent}
{/* 核心特征分析 (强对齐) */}
颜值基因

{race.genes}

身材特征

{race.body}

审美内核

{race.vibe}

{/* 博主/明星案例 */} {race.influencerName && (
{race.influencerLink ? ( {race.influencerName} ) : (

{race.influencerName}

)}

{race.influencerDesc}

)}
))}
); } function BodyTrendCard({ region, before, after, beforeImg, afterImg, onImageClick }) { return (
{region}
过去趋势

{before}

当前趋势

{after}

); } function InsCard({ region, flag, style, tone, vibe, imgCount = 4, images = [], onImageClick }) { return (
{region} {flag}
{/* 全新重构的 Moodboard 拼图排版 */}
{images && images.length > 0 ? ( <>
{images.slice(1, 4).map((src, i) => ( ))}
) : ( [...Array(imgCount)].map((_, i) => ) )}
✨ {style}
色调与场景

{tone}

氛围感

{vibe}

); } function ExpandableText({ title, desc }) { const [isExpanded, setIsExpanded] = useState(false); return (
setIsExpanded(!isExpanded)} > {/* 增加 min-h-[38px] 以兼容单行和双行文字的高度差异,确保外部卡片实现绝对的横向像素级对齐 */}

{title}

{desc}

); } function MakeupSystemCard({ region, topImg, culture, aestheticTitle, aestheticDesc, makeups, hairs, onImageClick }) { return (
{/* 顶部区域 Header */}
{region}
{/* 第一部分:视觉基调 & 核心理念区 */}
文化差异

{culture}

妆容审美特征

{aestheticTitle}

{aestheticDesc}

{/* 第二部分:美妆热词区 */}
2026 美妆热词
{makeups.map((item, idx) => (
))}
{/* 第三部分:发型热词区 */}
2026 发型热词
{hairs.map((item, idx) => (
))}
); } function EventsSection({ onImageClick }) { return (

04 / 多区域代表性活动赛事及活动妆造

标志性节点与活动妆造日历

国际赛事妆造时间轴

严格按照世界时间轴(1月-12月)列举全球范围内最具社媒流量(TikTok/Instagram)、最能带动美妆/服饰/电商消费,以及最具文化视觉反差感的标志性节点。

{/* Header */}
月份
🇺🇸 北美
🇪🇺 欧洲
🇹🇭 东南亚
🇦🇪 中东
🇧🇷 拉美
{/* Rows */} {eventsData.map((row, idx) => (
【{row.month}】
{/* 针对特殊行处理:跨列 */} {row.specialEvent ? ( row.specialEvent.fullRow ? (
{/* 隐形网格,强行保证图片宽度精准对齐上方的第一列 */}
{/* 底部横向跨行的文本说明区 */}
{row.specialEvent.inlineText ? (
{row.specialEvent.title}{row.specialEvent.desc}
) : (

{row.specialEvent.title}

{row.specialEvent.desc}

)}
) : ( <>
{/* 欧洲的常规赛事 (如啤酒节) 如果有,先渲染在上面 */} {row.eu && row.eu.length > 0 && (

{row.eu[0].title}

{row.eu[0].desc}

)} {/* 特殊大横幅卡片 (横跨两列) */} {row.specialEvent && (
{row.specialEvent.inlineText ? (
{row.specialEvent.title}{row.specialEvent.desc}
) : ( <>

{row.specialEvent.title}

{row.specialEvent.desc}

)}
)}
{/* 东南亚、中东、拉美 正常占位 */} {[row.sea, row.me, row.latam].map((regionData, cIdx) => (
/
))} ) ) : ( /* 正常月份的渲染逻辑 */ [row.na, row.eu, row.sea, row.me, row.latam].map((regionData, cIdx) => (
{regionData.length > 0 ? ( regionData.map((event, eIdx) => (

{event.title}

{event.desc}

)) ) : (
/
)}
)) )}
))}
); } function FutureTrendSection({ onImageClick }) { return (

05 / 跨文化审美融合与未来趋势

在全球化与社交媒体的催化下,单一地域的“刻板印象”正被打破。
未来的视觉审美趋势不再是单纯的“地理划分”,而是在尊重文化边界的前提下“打破地域壁垒”、“走向跨文化融合

{/* 1. 跨文化界限与生成盲区 */}

1. 跨文化界限与生成盲区

{/* Header */}
核心雷区 (痛点)
生成误区
真实多样性
{/* Row 1 */}
💣 穆斯林服饰“伪合规”
(头巾不合规、长相刻板同质化)
露肤红线 当附加“颈部饰品”等词时,AI极易穿模暴露颈部或锁骨
告别同质化 拒绝千篇一律的“浓颜大眼AI脸”,需引入更真实的地域性面部特征
{/* Row 2 */}
💣 亚洲肤色“一刀切”
(肤色还原度低,地域辨识度低)
打破刻板印象
🇰🇷
东亚 (如韩国) 偏爱冷白/水光肌,肤质干净
🇹🇭
东南亚 (如泰国) 暖调小麦/深象牙色,注重野生毛流感与立体骨相
🇮🇳
南亚 (如印度) 深棕褐/深棕色,强调深邃轮廓与浓艳五官量感
{/* Row 3 */}
💣 文化挪用与常识幻觉
(元素乱炖、场景穿帮)
宗教元素 相关元素错误(如亡灵节“亡灵面包”Pan de Muerto有误)
场景/物理常识穿帮 测试相关赛事与地标建筑(如“篮球赛事道具生成有误” / 麦迪逊广场花园内部场景生成有误)
{/* 2. 全球人像审美融合 */}

2. 全球人像审美融合趋势

{/* Header */}
核心趋势
美学洞察 1
美学洞察 2
{/* Row 1 */}
高奢风向标
(打破常规人像美学)
“无国界骨相” 像 Louis Vuitton、Dior 这些顶奢品牌,越来越偏爱具有明显高颧骨/明显下颌线的立体骨相
异世感与建模脸 以 Gentle Monster、Balenciaga 为代表,刻意打破传统的“三庭五眼”,极宽眼距、冷漠的下三白,呈现出生人勿近、具有先锋感气质
{/* Row 2 */}
绝对包容
(重塑多元美学标准)
瑕疵即标志 雀斑、白癜风、胎记不再是需要被掩盖的“缺陷”,反而成了模特身上最独一无二的视觉符号和记忆点
拥抱真实鲜活的体型 大码模特 (Plus-size) 走向主流秀场,强调真实体型之美,打破单一的“白幼瘦”或“极限沙漏型”标准
{/* Row 3 */}
混血人像美学
(打破单一地域基因壁垒)
亚欧融合 亚洲平整细腻皮相 + 欧洲深邃立体骨相融合,兼具东方温婉与西方力量感
混血张力 如亚非或欧印融合 -- 非裔的深肤色与性感厚唇,配上亚裔细长杏眼特点...这种跨度极大的特质相融合,视觉冲击力拉满、极具辨识度
); } function BusinessImpactSection({ onImageClick }) { const portraitRows = [ { dimension: '人物多样性', note: '人种、肤色、身材等方面是否拉开差异,避免固定脸型和单一审美模板', cases: [ { label: '身材', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1-%E5%AF%B9%E6%AF%94_%E4%BA%BA%E5%83%8F_%E8%BA%AB%E6%9D%901.png' }, { label: '长相 / 骨相', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1-%E5%AF%B9%E6%AF%94_%E4%BA%BA%E5%83%8F_%E9%95%BF%E7%9B%B8%E7%89%B9%E5%AE%9A1.png' }, { label: '人种多样性', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1-%E5%AF%B9%E6%AF%94_%E4%BA%BA%E5%83%8F_%E4%BA%9A%E6%B4%B2%E4%BA%BA1.png' } ], conclusions: [ '身材、肤色和人种更加符合当地人种,大幅度减少单一模板脸', '卷发、辫发、不同年龄感与骨相特征更稳定,人物不再局限于同一套审美模板' ] }, { dimension: '人像真实感', note: '肢体结构、面部、眼神、环境等方面是否自然真实', cases: [ { label: '肢体畸形', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2%E5%AF%B9%E6%AF%94_%E4%BA%BA%E5%83%8F_%E8%82%A2%E4%BD%932.png' }, { label: '眼神呆滞', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2-%E5%AF%B9%E6%AF%94_%E4%BA%BA%E5%83%8F_%E7%9C%BC%E7%A5%9E1.png' }, { label: '环境真实', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2%E5%AF%B9%E6%AF%94_%E4%BA%BA%E5%83%8F_%E7%8E%AF%E5%A2%831.png' } ], conclusions: [ '肢体动作更加自然正确', '眼神减少空间 AI 感', '场景的光线和景深更自然,整体更接近真实拍摄质感' ] }, { dimension: '海外审美适配度', note: '是否摆脱“白瘦幼”和网红脸,在脸型、肤色、身材、妆容与气质上贴近海外社媒审美', cases: [ { label: '轻松氛围感', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/3%E5%AF%B9%E6%AF%94_%E4%BA%BA%E5%83%8F_%E5%AE%A1%E7%BE%8E%E9%80%82%E9%85%8D%E5%BA%A61.png' }, { label: '社媒抓拍', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/3%E5%AF%B9%E6%AF%94_%E4%BA%BA%E5%83%8F_%E5%AE%A1%E7%BE%8E%E9%80%82%E9%85%8D%E5%BA%A63.png' }, { label: '真实度', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/3%E5%AF%B9%E6%AF%94_%E4%BA%BA%E5%83%8F_%E5%AE%A1%E7%BE%8E%E9%80%82%E9%85%8D%E5%BA%A62.png' } ], conclusions: [ '大幅度减少过度美颜和网红脸,保留不同发型、发色、年龄感、通勤抓拍等海外社媒常见表达', '妆容、服装和场景气质更统一自然' ] } ]; const posterRows = [ { dimension: '文字正确性', cases: [ { label: '乱码减少', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1%E5%9B%BE%E6%96%87%E5%AF%B9%E6%AF%94_%E6%96%87%E5%AD%97%E6%AD%A3%E7%A1%AE%E6%80%A71.png' }, { label: '重点词保留', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1%E5%9B%BE%E6%96%87%E5%AF%B9%E6%AF%94_%E6%96%87%E5%AD%97%E6%AD%A3%E7%A1%AE%E6%80%A72.png' }, { label: '长句可拆分', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/1%E5%9B%BE%E6%96%87%E5%AF%B9%E6%AF%94_%E6%96%87%E5%AD%97%E6%AD%A3%E7%A1%AE%E6%80%A73.png' } ], conclusions: [ '可读性:明显减少乱码、错字和无意义符号,长句能被拆成可读行组', '高亮信息:重点词如数字、节日、行动词被保留并突出,信息传达更有侧重点' ] }, { dimension: '图文排版', cases: [ { label: '标题层级', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2%E5%9B%BE%E6%96%87%E5%AF%B9%E6%AF%94_%E5%9B%BE%E6%96%87%E6%8E%92%E7%89%88-1.png' }, { label: '关键词强调', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2%E5%9B%BE%E6%96%87%E5%AF%B9%E6%AF%94_%E5%9B%BE%E6%96%87%E6%8E%92%E7%89%88-3.png' }, { label: '排版清晰', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/2%E5%9B%BE%E6%96%87%E5%AF%B9%E6%AF%94_%E5%9B%BE%E6%96%87%E6%8E%92%E7%89%88-2.png' } ], conclusions: [ '文字排版:标题、关键词和主体图形的层级更明确,文字不再大面积挤压或遮挡主体', '海报能形成清楚的阅读顺序和视觉重心' ] }, { dimension: '图文关联与整体视觉', cases: [ { label: '主题贴合', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/3%E5%9B%BE%E6%96%87%E5%AF%B9%E6%AF%94_%E6%95%B4%E4%BD%93%E8%A7%86%E8%A7%891.png' }, { label: '排版规整', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/3%E5%9B%BE%E6%96%87%E5%AF%B9%E6%AF%94_%E6%95%B4%E4%BD%93%E8%A7%86%E8%A7%892.png' }, { label: '高关联度/画面丰富', img: 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/3%E5%9B%BE%E6%96%87%E5%AF%B9%E6%AF%94_%E6%95%B4%E4%BD%93%E8%A7%86%E8%A7%893.png' } ], conclusions: [ '画面元素与文案主题更贴合', '整体更少杂乱拼贴感和破损素材' ] } ]; const blindSpotRows = [ { risk: '语言区域误判', behavior: '把“西语”直接理解为西班牙本土表达,导致口吻偏书面或不符合平台语感', constraint: 'Prompt / 评测集需明确标注:拉美西语、墨西哥西语、阿根廷西语等,不只写 Spanish' } ]; const businessHeroImage = 'https://my-shemmei-website-imgs.oss-cn-shanghai.aliyuncs.com/%E4%BA%BA%E7%89%A9_%E6%96%87%E5%AD%97%E5%B0%81%E9%9D%A2%E5%9B%BE.png'; const businessOverviewItems = [ { id: '01', title: '人像', from: '从固定脸型和摆拍感', to: '更丰富的身材、骨相、人种与场景真实度。' }, { id: '02', title: '图文', from: '从乱码、堆字和主题分散', to: '文字可读、层级清楚、画面元素与文案主题一致。' }, { id: '03', title: '小众盲区', from: 'TikTok 西语场景', to: '优先考虑拉美西语,不宜默认西班牙本土表达。' } ]; const ImprovementTable = ({ rows }) => (
维度
前后对比案例
提升结论
{rows.map((row, idx) => (
{row.dimension}
{row.note &&

{row.note}

}
{row.cases.map((item, itemIdx) => { const caseLabel = typeof item === 'string' ? item : item.label; const caseImg = typeof item === 'string' ? '' : item.img; return (
CASE 0{itemIdx + 1} {caseImg && ( )} {caseLabel}
); })}
    {row.conclusions.map((item) => (
  • {item}
  • ))}
))}
); const BusinessDetailSection = ({ index, title, meta, children }) => (

{index} {title}

{meta}
{children}
); return (

06 / 业务侧效果提升

业务侧效果提升体系

业务侧三项提升

{businessOverviewItems.map((item, idx) => (

{item.id} {item.title}

{item.from}

{item.to}

))}

西语小众盲区

在 TikTok 平台,面向西语用户时不能默认使用西班牙西语;项目测试中更高频、更贴近平台语感的是 拉美西语

风险
表现
后续约束
{blindSpotRows.map((row) => (
{row.risk}
{row.behavior}
{row.constraint}
))}
); } function ConclusionSection() { return (

07 / 结论

全球人像审美正在告别千篇一律的“标准美”,全面走向“有叙事感的多元面孔”
未来的人像美学打动人的永远是 真实感与文化共情 ,在全球视野下,将重塑出既能保留鲜明的本土特色, 又能跨越文化引发共鸣 的视觉表达
{/* 独立结尾区 */}
THANKS.
未完待续中...
); } function SplashScreen({ onEnter }) { return (
CultureAestheticsFeatures

Welcome,

To The Global Diverse Portrait
Aesthetics Explorer.

CULTURE AESTHETICS
Hero
); } // --- 5. 主程序入口 (App) --- function AdminApp() { const [token, setToken] = useState(() => localStorage.getItem('portrait_admin_token') || ''); const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const [data, setData] = useState(null); const loadAdminVotes = async (currentToken = token) => { if (!currentToken) return; setLoading(true); try { const res = await fetch('/api/admin/votes', { headers: { Authorization: `Bearer ${currentToken}` } }); const payload = await res.json(); if (!payload.ok) throw new Error(payload.message || '后台数据读取失败'); setData(payload.data); setError(''); } catch (err) { setError(err.message); if (err.message.includes('登录')) { localStorage.removeItem('portrait_admin_token'); setToken(''); } } finally { setLoading(false); } }; useEffect(() => { if (token) loadAdminVotes(token); }, [token]); const handleLogin = async (event) => { event.preventDefault(); setLoading(true); setError(''); try { const res = await fetch('/api/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ username, password }) }); const payload = await res.json(); if (!payload.ok) throw new Error(payload.message || '登录失败'); localStorage.setItem('portrait_admin_token', payload.token); setToken(payload.token); setPassword(''); } catch (err) { setError(err.message); } finally { setLoading(false); } }; const handleLogout = async () => { if (token) { await fetch('/api/logout', { method: 'POST', headers: { Authorization: `Bearer ${token}` } }).catch(() => {}); } localStorage.removeItem('portrait_admin_token'); setToken(''); setData(null); }; if (!token) { return (

投票后台

Portrait Aesthetic Admin

{error &&
{error}
} 返回前台
); } const pollGroups = data?.polls || {}; const totalVotes = Object.values(pollGroups).reduce((sum, group) => { return sum + Object.values(group).reduce((inner, poll) => inner + (poll.counts?.total || 0), 0); }, 0); return (

投票后台

总票数 {totalVotes} · 最近更新 {data?.updatedAt ? new Date(data.updatedAt).toLocaleString() : '暂无'}

前台
{error &&
{error}
} {loading &&
正在加载数据...
}
{Object.entries(pollGroups).map(([type, polls]) => (
{type === 'makeup' ? : }

{type === 'makeup' ? '盲猜美妆风格' : '多元人像'}

{Object.entries(polls).map(([pollId, poll]) => { const total = poll.counts?.total || 0; return (

{poll.label}

{total} 票
{poll.options.map((option) => { const count = poll.counts?.[option] || 0; const percentage = total > 0 ? Math.round((count / total) * 100) : 0; return (
{option} {count} 票 · {percentage}%
); })}

最新记录

{(poll.records || []).slice(0, 5).map((record, idx) => (
{record.option} {new Date(record.votedAt).toLocaleString()}
))} {(!poll.records || poll.records.length === 0) &&
暂无投票
}
); })}
))}
); } function App() { const [showSplash, setShowSplash] = useState(true); const [activeMenu, setActiveMenu] = useState('intro'); const [hoveredMenu, setHoveredMenu] = useState(null); const [fullScreenImg, setFullScreenImg] = useState(null); const user = { uid: getVoterId() }; const menuItems = [ { id: 'intro', label: '一:定位与背景', icon: , desc: '本章探索:建立全球主流视觉审美趋势的坐标系,聚焦核心区域与文化维度。', tags: ['#审美坐标系', '#文化维度', '#视觉趋势'] }, { id: 'muslim', label: '二:穆斯林文化与美感', icon: , desc: '本章探索:探究穆斯林区域的人口分布、特色服装、妆容偏好及节日的视觉美学。', tags: ['#区域美学', '#服装特征', '#文化符号'] }, { id: 'global', label: '三:全球网感与面部特征', icon: , desc: '本章探索:解析多元文化背景下的核心审美目标、区域网感及人像骨相皮相特征。', tags: ['#INS网感', '#面部特征', '#身型趋势'] }, { id: 'events', label: '四:赛事与活动妆造', icon: , desc: '本章探索:严格按照世界时间轴,列举全球最具社媒流量的标志性节点与活动妆造。', tags: ['#国际日历', '#赛事节点', '#活动妆造'] }, { id: 'future', label: '五:跨文化融合与未来趋势', icon: , desc: '本章探索:打破单一地域刻板印象,解析跨文化审美融合、AI生成盲区及全球高奢与真实的审美趋势。', tags: ['#跨文化融合', '#生成盲区', '#未来趋势'] }, { id: 'business', label: '六:业务侧效果提升', icon: , desc: '本章探索:整理人像后训练、图文海报与西语语境三类业务侧改善案例,沉淀可复用的效果提升标准。', tags: ['#后训练效果', '#图文可读性', '#语言适配'] }, { id: 'conclusion', label: '七:结论', icon: , desc: '本章总结:全球人像审美的最终走向,从“标准美”到“有叙事感的多元面孔”的视觉重塑与文化共鸣。', tags: ['#审美结论', '#文化共情', '#多元面孔'] } ]; if (showSplash) return setShowSplash(false)} />; const handleNavClick = (id) => { setActiveMenu(id); document.getElementById(id)?.scrollIntoView({ behavior: 'smooth', block: 'start' }); }; return (
Bg
{/* 顶部折叠导航区 */}

Aesthetics.

{/* 文档说明卡片 - 置于目录之前 */}
✍️
研究链路: 桌面调研 → 审美维度拆解 → 视觉特征总结
边界声明: 聚焦“视觉美学效果呈现”,不涉及任何政治因素、历史问题 或 特定文化层面的评判
{menuItems.map((item) => { const isExpanded = hoveredMenu ? hoveredMenu === item.id : activeMenu === item.id; return (
setHoveredMenu(item.id)} onMouseLeave={() => setHoveredMenu(null)} onClick={() => handleNavClick(item.id)} className={`relative h-full cursor-pointer transition-all duration-[900ms] flex flex-col overflow-hidden origin-center group/card ${isExpanded ? 'flex-[4.5] bg-white z-10' : 'flex-[1] bg-[#f7f7f7] z-0'}`} style={{ boxShadow: isExpanded ? '0 20px 40px rgba(0,0,0,0.1)' : 'inset 15px 0 20px rgba(0,0,0,0.02)', transform: isExpanded ? 'translateZ(10px)' : 'scaleY(0.97)', border: '1px solid rgba(0,0,0,0.1)' }}>
{item.icon}
{item.label}
{item.icon}

{item.label}

{item.desc}

{item.tags.map(t=>{t})}
); })}
{fullScreenImg && (
setFullScreenImg(null)}> Preview
)}
); } createRoot(document.getElementById('root')).render( window.location.pathname.startsWith('/admin') ? : );