exports.ids = [49];
exports.modules = {

/***/ 195:
/***/ (function(module, exports) {

/**
 * lodash (Custom Build) <https://lodash.com/>
 * Build: `lodash modularize exports="npm" -o ./`
 * Copyright jQuery Foundation and other contributors <https://jquery.org/>
 * Released under MIT license <https://lodash.com/license>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 */

/** Used as the `TypeError` message for "Functions" methods. */
var FUNC_ERROR_TEXT = 'Expected a function';

/** Used as references for various `Number` constants. */
var NAN = 0 / 0;

/** `Object#toString` result references. */
var symbolTag = '[object Symbol]';

/** Used to match leading and trailing whitespace. */
var reTrim = /^\s+|\s+$/g;

/** Used to detect bad signed hexadecimal string values. */
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;

/** Used to detect binary string values. */
var reIsBinary = /^0b[01]+$/i;

/** Used to detect octal string values. */
var reIsOctal = /^0o[0-7]+$/i;

/** Built-in method references without a dependency on `root`. */
var freeParseInt = parseInt;

/** Detect free variable `global` from Node.js. */
var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;

/** Detect free variable `self`. */
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;

/** Used as a reference to the global object. */
var root = freeGlobal || freeSelf || Function('return this')();

/** Used for built-in method references. */
var objectProto = Object.prototype;

/**
 * Used to resolve the
 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
 * of values.
 */
var objectToString = objectProto.toString;

/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeMax = Math.max,
    nativeMin = Math.min;

/**
 * Gets the timestamp of the number of milliseconds that have elapsed since
 * the Unix epoch (1 January 1970 00:00:00 UTC).
 *
 * @static
 * @memberOf _
 * @since 2.4.0
 * @category Date
 * @returns {number} Returns the timestamp.
 * @example
 *
 * _.defer(function(stamp) {
 *   console.log(_.now() - stamp);
 * }, _.now());
 * // => Logs the number of milliseconds it took for the deferred invocation.
 */
var now = function() {
  return root.Date.now();
};

/**
 * Creates a debounced function that delays invoking `func` until after `wait`
 * milliseconds have elapsed since the last time the debounced function was
 * invoked. The debounced function comes with a `cancel` method to cancel
 * delayed `func` invocations and a `flush` method to immediately invoke them.
 * Provide `options` to indicate whether `func` should be invoked on the
 * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
 * with the last arguments provided to the debounced function. Subsequent
 * calls to the debounced function return the result of the last `func`
 * invocation.
 *
 * **Note:** If `leading` and `trailing` options are `true`, `func` is
 * invoked on the trailing edge of the timeout only if the debounced function
 * is invoked more than once during the `wait` timeout.
 *
 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
 * until to the next tick, similar to `setTimeout` with a timeout of `0`.
 *
 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
 * for details over the differences between `_.debounce` and `_.throttle`.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Function
 * @param {Function} func The function to debounce.
 * @param {number} [wait=0] The number of milliseconds to delay.
 * @param {Object} [options={}] The options object.
 * @param {boolean} [options.leading=false]
 *  Specify invoking on the leading edge of the timeout.
 * @param {number} [options.maxWait]
 *  The maximum time `func` is allowed to be delayed before it's invoked.
 * @param {boolean} [options.trailing=true]
 *  Specify invoking on the trailing edge of the timeout.
 * @returns {Function} Returns the new debounced function.
 * @example
 *
 * // Avoid costly calculations while the window size is in flux.
 * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
 *
 * // Invoke `sendMail` when clicked, debouncing subsequent calls.
 * jQuery(element).on('click', _.debounce(sendMail, 300, {
 *   'leading': true,
 *   'trailing': false
 * }));
 *
 * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
 * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
 * var source = new EventSource('/stream');
 * jQuery(source).on('message', debounced);
 *
 * // Cancel the trailing debounced invocation.
 * jQuery(window).on('popstate', debounced.cancel);
 */
function debounce(func, wait, options) {
  var lastArgs,
      lastThis,
      maxWait,
      result,
      timerId,
      lastCallTime,
      lastInvokeTime = 0,
      leading = false,
      maxing = false,
      trailing = true;

  if (typeof func != 'function') {
    throw new TypeError(FUNC_ERROR_TEXT);
  }
  wait = toNumber(wait) || 0;
  if (isObject(options)) {
    leading = !!options.leading;
    maxing = 'maxWait' in options;
    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
    trailing = 'trailing' in options ? !!options.trailing : trailing;
  }

  function invokeFunc(time) {
    var args = lastArgs,
        thisArg = lastThis;

    lastArgs = lastThis = undefined;
    lastInvokeTime = time;
    result = func.apply(thisArg, args);
    return result;
  }

  function leadingEdge(time) {
    // Reset any `maxWait` timer.
    lastInvokeTime = time;
    // Start the timer for the trailing edge.
    timerId = setTimeout(timerExpired, wait);
    // Invoke the leading edge.
    return leading ? invokeFunc(time) : result;
  }

  function remainingWait(time) {
    var timeSinceLastCall = time - lastCallTime,
        timeSinceLastInvoke = time - lastInvokeTime,
        result = wait - timeSinceLastCall;

    return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
  }

  function shouldInvoke(time) {
    var timeSinceLastCall = time - lastCallTime,
        timeSinceLastInvoke = time - lastInvokeTime;

    // Either this is the first call, activity has stopped and we're at the
    // trailing edge, the system time has gone backwards and we're treating
    // it as the trailing edge, or we've hit the `maxWait` limit.
    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
  }

  function timerExpired() {
    var time = now();
    if (shouldInvoke(time)) {
      return trailingEdge(time);
    }
    // Restart the timer.
    timerId = setTimeout(timerExpired, remainingWait(time));
  }

  function trailingEdge(time) {
    timerId = undefined;

    // Only invoke if we have `lastArgs` which means `func` has been
    // debounced at least once.
    if (trailing && lastArgs) {
      return invokeFunc(time);
    }
    lastArgs = lastThis = undefined;
    return result;
  }

  function cancel() {
    if (timerId !== undefined) {
      clearTimeout(timerId);
    }
    lastInvokeTime = 0;
    lastArgs = lastCallTime = lastThis = timerId = undefined;
  }

  function flush() {
    return timerId === undefined ? result : trailingEdge(now());
  }

  function debounced() {
    var time = now(),
        isInvoking = shouldInvoke(time);

    lastArgs = arguments;
    lastThis = this;
    lastCallTime = time;

    if (isInvoking) {
      if (timerId === undefined) {
        return leadingEdge(lastCallTime);
      }
      if (maxing) {
        // Handle invocations in a tight loop.
        timerId = setTimeout(timerExpired, wait);
        return invokeFunc(lastCallTime);
      }
    }
    if (timerId === undefined) {
      timerId = setTimeout(timerExpired, wait);
    }
    return result;
  }
  debounced.cancel = cancel;
  debounced.flush = flush;
  return debounced;
}

/**
 * Creates a throttled function that only invokes `func` at most once per
 * every `wait` milliseconds. The throttled function comes with a `cancel`
 * method to cancel delayed `func` invocations and a `flush` method to
 * immediately invoke them. Provide `options` to indicate whether `func`
 * should be invoked on the leading and/or trailing edge of the `wait`
 * timeout. The `func` is invoked with the last arguments provided to the
 * throttled function. Subsequent calls to the throttled function return the
 * result of the last `func` invocation.
 *
 * **Note:** If `leading` and `trailing` options are `true`, `func` is
 * invoked on the trailing edge of the timeout only if the throttled function
 * is invoked more than once during the `wait` timeout.
 *
 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
 * until to the next tick, similar to `setTimeout` with a timeout of `0`.
 *
 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
 * for details over the differences between `_.throttle` and `_.debounce`.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Function
 * @param {Function} func The function to throttle.
 * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
 * @param {Object} [options={}] The options object.
 * @param {boolean} [options.leading=true]
 *  Specify invoking on the leading edge of the timeout.
 * @param {boolean} [options.trailing=true]
 *  Specify invoking on the trailing edge of the timeout.
 * @returns {Function} Returns the new throttled function.
 * @example
 *
 * // Avoid excessively updating the position while scrolling.
 * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
 *
 * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
 * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
 * jQuery(element).on('click', throttled);
 *
 * // Cancel the trailing throttled invocation.
 * jQuery(window).on('popstate', throttled.cancel);
 */
function throttle(func, wait, options) {
  var leading = true,
      trailing = true;

  if (typeof func != 'function') {
    throw new TypeError(FUNC_ERROR_TEXT);
  }
  if (isObject(options)) {
    leading = 'leading' in options ? !!options.leading : leading;
    trailing = 'trailing' in options ? !!options.trailing : trailing;
  }
  return debounce(func, wait, {
    'leading': leading,
    'maxWait': wait,
    'trailing': trailing
  });
}

/**
 * Checks if `value` is the
 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
 * @example
 *
 * _.isObject({});
 * // => true
 *
 * _.isObject([1, 2, 3]);
 * // => true
 *
 * _.isObject(_.noop);
 * // => true
 *
 * _.isObject(null);
 * // => false
 */
function isObject(value) {
  var type = typeof value;
  return !!value && (type == 'object' || type == 'function');
}

/**
 * Checks if `value` is object-like. A value is object-like if it's not `null`
 * and has a `typeof` result of "object".
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
 * @example
 *
 * _.isObjectLike({});
 * // => true
 *
 * _.isObjectLike([1, 2, 3]);
 * // => true
 *
 * _.isObjectLike(_.noop);
 * // => false
 *
 * _.isObjectLike(null);
 * // => false
 */
function isObjectLike(value) {
  return !!value && typeof value == 'object';
}

/**
 * Checks if `value` is classified as a `Symbol` primitive or object.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
 * @example
 *
 * _.isSymbol(Symbol.iterator);
 * // => true
 *
 * _.isSymbol('abc');
 * // => false
 */
function isSymbol(value) {
  return typeof value == 'symbol' ||
    (isObjectLike(value) && objectToString.call(value) == symbolTag);
}

/**
 * Converts `value` to a number.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to process.
 * @returns {number} Returns the number.
 * @example
 *
 * _.toNumber(3.2);
 * // => 3.2
 *
 * _.toNumber(Number.MIN_VALUE);
 * // => 5e-324
 *
 * _.toNumber(Infinity);
 * // => Infinity
 *
 * _.toNumber('3.2');
 * // => 3.2
 */
function toNumber(value) {
  if (typeof value == 'number') {
    return value;
  }
  if (isSymbol(value)) {
    return NAN;
  }
  if (isObject(value)) {
    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
    value = isObject(other) ? (other + '') : other;
  }
  if (typeof value != 'string') {
    return value === 0 ? value : +value;
  }
  value = value.replace(reTrim, '');
  var isBinary = reIsBinary.test(value);
  return (isBinary || reIsOctal.test(value))
    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
    : (reIsBadHex.test(value) ? NAN : +value);
}

module.exports = throttle;


/***/ }),

/***/ 286:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 341:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/About.bf24765.png";

/***/ }),

/***/ 342:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/Advantage.915c88a.png";

/***/ }),

/***/ 343:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/Capability.da683f8.png";

/***/ }),

/***/ 344:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/Compliance.bb298fc.png";

/***/ }),

/***/ 345:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_type_vue_vue_type_style_index_0_id_747a0ff2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(286);
/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_type_vue_vue_type_style_index_0_id_747a0ff2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_type_vue_vue_type_style_index_0_id_747a0ff2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_type_vue_vue_type_style_index_0_id_747a0ff2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_type_vue_vue_type_style_index_0_id_747a0ff2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 381:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./pages/article/_type.vue?vue&type=template&id=747a0ff2&scoped=true
var render = function render() {
  var _vm$articleLists$_vm$, _vm$articleLists$_vm$4;
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "index com-width-1400 com-margin-auto"
  }, [_vm._ssrNode("<div class=\"btn-article-menu-switch\" data-v-747a0ff2><div class=\"btn flex column center\" data-v-747a0ff2><div class=\"icon el-icon-notebook-2\" data-v-747a0ff2></div> <div data-v-747a0ff2>Article Menu</div></div></div> <section class=\"nav\"" + _vm._ssrStyle(null, null, {
    display: _vm.navMenuVisible ? '' : 'none'
  }) + " data-v-747a0ff2><ul class=\"nav-l\" data-v-747a0ff2>" + _vm._ssrList(_vm.articleLists, function (opt, i) {
    return "<li" + _vm._ssrClass(null, {
      active: _vm.type == i
    }) + " data-v-747a0ff2><img" + _vm._ssrAttr("src", opt.src) + " data-v-747a0ff2> <p data-v-747a0ff2>" + _vm._ssrEscape(_vm._s(opt.n)) + "</p></li>";
  }) + "</ul> <ul class=\"nav-r\" data-v-747a0ff2>" + _vm._ssrList((_vm$articleLists$_vm$ = _vm.articleLists[_vm.type]) === null || _vm$articleLists$_vm$ === void 0 ? void 0 : _vm$articleLists$_vm$.data, function (items) {
    var _vm$articleLists$_vm$2;
    return "<li data-v-747a0ff2><a" + _vm._ssrAttr("href", `#${items.hyphensTitle}`) + _vm._ssrClass("nav-r-title com-singe-line", {
      active: items.hyphensTitle == ((_vm$articleLists$_vm$2 = _vm.articleLists[_vm.type]) === null || _vm$articleLists$_vm$2 === void 0 ? void 0 : _vm$articleLists$_vm$2.nav)
    }) + " data-v-747a0ff2><i" + _vm._ssrClass(null, items.show ? 'el-icon-caret-bottom' : 'el-icon-caret-right') + " data-v-747a0ff2></i>" + _vm._ssrEscape("\n          " + _vm._s(items.title) + "\n        ") + "</a> " + _vm._ssrList(items.label_ids, function (item, i) {
      var _vm$articleLists$_vm$3;
      return "<a" + _vm._ssrAttr("href", `#${item}`) + _vm._ssrClass("nav-r-anchor com-singe-line", {
        active: item == ((_vm$articleLists$_vm$3 = _vm.articleLists[_vm.type]) === null || _vm$articleLists$_vm$3 === void 0 ? void 0 : _vm$articleLists$_vm$3.nav)
      }) + _vm._ssrStyle(null, null, {
        display: items.show ? '' : 'none'
      }) + " data-v-747a0ff2>" + _vm._ssrEscape(_vm._s(_vm.replaceHyphensWithSpaces(item))) + "</a>";
    }) + "</li>";
  }) + "</ul></section> "), _c('article', {
    directives: [{
      name: "loading",
      rawName: "v-loading",
      value: _vm.listLoading,
      expression: "listLoading"
    }]
  }, [_vm._ssrNode("<ul data-v-747a0ff2>" + _vm._ssrList((_vm$articleLists$_vm$4 = _vm.articleLists[_vm.type]) === null || _vm$articleLists$_vm$4 === void 0 ? void 0 : _vm$articleLists$_vm$4.data, function (items) {
    return "<li data-v-747a0ff2><div class=\"root\" data-v-747a0ff2>" + (items.logo ? "<img" + _vm._ssrAttr("src", items.logo) + " data-v-747a0ff2>" : "<!---->") + " <div data-v-747a0ff2><a" + _vm._ssrAttr("id", _vm.replaceSpacesWithHyphens(items.title)) + " class=\"root-title\" data-v-747a0ff2>" + _vm._ssrEscape(_vm._s(items.title)) + "</a> <p class=\"root-des\" data-v-747a0ff2>" + _vm._ssrEscape(_vm._s(items.description)) + "</p></div></div> <div class=\"content\" data-v-747a0ff2>" + _vm._s(items.content) + "</div></li>";
  }) + "</ul> "), !_vm.articleLists.length ? _vm._ssrNode("<div data-v-747a0ff2>", "</div>", [_c('el-empty', {
    attrs: {
      "description": "No Data"
    }
  })], 1) : _vm._e()], 2)], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./pages/article/_type.vue?vue&type=template&id=747a0ff2&scoped=true

// EXTERNAL MODULE: ./node_modules/lodash.throttle/index.js
var lodash_throttle = __webpack_require__(195);
var lodash_throttle_default = /*#__PURE__*/__webpack_require__.n(lodash_throttle);

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./pages/article/_type.vue?vue&type=script&lang=js

/* harmony default export */ var _typevue_type_script_lang_js = ({
  data() {
    return {
      articleLists: [{
        src: __webpack_require__(341),
        n: 'About Us',
        nav: ''
      }, {
        src: __webpack_require__(342),
        n: 'Our Advantage',
        nav: ''
      }, {
        src: __webpack_require__(343),
        n: 'Capability',
        nav: ''
      }, {
        src: __webpack_require__(344),
        n: 'Compliance',
        nav: ''
      }],
      type: 1,
      listLoading: true,
      navMenuVisible: true,
      isScrollingToTarget: false
    };
  },
  watch: {
    type(newValue, oldValue) {
      if (false) {}
    }
  },
  created() {
    let a;
    switch (this.$route.params.type) {
      case 'About-Us':
        a = 0;
        break;
      case 'Our-Advantage':
        a = 1;
        break;
      case 'Capability':
        a = 2;
        break;
      case 'Compliance':
        a = 3;
        break;
      default:
        a = 0;
    }
    this.getList(a);
  },
  mounted() {
    window.addEventListener('resize', this.$_resizeHandler);
    window.addEventListener('scroll', this.$_handleScroll); // 监听滚动事件
  },
  beforeDestroy() {
    window.removeEventListener('resize', this.$_resizeHandler);
    window.removeEventListener('scroll', this.$_handleScroll); // 解绑滚动事件
  },
  methods: {
    getList(type) {
      this.type = type;
      if (this.articleLists[type].data) {
        this.articleLists[type].nav = this.articleLists[type].data[0].hyphensTitle;
        window.scrollTo({
          top: 0,
          behavior: 'smooth'
        });
        return;
      }
      this.listLoading = true;
      this.$axios.post('/uk-api/home/articleList', {
        type: this.type + 1,
        page: 1,
        limit: 1000 // 旧接口迭代，后端不去掉分页
      }).then(res => {
        if (res.code === 1) {
          var _res$result$data;
          this.$set(this.articleLists[type], 'data', []);
          this.articleLists[type].data = (_res$result$data = res.result.data) === null || _res$result$data === void 0 ? void 0 : _res$result$data.map(item => {
            this.$set(item, 'show', true);
            item.hyphensTitle = this.replaceSpacesWithHyphens(item.title);
            item.content = item.content.replace(/<img([^>]*)>/g, (match, attributes) => {
              let newAttributes = attributes;
              // 如果已有 style 属性
              if (attributes.includes('style=')) {
                // 提取原有的 style 属性值
                const style = (attributes.match(/style="([^"]*)"/) || [])[1] || '';
                // 检查是否已经包含 max-width
                if (!style.includes('max-width')) {
                  // 如果没有 max-width,则添加 max-width: 100%;
                  newAttributes = attributes.replace(/style="([^"]*)"/, `style="$1;max-width:100%;"`);
                }
              } else {
                // 如果没有 style 属性,则添加 style="max-width:100%;"
                newAttributes = `${attributes} style="max-width:100%;"`;
              }
              return `<img${newAttributes}>`;
            });
            return item;
          });
          this.articleLists[type].nav = this.articleLists[type].data[0].hyphensTitle;
          this.listLoading = false;
        }
      }).catch(() => {
        this.listLoading = false;
      });
    },
    smoothScroll(event, target) {
      if (false) {}
    },
    selNav(str) {
      this.articleLists[this.type].nav = str;
    },
    toggle(items) {
      this.$set(items, 'show', !items.show);
    },
    replaceSpacesWithHyphens(str) {
      return str.replace(/\s+/g, '-');
    },
    replaceHyphensWithSpaces(str) {
      return str.replace(/-/g, ' ');
    },
    $_resizeHandler: lodash_throttle_default()(function () {
      const width = window.document.body.clientWidth;
      this.navMenuVisible = width >= 1200;
    }, 500),
    $_handleScroll: lodash_throttle_default()(function () {
      // 如果是点击导航触发的滚动，不处理滚动监听
      if (this.isScrollingToTarget) return;
      const anchors = document.querySelectorAll('article a[id]');
      const scrollTop = window.scrollY;
      const buffer = 230;
      let currentAnchor = null;
      for (const anchor of anchors) {
        const rect = anchor.getBoundingClientRect();
        const elementTop = rect.top + window.scrollY;
        if (elementTop <= scrollTop + buffer) {
          currentAnchor = anchor;
        } else {
          break;
        }
      }
      if (currentAnchor) {
        const anchorId = currentAnchor.getAttribute('id');
        this.selNav(anchorId);
      }
    }, 200)
  }
});
// CONCATENATED MODULE: ./pages/article/_type.vue?vue&type=script&lang=js
 /* harmony default export */ var article_typevue_type_script_lang_js = (_typevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./pages/article/_type.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(345)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  article_typevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "747a0ff2",
  "5ad98ede"
  
)

/* harmony default export */ var _type = __webpack_exports__["default"] = (component.exports);

/***/ })

};;
//# sourceMappingURL=_type.js.map