{"id":394,"date":"2026-04-21T16:28:35","date_gmt":"2026-04-21T08:28:35","guid":{"rendered":"https:\/\/new.365ycs.com\/?page_id=394"},"modified":"2026-06-17T16:53:38","modified_gmt":"2026-06-17T08:53:38","slug":"%e4%b8%aa%e4%ba%ba%e5%ae%b6%e8%b0%b1","status":"publish","type":"page","link":"https:\/\/www.365ycs.com\/index.php\/%e4%b8%aa%e4%ba%ba%e5%ae%b6%e8%b0%b1\/","title":{"rendered":"\u4e2a\u4eba\u5bb6\u8c31"},"content":{"rendered":"<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>\u4e2a\u4eba\u5bb6\u8c31-\u59d3\u6c0f\u5bb6\u8c31\u5bfc\u822a<\/title>\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Ma+Shan+Zheng&family=Noto+Serif+SC:wght@400;600;700&family=ZCOOL+XiaoWei&display=swap');\n:root {\n--ink: #1c1c1c; --ink-light: #4a4a4a; --paper: #faf6ee; --paper-warm: #f0e8d6;\n--paper-dark: #e4d8c0; --cinnabar: #b8371a; --cinnabar-dark: #8b2500;\n--gold: #a07818; --gold-light: #c9a84c; --jade: #2e6b4f;\n--border: #d4c5a0; --shadow: rgba(28,28,28,0.12);\n}\n* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: 'Noto Serif SC', serif; background: var(--paper); color: var(--ink); overflow-x: hidden; }\nbody::before { content: ''; position: fixed; inset: 0; background-image: url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'\/%3E%3C\/svg%3E\"); opacity: 0.025; pointer-events: none; z-index: 0; }\n\n.header { background: linear-gradient(170deg, var(--ink) 0%, #2d1f12 60%, #3a1a0a 100%); color: var(--paper); text-align: center; padding: 70px 20px 90px; position: relative; overflow: hidden; }\n.header::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 80%, rgba(200,168,76,0.12) 0%, transparent 65%); }\n.header-ornament { position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }\n.header-seal { position: absolute; top: 20px; right: 40px; width: 70px; height: 70px; border: 3px solid var(--cinnabar); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-family: 'Ma Shan Zheng', cursive; font-size: 30px; color: var(--cinnabar); writing-mode: vertical-rl; letter-spacing: 4px; opacity: 0.9; }\n.header-main-title { font-family: 'Ma Shan Zheng', cursive; font-size: 80px; letter-spacing: 20px; color: var(--gold-light); text-shadow: 2px 3px 0 rgba(0,0,0,0.4); position: relative; z-index: 1; }\n.header-sub-title { font-family: 'ZCOOL XiaoWei', serif; font-size: 18px; letter-spacing: 12px; color: rgba(250,246,238,0.65); margin-top: 16px; position: relative; z-index: 1; }\n.header-tagline { margin-top: 28px; display: inline-flex; gap: 8px; align-items: center; padding: 8px 24px; border: 1px solid rgba(201,168,76,0.35); border-radius: 24px; font-size: 14px; color: rgba(250,246,238,0.7); letter-spacing: 3px; position: relative; z-index: 1; }\n\n.stats-bar { background: var(--cinnabar); display: flex; justify-content: center; position: relative; z-index: 2; }\n.stat-item { padding: 18px 50px; text-align: center; border-right: 1px solid rgba(255,255,255,0.15); flex: 1; max-width: 220px; }\n.stat-item:last-child { border-right: none; }\n.stat-num { font-family: 'Ma Shan Zheng', cursive; font-size: 36px; color: var(--gold-light); line-height: 1; }\n.stat-label { font-size: 12px; color: rgba(255,255,255,0.75); letter-spacing: 3px; margin-top: 4px; }\n\n.search-section { max-width: 860px; margin: -45px auto 0; padding: 0 20px; position: relative; z-index: 10; }\n.search-box { background: white; border-radius: 16px; padding: 8px; display: flex; box-shadow: 0 6px 40px rgba(28,28,28,0.18), 0 1px 4px rgba(28,28,28,0.08); border: 1px solid var(--border); }\n.search-box input { flex: 1; border: none; outline: none; padding: 16px 24px; font-size: 17px; font-family: 'Noto Serif SC', serif; color: var(--ink); background: transparent; border-radius: 12px; }\n.search-box input::placeholder { color: #aaa; }\n.search-box button { background: var(--cinnabar); color: white; border: none; padding: 14px 36px; border-radius: 10px; font-size: 16px; font-family: 'Noto Serif SC', serif; cursor: pointer; letter-spacing: 3px; transition: background 0.3s; white-space: nowrap; }\n.search-box button:hover { background: var(--cinnabar-dark); }\n\n.container { max-width: 1200px; margin: 0 auto; padding: 70px 20px; position: relative; z-index: 1; }\n.section-header { display: flex; align-items: center; gap: 16px; margin-bottom: 36px; }\n.section-title { font-family: 'Ma Shan Zheng', cursive; font-size: 38px; color: var(--ink); }\n.section-line { flex: 1; height: 2px; background: linear-gradient(90deg, var(--border), transparent); }\n.section-badge { background: var(--cinnabar); color: var(--paper); padding: 4px 14px; border-radius: 12px; font-size: 12px; letter-spacing: 2px; }\n\n.surname-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; margin-bottom: 60px; }\n.surname-card { background: white; border: 1px solid var(--border); border-radius: 12px; padding: 22px 16px; text-align: center; cursor: pointer; transition: all 0.25s; text-decoration: none; color: var(--ink); position: relative; overflow: hidden; }\n.surname-card::before { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(--cinnabar); transform: scaleX(0); transition: transform 0.25s; }\n.surname-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px var(--shadow); border-color: var(--cinnabar); }\n.surname-card:hover::before { transform: scaleX(1); }\n.surname-char { font-family: 'Ma Shan Zheng', cursive; font-size: 48px; color: var(--cinnabar); line-height: 1; margin-bottom: 8px; }\n.surname-pinyin { font-size: 12px; color: var(--ink-light); letter-spacing: 2px; }\n.surname-link { font-size: 11px; color: #bbb; margin-top: 4px; display: none; }\n.surname-card:hover .surname-link { display: block; color: var(--cinnabar); }\n\/* \u5df2\u4e0a\u7ebf\u94fe\u63a5\u6807\u8bb0 *\/\n.surname-badge { position: absolute; top: 8px; right: 8px; background: var(--jade); color: white; font-size: 10px; padding: 2px 6px; border-radius: 6px; letter-spacing: 1px; display: none; }\n.surname-card.has-link .surname-badge { display: block; }\n\n.hot-section { background: var(--paper-warm); border: 1px solid var(--border); border-radius: 16px; padding: 36px; margin-bottom: 60px; }\n.hot-surnames { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }\n.hot-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; background: white; border: 1px solid var(--border); border-radius: 8px; font-size: 15px; font-family: 'Ma Shan Zheng', cursive; color: var(--ink); text-decoration: none; transition: all 0.25s; letter-spacing: 2px; }\n.hot-btn:hover { background: var(--cinnabar); color: white; border-color: var(--cinnabar); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(184,55,26,0.25); }\n.hot-btn .rank { font-family: 'Noto Serif SC', serif; font-size: 11px; color: #bbb; }\n\n.platform-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; margin-bottom: 60px; }\n.platform-card { background: white; border: 1px solid var(--border); border-radius: 14px; padding: 28px; display: flex; gap: 18px; align-items: flex-start; text-decoration: none; color: var(--ink); transition: all 0.3s; }\n.platform-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px var(--shadow); border-color: var(--gold); }\n.platform-logo { width: 56px; height: 56px; border-radius: 12px; background: var(--paper-warm); display: flex; align-items: center; justify-content: center; font-size: 28px; flex-shrink: 0; border: 1px solid var(--border); }\n.platform-info { flex: 1; min-width: 0; }\n.platform-name { font-family: 'Ma Shan Zheng', cursive; font-size: 22px; color: var(--ink); margin-bottom: 6px; }\n.platform-desc { font-size: 13px; color: var(--ink-light); line-height: 1.7; margin-bottom: 8px; }\n.platform-tags { display: flex; gap: 6px; flex-wrap: wrap; }\n.tag { padding: 2px 10px; border-radius: 10px; font-size: 11px; letter-spacing: 1px; }\n.tag-red { background: #fde8e6; color: var(--cinnabar); }\n.tag-gold { background: #fdf3e3; color: var(--gold); }\n.tag-jade { background: #e6f2ee; color: var(--jade); }\n\n.tutorial-list { display: flex; flex-direction: column; gap: 16px; margin-bottom: 60px; }\n.tutorial-item { background: white; border: 1px solid var(--border); border-radius: 12px; padding: 20px 24px; display: flex; align-items: center; gap: 16px; text-decoration: none; color: var(--ink); transition: all 0.25s; }\n.tutorial-item:hover { border-color: var(--gold); box-shadow: 0 4px 16px var(--shadow); transform: translateX(4px); }\n.tutorial-num { font-family: 'Ma Shan Zheng', cursive; font-size: 28px; color: var(--gold); width: 40px; flex-shrink: 0; }\n.tutorial-content { flex: 1; }\n.tutorial-title { font-size: 16px; font-weight: 600; margin-bottom: 4px; }\n.tutorial-desc { font-size: 13px; color: var(--ink-light); }\n.tutorial-arrow { color: var(--cinnabar); font-size: 20px; }\n\n\/* \u2500\u2500 \u63d0\u4ea4\u5bb6\u8c31\u533a\u57df \u2500\u2500 *\/\n.submit-section { background: linear-gradient(135deg, var(--ink) 0%, #2d1f12 100%); border-radius: 16px; padding: 50px; color: var(--paper); margin-bottom: 60px; }\n.submit-title { font-family: 'Ma Shan Zheng', cursive; font-size: 36px; color: var(--gold-light); margin-bottom: 14px; text-align: center; }\n.submit-desc { font-size: 15px; color: rgba(250,246,238,0.65); margin-bottom: 28px; line-height: 1.8; text-align: center; }\n.submit-form-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 640px; margin: 0 auto; }\n.submit-form-wrap .full { grid-column: 1 \/ -1; }\n.submit-form-wrap label { display: block; font-size: 12px; color: rgba(250,246,238,0.5); margin-bottom: 4px; letter-spacing: 1px; }\n.submit-form-wrap input, .submit-form-wrap textarea {\n  width: 100%; padding: 12px 16px; border: 1px solid rgba(255,255,255,0.2); border-radius: 8px;\n  background: rgba(255,255,255,0.08); color: white; font-size: 14px; font-family: 'Noto Serif SC', serif; outline: none; transition: border-color 0.2s;\n}\n.submit-form-wrap textarea { resize: vertical; min-height: 60px; }\n.submit-form-wrap input:focus, .submit-form-wrap textarea:focus { border-color: var(--gold); }\n.submit-form-wrap input::placeholder, .submit-form-wrap textarea::placeholder { color: rgba(255,255,255,0.3); }\n.submit-btn-row { grid-column: 1 \/ -1; text-align: center; margin-top: 8px; }\n.submit-btn-row button { background: var(--cinnabar); color: white; border: none; padding: 14px 50px; border-radius: 10px; font-size: 16px; font-family: 'Noto Serif SC', serif; cursor: pointer; letter-spacing: 3px; transition: background 0.3s; }\n.submit-btn-row button:hover { background: #c94520; }\n.submit-btn-row button:disabled { opacity: 0.5; cursor: not-allowed; }\n#submitMsg { text-align: center; margin-top: 14px; font-size: 14px; color: rgba(250,246,238,0.7); line-height: 1.8; }\n#submitMsg .error { color: #ff6b6b; }\n#submitMsg .success { color: #69db7c; }\n\nfooter { background: var(--ink); color: rgba(250,246,238,0.45); text-align: center; padding: 40px 20px; font-size: 13px; letter-spacing: 1px; line-height: 2; }\nfooter .slogan { font-family: 'Ma Shan Zheng', cursive; font-size: 24px; color: var(--gold-light); letter-spacing: 8px; margin-bottom: 10px; }\n\n#searchResult { background: white; border: 1px solid var(--border); border-radius: 12px; padding: 20px; margin-top: 12px; display: none; }\n#searchResult .result-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--paper-warm); }\n#searchResult .result-item:last-child { border-bottom: none; }\n#searchResult .result-char { font-family: 'Ma Shan Zheng', cursive; font-size: 28px; color: var(--cinnabar); width: 40px; }\n#searchResult .result-name { font-size: 16px; }\n#searchResult .result-link { margin-left: auto; color: var(--cinnabar); font-size: 13px; text-decoration: none; }\n\n@media (min-width: 1920px) {\n.container { max-width: 1400px; }\n.surname-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }\n.header-main-title { font-size: 96px; }\n}\n@media (max-width: 1366px) {\n.surname-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }\n.platform-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }\n.header-main-title { font-size: 64px; }\n}\n@media (max-width: 1024px) {\n.header-main-title { font-size: 56px; letter-spacing: 14px; }\n.header-sub-title { font-size: 16px; letter-spacing: 8px; }\n.surname-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 14px; }\n.hot-section { padding: 28px; }\n.platform-card { padding: 22px; }\n}\n@media (max-width: 768px) {\n.header-main-title { font-size: 48px; letter-spacing: 10px; }\n.stats-bar { flex-wrap: wrap; }\n.stat-item { min-width: 50%; }\n.surname-grid { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 10px; }\n.surname-char { font-size: 32px; }\n.platform-grid { grid-template-columns: 1fr; }\n.section-title { font-size: 28px; }\n.search-box { flex-direction: column; }\n.search-box button { width: 100%; }\n.submit-form-wrap { grid-template-columns: 1fr; }\n.submit-section { padding: 30px 20px; }\n}\n@media (max-width: 480px) {\n.header { padding: 50px 15px 70px; }\n.header-main-title { font-size: 36px; letter-spacing: 6px; }\n.header-seal { width: 40px; height: 40px; font-size: 18px; }\n.stat-item { padding: 12px; }\n.stat-num { font-size: 28px; }\n.surname-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }\n.surname-char { font-size: 28px; }\n.surname-pinyin { font-size: 10px; }\n.search-box input { padding: 14px 18px; font-size: 15px; }\n.hot-btn { padding: 8px 14px; font-size: 14px; }\n.section-title { font-size: 24px; }\n}\n<\/style>\n<script src=\"\/?rest_route=\/genealogy\/v1\/surnames-data\"><\/script>\n<\/head>\n<body>\n\n<header class=\"header\">\n<div class=\"header-ornament\"><\/div>\n<div class=\"header-seal\">\u8c31<\/div>\n<div class=\"header-main-title\">\u4e2a\u4eba\u5bb6\u8c31<\/div>\n<div class=\"header-sub-title\">\u767e \u5bb6 \u59d3 \u6c0f \u5bfc \u822a<\/div>\n<div class=\"header-tagline\"><span>\ud83d\udcda<\/span><span>\u6536\u5f55\u4e07\u59d3\u5bb6\u8c31<\/span><span>\u00b7<\/span><span>\u5bfb\u6839\u95ee\u7956<\/span><span>\u00b7<\/span><span>\u4f20\u627f\u6587\u5316<\/span><\/div>\n<\/header>\n\n<div class=\"stats-bar\">\n<div class=\"stat-item\"><div class=\"stat-num\">5000+<\/div><div class=\"stat-label\">\u6536\u5f55\u5bb6\u8c31<\/div><\/div>\n<div class=\"stat-item\"><div class=\"stat-num\" id=\"totalSurnames\">2380+<\/div><div class=\"stat-label\">\u6536\u5f55\u59d3\u6c0f<\/div><\/div>\n<div class=\"stat-item\"><div class=\"stat-num\">100\u4e07+<\/div><div class=\"stat-label\">\u65cf\u4eba\u8bb0\u5f55<\/div><\/div>\n<div class=\"stat-item\"><div class=\"stat-num\" id=\"totalPlatforms\">50+<\/div><div class=\"stat-label\">\u5408\u4f5c\u5e73\u53f0<\/div><\/div>\n<\/div>\n\n<div class=\"search-section\">\n<div class=\"search-box\">\n<input type=\"text\" id=\"searchInput\" placeholder=\"\u8f93\u5165\u59d3\u6c0f\uff0c\u5982\uff1a\u5f20\u3001\u738b\u3001\u674e\u3001\u5218\u3001\u9648...\" maxlength=\"10\">\n<button onclick=\"doSearch()\">\u641c\u7d22\u5bb6\u8c31<\/button>\n<\/div>\n<div id=\"searchResult\"><\/div>\n<\/div>\n\n<div class=\"container\">\n\n<div class=\"section-header\">\n<h2 class=\"section-title\">\u5feb\u901f\u67e5\u627e<\/h2>\n<div class=\"section-line\"><\/div>\n<span class=\"section-badge\">\u767e\u5bb6\u59d3<\/span>\n<\/div>\n<div class=\"surname-grid\" id=\"surnameGrid\"><\/div>\n\n<div class=\"hot-section\">\n<div class=\"section-header\" style=\"margin-bottom:0;\">\n<h2 class=\"section-title\">\ud83d\udd25 \u70ed\u95e8\u59d3\u6c0f<\/h2>\n<div class=\"section-line\"><\/div>\n<\/div>\n<div class=\"hot-surnames\" id=\"hotSurnames\"><\/div>\n<\/div>\n\n<!-- \u5e73\u53f0\u63a8\u8350\u533a\u4e0d\u53d8 -->\n<div class=\"section-header\" style=\"margin-top:60px;\">\n<h2 class=\"section-title\">\ud83c\udff0\ud83c\udf0c \u5bb6\u8c31\u5e73\u53f0<\/h2>\n<div class=\"section-line\"><\/div>\n<span class=\"section-badge\">\u4f18\u8d28\u8d44\u6e90<\/span>\n<\/div>\n<div class=\"platform-grid\">\n<a class=\"platform-card\" href=\"https:\/\/www.zupu.cn\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83d\udcd6<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u65cf\u8c31\u7f51<\/div>\n<div class=\"platform-desc\">\u5341\u4e07\u518c\u65cf\u8c31\u6863\u6848\u3001\u8d85\u5343\u4e07\u9875\u5bb6\u65cf\u8d44\u6599\uff0c\u6db5\u76d6\u5168\u56fd\u53ca\u6d77\u5916\u534e\u4eba\u5bb6\u65cf\u8c31\u7252\u6570\u636e<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u4e13\u4e1a\u4fee\u8c31<\/span><span class=\"tag tag-gold\">\u65cf\u8c31\u5370\u5237<\/span><span class=\"tag tag-jade\">\u6570\u636e\u5e9e\u5927<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"http:\/\/www.zupuyun.cn\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\u26c5<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u65cf\u8c31\u4e91<\/div>\n<div class=\"platform-desc\">\u6536\u5f55\u767e\u5bb6\u7f51\u7ad95236\u5bb6\uff0c\u65cf\u8c3125785\u8c31\uff0c\u7d2f\u79ef\u767b\u8bb0\u65cf\u4eba425404\u4eba<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u4e91\u7aef\u4fee\u8c31<\/span><span class=\"tag tag-gold\">\u591a\u59d3\u6c0f<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"http:\/\/www.zupulu.com\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83c\udf10<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u65cf\u8c31\u5f55<\/div>\n<div class=\"platform-desc\">\u6536\u5f552378\u4e2a\u59d3\u6c0f\u300158401\u4e2a\u65cf\u8c31\u300118733\u4e2a\u7eaa\u5ff5\u9986\u300113241\u4f4d\u540d\u4eba<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u59d3\u6c0f\u767e\u79d1<\/span><span class=\"tag tag-gold\">\u540d\u4eba\u9986<\/span><span class=\"tag tag-jade\">\u793e\u533a<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"https:\/\/www.jiapuzaixian.com\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83d\udcf1<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u5bb6\u8c31\u5728\u7ebf<\/div>\n<div class=\"platform-desc\">\u624b\u673a\u7535\u8111\u540c\u6b65\uff0c\u591a\u4eba\u534f\u540c\u4fee\u8c31\uff0c\u6570\u636e\u5b9e\u65f6\u540c\u6b65\uff0c\u4e3a\u5168\u7403\u534e\u4eba\u63d0\u4f9b\u5728\u7ebf\u4fee\u8c31\u670d\u52a1<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u591a\u7aef\u540c\u6b65<\/span><span class=\"tag tag-jade\">\u534f\u540c\u7f16\u4fee<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"http:\/\/www.zaixianzupu.com\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83c\udf1f<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u5728\u7ebf\u65cf\u8c31<\/div>\n<div class=\"platform-desc\">\u514d\u8d39\u4fee\u8c31\u5de5\u5177\uff0c\u4e00\u952e\u521b\u5efa\u65cf\u8c31\uff0c\u4f1a\u6253\u5b57\u5373\u53ef\u4e0a\u624b\uff0c\u652f\u6301\u65e0\u9650\u7ea7\u534f\u540c\u4fee\u8c31<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u514d\u8d39<\/span><span class=\"tag tag-gold\">\u8f7b\u91cf<\/span><span class=\"tag tag-jade\">\u6613\u7528<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"http:\/\/www.jiaapu.com\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83d\udd0d<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u641c\u5bb6\u8c31<\/div>\n<div class=\"platform-desc\">\u4e2d\u56fd\u5bb6\u8c31\u65cf\u8c31\u68c0\u7d22\u5e73\u53f0\uff0c\u6309\u59d3\u6c0f\u4e0e\u7701\u4efd\u67e5\u8be2\u5bb6\u65cf\u6587\u732e\u7ebf\u7d22\uff0c\u5bfb\u6839\u95ee\u7956<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u68c0\u7d22<\/span><span class=\"tag tag-gold\">\u6309\u7701<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"http:\/\/www.xiupu.vip\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83d\udcdd<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u4fee\u8c31\u7f51<\/div>\n<div class=\"platform-desc\">\u4fee\u8c31\u7ba1\u7406\u3001\u5bfb\u6839\u95ee\u7956\u3001\u59d3\u6c0f\u767e\u79d1\u4e09\u5927\u529f\u80fd\uff0c\u8bb0\u5f55\u6e90\u6d41\u8fc1\u5f99\u3001\u5bb6\u98ce\u5bb6\u8bad\u3001\u4eba\u6587\u9057\u8ff9<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u4fee\u8c31<\/span><span class=\"tag tag-gold\">\u5bfb\u6839<\/span><span class=\"tag tag-jade\">\u767e\u79d1<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"http:\/\/ouroots.nlc.cn\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83c\udff0<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u4e2d\u534e\u5bfb\u6839\u7f51<\/div>\n<div class=\"platform-desc\">\u56fd\u5bb6\u56fe\u4e66\u9986\u4e0e\u6fb3\u95e8\u57fa\u91d1\u4f1a\u5408\u4f5c\u9879\u76ee\uff0c\u63d0\u4f9b500+\u59d3\u6c0f\u6e90\u6d41\u30012000+\u90e8\u5bb6\u8c31\u6d4f\u89c8\u670d\u52a1<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u56fd\u5bb6\u56fe\u4e66\u9986<\/span><span class=\"tag tag-gold\">\u6743\u5a01<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"http:\/\/www.zongpu.com\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83d\udd17<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u4e2d\u56fd\u5b97\u8c31\u7f51<\/div>\n<div class=\"platform-desc\">\u5b97\u6e90\u7cfb\u7edf\u3001\u7eed\u8c31\u4e91\u534f\u7f16\u3001\u5bb6\u65cf\u5386\u53f2\u6587\u732e\u5b58\u50a8\u3001\u591a\u89d2\u8272\u534f\u7ba1\uff0c\u6570\u636e\u63a5\u53e3\u516c\u76ca\u5f00\u653e<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u7eed\u8c31<\/span><span class=\"tag tag-gold\">\u5b97\u6e90<\/span><span class=\"tag tag-jade\">\u516c\u76ca<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"https:\/\/www.gensbook.com\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83d\udcda<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u67e5\u8c31\u7f51<\/div>\n<div class=\"platform-desc\">\u63d0\u4f9b\u4e2d\u534e\u5bb6\u8c31\u76ee\u5f55\u7d22\u5f15\u67e5\u8be2\u670d\u52a1\uff0c\u6c47\u96c6\u4e2d\u534e500\u4f59\u59d3\u6c0f\u8d85100\u4e07\u518c\u5bb6\u8c31\u76ee\u5f55<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u76ee\u5f55<\/span><span class=\"tag tag-gold\">\u67e5\u5b57\u8f88<\/span><\/div>\n<\/div>\n<\/a>\n<a class=\"platform-card\" href=\"https:\/\/cnjiapu.com\/\" target=\"_blank\" rel=\"noopener\">\n<div class=\"platform-logo\">\ud83c\udfe2<\/div>\n<div class=\"platform-info\">\n<div class=\"platform-name\">\u627e\u5bb6\u8c31<\/div>\n<div class=\"platform-desc\">\u5bb6\u8c31\u6570\u636e\u5e93\uff0c\u5148\u586b\u59d3\u6c0f\u5373\u53ef\u641c\u7d22\uff0c\u652f\u6301\u6309\u5730\u533a\u3001\u5802\u53f7\u3001\u7f16\u8005\u7cbe\u786e\u5b9a\u4f4d<\/div>\n<div class=\"platform-tags\"><span class=\"tag tag-red\">\u6570\u636e\u5e93<\/span><span class=\"tag tag-jade\">\u6309\u5802\u53f7<\/span><\/div>\n<\/div>\n<\/a>\n<\/div>\n\n<!-- \u4fee\u8c31\u6307\u5357 -->\n<div class=\"section-header\">\n<h2 class=\"section-title\">\ud83d\udcda \u4fee\u8c31\u6307\u5357<\/h2>\n<div class=\"section-line\"><\/div>\n<\/div>\n<div class=\"tutorial-list\">\n<a class=\"tutorial-item\" href=\"#\">\n<div class=\"tutorial-num\">\u58f9<\/div>\n<div class=\"tutorial-content\">\n<div class=\"tutorial-title\">\u5982\u4f55\u6536\u96c6\u5bb6\u65cf\u8d44\u6599<\/div>\n<div class=\"tutorial-desc\">\u4ece\u65e7\u8c31\u3001\u53e3\u8ff0\u3001\u5893\u7891\u3001\u6863\u6848\u56db\u4e2a\u7ef4\u5ea6\u7cfb\u7edf\u6536\u96c6\u5bb6\u65cf\u4fe1\u606f<\/div>\n<\/div>\n<div class=\"tutorial-arrow\">\u2192<\/div>\n<\/a>\n<a class=\"tutorial-item\" href=\"#\">\n<div class=\"tutorial-num\">\u8d30<\/div>\n<div class=\"tutorial-content\">\n<div class=\"tutorial-title\">\u4e16\u7cfb\u56fe\u7ed8\u5236\u65b9\u6cd5<\/div>\n<div class=\"tutorial-desc\">\u4ece\u59cb\u7956\u5230\u5f53\u4ee3\uff0c\u68b3\u7406\u652f\u7cfb\u8109\u7edc\uff0c\u7406\u6e05\u4e94\u670d\u5173\u7cfb<\/div>\n<\/div>\n<div class=\"tutorial-arrow\">\u2192<\/div>\n<\/a>\n<a class=\"tutorial-item\" href=\"#\">\n<div class=\"tutorial-num\">\u53c1<\/div>\n<div class=\"tutorial-content\">\n<div class=\"tutorial-title\">\u5bb6\u89c4\u5bb6\u8bad\u6574\u7406<\/div>\n<div class=\"tutorial-desc\">\u6316\u6398\u5bb6\u65cf\u5386\u4ee3\u5bb6\u8bad\uff0c\u6574\u7406\u540d\u4eba\u4e8b\u8ff9\uff0c\u4f20\u627f\u5bb6\u98ce\u6587\u5316<\/div>\n<\/div>\n<div class=\"tutorial-arrow\">\u2192<\/div>\n<\/a>\n<a class=\"tutorial-item\" href=\"#\">\n<div class=\"tutorial-num\">\u8086<\/div>\n<div class=\"tutorial-content\">\n<div class=\"tutorial-title\">\u73b0\u4ee3\u6570\u5b57\u5316\u4fee\u8c31<\/div>\n<div class=\"tutorial-desc\">\u5229\u7528\u5bb6\u8c31\u8f6f\u4ef6\u5b9e\u73b0\u591a\u4eba\u534f\u540c\u3001\u5728\u7ebf\u7f16\u8f91\u3001\u4e91\u7aef\u5b58\u50a8<\/div>\n<\/div>\n<div class=\"tutorial-arrow\">\u2192<\/div>\n<\/a>\n<\/div>\n\n<!-- \u2500\u2500 \u63d0\u4ea4\u5bb6\u8c31 \u2500\u2500 -->\n<div class=\"submit-section\">\n<div class=\"submit-title\">\ud83d\udcdc \u63d0\u4ea4\u5bb6\u8c31<\/div>\n<div class=\"submit-desc\">\u5982\u679c\u60a8\u6709\u5bb6\u65cf\u5bb6\u8c31\u7f51\u7ad9\u6216\u8d44\u6599\uff0c\u6b22\u8fce\u63d0\u4ea4\uff0c\u5ba1\u6838\u901a\u8fc7\u540e\u5c06\u81ea\u52a8\u4e0a\u7ebf\u5c55\u793a<\/div>\n<div class=\"submit-form-wrap\">\n<div><label>\u59d3\u6c0f *<\/label><input type=\"text\" id=\"surnameInput\" placeholder=\"\u5982\uff1a\u5f20\u3001\u738b\u3001\u674e\" maxlength=\"6\"><\/div>\n<div><label>\u5bb6\u8c31\u94fe\u63a5 *<\/label><input type=\"url\" id=\"urlInput\" placeholder=\"https:\/\/...\"><\/div>\n<div><label>\u6240\u5c5e\u5730\u533a<\/label><input type=\"text\" id=\"regionInput\" placeholder=\"\u5982\uff1a\u5e7f\u4e1c\u6f6e\u6c55\"><\/div>\n<div><label>\u8054\u7cfb\u65b9\u5f0f\uff08\u9009\u586b\uff09<\/label><input type=\"text\" id=\"contactInput\" placeholder=\"\u5fae\u4fe1\/\u90ae\u7bb1\uff0c\u65b9\u4fbf\u901a\u77e5\u5ba1\u6838\u7ed3\u679c\"><\/div>\n<div class=\"full\"><label>\u5907\u6ce8\u8bf4\u660e<\/label><textarea id=\"noteInput\" placeholder=\"\u7b80\u8981\u4ecb\u7ecd\u8fd9\u672c\u5bb6\u8c31\u7684\u4eae\u70b9\uff08\u59cb\u8fc1\u7956\u3001\u5377\u6570\u3001\u5e74\u4ee3\u7b49\uff09\" rows=\"2\"><\/textarea><\/div>\n<div class=\"submit-btn-row\">\n<button id=\"submitBtn\" onclick=\"submitSurname()\">\u63d0 \u4ea4 \u5ba1 \u6838<\/button>\n<\/div>\n<\/div>\n<div id=\"submitMsg\"><\/div>\n<\/div>\n\n<footer>\n<div class=\"slogan\">\u6728\u6709\u672c \u00b7 \u6c34\u6709\u6e90<\/div>\n<div>\u4e2d\u534e\u59d3\u6c0f\u5bb6\u8c31\u5bfc\u822a \u00b7 \u6536\u5f55\u6574\u7406\u4f18\u8d28\u5bb6\u8c31\u8d44\u6e90<\/div>\n<div style=\"margin-top:8px;\">\u5bfb\u6839\u95ee\u7956 \u00b7 \u4f20\u627f\u6587\u5316 \u00b7 \u8054\u7ed3\u5b97\u4eb2<\/div>\n<\/footer>\n\n<script>\n\/\/ \u2500\u2500 \u59d3\u6c0f\u6570\u636e\u5e93 \u2500\u2500\nconst surnames = [\n{c:'\u8d75',p:'zhao',rank:1},{c:'\u94b1',p:'qian',rank:2},{c:'\u5b59',p:'sun',rank:3},{c:'\u674e',p:'li',rank:4},\n{c:'\u5468',p:'zhou',rank:5},{c:'\u5434',p:'wu',rank:6},{c:'\u90d1',p:'zheng',rank:7},{c:'\u738b',p:'wang',rank:8},\n{c:'\u51af',p:'feng',rank:9},{c:'\u9648',p:'chen',rank:10},{c:'\u891a',p:'chu',rank:11},{c:'\u536b',p:'wei',rank:12},\n{c:'\u848b',p:'jiang',rank:13},{c:'\u6c88',p:'shen',rank:14},{c:'\u97e9',p:'han',rank:15},{c:'\u6768',p:'yang',rank:16},\n{c:'\u6731',p:'zhu',rank:17},{c:'\u79e6',p:'qin',rank:18},{c:'\u5c24',p:'you',rank:19},{c:'\u8bb8',p:'xu',rank:20},\n{c:'\u4f55',p:'he',rank:21},{c:'\u5415',p:'lv',rank:22},{c:'\u65bd',p:'shi',rank:23},{c:'\u5f20',p:'zhang',rank:24},\n{c:'\u5b54',p:'kong',rank:25},{c:'\u66f9',p:'cao',rank:26},{c:'\u4e25',p:'yan',rank:27},{c:'\u534e',p:'hua',rank:28},\n{c:'\u91d1',p:'jin',rank:29},{c:'\u9b4f',p:'wei',rank:30},{c:'\u9676',p:'tao',rank:31},{c:'\u59dc',p:'jiang',rank:32},\n{c:'\u621a',p:'qi',rank:33},{c:'\u8c22',p:'xie',rank:34},{c:'\u90b9',p:'zou',rank:35},{c:'\u55bb',p:'yu',rank:36},\n{c:'\u67cf',p:'bai',rank:37},{c:'\u6c34',p:'shui',rank:38},{c:'\u7aa6',p:'dou',rank:39},{c:'\u7ae0',p:'zhang',rank:40},\n{c:'\u4e91',p:'yun',rank:41},{c:'\u82cf',p:'su',rank:42},{c:'\u6f58',p:'pan',rank:43},{c:'\u845b',p:'ge',rank:44},\n{c:'\u595a',p:'xi',rank:45},{c:'\u8303',p:'fan',rank:46},{c:'\u5f6d',p:'peng',rank:47},{c:'\u90ce',p:'lang',rank:48},\n{c:'\u9c81',p:'lu',rank:49},{c:'\u97e6',p:'wei',rank:50},{c:'\u660c',p:'chang',rank:51},{c:'\u9a6c',p:'ma',rank:52},\n{c:'\u82d7',p:'miao',rank:53},{c:'\u51e4',p:'feng',rank:54},{c:'\u82b1',p:'hua',rank:55},{c:'\u65b9',p:'fang',rank:56},\n{c:'\u4fde',p:'yu',rank:57},{c:'\u4efb',p:'ren',rank:58},{c:'\u8881',p:'yuan',rank:59},{c:'\u67f3',p:'liu',rank:60},\n{c:'\u9146',p:'feng',rank:61},{c:'\u9c8d',p:'bao',rank:62},{c:'\u53f2',p:'shi',rank:63},{c:'\u5510',p:'tang',rank:64},\n{c:'\u8d39',p:'fei',rank:65},{c:'\u5ec9',p:'lian',rank:66},{c:'\u5c91',p:'cen',rank:67},{c:'\u859b',p:'xue',rank:68},\n{c:'\u96f7',p:'lei',rank:69},{c:'\u8d3a',p:'he',rank:70},{c:'\u502a',p:'ni',rank:71},{c:'\u6c64',p:'tang',rank:72},\n{c:'\u6ed5',p:'teng',rank:73},{c:'\u6bb7',p:'yin',rank:74},{c:'\u7f57',p:'luo',rank:75},{c:'\u6bd5',p:'bi',rank:76},\n{c:'\u90dd',p:'hao',rank:77},{c:'\u90ac',p:'wu',rank:78},{c:'\u5b89',p:'an',rank:79},{c:'\u5e38',p:'chang',rank:80},\n{c:'\u4e50',p:'yue',rank:81},{c:'\u4e8e',p:'yu',rank:82},{c:'\u65f6',p:'shi',rank:83},{c:'\u5085',p:'fu',rank:84},\n{c:'\u76ae',p:'pi',rank:85},{c:'\u535e',p:'bian',rank:86},{c:'\u9f50',p:'qi',rank:87},{c:'\u5eb7',p:'kang',rank:88},\n{c:'\u4f0d',p:'wu',rank:89},{c:'\u4f59',p:'yu',rank:90},{c:'\u5143',p:'yuan',rank:91},{c:'\u535c',p:'bu',rank:92},\n{c:'\u987e',p:'gu',rank:93},{c:'\u5b5f',p:'meng',rank:94},{c:'\u5e73',p:'ping',rank:95},{c:'\u9ec4',p:'huang',rank:96},\n{c:'\u548c',p:'he',rank:97},{c:'\u7a46',p:'mu',rank:98},{c:'\u8427',p:'xiao',rank:99},{c:'\u5c39',p:'yin',rank:100},\n{c:'\u59da',p:'yao',rank:101},{c:'\u90b5',p:'shao',rank:102},{c:'\u6e5b',p:'zhan',rank:103},{c:'\u6c6a',p:'wang',rank:104},\n{c:'\u7941',p:'qi',rank:105},{c:'\u6bdb',p:'mao',rank:106},{c:'\u79b9',p:'yu',rank:107},{c:'\u72c4',p:'di',rank:108},\n{c:'\u7c73',p:'mi',rank:109},{c:'\u8d1d',p:'bei',rank:110},{c:'\u660e',p:'ming',rank:111},{c:'\u81e7',p:'zang',rank:112},\n{c:'\u8ba1',p:'ji',rank:113},{c:'\u4f0f',p:'fu',rank:114},{c:'\u6210',p:'cheng',rank:115},{c:'\u6234',p:'dai',rank:116},\n{c:'\u8c08',p:'tan',rank:117},{c:'\u5b8b',p:'song',rank:118},{c:'\u8305',p:'mao',rank:119},{c:'\u5e9e',p:'pang',rank:120},\n{c:'\u718a',p:'xiong',rank:121},{c:'\u7eaa',p:'ji',rank:122},{c:'\u8212',p:'shu',rank:123},{c:'\u5c48',p:'qu',rank:124},\n{c:'\u9879',p:'xiang',rank:125},{c:'\u795d',p:'zhu',rank:126},{c:'\u8463',p:'dong',rank:127},{c:'\u6881',p:'liang',rank:128},\n{c:'\u675c',p:'du',rank:129},{c:'\u962e',p:'ruan',rank:130},{c:'\u84dd',p:'lan',rank:131},{c:'\u95f5',p:'min',rank:132},\n{c:'\u5e2d',p:'xi',rank:133},{c:'\u5b63',p:'ji',rank:134},{c:'\u9ebb',p:'ma',rank:135},{c:'\u5f3a',p:'qiang',rank:136},\n{c:'\u8d3e',p:'jia',rank:137},{c:'\u8def',p:'lu',rank:138},{c:'\u5a04',p:'lou',rank:139},{c:'\u5371',p:'wei',rank:140},\n{c:'\u6c5f',p:'jiang',rank:141},{c:'\u7ae5',p:'tong',rank:142},{c:'\u989c',p:'yan',rank:143},{c:'\u90ed',p:'guo',rank:144},\n{c:'\u6885',p:'mei',rank:145},{c:'\u76db',p:'sheng',rank:146},{c:'\u6797',p:'lin',rank:147},{c:'\u5201',p:'diao',rank:148},\n{c:'\u949f',p:'zhong',rank:149},{c:'\u5f90',p:'xu',rank:150},{c:'\u90b1',p:'qiu',rank:151},{c:'\u9a86',p:'luo',rank:152},\n{c:'\u9ad8',p:'gao',rank:153},{c:'\u590f',p:'xia',rank:154},{c:'\u8521',p:'cai',rank:155},{c:'\u7530',p:'tian',rank:156},\n{c:'\u6a0a',p:'fan',rank:157},{c:'\u80e1',p:'hu',rank:158},{c:'\u51cc',p:'ling',rank:159},{c:'\u970d',p:'huo',rank:160},\n{c:'\u865e',p:'yu',rank:161},{c:'\u4e07',p:'wan',rank:162},{c:'\u652f',p:'zhi',rank:163},{c:'\u67ef',p:'ke',rank:164},\n{c:'\u661d',p:'zan',rank:165},{c:'\u7ba1',p:'guan',rank:166},{c:'\u5362',p:'lu',rank:167},{c:'\u83ab',p:'mo',rank:168},\n{c:'\u7ecf',p:'jing',rank:169},{c:'\u623f',p:'fang',rank:170},{c:'\u88d8',p:'qiu',rank:171},{c:'\u7f2a',p:'miao',rank:172},\n{c:'\u5e72',p:'gan',rank:173},{c:'\u89e3',p:'xie',rank:174},{c:'\u5e94',p:'ying',rank:175},{c:'\u5b97',p:'zong',rank:176},\n{c:'\u4e01',p:'ding',rank:177},{c:'\u5ba3',p:'xuan',rank:178},{c:'\u8d32',p:'ben',rank:179},{c:'\u9093',p:'deng',rank:180},\n{c:'\u90c1',p:'yu',rank:181},{c:'\u5355',p:'shan',rank:182},{c:'\u676d',p:'hang',rank:183},{c:'\u6d2a',p:'hong',rank:184},\n{c:'\u5305',p:'bao',rank:185},{c:'\u8bf8',p:'zhu',rank:186},{c:'\u5de6',p:'zuo',rank:187},{c:'\u77f3',p:'shi',rank:188},\n{c:'\u5d14',p:'cui',rank:189},{c:'\u5409',p:'ji',rank:190},{c:'\u94ae',p:'niu',rank:191},{c:'\u9f9a',p:'gong',rank:192},\n{c:'\u7a0b',p:'cheng',rank:193},{c:'\u5d47',p:'ji',rank:194},{c:'\u90a2',p:'xing',rank:195},{c:'\u6ed1',p:'hua',rank:196},\n{c:'\u88f4',p:'pei',rank:197},{c:'\u9646',p:'lu',rank:198},{c:'\u8363',p:'rong',rank:199},{c:'\u8fb9',p:'bian',rank:200}\n];\n\n\/\/ \u2500\u2500 \u5168\u5c40\u5b58\u50a8\u5df2\u6838\u51c6\u7684\u5bb6\u8c31\u6620\u5c04 \u2500\u2500\n\/\/ \u2500\u2500 \u5df2\u6838\u51c6\u5bb6\u8c31\uff08\u6765\u81ea\u5185\u8054\u811a\u672c\uff0c\u96f6\u5ef6\u8fdf\uff09 \u2500\u2500\nconst approvedMap = window.__APPROVED_SURNAMES || {};\nconst approvedCount = window.__APPROVED_COUNT || 0;\n\nif (approvedCount > 0) {\nconst totalEl = document.getElementById('totalSurnames');\nif (totalEl) totalEl.textContent = (2380 + approvedCount) + '+';\n}\n\n\/\/ \u2500\u2500 \u6e32\u67d3\u59d3\u6c0f\u7f51\u683c \u2500\u2500\nfunction renderSurnameGrid() {\nconst grid = document.getElementById('surnameGrid');\nconst fragment = document.createDocumentFragment();\n\nsurnames.forEach(s => {\nconst a = document.createElement('a');\na.id = 'surname-' + s.p;\na.className = 'surname-card';\n\/\/ \u5148\u4f7f\u7528\u9ed8\u8ba4\u94fe\u63a5\uff0c\u540e\u7eed check \u4f1a\u8986\u76d6\na.href = `http:\/\/91.91grjp.store\/index.php?route=\/tree\/${s.p}`;\na.title = `\u67e5\u770b${s.c}\u6c0f\u5bb6\u8c31`;\na.dataset.surname = s.c;\na.dataset.pinyin = s.p;\n\na.innerHTML = `\n<span class=\"surname-badge\">\u5df2\u4e0a\u7ebf<\/span>\n<div class=\"surname-char\">${s.c}<\/div>\n<div class=\"surname-pinyin\">${s.p}<\/div>\n<div class=\"surname-link\">\u70b9\u51fb\u67e5\u770b<\/div>\n`;\n\nif (approvedMap[s.c]) {\na.href = approvedMap[s.c].url;\na.target = '_blank';\na.dataset.approved = '1';\na.classList.add('has-link');\na.title = `\u67e5\u770b${s.c}\u6c0f\u5bb6\u8c31 - ${approvedMap[s.c].url}`;\n}\n\nfragment.appendChild(a);\n});\n\ngrid.appendChild(fragment);\ngrid.addEventListener('click', e => {\nconst card = e.target.closest('.surname-card');\nif (card) console.log(`\u7528\u6237\u70b9\u51fb\u4e86${card.dataset.surname}\u6c0f\u5bb6\u8c31`);\n});\n}\n\n\/\/ \u2500\u2500 \u6e32\u67d3\u70ed\u95e8\u59d3\u6c0f \u2500\u2500\nfunction renderHotSurnames() {\nconst hot = document.getElementById('hotSurnames');\nconst fragment = document.createDocumentFragment();\nconst hotList = [\n{c:'\u5f20',rank:1},{c:'\u738b',rank:2},{c:'\u674e',rank:3},{c:'\u5218',rank:4},{c:'\u9648',rank:5},\n{c:'\u6768',rank:6},{c:'\u8d75',rank:7},{c:'\u9ec4',rank:8},{c:'\u5468',rank:9},{c:'\u5434',rank:10},\n{c:'\u5f90',rank:11},{c:'\u5b59',rank:12},{c:'\u80e1',rank:13},{c:'\u6731',rank:14},{c:'\u90ed',rank:15},\n{c:'\u4f55',rank:16},{c:'\u9ad8',rank:17},{c:'\u6797',rank:18},{c:'\u7f57',rank:19},{c:'\u90d1',rank:20},\n{c:'\u6881',rank:21},{c:'\u8c22',rank:22},{c:'\u5b8b',rank:23},{c:'\u5510',rank:24},{c:'\u8bb8',rank:25},\n{c:'\u97e9',rank:26},{c:'\u9093',rank:27},{c:'\u51af',rank:28},{c:'\u66f9',rank:29},{c:'\u5f6d',rank:30}\n];\nhotList.forEach(h => {\nconst btn = document.createElement('a');\nbtn.className = 'hot-btn';\nbtn.href = approvedMap[h.c] ? approvedMap[h.c].url : `\/surname\/${h.c}.html`;\nif (approvedMap[h.c]) btn.target = '_blank';\nbtn.innerHTML = `${h.c} <span class=\"rank\">#${h.rank}<\/span>`;\nfragment.appendChild(btn);\n});\nhot.appendChild(fragment);\n}\n\n\/\/ \u2500\u2500 \u641c\u7d22 \u2500\u2500\nfunction doSearch() {\nconst q = document.getElementById('searchInput').value.trim();\nconst resultDiv = document.getElementById('searchResult');\nif (!q) { resultDiv.style.display = 'none'; return; }\n\nfor (const s of surnames) {\nif (s.c === q || s.p.startsWith(q.toLowerCase())) {\nlet linkHtml = '';\nif (approvedMap[s.c]) {\nlinkHtml = `<a class=\"result-link\" href=\"${approvedMap[s.c].url}\" target=\"_blank\">\u67e5\u770b\u5df2\u4e0a\u7ebf\u5bb6\u8c31 \u2192<\/a>`;\n} else {\nlinkHtml = `<a class=\"result-link\" href=\"http:\/\/91.91grjp.store\/index.php?route=\/tree\/${s.p}\" target=\"_blank\">\u67e5\u770b\u5bb6\u8c31 \u2192<\/a>`;\n}\nresultDiv.innerHTML = `\n<div class=\"result-item\">\n<div class=\"result-char\">${s.c}<\/div>\n<div class=\"result-name\">${s.c}\u6c0f\u5bb6\u8c31\uff08${s.p}\uff09${approvedMap[s.c] ? '<span style=\"font-size:11px;color:var(--jade);margin-left:6px;\">\u2713 \u5df2\u4e0a\u7ebf<\/span>' : ''}<\/div>\n${linkHtml}\n<\/div>\n`;\nresultDiv.style.display = 'block';\nreturn;\n}\n}\n\nresultDiv.innerHTML = `<div style=\"padding:20px;text-align:center;color:#999;\">\u672a\u627e\u5230\"${q}\"\u6c0f\u5bb6\u8c31\uff0c<a href=\"#\" onclick=\"document.getElementById('surnameInput').value='${q}';document.querySelector('.submit-section').scrollIntoView({behavior:'smooth'});return false;\" style=\"color:var(--cinnabar);\">\u70b9\u51fb\u63d0\u4ea4<\/a><\/div>`;\nresultDiv.style.display = 'block';\n}\n\ndocument.getElementById('searchInput').addEventListener('keypress', e => {\nif (e.key === 'Enter') doSearch();\n});\n\n\/\/ \u2500\u2500 \u63d0 \u4ea4 \u2500\u2500\nasync function submitSurname() {\nconst btn = document.getElementById('submitBtn');\nconst msg = document.getElementById('submitMsg');\nconst surname = document.getElementById('surnameInput').value.trim();\nconst url = document.getElementById('urlInput').value.trim();\nconst region = document.getElementById('regionInput').value.trim();\nconst contact = document.getElementById('contactInput').value.trim();\nconst note = document.getElementById('noteInput').value.trim();\n\nmsg.innerHTML = '';\nif (!surname) { msg.innerHTML = '<span class=\"error\">\u8bf7\u586b\u5199\u59d3\u6c0f<\/span>'; return; }\nif (!url) { msg.innerHTML = '<span class=\"error\">\u8bf7\u586b\u5199\u5bb6\u8c31\u7f51\u7ad9\u5730\u5740<\/span>'; return; }\nif (!\/^https?:\\\/\\\/.+\/.test(url)) { msg.innerHTML = '<span class=\"error\">\u94fe\u63a5\u9700\u4ee5 http:\/\/ \u6216 https:\/\/ \u5f00\u5934<\/span>'; return; }\n\nbtn.disabled = true;\nbtn.textContent = '\u63d0\u4ea4\u4e2d...';\n\ntry {\nconst res = await fetch('\/?rest_route=\/genealogy\/v1\/submit', {\nmethod: 'POST',\nheaders: { 'Content-Type': 'application\/json' },\nbody: JSON.stringify({ surname, url, region, contact, note })\n});\nconst result = await res.json();\nif (result.ok) {\nmsg.innerHTML = `<span class=\"success\">\u2705 ${result.msg}<\/span>`;\ndocument.getElementById('surnameInput').value = '';\ndocument.getElementById('urlInput').value = '';\ndocument.getElementById('regionInput').value = '';\ndocument.getElementById('contactInput').value = '';\ndocument.getElementById('noteInput').value = '';\n\/\/ \u5b58\u672c\u5730\u8349\u7a3f\u9632\u4e22\nlocalStorage.removeItem('genealogy_draft');\n} else {\nmsg.innerHTML = `<span class=\"error\">\u274c ${result.msg}<\/span>`;\n}\n} catch (e) {\nmsg.innerHTML = '<span class=\"error\">\u63d0\u4ea4\u5931\u8d25\uff0c\u8bf7\u5237\u65b0\u9875\u9762\u540e\u91cd\u8bd5<\/span>';\n}\n\nbtn.disabled = false;\nbtn.textContent = '\u63d0 \u4ea4 \u5ba1 \u6838';\n}\n\n\/\/ \u2500\u2500 \u672c\u5730\u8349\u7a3f\u81ea\u52a8\u4fdd\u5b58 \u2500\u2500\n['surnameInput','urlInput','regionInput','contactInput','noteInput'].forEach(id => {\nconst el = document.getElementById(id);\nif (!el) return;\nel.addEventListener('input', () => {\nconst draft = {\nsurname: document.getElementById('surnameInput').value,\nurl: document.getElementById('urlInput').value,\nregion: document.getElementById('regionInput').value,\ncontact: document.getElementById('contactInput').value,\nnote: document.getElementById('noteInput').value\n};\nlocalStorage.setItem('genealogy_draft', JSON.stringify(draft));\n});\n});\n\n\/\/ \u2500\u2500 \u6062\u590d\u8349\u7a3f \u2500\u2500\ntry {\nconst draft = JSON.parse(localStorage.getItem('genealogy_draft'));\nif (draft) {\nconst fields = { surnameInput: 'surname', urlInput: 'url', regionInput: 'region', contactInput: 'contact', noteInput: 'note' };\nObject.entries(fields).forEach(([elId, key]) => {\nif (draft[key]) document.getElementById(elId).value = draft[key];\n});\n}\n} catch(e) {}\n\n\/\/ \u2500\u2500 \u542f\u52a8 \u2500\u2500\n\/\/ \u5185\u8054\u6570\u636e\u5df2\u52a0\u8f7d\uff0c\u76f4\u63a5\u6e32\u67d3\nrenderSurnameGrid();\nrenderHotSurnames();\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"\u4e2a\u4eba\u5bb6\u8c31-\u59d3\u6c0f\u5bb6\u8c31\u5bfc\u822a \u8c31 \u4e2a\u4eba\u5bb6\u8c31 \u767e \u5bb6 \u59d3 \u6c0f \u5bfc \u822a \ud83d\udcda\u6536\u5f55\u4e07\u59d3\u5bb6\u8c31\u00b7\u5bfb\u6839\u95ee\u7956\u00b7\u4f20\u627f\u6587\u5316 5000+\u6536 [&hellip;]","protected":false},"author":1,"featured_media":401,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-394","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.365ycs.com\/index.php\/wp-json\/wp\/v2\/pages\/394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.365ycs.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.365ycs.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.365ycs.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.365ycs.com\/index.php\/wp-json\/wp\/v2\/comments?post=394"}],"version-history":[{"count":76,"href":"https:\/\/www.365ycs.com\/index.php\/wp-json\/wp\/v2\/pages\/394\/revisions"}],"predecessor-version":[{"id":2171,"href":"https:\/\/www.365ycs.com\/index.php\/wp-json\/wp\/v2\/pages\/394\/revisions\/2171"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.365ycs.com\/index.php\/wp-json\/wp\/v2\/media\/401"}],"wp:attachment":[{"href":"https:\/\/www.365ycs.com\/index.php\/wp-json\/wp\/v2\/media?parent=394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}