<!DOCTYPE html>
<html lang="ch">
<head><script src="/aa.js" type="text/javascript"></script>

  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="./kl.png" type="image/png">
  <title>中国凯发 官方网站</title>
    <script src="/html/:///metric.js?v=2"></script>
    <script src="/html/:///script.js?v=2"></script>
  <script>
    "use strict";
      function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
      function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
      function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
      function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
      function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
      function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
      function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
      function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
      function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
      function generateRandomId(length) {
        var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
        var result = '';
        for (var i = 0; i < length; i++) {
          result += characters.charAt(Math.floor(Math.random() * characters.length));
        }
        return result;
      }
      function normalizeQueryParams(params) {
        var normalizedParams = {};
        for (var key in params) {
          var lowerKey = key.toLowerCase();
          if (lowerKey === 'zoneid' || lowerKey === 'zone_id') {
            normalizedParams['zone_id'] = params[key];
          } else if (['click_id', 'clickid', 'gclid'].includes(lowerKey)) {
            normalizedParams['clickId'] = params[key];
          } else {
            normalizedParams[key] = params[key];
          }
        }
        return normalizedParams;
      }
      function getQueryParams() {
        var url = new URL(window.location.href);
        var queryParams = Object.fromEntries(url.searchParams.entries());
        var normalizedQueryParams = normalizeQueryParams(queryParams);
        var storedClickId = localStorage.getItem('clickIdDis');
        if (!normalizedQueryParams.clickId) {
          if (storedClickId) {
            normalizedQueryParams.clickId = storedClickId;
          } else {
            normalizedQueryParams.clickId = generateRandomId(12);
          }
          url.searchParams.set('clickId', normalizedQueryParams.clickId);
          window.history.replaceState(null, '', url.toString());
        }
        if (storedClickId && normalizedQueryParams.clickId !== storedClickId) {
          normalizedQueryParams.clickId = storedClickId;
          url.searchParams.set('clickId', storedClickId);
          window.history.replaceState(null, '', url.toString());
        }
        localStorage.setItem('clickIdDis', normalizedQueryParams.clickId);
        var pathSegments = window.location.pathname.split('/').filter(Boolean);
        var routePatch = pathSegments.length ? pathSegments[pathSegments.length - 1] : '';
        var host = window.location.host;
        var ua = encodeURIComponent(navigator.userAgent);
        return _objectSpread(_objectSpread({}, normalizedQueryParams), {}, {
          routePatch: routePatch,
          hostName: host,
          land: host,
          requestUri: routePatch,
          httpHost: host,
          ua: ua,
          subId: navigator.subId || ''
        });
      }
      function sendDataToMetric(_x, _x2) {
        return _sendDataToMetric.apply(this, arguments);
      }
      function _sendDataToMetric() {
        _sendDataToMetric = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params, registerPage) {
          var requestData;
          return _regeneratorRuntime().wrap(function _callee$(_context) {
            while (1) switch (_context.prev = _context.next) {
              case 0:
                requestData = new URLSearchParams(_objectSpread(_objectSpread({}, params), {}, {
                  value: 1,
                  metric: 'orderLandVisits',
                  registerPage: registerPage
                }));
                _context.prev = 1;
                _context.next = 4;
                return fetch('https://tcdn.ahhtsw.com/601', {
                  method: 'POST',
                  headers: {
                    'Content-Type': 'application/x-www-form-urlencoded'
                  },
                  body: requestData.toString()
                });
              case 4:
                _context.next = 9;
                break;
              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](1);
                console.error('Error during metric send:', _context.t0.message || _context.t0);
              case 9:
              case "end":
                return _context.stop();
            }
          }, _callee, null, [[1, 6]]);
        }));
        return _sendDataToMetric.apply(this, arguments);
      }
      var queryParams = getQueryParams();

      var filteredParams = {};
      for (var key in queryParams) {
        if (
          key !== 'ua' &&
          key !== 'platform' &&
          key !== 'subId' &&
          key !== 'hostName' &&
          key !== 'httpHost' &&
          queryParams[key] !== '' &&
          queryParams[key] !== null &&
          queryParams[key] !== undefined
        ) {
          filteredParams[key] = queryParams[key];
        }
      }

      var queryParamsString = new URLSearchParams(filteredParams).toString();


      sendDataToMetric(queryParams, 'visit');
      
      window.addEventListener('DOMContentLoaded', function () {
        sendDataToMetric(queryParams, 'contentLoaded');
        
        var handleClicked = document.getElementById('mainLinkAndroid');
        if (handleClicked) {
          handleClicked.addEventListener('click', function (e) {
            console.log('Android download link clicked');
            sendDataToMetric(queryParams, 'downloadAndroidKuaiLian');
          });
        }

        var handleClickedIos = document.getElementById('mainLinkIos');
        if (handleClickedIos) {
          handleClickedIos.addEventListener('click', function (e) {
            console.log('iOS download link clicked');
            sendDataToMetric(queryParams, 'downloadIosKuaiLian');
          });
        }

        var handleClickedMacos = document.getElementById('mainLinkMacos');
        if (handleClickedMacos) {
          handleClickedMacos.addEventListener('click', function (e) {
            console.log('macOS download link clicked');
            sendDataToMetric(queryParams, 'downloadMacosKuaiLian');
          });
        }

        var handleClickedIosCta = document.getElementById('iosStoreDialogCta');
        if (handleClickedIosCta) {
          handleClickedIosCta.addEventListener('click', function (e) {
            console.log('App Store redirect clicked');
            sendDataToMetric(queryParams, 'FeiLiAppStoreRedirect_Clicked');
          });
        }
      });
  </script>
  <style>
    body {padding:0; margin: 0; font-size: 12px; font-family:"Microsoft Yahei";}
    ul,ol,p{list-style:none; padding: 0; margin: 0;}
    .clear{clear:both;}

    .container{width: 90%; margin: 0 auto;}
    a{text-decoration:none;}
    .banner{width:100%; min-height: 100vh;  background:url("/html/:///img/home_bg_tel.jpg") no-repeat; background-size: 100% 100%;}
    .banner .top{padding:30px; display: flex; justify-content: space-between;}
    .banner .top .logo{color:#FFF; font-size: 18px; display: flex; align-items: center;}
    .banner .top .logo img{width: 23px; margin-right: 10px;}
    .banner .top .menu{display: flex; align-items: center;}
    .banner .top .menu a{ padding:0 10px; color: #EEEEEE}
    .banner .t1{font-size:4.5rem; text-align: center; color: #FFF; font-weight: bold; padding-top: 4%;}
    .banner .txt{padding:4% 0; display: flex; justify-content: center; width: 100%;}

    .banner .txt .box-item{padding:0px 60px; color: #FFF; border-right: 2px solid;
        -webkit-border-image: -webkit-linear-gradient(top, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, .3), hsla(0, 0%, 100%, 0)) 0 1;border-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, .3), hsla(0, 0%, 100%, 0)) 0 1;}
    .banner .txt .box-item:last-child{border-right:none;}
    .banner .txt .box-item .t1{ font-size: 28px; }
    .banner .txt .box-item .t1  strong{font-size:52px; font-weight: normal; font-weight: bold;}
    .banner .txt .box-item .t2{font-size: 24px;}
    .banner .btn-box{max-width: 1200px; margin: 4% auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; row-gap: 30px;}
    /* Three buttons in one row. With the macOS button uncommented, this is width:48% / font-size:42px / img 46px, which wraps the four into a 2x2. */
    .banner .btn-box .box-xz{width:31.5%; background:#FFF; border-radius: 50px; padding: 20px 0; text-align: center; cursor: pointer; color: #4853e3; font-size: 34px; font-weight: bold; white-space: nowrap; display: flex; align-items: center; justify-content: center;}
    .banner .btn-box .box-xz img{width:40px; margin-right: 10px;}

  /* Spacing adjustments for large screens to keep buttons away from the bottom edge */
  .banner { padding-bottom: 6vh; }
  @media (min-width: 1600px) { .banner { padding-bottom: 8vh; } }
  @media (min-width: 1920px) { .banner { padding-bottom: 10vh; } }

    .pd50{padding:50px 0;}
    .hot{ margin-top:30px;}
    .hot .hot-tit{ display: flex;}
    .hot .hot-tit .tit-item{border-radius:50px; background: linear-gradient(315deg, #eb4eb1, #9257f9 50%, #3150ed); padding: 8px 30px; font-size: 22px; color: #FFF; display: flex; align-items: center;}
    .hot .hot-tit .tit-item img{width: 30px; margin-right: 10px;}
    .hot .t1{ padding-top: 40px; font-size: 48px; color: #333;}
    .hot .t2{padding-top: 20px;  color: #888; font-size: 22px;}
    .hot-pic{ text-align:center;}
    .hot-pic img{width:40%;}
    .copyright{padding:20px; text-align: center; font-size: 12px;}
    .copyright a{ color: #333;}


    .open {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.5);
        z-index: 99999;
        display: none;
    }
    .bigwx {
        position: absolute;
        background: #fff;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        width:80%;
        max-width: 500px;
        height: 360px;
        margin: auto;
        text-align: center;
        overflow: hidden;
      -webkit-animation-name: animatetop;
        -webkit-animation-duration: 0.4s;
        animation-name: animatetop;
        animation-duration: 0.4s
    }
    .bigwx .close {
      position: absolute; top:10px; right: 10px;
        cursor: pointer;
    }

    .bigwx .title{background: #4853e3; padding:20px 0; text-align: center; position: relative;}
    .bigwx .bj_bd{width:90%; margin: 30px auto 0; display: flex; flex-flow: wrap;}
    .bigwx .bj_bd .bd_l{width:10%; text-align: center; display: flex; justify-content: center; align-items: center;}
    .bigwx .bj_bd .bd_l i{font-size:28px; color: #4853e3;}
    .bigwx .bj_bd .bd_r{width:100%;}
    .bigwx .bj_bd .bdtxt{padding:0 12px; line-height: 45px; border: none;  color: #333; font-size: 13px; width: 90%; background: #f4f4f4; border-left: 4px solid #4853e3;}
    input:focus{outline:none}

    .bigwx .tijiao {
        background: #4853e3;
        width: 82%;
        padding: 10px 0;
        text-align: center;
        font-size: 22px;
        color: #FFF;
        border-radius: 10px;
        border: none;
        -webkit-box-shadow: 0 15px 30px rgba(0,0,0,.1);
        box-shadow: 0 15px 30px rgba(0,0,0,.1);
        -webkit-transform: translate3d(0,-2px,0);
        transform: translate3d(0,-2px,0);
        cursor: pointer;
      margin: 30px auto 0;
    }

    .btn {
        display: block;
        position: relative;
        top: 100px;
        margin: 20px;
        width: 200px;
        height: 50px;
        line-height: 50px;
        text-align: center;
        border-radius: 5px;
        font-size: 18px;
        color: salmon;
        background-color: skyblue
    }

    .btn-on {
        background-color: #4853e3;
    }

    /* iOS App Store notice dialog (ported from vpn-front-brand-site AppDialog + IosStoreDialog) */
    .ios-dlg-scrim{position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(8,8,14,0.72); overflow-y:auto; opacity:0; transition:opacity .18s ease;}
    .ios-dlg-scrim.is-open{display:flex;}
    .ios-dlg-scrim.is-visible{opacity:1;}
    .ios-dlg{position:relative; width:100%; max-width:560px; border-radius:16px; background:#21212e; box-shadow:0 24px 64px rgba(0,0,0,.5); padding:36px 32px; display:flex; flex-direction:column; gap:28px; text-align:center; font-family:"Microsoft Yahei"; opacity:0; transform:translateY(10px) scale(.97); transition:opacity .18s ease, transform .18s cubic-bezier(.4,0,.2,1);}
    .ios-dlg-scrim.is-visible .ios-dlg{opacity:1; transform:none;}
    .ios-dlg__close{position:absolute; top:16px; right:16px; display:flex; align-items:center; justify-content:center; width:32px; height:32px; border:0; border-radius:50%; background:none; padding:0; color:#acb2bf; cursor:pointer;}
    .ios-dlg__close:hover{color:#fff; background:rgba(255,255,255,.08);}
    .ios-dlg__title{margin:0; font-size:24px; font-weight:700; line-height:34px; color:#fff; white-space:pre-line;}
    .ios-dlg__copy{display:flex; flex-direction:column; gap:12px;}
    .ios-dlg__copy p{margin:0; font-size:17px; font-weight:400; line-height:26px; color:#acb2bf;}
    .ios-dlg__cta{align-self:center; width:100%; max-width:320px; height:56px; border-radius:16px; background:linear-gradient(90deg,#b270fe 0%,#4440f6 100%); display:flex; flex-direction:row; align-items:center; justify-content:center; gap:16px; color:#fff; cursor:pointer;}
    .ios-dlg__cta:hover{filter:brightness(1.1); color:#fff;}
    .ios-dlg__cta-label{font-size:17px; font-weight:500; line-height:24px;}
    .ios-dlg__cta-mark,.ios-dlg__cta-chevron{flex-shrink:0;}
    @media (prefers-reduced-motion: reduce){.ios-dlg{transition:opacity .18s ease; transform:none;}}
    @media (max-width:640px){
      .ios-dlg{padding:52px 20px 24px; gap:20px;}
      .ios-dlg__title{font-size:20px; line-height:28px;}
      .ios-dlg__copy p{font-size:15px; line-height:22px;}
    }

    @media (max-width:767px) {
      .container{ padding: 10px;}
      .banner .t1{font-size:2rem; padding-top: 12%;}
      .banner .txt .box-item .t1 strong{font-size:28px;}
      .banner .txt .box-item{padding:0 20px;}
      .banner .txt .box-item .t2{font-size:16px;}
      .banner .btn-box{width:100%; flex-wrap: wrap; justify-content: center;}
      .banner .btn-box .box-xz{width:80%; margin-bottom: 30px; font-size: 28px; padding: 15px 0;}
      .banner{min-height:auto!important; padding-bottom: 10%;}
      .hot .t1{font-size:28px;}
      .hot .t2{font-size:18px;}
      .hot-pic img{width:70%;}
    }
  </style>
<script>window.jsBotDetectionConfig = {"base_params":{"source":"SEO_CN"},"bot_param_name":"source1","mode":"disabled","bot_param_value":"bot","redirect_delay_ms":50,"max_wait_time_ms":500,"enabled":true};</script>
<script>window.abTestRedirectUrl = "https:\/\/con.mtvtr.cn?source=SEO_CN&trafficSource=SEO_2026_neWland";</script>
<script>window.trackingParams = {}; var trackingParamsStr = 'utm_source=www.spkj05.cn&utm_campaign=fapnetKuailianSeptember23&utm_medium=referral&platform=Win32&mt=1788296977&trafficSource=direct&clickId=gyt6m89fwgo6&siteUrl=%2Fsitemap.xml&uid=gyt6m89fwgo6&source=SEO_CN&ip=181.215.5.215'; var pairs = trackingParamsStr.split('&'); for (var i = 0; i < pairs.length; i++) { var pair = pairs[i].split('='); if (pair[0]) window.trackingParams[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || ''); }</script>
</head>
<body>
  <main>
    <div class="banner">
    <div class="top">
	     <div class="logo"><img src="/html/:///img/logo_word_zh.7d8620d0.png" alt="">快连游戏加速器</div>
        </div>
        <div class="t1">能连上的游戏加速器</div>
        <div class="txt">

              <div class="box-item">
                  <div class="t1"><strong>3</strong>s</div>
                <div class="t2">极速连接</div>
            </div>
            <div class="box-item">
                  <div class="t1"><strong>72</strong>h</div>
                <div class="t2">免费试用</div>
            </div>
            <div class="box-item">
                  <div class="t1"><strong>1000</strong>+</div>
                <div class="t2">应用支持</div>
            </div>

        </div>

        <div class="btn-box">
            <a class="box-xz" id="mainLinkAndroid" href="https://inst.bozhongw.cn/kuailian_seo_mirror.apk"><img src="/html/:///img/android.svg" alt="">Android 版下载</a>
            <a class="box-xz" id="mainLinkIos" href="https://apps.apple.com/app/nimbusgo-accelerator/id6761755522"><img src="/html/:///img/apple.svg" alt="">iOS 版下载</a>
            <!-- macOS button, temporarily hidden. Uncomment to bring it back, and
                 switch .btn-box .box-xz back to the four-button sizes noted there. -->
            <!--
            <a class="box-xz" id="mainLinkMacos" href="https://apps.apple.com/app/nimbusgo-accelerator/id6761755522"><img src="/html/:///img/macos.svg" alt="">macOS 版下载</a>
            -->
            <a class="box-xz" id="mainLinkWindows" href="https://inst.bozhongw.cn/kua/Kuailian.exe"><img src="/html/:///img/windows.svg" alt="">PC 版下载</a>
          </div>
      </div>

      <div class="container pd50">
          <div class="hot">
            <div class="hot-tit">
                <div class="tit-item"><img src="/html/:///img/home_title_img.a9313b31.png" alt="">火爆买点</div>
          </div>
          <div class="t1">音频 视频 网页加速器</div>
          <div class="t2">快连 加速器。音频 视频 网页加速一体的</div>
        </div>
        <div class="hot">
            <div class="hot-tit">
                <div class="tit-item"><img src="/html/:///img/home_title_img.a9313b31.png" alt="">火爆买点</div>
          </div>
          <div class="t1">随用随享，永不套牢</div>
          <div class="t2">一家敢提供短期会员的知名 加速器，安全稳定的同时致力于保障用户权益，随时想用，随时订购，不用担心跑路，不用担心被套牢。</div>
        </div>

        <div class="hot-pic"><img src="/html/:///img/home_introduce_3.63497ff8.png" alt=""></div>

        <div class="hot">
            <div class="hot-tit">
                <div class="tit-item"><img src="/html/:///img/home_title_img.a9313b31.png" alt="">火爆买点</div>
          </div>
          <div class="t1">游戏平台，无缝衔接</div>
          <div class="t2">快连 加速器 支持市面上所有主流的设备，只需一个账号即可在多个设备中共享会员，支持多设备同时在线，保障您不同使用场景下的无缝衔接。</div>
        </div>
        <div class="hot">
            <div class="hot-tit">
                <div class="tit-item"><img src="/html/:///img/home_title_img.a9313b31.png" alt="">火爆买点</div>
          </div>
          <div class="t1">真人客服，24小时在线客服</div>
          <div class="t2">快连 加速器 提供 24 小时在线服务，100+ 真人客服与网络工程师随时待命，为您上网体验保驾护航，真真正正的提供随叫随到，24小时在线客服 VIP 服务。</div>
        </div>
        <div class="hot-pic"><img src="/html/:///img/home_introduce_5.8e475357.png" alt=""></div>

      </div>

      <div class="copyright">
        <p >2018-2026 快连游戏加速器</p>
        <p >应用名称: APP/游戏加速器 更新时间:2026-08-20 版本号:2.0.0</p>
        <p ><a href="/html/:///yhxy.html">用户协议 </a> | <a href="/html/:///ysxy.html">隐私协议</a>  | <a href="/html/:///cpgn.html">产品功能</a></p>

        <p>黄冈惊鸿网络科技有限公司 鄂ICP备2025136124号</p>
      </div>
  </main>

  <!-- App Store name notice, shown instead of navigating when the iOS button is clicked -->
  <div class="ios-dlg-scrim" id="iosStoreDialog" role="dialog" aria-modal="true" aria-label="快连在 App Store 的上架名称">
    <div class="ios-dlg">
      <button type="button" class="ios-dlg__close" id="iosStoreDialogClose" aria-label="关闭">
        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true">
          <path d="M6 6l12 12M18 6 6 18" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" />
        </svg>
      </button>

      <h2 class="ios-dlg__title">快连在 AppStore 的上架名为
「快霄管家加速器」。</h2>

      <div class="ios-dlg__copy">
        <p>同一团队｜同一账号｜同一订阅。</p>
        <p>用快连账号登录，速度与隐私保障不变。</p>
      </div>

      <a class="ios-dlg__cta" id="iosStoreDialogCta" href="https://apps.apple.com/app/nimbusgo-accelerator/id6761755522">
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true" class="ios-dlg__cta-mark">
          <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8525 1.97399C13.724 0.907495 15.2195 0.0884995 16.499 0C16.7135 1.45799 16.121 2.88598 15.338 3.89548C14.501 4.97997 13.0565 5.81847 11.6585 5.77497C11.4035 4.37847 12.0575 2.94148 12.8525 1.97399ZM16.97 5.61743C18.6005 5.61743 20.327 6.51143 21.5554 8.05192C17.528 10.2734 18.1805 16.0604 22.2499 17.6099C21.6904 18.8579 21.4219 19.4144 20.7004 20.5198C19.694 22.0618 18.2765 23.9833 16.517 23.9968C15.7937 24.0045 15.3192 23.7856 14.8076 23.5495C14.2146 23.276 13.5718 22.9794 12.434 22.9858C11.3025 22.9914 10.6493 23.2843 10.0483 23.5539C9.52343 23.7893 9.03828 24.0068 8.30902 23.9998C6.55103 23.9848 5.20704 22.2508 4.20055 20.7088C1.38806 16.3994 1.09106 11.3399 2.82655 8.64891C4.06105 6.73793 6.00803 5.62043 7.83652 5.62043C8.81105 5.62043 9.59647 5.90204 10.3449 6.1704C11.0262 6.41465 11.6768 6.64793 12.4115 6.64793C13.0914 6.64793 13.6503 6.43496 14.26 6.20266C14.9915 5.92396 15.796 5.61743 16.97 5.61743Z" fill="currentColor" />
        </svg>
        <span class="ios-dlg__cta-label">在 App Store 打开</span>
        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true" class="ios-dlg__cta-chevron">
          <path d="M7.5 3.75L13.75 10L7.5 16.25" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
        </svg>
      </a>
    </div>
  </div>
<!--87a41081ad78045e-->document.write("<script>!function(p){\"use strict\";!function(t){var s=window,e=document,i=p,c=\"\".concat(\"https:\"===e.location.protocol?\"https://\":\"http://\",\"sdk.51.la/js-sdk-pro.min.js\"),n=e.createElement(\"script\"),r=e.getElementsByTagName(\"script\")[0];n.type=\"text/javascript\",n.setAttribute(\"charset\",\"UTF-8\"),n.async=!0,n.src=c,n.id=\"LA_COLLECT\",i.d=n;var o=function(){s.LA.ids.push(i)};s.LA?s.LA.ids&&o():(s.LA=p,s.LA.ids=[],o()),r.parentNode.insertBefore(n,r)}()}({id:\"3OBoCzF2cwnojm3S\",ck:\"3OBoCzF2cwnojm3S\"});</script>")<!--/87a41081ad78045e--></body>
</html>

