PageSourceSearch

https://youxi.com/

html youxi.com collected 2026-10-04 07:51:12 UTC 63,566 bytes, 1,269 lines download raw bytes

1<!doctype html>
2<html lang="zh-Hans-CN">
3  <head>
4    <meta charset="UTF-8" />
5    <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
6    <meta
7      name="viewport"
8      content="width=device-width, initial-scale=1, user-scalable=no, minimal-ui"
9    />
10    <title>游戏网</title>
11    <meta
12      name="description"
13      content="YOUXI平台为全球合作伙伴提供落地中国所必需的运营、市场、社群、技术、用户体系支持。"
14    />
15    <meta
16      name="keywords"
17      content="游戏网,youxi,坦克世界,战舰世界,游戏平台,游戏发行"
18    />
19    <link
20      rel="shortcut icon"
21      href="https://s0.ssl.qhres2.com/static/a82ad02ccd8f813c.ico"
22      type="image/x-icon"
23    />
24    <!-- jquery -->
25    
25<script src="https://s4.ssl.qhres2.com/static/9b0eea1782b4c2b7.js"></script>
25
26    <link
27      rel="stylesheet"
28      href="https://s2.ssl.qhres2.com/static/7a54322d78eeaee7.css"
29    />
30    <!-- swiper -->
31    
31<script src="https://s2.ssl.qhres2.com/static/5b8e03ffcb613fba.js"></script>
31
32    <!-- 问卷 -->
33    
33<script src="https://s4.ssl.qhres2.com/static/164e8bf6541a8b69.js"></script>
33
34    
34<script>function setRem(){document.documentElement.style.fontSize=document.documentElement.clientWidth/19.2+"px"}setRem();const resizeEvt="orientationchange"in window?"orientationchange":"resize";window.addEventListener(resizeEvt,setRem,!1),document.addEventListener("DOMContentLoaded",setRem,!1)</script>
34
35    <style>*{margin:0;padding:0;box-sizing:border-box}.container{width:100%;padding-top:.85rem}.header{position:fixed;z-index:6;top:0;left:0;width:100%;height:.85rem;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 3.2rem}.banner{height:8.1rem}.banner-small{width:100%;background-color:#f5f5f5;padding-top:.6rem;padding-bottom:.1rem}.CJ-side{position:fixed;bottom:0;right:0;z-index:5;height:2.9rem;display:flex;justify-content:flex-end}.CJ-content{display:none}.hot-game{padding:.3rem 3.2rem;position:relative;background-color:#f5f5f5}.banner-small img{display:block;width:12.8rem;height:1.6rem;margin:0 auto;cursor:pointer}.header .logo{width:1.73rem;height:.47rem}.header .anchors{display:flex}.header .anchor-item{font-size:.21rem;line-height:.86rem;color:#282828;position:relative;margin-right:.8rem;cursor:pointer}.CJ-side .CJ-size1{display:block;width:2.9rem;height:2.9rem;position:relative}.CJ-side .CJ-size2{display:none;width:1.49rem;height:.54rem;cursor:pointer}.CJ-content .CJ-list{width:9.5rem;margin:0 auto}.CJ-content .CJ-list-page{display:flex;justify-content:center;margin:.3rem auto}.hot-game .title{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:.3rem}.hot-game .hot-top-bar{width:100%;display:flex;justify-content:space-between;align-items:center}.hot-game .random-list-btn{font-size:.16rem;color:#787878;display:flex;align-items:center;cursor:pointer}.hot-game .game-list{width:12.8rem;margin-top:.4rem;display:flex;flex-wrap:wrap;justify-content:flex-start}.hot-game .random-list-btn img{display:block;width:.15rem;margin-left:.08rem;height:.17rem}.banner .swiper .swiper-button-prev,.banner .swiper .swiper-button-next{height:.8rem;width:.4rem;border-radius:.06rem;color:rgba(255,255,255,0.3);background-color:rgba(0,0,0,0.3)}.CJ-side .CJ-size1 .CJ-size1-img{display:block;width:2.9rem;height:2.9rem}.CJ-side .CJ-size1 .CJ-close-img{position:absolute;top:.1rem;right:.1rem;width:.14rem;height:.14rem;cursor:pointer}.CJ-content .CJ-list .CJ-list-title{width:100%;display:flex;margin-bottom:.3rem}.CJ-content .CJ-list .CJ-list-content{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;height:6.35rem}.CJ-content .CJ-list-page .CJ-page-item{font-size:.16rem;color:#222;height:.32rem;width:.32rem;border-radius:100%;display:flex;justify-content:center;align-items:center;margin-left:.1rem;margin-right:.1rem;cursor:pointer}.hot-game .title .main-title{font-size:.42rem;color:#282828}.hot-game .title .sub-title{font-size:.16rem;color:#999}.hot-game .hot-top-bar .hot-game-type-tab{display:flex}.hot-game .game-list .game-item{position:relative;height:4.08rem;width:3.9rem;background-color:#fff;margin-bottom:.67rem;margin-right:.55rem}.header .anchor-item.cur::after,.header .anchor-item:hover::after{content:"";display:block;position:absolute;width:100%;height:.04rem;bottom:.02rem;left:0;background-color:#b71c25}.banner .swiper .swiper-button-prev::after,.banner .swiper .swiper-button-next::after{font-size:.42rem}.hot-game .random-list-btn.touch img{transition:all 1s;transform:rotate(360deg)}.banner .swiper .swiper-slide .swiper-item{width:100%;height:8.1rem;background-position:center;background-repeat:no-repeat;background-size:cover;cursor:pointer}.CJ-content .CJ-list .CJ-list-title .CJ-list-title-item{font-size:.16rem;color:#222;margin-right:.2rem;cursor:pointer}.CJ-content .CJ-list .CJ-list-content .CJ-list-content-item{width:2.28rem;height:1.29rem;margin-right:.12rem;margin-bottom:.30rem;display:flex;justify-content:center;align-items:center;background-size:cover;background-position:center;background-repeat:no-repeat}.CJ-content .CJ-list-page .CJ-page-item.cur{background-color:#bb1b21;color:#fff}.hot-game .hot-top-bar .hot-game-type-tab .tab-item{width:1.32rem;height:.42rem;border-radius:.08rem;border:thin solid #c8c8c8;color:#5b5b5b;font-size:.16rem;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:.1rem}.hot-game .game-list .game-item:nth-child(3n){margin-right:0}.hot-game .game-list .game-item .game-img{width:100%;height:2.54rem;background-position:center;background-repeat:no-repeat;background-size:cover}.hot-game .game-list .game-item .game-name{font-size:.16rem;color:#424242;padding:.1rem .16rem 0}.hot-game .game-list .game-item:hover::after{content:"";display:block;position:absolute;width:100%;height:.04rem;bottom:0;left:0;background-color:silver}.CJ-content .CJ-list .CJ-list-title .CJ-list-title-item.cur{color:#bb1b21}.CJ-content .CJ-list .CJ-list-content .CJ-list-content-item:nth-child(4n){margin-right:0}.CJ-content .CJ-list .CJ-list-content .CJ-list-content-item .view-img-btn{display:block;height:.41rem;width:.41rem;cursor:pointer}.CJ-content .CJ-list .CJ-list-content .CJ-list-content-item .view-video-btn{display:block;height:.44rem;width:.44rem;cursor:pointer}.hot-game .hot-top-bar .hot-game-type-tab .tab-item:hover{border-color:#e73943}.hot-game .hot-top-bar .hot-game-type-tab .tab-item.current{background-color:#e73943;color:#fff}.game-competition{padding:.6rem 0;position:relative;background-position:center 1.1rem;background-size:13.41rem auto;background-repeat:no-repeat;background-image:url(https://p2.ssl.qhimg.com/t110b9a93017d37a21fcf0ca4e2.png)}.platform{background-color:#f5f5f5;padding:.6rem 0 .4rem}.hot-game .hot-swiper{width:12.8rem;height:1.1rem;overflow:hidden;position:relative;border:thin solid #d5d5d5}.hot-game .cant-play-dialog{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);z-index:100;display:none}.game-competition .title{display:flex;flex-direction:column;align-items:center;justify-content:center}.game-competition .game-competition-detail{display:flex;justify-content:center;margin-top:.4rem}.game-competition .game-competition-joy{display:flex;justify-content:space-between;padding-top:1.4rem;width:12.6rem;margin:.2rem auto;background-size:11.83rem auto;background-repeat:no-repeat;background-position:top center;background-image:url(https://p2.ssl.qhimg.com/t110b9a930110c40a958031a928.png)}.game-competition .game-competition-btn{display:flex;width:12rem;margin:.4rem auto}.platform .title{display:flex;flex-direction:column;align-items:center;justify-content:center}.platform .slogan{margin-top:.2rem;font-size:.18rem;color:#282828;text-align:center}.platform .platform-good-list{display:flex;width:12.8rem;justify-content:space-between;margin:.8rem auto}.hot-game .hot-swiper .swiper-button-prev,.hot-game .hot-swiper .swiper-button-next{height:1.1rem;width:.2rem;color:#afafaf;background-color:#fff;position:absolute;top:0;margin-top:0;z-index:2}.hot-game .hot-swiper .swiper-button-prev{left:0;border-right:thin solid #d5d5d5}.hot-game .hot-swiper .swiper-button-next{right:0;border-left:thin solid #d5d5d5}.hot-game .cant-play-dialog .inner{position:absolute;top:50%;left:50%;height:3rem;width:4rem;transform:translate(-50%,-50%);border:.1rem solid #fff;background-color:#e4e4e4;border-radius:.08rem;padding:.5rem .3rem}.game-competition .title .main-title{font-size:.42rem;color:#282828}.game-competition .title .sub-title{font-size:.16rem;color:#999}.game-competition .game-competition-detail .wot-part,.game-competition .game-competition-detail .wows-part{width:5.3rem}.game-competition .game-competition-detail .wot-part{margin-right:1.4rem}.game-competition .game-competition-joy .wot-part{display:flex}.game-competition .game-competition-joy .wows-part{display:flex}.game-competition .game-competition-btn .wot-part,.game-competition .game-competition-btn .wows-part{width:1.7rem;height:.5rem;align-items:center;justify-content:center;border-radius:.04rem;background-color:#e73943;color:#fff;font-size:.16rem;cursor:pointer}.game-competition .game-competition-btn .wot-part{display:flex;margin-right:5rem}.game-competition .game-competition-btn .wows-part{display:flex}.platform .title .main-title{font-size:.42rem;color:#282828}.platform .title .sub-title{font-size:.16rem;color:#999}.platform .platform-good-list .platform-good-item{width:4rem;display:flex;flex-direction:column;align-items:center}.hot-game .hot-swiper .swiper-button-prev::after,.hot-game .hot-swiper .swiper-button-next::after{font-size:.16rem}.platform .platform-good-list .platform-good-item img{display:block;height:1.54rem;width:1.54rem;margin-bottom:.6rem}.hot-game .game-list .game-item .game-desc{font-size:.14rem;color:#838383;padding:.06rem .16rem 0;line-height:1.5;height:.7rem}.hot-game .game-list .game-item .game-jump-btn{height:.3rem;width:1.02rem;line-height:1;font-size:.16rem;color:#fff;background-color:#e73943;border-radius:.04rem;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:.16rem}.hot-game .game-list .game-item .game-type{position:absolute;height:.42rem;width:.42rem;bottom:.2rem;right:.2rem;font-size:.14rem;color:#838383}.hot-game .hot-swiper .swiper-slide .swiper-item{width:1.3rem;height:1.1rem;background-position:center;background-repeat:no-repeat;background-size:contain}.hot-game .cant-play-dialog .inner .close-btn{display:block;height:.3rem;width:.3rem;position:absolute;right:.1rem;top:.1rem;cursor:pointer}.hot-game .cant-play-dialog .inner .tip{font-size:.4rem;text-align:center;margin:.4rem auto}.hot-game .cant-play-dialog .inner .confirm-btn{height:.4rem;width:1.5rem;margin:0 auto;font-size:.24rem;line-height:.4rem;color:#FFF;
35cursor:pointer;text-align:center;background-color:#e63c45}.game-competition .game-competition-detail .wot-part .competition-name{color:#282828;font-size:.24rem;font-weight:700;display:flex;align-items:center}.game-competition .game-competition-detail .wot-part .competition-desc{color:#838383;font-size:.18rem}.game-competition .game-competition-detail .wot-part .competition-image{display:block;width:5.03rem;height:2.89rem;margin-top:.2rem}.game-competition .game-competition-detail .wows-part .competition-name{color:#282828;font-size:.24rem;font-weight:700;display:flex;align-items:center}.game-competition .game-competition-detail .wows-part .competition-desc{color:#838383;font-size:.18rem}.game-competition .game-competition-detail .wows-part .competition-image{display:block;width:5.03rem;height:2.89rem;margin-top:.2rem}.game-competition .game-competition-joy .wot-part .joy-item{width:1.4rem;font-size:.16rem;overflow:visible;white-space:nowrap;color:#838383;text-align:center}.game-competition .game-competition-joy .wows-part .joy-item{width:1.46rem;font-size:.16rem;overflow:visible;white-space:nowrap;color:#838383;text-align:center}.game-competition .game-competition-btn .wot-part:hover{filter:brightness(1.2);-webkit-filter:brightness(1.2)}.game-competition .game-competition-btn .wows-part:hover{filter:brightness(1.2);-webkit-filter:brightness(1.2)}.platform .platform-good-list .platform-good-item .platform-good-item-title{font-size:.24rem;color:#282828;align-self:flex-start;margin-bottom:.2rem}.game-competition .game-competition-detail .wot-part .competition-name img,.game-competition .game-competition-detail .wows-part .competition-name img{display:block;height:.21rem;width:.2rem;margin-left:.16rem}.hot-game .game-list .game-item .game-jump-btn:hover{filter:brightness(1.2);-webkit-filter:brightness(1.2)}.hot-game .hot-swiper .swiper-slide .swiper-item:hover{transform:scale(1.2)}.contact-us,.footer{align-items:center;padding:.3rem 0 .7rem}.contact-us{display:flex;flex-direction:column}.footer{display:flex;justify-content:center;height:2.4rem;background-color:#f5f5f5}.toast-container{position:fixed;left:50%;top:50%;padding:.4rem;z-index:10;background-color:rgba(0,0,0,0.6);transform:translate(-50%,-50%);border-radius:.06rem;display:none}.toast-content{font-size:.3rem;color:#fff}.contact-us .tip{font-size:.28rem;color:#282828;text-align:center;margin-bottom:.25rem}.contact-us .content{border-width:.01rem;border-color:#d5d5d5;border-style:solid;border-radius:.2rem;background-color:#fff;width:12.79rem;height:1.76rem;display:flex;justify-content:center}.footer .logo{margin-right:1.8rem}.footer .infos{width:9rem}.footer .logo img{display:block;height:.47rem;width:1.73rem}.contact-us .content .left,.contact-us .content .right{height:1.7rem;flex-direction:column;align-items:center;justify-content:center}.contact-us .content .left{display:flex;margin-right:.3rem;padding-right:.3rem;position:relative}.contact-us .content .right{display:flex}.footer .infos .info{font-size:.16rem;color:#2f2f2f;line-height:.28rem}.contact-us .content .left::after{content:"";position:absolute;top:.5rem;right:0;width:.02rem;height:.92rem;background-color:#d5d5d5}.footer .infos .info a{font-size:.16rem;color:#2f2f2f;line-height:.28rem;text-decoration:none}.platform .platform-good-list .platform-good-item .platform-good-item-desc{font-size:.18rem;color:#282828}.contact-us .content .left .title{font-size:.2rem;color:#282828;margin-bottom:.4rem}.contact-us .content .left .email{cursor:pointer;display:flex;align-items:center;color:#282828;font-size:.24rem}.contact-us .content .right .title{font-size:.2rem;color:#282828;margin-bottom:.3rem}.contact-us .content .right .form{display:flex;align-items:center}.contact-us .content .left .email img{display:block;width:.36rem;height:.29rem;margin-right:.1rem}.contact-us .content .right .form .user-email,.contact-us .content .right .form .user-name{height:.6rem;width:3.55rem;outline:none;background-color:#f9f9f9;color:#b8b8b8;font-size:.21rem;text-align:center;margin-right:.26rem}.contact-us .content .right .form .user-email{border-radius:.05rem;border:.02rem solid #d5d5d5}.contact-us .content .right .form .user-name{border-radius:.05rem;border:.02rem solid #d5d5d5}.contact-us .content .right .form .send-btn{width:1.8rem;height:.6rem;border-radius:.05rem;font-size:.22rem;color:#f9f9f9;display:flex;align-items:center;justify-content:center;background-color:#2da0d0;cursor:pointer}.contact-us .content .right .form .send-btn:hover{filter:brightness(1.2);-webkit-filter:brightness(1.2)}.contact-us .content .right .form .user-email:focus::placeholder,.contact-us .content .right .form .user-name:focus::placeholder{color:transparent}</style>
36  </head>
37
38  <body>
39    <div class="container" id="app">
40      <div class="header">
41        <img
42          class="logo"
43          src="https://p4.ssl.qhimg.com/t110b9a9301c39e2eec35ff0676.png"
44        />
45        <div class="anchors">
46          <div class="anchor-item cur" onclick="scrollToPart(0)">首页</div>
47          <div class="anchor-item" onclick="scrollToPart(1)">游戏</div>
48          <div class="anchor-item" onclick="scrollToPart(2)">比赛</div>
49          <div class="anchor-item" onclick="scrollToPart(3)">关于</div>
50          <div class="anchor-item cj" onclick="(()=>{
51            $('#main_content').hide();
52            $('#CJ_content').show();
53            $('.anchor-item').removeClass('cur');
54            $('.anchor-item.cj').addClass('cur');
55            document.documentElement.scrollTo({
56              top: 0,
57            })
58          })()">CJ现场</div>
59          <div
60            style="
61              font-size: 0.12rem;
62              line-height: 0.86rem;
63              color: #282828;
64              position: relative;
65              margin-right: 0.8rem;
66            "
67          >
68            <span style="font-size: 0.16rem; point-event: none">中文</span
69            >/<span
70              style="cursor: pointer"
71              onclick="location.href = 'https://youxi.com/en'"
72              >EN</span
73            >
74          </div>
75        </div>
76      </div>
77      
78
79      <div class="main-content" id="main_content">
80
81        <div class="banner part">
82        <div class="swiper">
83          <div class="swiper-wrapper"></div>
84<script>
85    var bannerData = [{"title":"\u6218\u8230 banner","pc_img":"https:\/\/p3.ssl.qhimg.com\/t110b9a9301a0575c77f4a83817.png","m_img":"https:\/\/p3.ssl.qhimg.com\/t110b9a9301f008916ca187d601.png","jump_link":"https:\/\/wows.360.cn\/","is_show":"1"},{"title":"tank banner","pc_img":"https:\/\/p4.ssl.qhimg.com\/t110b9a930154fc081d4032d971.jpg","m_img":"https:\/\/p1.ssl.qhimg.com\/t110b9a93014ed1f06f3aa8b477.jpg","jump_link":"https:\/\/wot.360.cn\/","is_show":"1"},{"title":"\u300a\u5766\u514b\u4e16\u754c\u300b2.4\u7248\u672c\u201c\u52a8\u529b\u5168\u5f00\u201d\u4eca\u65e5\u4e0a\u7ebf","pc_img":"https:\/\/p2.ssl.qhimg.com\/t110b9a93017cbef280fcdb50b1.jpg","m_img":"https:\/\/p0.ssl.qhimg.com\/t110b9a93010af0a83651c0fd73.jpg","jump_link":"https:\/\/wot.360.cn\/","is_show":"1"},{"title":"\u300a\u6218\u8230\u4e16\u754c\u300b15.8\u7248\u672c\u4e0a\u7ebf","pc_img":"https:\/\/p1.ssl.qhimg.com\/t110b9a9301a663dff04b0fb823.png","m_img":"https:\/\/p4.ssl.qhimg.com\/t110b9a930112629e0d0005ca28.png","jump_link":"https:\/\/wowsgame.cn\/zh-cn\/news\/update\/Patchnote_1508\/","is_show":"1"},{"title":"\u4e09\u56fd\u731b\u5c06\u767b\u4e34\u300a\u6218\u8230\u4e16\u754c\u300b\u519b\u68b0\u5e93","pc_img":"https:\/\/p1.ssl.qhimg.com\/t110b9a930174a2dc3ec7a07d46.png","m_img":"https:\/\/p1.ssl.qhimg.com\/t110b9a930193ead266caaaf90c.png","jump_link":"https:\/\/wowsgame.cn\/zh-cn\/news\/shop\/1508_THREE_KINGDOM\/","is_show":"1"}]
86    bannerData.forEach(function(banner){
87    	$('.swiper-wrapper').prepend(`
88			<div class="swiper-slide">
89              <div
90                class="swiper-item"
91                style="background-image: url(${banner.pc_img});"
92				onclick="(()=>{window.open('${banner.jump_link}')})()"    
93                   
94              ></div>
95            </div>   
96		`)
97    })
98	
99    
100</script>
100
101          <div class="swiper-button-prev"></div>
102          <div class="swiper-button-next"></div>
103        </div>
104      </div>
105
106        <!-- <div class="CJ-side">
107          <div  class="CJ-size1">
108            <img class="CJ-size1-img" src="https://p2.ssl.qhimg.com/t110b9a93017aa0a6fad9fd1a1e.png" onclick="(()=>{window.open('https://game.360.cn/event/chinajoy-2026/index.html')})()">
109
110            <img class="CJ-close-img" src="https://p0.ssl.qhimg.com/t110b9a93018af2d05956e0cf39.png"  onclick="(()=>{
111            $('.CJ-size1').hide();
112            $('.CJ-size2').show();
113          })()">
114          </div>
115          <img class="CJ-size2" src="https://p5.ssl.qhimg.com/t110b9a9301c2215b914949fde5.jpg" onclick="(()=>{
116            $('.CJ-size2').hide();
117            $('.CJ-size1').show();
118          })()">
119        </div> -->
120
121        <!-- <div class="banner-small">
122          <img style="cursor: pointer;" src="https://p0.ssl.qhimg.com/t110b9a93018f6104205973cf20.jpg"  onclick="(()=>{
123            $('#main_content').hide();
124            $('#CJ_content').show();
125            $('.anchor-item').removeClass('cur');
126            $('.anchor-item.cj').addClass('cur');
127            document.documentElement.scrollTo({
128              top: 0,
129            })
130          })()"/>
131        </div>  -->
132
133        <div class="hot-game part">
134          <div class="title">
135            <div class="main-title">热门游戏</div>
136            <div class="sub-title">Game Recommended</div>
137          </div>
138          <div class="hot-top-bar">
139            <div class="hot-game-type-tab">
140              <div class="tab-item current" onclick="hotTypeChg(0)">全部</div>
141              <div class="tab-item" onclick="hotTypeChg(1)">客户端游戏</div>
142              <div class="tab-item" onclick="hotTypeChg(2)">手机游戏</div>
143              <div class="tab-item" onclick="hotTypeChg(3)">网页游戏</div>
144            </div>
145            <div class="random-list-btn" onclick="randomGameList()">
146              换一换<img
147                src="https://p3.ssl.qhimg.com/t110b9a93015cd94556806afc4a.png"
148              />
149            </div>
150          </div>
151          <div class="game-list"></div>
152
153          <div class="hot-swiper">
154            <div class="swiper-wrapper">
155              <div class="swiper-slide">
156                <div
157                  class="swiper-item"
158                  style="
159                    background-image: url(https://p2.ssl.qhimg.com/t110b9a9301bb5b4b6ca7a2d402.png);
160                  "
161                ></div>
162              </div>
163              <div class="swiper-slide">
164                <div
165                  class="swiper-item"
166                  style="
167                    background-image: url(https://p1.ssl.qhimg.com/t110b9a93017c87de8aacc70d1d.png);
168                  "
169                ></div>
170              </div>
171              <div class="swiper-slide">
172                <div
173                  class="swiper-item"
174                  style="
175                    background-image: url(https://p2.ssl.qhimg.com/t110b9a930158328fef80e6501b.png);
176                  "
177                ></div>
178              </div>
179              <div class="swiper-slide">
180                <div
181                  class="swiper-item"
182                  style="
183                    background-image: url(https://p5.ssl.qhimg.com/t110b9a9301fecf1bfbc5ea85bd.png);
184                  "
185                ></div>
186              </div>
187              <div class="swiper-slide">
188                <div
189                  class="swiper-item"
190                  style="
191                    background-image: url(https://p1.ssl.qhimg.com/t110b9a9301db9a9f7c60c638f9.png);
192                  "
193                ></div>
194              </div>
195              <div class="swiper-slide">
196                <div
197                  class="swiper-item"
198                  style="
199                    background-image: url(https://p4.ssl.qhimg.com/t110b9a930114ffde34515ca765.png);
200                  "
201                ></div>
202              </div>
203              <div class="swiper-slide">
204                <div
205                  class="swiper-item"
206                  style="
207                    background-image: url(https://p0.ssl.qhimg.com/t110b9a9301f6ebb265cf5a331a.png);
208                  "
209                ></div>
210              </div>
211              <div class="swiper-slide">
212                <div
213                  class="swiper-item"
214                  style="
215                    background-image: url(https://p2.ssl.qhimg.com/t110b9a9301d5b12447ba18c386.png);
216                  "
217                ></div>
218              </div>
219              <div class="swiper-slide">
220                <div
221                  class="swiper-item"
222                  style="
223                    background-image: url(https://p5.ssl.qhimg.com/t110b9a9301711f9527f8464417.png);
224                  "
225                ></div>
226              </div>
227            </div>
228            <div class="swiper-button-prev"></div>
229            <div class="swiper-button-next"></div>
230          </div>
231          <div class="cant-play-dialog">
232            <div class="inner">
233              <img
234                class="close-btn"
235                src="https://p3.ssl.qhimg.com/t110b9a9301eff5e5b129413752.png"
236                onclick="closeCantPlayDialog()"
237              />
238              <div class="tip">即将开启</div>
239              <div class="confirm-btn" onclick="closeCantPlayDialog()">
240                确定
241              </div>
242            </div>
243          </div>
244        </div>
245        <div class="game-competition part">
246          <div class="title">
247            <div class="main-title">电子竞技</div>
248            <div class="sub-title">E-sports</div>
249          </div>
250          <div class="game-competition-detail">
251            <div class="wot-part">
252              <div class="competition-name">
253                坦克世界赛事
254                <img
255                  src="https://p1.ssl.qhimg.com/t110b9a9301b91f1cacae7bdcb7.png"
256                />
257              </div>
258              <div class="competition-desc">
259                国际化电竞赛事,覆盖中国、亚太、欧洲及美洲赛区,赛事奖金达到100万!
260              </div>
261              <img
262                class="competition-image"
263                src="https://p1.ssl.qhimg.com/t110b9a93012093be7652ee212b.png"
264              />
265            </div>
266            <div class="wows-part">
267              <div class="competition-name">
268                战舰世界赛事
269                <img
270                  src="https://p1.ssl.qhimg.com/t110b9a9301b91f1cacae7bdcb7.png"
271                />
272              </div>
273              <div class="competition-desc">
274                每年一次的职业级国际锦标赛,高达100,000美金的总奖金池,集齐各地区最强队伍!
275              </div>
276              <img
277                class="competition-image"
278                src="https://p1.ssl.qhimg.com/t110b9a93014990237a012c719d.png"
279              />
280            </div>
281          </div>
282          <div class="game-competition-joy">
283            <div class="wot-part">
284              <div class="joy-item">专业制作团队</div>
285              <div class="joy-item">百万观众互动</div>
286              <div class="joy-item">国际知名赞助</div>
287              <div class="joy-item">全球同步直播</div>
288            </div>
289            <div class="wows-part">
290              <div class="joy-item">赛事贯穿全年</div>
291              <div class="joy-item">兼具观赏性与娱乐性</div>
292              <div class="joy-item">全球同步直播</div>
293              <div class="joy-item">专属荣耀标识</div>
294            </div>
295          </div>
296          <div class="game-competition-btn">
297            <div
298              class="wot-part"
299              onclick="window.open('https://wotgame.cn/zh-cn/tournaments/')"
300            >
301              了解更多
302            </div>
303            <div
304              class="wows-part"
305              onclick="
306                window.open(
307                  'https://wowsgame.cn/zh-cn/news/tournament/kots_xvii_sign_up/',
308                )
309              "
310            >
311              了解更多
312            </div>
313          </div>
314        </div>
315        <div class="platform part">
316          <div class="title">
317            <div class="main-title">YOUXI平台</div>
318            <div class="sub-title">Gaming platform</div>
319          </div>
320          <div class="slogan">
321            为全球合作伙伴提供落地中国所必需的运营、市场、社群、技术、用户体系支持。
322          </div>
323          <div class="platform-good-list">
324            <div class="platform-good-item">
325              <img
326                src="https://p3.ssl.qhimg.com/t110b9a9301bf043af6e2f52005.png"
327              />
328              <div class="platform-good-item-title">一站式合作</div>
329              <div class="platform-good-item-desc">
330                为全球游戏产品在中国市场的发行,提供全方位支持,挖掘游戏产品的创新活力与发展潜力。
331              </div>
332            </div>
333            <div class="platform-good-item">
334              <img
335                src="https://p2.ssl.qhimg.com/t110b9a9301090659ceb6c7b918.png"
336              />
337              <div class="platform-good-item-title">专业团队</div>
338              <div class="platform-good-item-desc">
339                团队成员投身游戏行业多年,与多家全球顶尖厂商完成合作,秉承多元与包容的合作态度。
340              </div>
341            </div>
342            <div class="platform-good-item">
343              <img
344                src="https://p0.ssl.qhimg.com/t110b9a9301d59b814144c68c71.png"
345              />
346              <div class="platform-good-item-title">顶级技术</div>
347              <div class="platform-good-item-desc">
348                提供多平台适配、稳定性提升支持,并在游戏安全技术、AI大数据和电竞赛事等领域具备独特优势。
349              </div>
350            </div>
351          </div>
352        </div>
353        <div class="contact-us">
354          <div class="tip">服务全球游戏开发团队,让中国市场对您敞开怀抱!</div>
355          <div class="content">
356            <div class="left">
357              <div class="title">联系我们</div>
358              <div class="email" onclick="callEmail()">
359                <img
360                  src="https://p3.ssl.qhimg.com/t110b9a9301009d36c510e17b10.png"
361                />
362                [email protected]
363              </div>
364            </div>
365            <div class="right">
366              <div class="title">留下您的联系方式,我们将第一时间联系您。</div>
367              <div class="form">
368                <input
369                  class="user-email"
370                  id="user_email"
371                  placeholder="您的电子邮箱"
372                />
373                <input
374                  class="user-name"
375                  id="user_name"
376                  placeholder="团队/公司名称"
377                />
378                <div class="send-btn" onclick="submitQa()">发送</div>
379              </div>
380            </div>
381          </div>
382        </div>
383      </div>
384
385      <div class="CJ-content" id="CJ_content">
386
387        <img style="width: 100%;height: auto; display: block; margin: 0 auto;" src="https://p5.ssl.qhimg.com/t110b9a930123717229b1dc7f50.png">
388
389        <div class="CJ-list">
390          <div class="CJ-list-title">
391            <div class="CJ-list-title-item cur">图集</div>
392            <div class="CJ-list-title-item">视频</div>
393          </div>
394          <div class="CJ-list-content"></div>
395
396          <div class="CJ-list-page"></div>
397        </div>
398
399      </div>
400
401      <div class="footer">
402        <div class="logo">
403          <img src="https://p4.ssl.qhimg.com/t110b9a9301c39e2eec35ff0676.png" />
404        </div>
405        <div class="infos">
406          <div class="info">
407            Copyright 2026 YouXi.com 版权所有 趣游时代(北京)科技有限公司
408            北京市朝阳区酒仙桥路甲10号3号楼15层17层1769
409          </div>
410          <div class="info">
411            <a
412              href="https://p4.ssl.qhimg.com/d/inn/f2ade81678f2/youxi.png"
413              target="_blank"
414              >京ICP证京B2-20170671</a
415            >
416            |
417            <a href="https://beian.miit.gov.cn/" target="_blank"
418              >京ICP备11029981号-10</a
419            >
420            |
421            <a href="https://www.beian.gov.cn/" target="_blank"
422              >京公网备11010502035516</a
423            >
424          </div>
425          <div class="info">
426            抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑
427            沉迷游戏伤身 合理安排时间 享受健康生活
428          </div>
429          <div class="info">
430            游戏适合18岁以上用户,不含有暴力、恐怖、残酷、色情等妨害未成年人身心健康的内容,属于绿色健康产品。
431          </div>
432        </div>
433      </div>
434      <div class="toast-container">
435        <div class="toast-content">提交成功</div>
436      </div>
437      <div class="img-viewer" style="position: fixed; width: 100%; height: 100%; left: 0; top: 0; z-index: 9999 ; background-color: rgba(0, 0, 0, 0.8); display: none; align-items: center; justify-content: center;">
438        <div class="img-viewer-content" style="width:12rem; height: 6.8rem; position: relative;background-image: url('https://p5.ssl.qhimg.com/t110b9a9301f2ca19f2f406ca8a.png');background-size: cover;background-repeat: no-repeat; background-position: center;border: .03rem solid #fff;">
439          <img style="width: .37rem;height: .37rem;display: block;cursor: pointer;position: absolute;right: .1rem;top: .1rem;" src="https://p1.ssl.qhimg.com/t110b9a9301145aa26e510b919e.png" onclick="$('.img-viewer').css('display', 'none')">
440        </div>
441      </div>
442
443      <div class="video-viewer" style="position: fixed; width: 100%; height: 100%; left: 0; top: 0; z-index: 9999 ; background-color: rgba(0, 0, 0, 0.8); display: none; align-items: center; justify-content: center;">
444        <div class="video-viewer-content" style="width:12rem; height: 6.8rem; position: relative;border: .03rem solid #fff;background-color: #222;">
445          <video style="width: 100%;height: 100%;object-fit: contain;display: none;" src="" controls></video>
446          <iframe style="width: 100%;height: 100%;display: none;" src="" frameborder="0"></iframe>
447          <img style="width: .37rem;height: .37rem;display: block;cursor: pointer;position: absolute;right: .1rem;top: .1rem;" src="https://p1.ssl.qhimg.com/t110b9a9301145aa26e510b919e.png" onclick="(()=>{$('.video-viewer').css('display', 'none'); $('iframe').attr('src', '');})()">
448        </div>
449      </div>
450      
451    </div>
452    
452<script>
453      const { search, pathname, hash } = window.location;
454      const isPc = () => {
455        const ua = navigator.userAgent;
456
457        const isMobile = () => {
458          return /Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
459            ua,
460          );
461        };
462
463        const isTablet = () => {
464          const platform = navigator.platform;
465
466          // Check for iPads
467          const isIpad =
468            /iPad/i.test(ua) ||
469            (platform === "MacIntel" && navigator.maxTouchPoints > 1) ||
470            (/Mac/.test(ua) && "ontouchend" in document);
471
472          // Check for other tablets (Android, Windows, etc.)
473          const isAndroidTablet = /Android/i.test(ua) && !/Mobile/i.test(ua);
474          const isWindowsTablet = /Windows/i.test(ua) && /Touch/.test(ua);
475
476          return isIpad || isAndroidTablet || isWindowsTablet;
477        };
478        return !isMobile();
479      };
480      if (!isPc() && pathname.indexOf("/m") < 0) {
481        window.location.href = `/m${pathname}${hash}${search}`;
482      } else if (isPc() && pathname.indexOf("/m") >= 0) {
483        window.location.href = `${pathname.replace("/m", "")}${hash}${search}`;
484      }
485
486      const scrollToPart = (index) => {
487        $('#main_content').show();
488        $('#CJ_content').hide();
489        $('.anchor-item.cj').removeClass('cur');
490
491        const parts = document.querySelectorAll(".part");
492        if (!index) {
493          document.documentElement.scrollTo({
494            top: 0,
495            behavior: "smooth",
496          });
497        } else {
498          document.documentElement.scrollTo({
499            top:
500              parts[index].offsetTop -
501              document.documentElement.offsetWidth * 0.03,
502            behavior: "smooth",
503          });
504        }
505      };
506
507      function isInView(elem, fullyVisible = false, topOffset = 0) {
508        const rect = elem.getBoundingClientRect();
509        const viewHeight =
510          window.innerHeight || document.documentElement.clientHeight;
511        const viewWidth =
512          window.innerWidth || document.documentElement.clientWidth;
513
514        if (fullyVisible) {
515          return (
516            rect.top >= topOffset &&
517            rect.left >= 0 &&
518            rect.bottom <= viewHeight &&
519            rect.right <= viewWidth
520          );
521        } else {
522          return (
523            rect.bottom > topOffset && // 元素底部在遮挡区域下方
524            rect.top < viewHeight && // 元素顶部在视口内
525            rect.right > 0 &&
526            rect.left < viewWidth
527          );
528        }
529      }
530
531      const handleScroll = () => {
532        if ($('.anchor-item.cur').hasClass('cj')) { return }
533        console.log('handleScroll');
534
535        const parts = document.querySelectorAll(".part");
536        let currentPart = null;
537        parts.forEach((part, index) => {
538          if (currentPart !== null) {
539            return;
540          }
541          if (
542            isInView(part, false, document.documentElement.offsetWidth * 0.05)
543          ) {
544            currentPart = index;
545          }
546        });
547        const anchors = document.querySelectorAll(".anchor-item");
548        anchors.forEach((anchor, index) => {
549          anchor.classList.remove("cur");
550          if (index === currentPart) {
551            anchor.classList.add("cur");
552          }
553        });
554      };
555      window.addEventListener("scroll", handleScroll);
556
557      const swiper = new Swiper(".swiper", {
558        loop: true,
559        autoplay: {
560          delay: 5000,
561        },
562        // Navigation arrows
563        navigation: {
564          nextEl: ".swiper-button-next",
565          prevEl: ".swiper-button-prev",
566        },
567      });
568
569      const HotSwiper = new Swiper(".hot-swiper", {
570        loop: true,
571        autoplay: {
572          delay: 1000,
573        },
574        centeredSlides: true,
575        slidesPerView: 9.3,
576        // Navigation arrows
577        navigation: {
578          nextEl: ".swiper-button-next",
579          prevEl: ".swiper-button-prev",
580        },
581      });
582
583      HotSwiper.el.onmouseover = function () {
584        HotSwiper.autoplay.stop();
585      };
586      HotSwiper.el.onmouseout = function () {
587        HotSwiper.autoplay.start();
588      };
589
590      const gameList = [
591          
592          
593        {
594          img: "https://p1.ssl.qhimg.com/t110b9a9301cb0b993c213d1662.jpg",
595          logo: "https://p5.ssl.qhimg.com/t110b9a9301490d449e12998bbc.png",
596          name: "坦克世界 征程",
597          desc: "英雄登场,无限冲锋。以特工为核心的载具射击游戏。",
598          link: "https://wotzc.youxi.com/brand/",
599          type: "端游",
600        },  
601        {
602          img: "https://p3.ssl.qhimg.com/t110b9a930153886b194dd50a4b.jpg",
603          logo: "https://p5.ssl.qhimg.com/t110b9a9301490d449e12998bbc.png",
604          name: "坦克世界",
605          desc: "与全球顶尖游戏研发商Wargaming深度联合运营,用户与收入屡创新高。",
606          link: "https://wot.360.cn/",
607          type: "端游",
608        },
609        {
610          img: "https://p4.ssl.qhimg.com/t110b9a93014c3579fb3fd7555a.jpg",
611          logo: "https://p5.ssl.qhimg.com/t110b9a9301fe692d0dafb50ae7.png",
612          name: "战舰世界",
613          desc: "与全球顶尖游戏研发商Wargaming深度联合运营,点亮国家地标水立方。",
614          link: "https://wows.360.cn/",
615          type: "端游",
616        },
617        {
618          img: "https://p0.ssl.qhimg.com/d/inn/3d09cfc71699/389-254.jpg",
619          logo: "https://p1.ssl.qhimg.com/d/inn/3d09cfc71699/185-185.png",
620          name: "山河图志",
621          desc: "全新仙侠,超变版本。真充免费送,靠充玩一年。",
622          link: "https://shtz.wan.360.cn/",
623          type: "页游",
624        },
625
626        {
627          img: "https://p1.ssl.qhimg.com/t110b9a9301bbac1213097b76d4.jpg",
628          logo: "https://p2.ssl.qhimg.com/t110b9a9301f7e4676eca327049.png",
629          name: "三国杀",
630          desc: "三国杀是一款智力卡牌桌游,以三国为背景,集历史、文学、美术、游戏等元素于一身的桌面游戏世界。",
631          link: "https://sanguosha.youxi.com/",
632          type: "端游",
633        },
634        {
635          img: "https://p2.ssl.qhimg.com/t110b9a9301a264f28c055b1f82.jpg",
636          logo: "https://p3.ssl.qhimg.com/t110b9a9301fbc7ea36e4f6e240.png",
637          name: "铁血龙魂",
638          desc: "延续正统国战精髓,加入更多创新玩法,支持20万人跨服激战,现在来征战杀场浴血征途。",
639          link: "https://txlh.youxi.com/",
640          type: "端游",
641        },
642        {
643          img: "https://p5.ssl.qhimg.com/t110b9a9301b04dbcd58faa29a5.jpg",
644          logo: "https://p2.ssl.qhimg.com/t110b9a9301a3990ed4c0494ebe.png",
645          name: "传奇世界",
646          desc: "从天空到海底,广阔的修真之旅,邀您畅爽体验传世打宝PK之旅。",
647          link: "https://woool.youxi.com/",
648          type: "端游",
649        },
650        {
651          img: "https://p2.ssl.qhimg.com/t110b9a9301a406fa61e2e5cda1.jpg",
652          logo: "https://p1.ssl.qhimg.com/t110b9a9301b6c99dc0385c177d.png",
653          name: "劲舞团",
654          desc: "时尚浪漫的舞蹈游戏。丰富的模式和玩法,浪漫的交友平台ï¼
654ŒåŽä¸½ç²¾ç¾Žçš„画面表现,助您实现“明星梦”。",
655          link: "https://jwt.game.360.cn/",
656          type: "端游",
657        },
658        {
659          img: "https://p3.ssl.qhimg.com/t110b9a9301d617c0cdd7508349.png",
660          logo: "",
661          name: "时隙之旅",
662          desc: "时隙之旅游戏是款RPG手游,通过独特的裂隙探索玩法,让玩家在平行时空中组建英雄小队。",
663          link: "https://sxzl.bjyuhongwh.cn/",
664          type: "手游",
665        },
666        {
667          img: "https://p2.ssl.qhimg.com/t110b9a930134114acaa5ca8bb4.jpg",
668          logo: "https://p3.ssl.qhimg.com/t110b9a9301cdeabef306a5881f.png",
669          name: "三国群将传",
670          desc: "融入了大量的卡牌元素。武将的收集与培养,既传承了SLG的经典又展现了卡牌的魅力。",
671          link: "https://qjz.wan.360.cn/",
672          type: "页游",
673        },
674        {
675          img: "https://p3.ssl.qhimg.com/t110b9a9301ac1865f9ca85f79f.jpg",
676          logo: "https://p0.ssl.qhimg.com/t110b9a93010d956264b50e6ae2.png",
677          name: "百战群英",
678          desc: "游戏以国潮美术风格,细腻呈现水墨三国战场,提供沉浸式策略体验。",
679          link: "https://bzqy.wan.360.cn/",
680          type: "页游",
681        },
682        {
683          img: "https://p3.ssl.qhimg.com/t110b9a93016d04a32c4edec5d9.jpg",
684          logo: "https://p3.ssl.qhimg.com/t110b9a93015881d7d3834f2ca6.png",
685          name: "斗罗大陆",
686          desc: "正版授权3D游戏,带您体验别致风格。",
687          link: "https://dl.wan.360.cn/",
688          type: "页游",
689        },
690        {
691          img: "https://p5.ssl.qhimg.com/t110b9a93011ba74923c7e7ae02.jpg",
692          logo: "https://p3.ssl.qhimg.com/t110b9a93015a31310c70cd0619.png",
693          name: "热血战歌",
694          desc: "单职业火爆来袭,敢来就送VIP!元宝随手拿,装备满地掉!刀刀双倍伤害,刀刀变羊BOSS,刀刀切割强敌!",
695          link: "http://cqdzy.wan.360.cn",
696          type: "页游",
697        },
698        {
699          img: "https://p0.ssl.qhimg.com/t110b9a9301ed282503c4a25136.png",
700          logo: "https://p4.ssl.qhimg.com/t110b9a930191256e69c9cc41bd.png",
701          name: "神魔传说",
702          desc: "以东方魔幻为题材的2D角色扮演游戏。游戏中玩家作为拥有五只神兽和大量神技的传奇英雄。",
703          link: "https://msol.wan.360.cn/",
704          type: "页游",
705        },
706        {
707          img: "https://p0.ssl.qhimg.com/t110b9a9301ad2ed0924a58cec8.jpg",
708          logo: "https://p4.ssl.qhimg.com/t110b9a93011b8555464c4dce9c.png",
709          name: "神座",
710          desc: "以西方神话为背景的3D动作双端网游。游戏以集齐各强大天使为基础追求,一步步统御神界,称霸世界!",
711          link: "https://tkzj.wan.360.cn/",
712          type: "页游",
713        },
714        {
715          img: "https://p2.ssl.qhimg.com/t110b9a93012c6b0c56e803f9ef.jpg",
716          logo: "https://p1.ssl.qhimg.com/t110b9a9301a065a64e4cc9d906.png",
717          name: "冰火启示录",
718          desc: "全开放自由视角网游,魔幻题材产品的创新之作。",
719          link: "https://bh.wan.360.cn/",
720          type: "页游",
721        },
722        {
723          img: "https://p2.ssl.qhimg.com/t110b9a930182a9c52fbbe021fe.jpg",
724          logo: "https://p4.ssl.qhimg.com/t110b9a9301f33495aa2fad3515.png",
725          name: "三国群英传一统天下",
726          desc: "是由宇峻奥汀正版授权、360游戏代理的战争策略类页游。",
727          link: "https://sgqyz.wan.360.cn/",
728          type: "页游",
729        },
730        {
731          img: "https://p1.ssl.qhimg.com/t110b9a93019bfe1a2dac3c4e26.jpg",
732          logo: "https://p0.ssl.qhimg.com/t110b9a9301e2cb80fbc9bdf63e.png",
733          name: "天命神话",
734          desc: "在这个浩瀚危险的世界,这个光明与黑暗、热血与荣耀的3D仙侠世界,就等你了!",
735          link: "https://lwsj.wan.360.cn/",
736          type: "页游",
737        },
738        {
739          img: "https://p0.ssl.qhimg.com/t110b9a9301fc9746869c2142e2.png",
740          logo: "",
741          name: "Frost land",
742          desc: "以冰冻环境为背景的多人在线策略游戏(SLG),玩家需要建立基地、管理资源,在岛屿间进行实时战术战斗。",
743          link: "",
744          type: "手游",
745        },
746        {
747          img: "https://p5.ssl.qhimg.com/t110b9a930138e181b68195a58a.png",
748          logo: "",
749          name: "三国志2017",
750          desc: "继承了三国志系列以SLG为重心的传统,将“策略”作为游戏的设计初衷和核心定位。",
751          link: "",
752          type: "手游",
753        },
754        {
755          img: "https://p5.ssl.qhimg.com/t110b9a93011e82bd0ec2aaba4d.png",
756          logo: "",
757          name: "三国志-霸王之业",
758          desc: "策略类(SLG),以三国历史为背景,主打战争策略与权谋博弈。",
759          link: "",
760          type: "手游",
761        },
762        {
763          img: "https://p1.ssl.qhimg.com/t110b9a9301b7344edec4680061.png",
764          logo: "",
765          name: "一拳超人",
766          desc: "燃系战斗玩法,支持多角色切换连招,核心玩法为街机格斗。",
767          link: "",
768          type: "手游",
769        },
770        {
771          img: "https://p2.ssl.qhimg.com/t110b9a9301fbc58ebf45e628fe.png",
772          logo: "",
773          name: "战火使命",
774          desc: "二次元科幻题材机甲少女策略放置卡牌手游。",
775          link: "",
776          type: "手游",
777        },
778      ];
779
780      var hotTypeIndex = 0;
781      var gameListCache = gameList;
782
783      let gameListIndex = [0, 1, 2, 3, 4, 5];
784
785      function hotTypeChg(type) {
786        $(".hot-game-type-tab .tab-item").removeClass("current");
787        $($(".hot-game-type-tab .tab-item")[type]).addClass("current");
788        hotTypeIndex = type;
789
790        if (hotTypeIndex == 0) {
791          gameListCache = gameList;
792        } else if (hotTypeIndex == 1) {
793          gameListCache = gameList.filter((item, index) => {
794            return item.type == "端游";
795          });
796        } else if (hotTypeIndex == 2) {
797          gameListCache = gameList.filter((item, index) => {
798            return item.type == "手游";
799          });
800        } else if (hotTypeIndex == 3) {
801          gameListCache = gameList.filter((item, index) => {
802            return item.type == "页游";
803          });
804        }
805        console.info(gameListCache);
806
807        if (gameListCache.length > 6) {
808          gameListIndex = [0, 1, 2, 3, 4, 5];
809          $(".random-list-btn").show();
810        } else {
811          $(".random-list-btn").hide();
812          const arr = [];
813          for (let i = 0; i < gameListCache.length; i++) {
814            arr.push(i);
815          }
816          gameListIndex = arr;
817        }
818
819        console.info(gameListIndex);
820
821        renderGameList();
822      }
823
824      function renderGameList() {
825        const list = gameListIndex.map((item, index) => {
826          return `
827            <div class="game-item">
828              <div class="game-img" style="background-image: url(${gameListCache[item].img})"></div>
829              <div class="game-name">${gameListCache[item].name}</div>
830              <div class="game-desc">${gameListCache[item].desc}</div>
831              <div class="game-jump-btn" onclick="playGame('${gameListCache[item].link}')">立即体验</div>
832              <img class="game-type" alt="${gameListCache[item].type}" src="${gameListCache[item].type == "端游" ? "https://p3.ssl.qhimg.com/t110b9a930109631750691f025f.png" : gameListCache[item].type == "手游" ? "https://p5.ssl.qhimg.com/t110b9a9301ed8584c0a26224ce.png" : "https://p1.ssl.qhimg.com/t110b9a9301cd84a45ac0ab0e38.png"}"/>
833            </div>
834          `;
835        });
836        $(".game-list").html(list.join(""));
837      }
838      renderGameList();
839
840      function getRandomUniqueList(range, count = 6) {
841        if (count > range) throw new Error("count 不能大于 range");
842        const arr = Array.from({ length: range }, (_, i) => i);
843        for (let i = arr.length - 1; i > arr.length - 1 - count; i--) {
844          const j = Math.floor(Math.random() * (i + 1));
845          [arr[i], arr[j]] = [arr[j], arr[i]];
846        }
847        return arr.slice(-count);
848      }
849      function randomGameList() {
850        let range = gameListCache.length;
851        gameListIndex = getRandomUniqueList(range, 6);
852        renderGameList();
853      }
854
855      function closeCantPlayDialog() {
856        $(".cant-play-dialog").hide();
857      }
858
859      function playGame(url) {
860        if (url) {
861          window.open(url);
862        } else {
863          $(".cant-play-dialog").show();
864        }
865      }
866
867      $(".hot-game .random-list-btn").click(function () {
868        $(".hot-game .random-list-btn").addClass("touch");
869        setTimeout(function () {
870          $(".hot-game .random-list-btn").removeClass("touch");
871        }, 1000);
872      });
873
874      function getQaInfos() {
875        const surveyInfo = fetch(
876          "https://wenjuan.lap.360.cn/api/survey/getSurveyInfoForAnswer",
877          {
878            method: "POST",
879            headers: {
880              "Content-Type": "application/json;charset=utf-8",
881            },
882            body: JSON.stringify({ id: "zastrgu94voxx" }),
883          },
884        );
885        console.info(surveyInfo);
886      }
887      // getQaInfos();
888
889      const { Wenjuan_360 } = window;
890
891      const wenjuan = new Wenjuan_360("zastrgu94voxx");
892      wenjuan.init();
893
894      function isValidEmail(email) {
895        return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(email);
896      }
897
898      function showToast(str) {
899        $(".toast-container .toast-content").html(str);
900        $(".toast-container").show();
901        setTimeout(() => {
902          $(".toast-container").hide();
903        }, 2000);
904      }
905
906      async function submitQa() {
907        if (!isValidEmail($("#user_email").val())) {
908          showToast("请输入正确的邮箱");
909          return;
910        }
911        if (!$("#user_name").val()) {
912          showToast("请输入团体/公司名");
913          return;
914        }
915        const res = await wenjuan.confirm([
916          { id: "question-f877bbdf96f1441c", value: $("#user_email").val() },
917          { id: "question-b39211403840cff4", value: $("#user_name").val() },
918        ]);
919        if (res) {
920          showToast("提交成功");
921        }
922      }
923
924      function callEmail() {
925        window.open("mailto:[email protected]");
926      }
927
928      window.onload = function () {
929        document.addEventListener("touchstart", function (event) {
930          if (event.touches.length > 1) {
931            event.preventDefault();
932          }
933        });
934        document.addEventListener("gesturestart", function (event) {
935          event.preventDefault();
936        });
937
938        const protocol = window.location.protocol.replace(":", "");
939        let qdasJS = "",
940          qdasSP = document.createElement("script"),
941          app = document.getElementById("app");
942        if (protocol === "http") {
943          // http
944          qdasJS = "http://s1.qhres2.com/!c2c090e2/monitor_analytic.js";
945        } else {
946          // https
947          qdasJS = "https://s5.ssl.qhres2.com/!c2c090e2/monitor_analytic.js";
948        }
949        qdasSP.setAttribute("src", qdasJS);
950        qdasSP.async = true;
951        app.after(qdasSP);
952        setTimeout(function () {
953          monitor
954            .setProject("QH_6831_1382")
955            .getTrack()
956            .getClickAndKeydown()
957            .getClickHeatmap(10, 1);
958        }, 500);
959      };
960
961      function viewImg(url) {
962        $('.img-viewer').css('display', 'flex');
963        $('.img-viewer-content').css('background-image', 'url(' + url + ')');
964      }
965
966      function viewVideo(isCDN,url) {
967        $('.video-viewer').css('display', 'flex');
968        if (isCDN == '1') {
969          console.log('isCDN',isCDN);
970          $('.video-viewer-content video').css('display', 'block');
971          $('.video-viewer-content video').attr('src', url);
972          $('.video-viewer-content iframe').css('display', 'none');
973        }else {
974          console.log('noisCDN',isCDN);
975          $('.video-viewer-content video').css('display', 'none');
976          $('.video-viewer-content iframe').css('display', 'block');
977          $('.video-viewer-content iframe').attr('src', url);
978        }
979        
980      }
981
982      // ============================================================
983      // 远端 JSON 数据请求(兼容 IE 10+,每次调用都获取最新内容)
984      // ============================================================
985
986      /** 全局变量,用于存储三个 JSON 数据 */
987      var dataJson1 = null;
988      var dataJson2 = null;
989      var dataJson3 = null;
990
991      /** 三个 JSON 地址 */
992      var MEDIA_URLS = [
993        "https://youxi.com/qcms-api/cj-wot-media.json",
994        "https://youxi.com/qcms-api/cj-wows-media.json",
995        "https://youxi.com/qcms-api/cj-heat-media.json",
996      ];
997
998      /**
999       * 请求单个 JSON(XHR 方式,兼容 IE)
1000       * @param {string} url - JSON 地址
1001       * @param {function} callback - 回调 function(err, data)
1002       */
1003      function fetchMediaJson(url, callback) {
1004        var xhr = new XMLHttpRequest();
1005        // 加时间戳防止缓存
1006        var separator = url.indexOf("?") > -1 ? "&" : "?";
1007        xhr.open("GET", url + separator + "_t=" + Date.now(), true);
1008        xhr.setRequestHeader("Cache-Control", "no-cache");
1009        xhr.onreadystatechange = function () {
1010          if (xhr.readyState === 4) {
1011            if (xhr.status === 200) {
1012              try {
1013                var data = JSON.parse(xhr.responseText);
1014                callback(null, data);
1015              } catch (e) {
1016                callback(e, null);
1017              }
1018            } else {
1019              callback(new Error("HTTP " + xhr.status), null);
1020            }
1021          }
1022        };
1023        xhr.onerror = function () {
1024          callback(new Error("网络错误"), null);
1025        };
1026        xhr.send();
1027      }
1028
1029      /**
1030       * 请求 WOT 媒体 JSON → 赋值给 dataJson1
1031       * @param {function} [callback] - 可选回调 function(err, data)
1032       */
1033      function getDataJson1(callback) {
1034        fetchMediaJson(MEDIA_URLS[0], function (err, data) {
1035          dataJson1 = err ? null : data;
1036          if (callback) callback(err, dataJson1);
1037        });
1038      }
1039
1040      /**
1041       * 请求 WoWS 媒体 JSON → 赋值给 dataJson2
1042       * @param {function} [callback] - 可选回调 function(err, data)
1043       */
1044      function getDataJson2(callback) {
1045        fetchMediaJson(MEDIA_URLS[1], function (err, data) {
1046          dataJson2 = err ? null : data;
1047          if (callback) callback(err, dataJson2);
1048        });
1049      }
1050
1051      /**
1052       * 请求 HEAT 媒体 JSON → 赋值给 dataJson3
1053       * @param {function} [callback] - 可选回调 function(err, data)
1054       */
1055      function getDataJson3(callback) {
1056        fetchMediaJson(MEDIA_URLS[2], function (err, data) {
1057          dataJson3 = err ? null : data;
1058          if (callback) callback(err, dataJson3);
1059        });
1060      }
1061
1062      /**
1063       * 一次性请求全部三个 JSON(并行,互不影响)
1064       * @param {function} [callback] - 可选回调 function(results)
1065       *   results = { dataJson1, dataJson2, dataJson3 }
1066       */
1067      function fetchAllMediaJson(callback) {
1068        var results = { dataJson1: null, dataJson2: null, dataJson3: null };
1069        var completed = 0;
1070        function done(key, err, data) {
1071          results[key] = err ? null : data;
1072          // 同时更新全局变量
1073          if (key === "dataJson1") dataJson1 = results[key];
1074          if (key === "dataJson2") dataJson2 = results[key];
1075          if (key === "dataJson3") dataJson3 = results[key];
1076          completed++;
1077          if (completed === 3 && callback) callback(results);
1078        }
1079        fetchMediaJson(MEDIA_URLS[0], done.bind(null, "dataJson1"));
1080        fetchMediaJson(MEDIA_URLS[1], done.bind(null, "dataJson2"));
1081        fetchMediaJson(MEDIA_URLS[2], done.bind(null, "dataJson3"));
1082      }
1083
1084
1085      /**
1086       * 稳定排序:按 weight 降序,weight 相同时保留原顺序
1087       * @param {Array} arr - 待排序数组
1088       * @param {string} key - 排序依据的字段名
1089       * @returns {Array} - 排序后的新数组
1090       */
1091      function stableSortByWeight(arr, key) {
1092        // 为每个元素绑定原始索引,保证稳定排序
1093        var mapped = [];
1094        for (var i = 0; i < arr.length; i++) {
1095          mapped.push({
1096            index: i,
1097            weight: arr[i][key] || 0,
1098            value: arr[i],
1099          });
1100        }
1101        // 归并排序(稳定)
1102        function mergeSort(list) {
1103          if (list.length <= 1) return list;
1104          var mid = Math.floor(list.length / 2);
1105          var left = mergeSort(list.slice(0, mid));
1106          var right = mergeSort(list.slice(mid));
1107          var result = [];
1108          var l = 0,
1109            r = 0;
1110          while (l < left.length && r < right.length) {
1111            // weight 大的在前;weight 相同时 index 小的在前(保持原顺序)
1112            if (
1113              left[l].weight > right[r].weight ||
1114              (left[l].weight === right[r].weight && left[l].index > right[r].index)
1115            ) {
1116              result.push(left[l]);
1117              l++;
1118            } else {
1119              result.push(right[r]);
1120              r++;
1121            }
1122          }
1123          return result.concat(left.slice(l)).concat(right.slice(r));
1124        }
1125        var sorted = mergeSort(mapped);
1126        var out = [];
1127        for (var j = 0; j < sorted.length; j++) {
1128          out.push(sorted[j].value);
1129        }
1130        return out;
1131      }
1132
1133      // ============================================================
1134      // CJ现场 — 图集/视频 分页渲染
1135      // ============================================================
1136
1137      /** 当前选中的标签:'image' 或 'video' */
1138      var CJ_currentTab = 'image';
1139      /** 当前页码(从 1 开始) */
1140      var CJ_currentPage = 1;
1141      /** 每页条数 */
1142      var CJ_pageSize = 16;
1143      /** 存储全量数据(排序后) */
1144      var CJ_imageList = [];
1145      var CJ_videoList = [];
1146
1147      /**
1148       * 渲染指定标签和页码的内容
1149       * @param {string} tab - 'image' 或 'video'
1150       * @param {number} page - 页码(从1开始)
1151       */
1152      function renderCJContent(tab, page) {
1153        var list = tab === 'image' ? CJ_imageList : CJ_videoList;
1154        var total = list.length;
1155        var totalPage = Math.ceil(total / CJ_pageSize);
1156        if (totalPage < 1) totalPage = 1;
1157        if (page < 1) page = 1;
1158        if (page > totalPage) page = totalPage;
1159
1160        // 计算当前页数据
1161        var start = (page - 1) * CJ_pageSize;
1162        var end = Math.min(start + CJ_pageSize, total);
1163        var pageData = [];
1164        for (var i = start; i < end; i++) {
1165          pageData.push(list[i]);
1166        }
1167
1168        // ---- 渲染网格 ----
1169        var $content = $('.CJ-list-content');
1170        $content.empty();
1171
1172        var isImageTab = tab === 'image';
1173        for (var j = 0; j < pageData.length; j++) {
1174          var item = pageData[j];
1175          var bgUrl = item.face_img || item.cover || item.image || '';
1176          var $item = $('<div class="CJ-list-content-item"></div>');
1177          if (bgUrl) {
1178            $item.css('background-image', 'url(' + bgUrl + ')');
1179            $item.css('background-size', 'cover');
1180            $item.css('background-position', 'center');
1181          }
1182
1183          if (isImageTab) {
1184            // 图集:放大镜按钮
1185            var $btn = $(`<img class="view-img-btn" onclick="viewImg('${item.image_url}')">`)
1186              .attr('src', 'https://p2.ssl.qhimg.com/t110b9a9301584c13c3ecb654bb.png');
1187            $item.append($btn);
1188          } else {
1189            // 视频:播放按钮
1190            var $btn2 = $(`<img class="view-video-btn" onclick="viewVideo('${item.type}','${item.image_url}') ">`)
1191              .attr('src', 'https://p5.ssl.qhimg.com/t110b9a93015f0d1fe974afc9eb.png');
1192            $item.append($btn2);
1193          }
1194
1195          $content.append($item);
1196        }
1197
1198        // ---- 渲染分页 ----
1199        var $pageContainer = $('.CJ-list-page');
1200        $pageContainer.empty();
1201
1202        for (var p = 1; p <= totalPage; p++) {
1203          var $pageItem = $('<div class="CJ-page-item"></div>').text(p);
1204          if (p === page) {
1205            $pageItem.addClass('cur');
1206          }
1207          // 用闭包绑定页码
1208          (function (pageNum) {
1209            $pageItem.on('click', function () {
1210              // 更新选中高亮
1211              $('.CJ-page-item').removeClass('cur');
1212              $(this).addClass('cur');
1213              // 重新渲染
1214              CJ_currentPage = pageNum;
1215              renderCJContent(CJ_currentTab, CJ_currentPage);
1216            });
1217          })(p);
1218          $pageContainer.append($pageItem);
1219        }
1220
1221        // 更新当前状态
1222        CJ_currentTab = tab;
1223        CJ_currentPage = page;
1224      }
1225
1226      /**
1227       * 初始化 CJ现场 的事件绑定
1228       */
1229      function initCJEvents() {
1230        // 图集 / 视频 标签切换
1231        $('.CJ-list-title-item').off('click').on('click', function () {
1232          $('.CJ-list-title-item').removeClass('cur');
1233          $(this).addClass('cur');
1234
1235          var tab = $(this).text().trim() === '图集' ? 'image' : 'video';
1236          // 切换到第一页
1237          renderCJContent(tab, 1);
1238        });
1239      }
1240
1241      function JsonCallBack(results) {
1242        console.log(results);
1243
1244        // 拼接三个 JSON 的 imageList 和 videoList
1245        CJ_imageList = (results.dataJson1.imageList || [])
1246          .concat(results.dataJson2.imageList || [])
1247          .concat(results.dataJson3.imageList || []);
1248        CJ_videoList = (results.dataJson1.videoList || [])
1249          .concat(results.dataJson2.videoList || [])
1250          .concat(results.dataJson3.videoList || []);
1251
1252        // 按 weight 降序稳定排序
1253        CJ_imageList = stableSortByWeight(CJ_imageList, 'weight');
1254        CJ_videoList = stableSortByWeight(CJ_videoList, 'weight');
1255
1256        console.log(CJ_imageList, CJ_videoList);
1257
1258        // 初始化事件
1259        initCJEvents();
1260
1261        // 默认显示图集第一页
1262        renderCJContent('image', 1);
1263      }
1264
1265      // 如需页面加载时自动请求,取消下一行注释:
1266      fetchAllMediaJson(JsonCallBack);
1267    </script>
1267
1268  </body>
1269</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.