/* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (function() { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/App.vue?vue&type=script&lang=js": /*!***********************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/App.vue?vue&type=script&lang=js ***! \***********************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_layout_HeaderNav__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/layout/HeaderNav */ \"./src/components/layout/HeaderNav.vue\");\n/* harmony import */ var _components_layout_Footer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/layout/Footer */ \"./src/components/layout/Footer.vue\");\n/* harmony import */ var _components_layout_Sidebar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/layout/Sidebar */ \"./src/components/layout/Sidebar.vue\");\n/* harmony import */ var _components_common_BackToTop__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/common/BackToTop */ \"./src/components/common/BackToTop.vue\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"App\",\n components: {\n HeaderNav: _components_layout_HeaderNav__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n Footer: _components_layout_Footer__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n BackToTop: _components_common_BackToTop__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Sidebar: _components_layout_Sidebar__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_4__.mapGetters)([\"getLoadingStatus\"]),\n loading() {\n return this.getLoadingStatus;\n }\n }\n});\n\n//# sourceURL=webpack://shiweisuzhou/./src/App.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common/BackToTop.vue?vue&type=script&lang=js": /*!***********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common/BackToTop.vue?vue&type=script&lang=js ***! \***********************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'BackToTop',\n data() {\n return {\n showBackToTop: false\n };\n },\n mounted() {\n window.addEventListener('scroll', this.handleScroll);\n },\n beforeDestroy() {\n window.removeEventListener('scroll', this.handleScroll);\n },\n methods: {\n handleScroll() {\n // 当滚动超过500px时显示回到顶部按钮\n this.showBackToTop = window.pageYOffset > 500;\n },\n scrollToTop() {\n // 平滑滚动到顶部\n const scrollToTop = window.setInterval(() => {\n const position = window.pageYOffset;\n if (position > 0) {\n window.scrollTo(0, position - Math.max(20, position / 10));\n } else {\n window.clearInterval(scrollToTop);\n }\n }, 16);\n }\n }\n});\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/common/BackToTop.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Footer.vue?vue&type=script&lang=js": /*!********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Footer.vue?vue&type=script&lang=js ***! \********************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.iterator.find.js */ \"./node_modules/core-js/modules/es.iterator.find.js\");\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"Footer\",\n data() {\n return {\n list: [{\n id: 1,\n title: '关于我们',\n list: []\n }, {\n id: 2,\n title: '新手上路',\n list: []\n }, {\n id: 5,\n title: '交易流程',\n list: []\n }, {\n id: 3,\n title: '常见问题',\n list: []\n }, {\n id: 6,\n title: '联系方式',\n list: []\n }, {\n id: 4,\n title: '二维码推荐',\n list: []\n }]\n };\n },\n computed: {\n // 筛选出非二维码推荐的栏目\n nonQrcodeColumns() {\n return this.list.filter(column => column.title !== '二维码推荐');\n },\n // 获取二维码推荐栏目\n qrcodeColumn() {\n return this.list.find(column => column.title === '二维码推荐') || {\n list: []\n };\n }\n },\n mounted() {\n // 统一请求所有栏目的数据\n this.list.forEach(item => {\n this.get({\n type_id: item.id\n }, \"/api/navigation/getNavigationByTypeList\").then(res => {\n item.list = res.data;\n });\n });\n },\n methods: {\n gotoDetail(item) {\n if (item.link_url) {\n window.location.href = item.link_url;\n } else {\n this.$router.push(`/NoticeDetail?type=footer&id=${item.id}`);\n }\n }\n }\n});\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/layout/Footer.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/HeaderNav.vue?vue&type=script&lang=js": /*!***********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/HeaderNav.vue?vue&type=script&lang=js ***! \***********************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"HeaderNav\",\n data() {\n return {\n searchText: \"\",\n hotList: []\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_1__.mapGetters)([\"getCategories\", \"getCartTotalCount\", \"isUserLogin\", \"getUserInfo\"]),\n categories() {\n return this.getCategories || []; // 确保返回数组,避免undefined\n },\n cartTotalCount() {\n return this.getCartTotalCount || 0; // 确保返回数字\n },\n isLogin() {\n return this.isUserLogin; // 直接使用mapGetters获取的属性\n },\n userInfo() {\n return this.getUserInfo || {};\n }\n },\n created() {\n this.fetchCategories();\n\n // 热门搜索词\n this.post({\n offset: 0,\n limit: 5\n }, \"/api/search/hot\").then(res => {\n this.hotList = res.data;\n });\n },\n methods: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_1__.mapActions)([\"fetchCategories\", \"logout\"]),\n handleSearch() {\n if (!this.searchText.trim()) return;\n this.$store.commit(\"setSearchText\", this.searchText);\n\n // 判断当前是否在搜索结果页\n if (this.$route.path === \"/ProductList\") {} else {\n // 不在搜索页则跳转\n this.$router.push({\n path: \"/ProductList\",\n query: {\n keyword: this.searchText,\n type: \"search\"\n }\n });\n }\n },\n handleLogout() {\n this.$confirm(\"确定要退出登录吗?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n this.logout().then(() => {\n // 假设logout是异步操作\n this.$message.success(\"退出登录成功\");\n // 跳转到登录页,并记录当前路径用于登录后跳转\n localStorage.setItem(\"redirectPath\", this.$route.path);\n this.$router.push(\"/Login\"); // 退出后跳转到登录页\n }).catch(err => {\n this.$message.error(\"退出失败:\" + (err.message || \"未知错误\"));\n });\n }).catch(() => {\n // 取消退出,不做操作\n });\n }\n }\n});\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/layout/HeaderNav.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Sidebar.vue?vue&type=script&lang=js": /*!*********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Sidebar.vue?vue&type=script&lang=js ***! \*********************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/store */ \"./src/store/index.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"Sidebar\",\n data() {\n return {\n cartCount: 0,\n // 购物车数量,可根据实际情况动态获取\n isShowBackTop: false,\n // 是否显示回到顶部激活态\n scrollTimer: null // 节流定时器\n };\n },\n computed: {\n // 通过 mapGetters 映射,简化模板中的写法\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_1__.mapGetters)([\"getCartTotalCount\"])\n },\n mounted() {\n // 监听滚动事件\n window.addEventListener(\"scroll\", this.handleScroll);\n this.$store.dispatch(\"fetchCartCount\");\n },\n beforeDestroy() {\n // 移除滚动监听\n window.removeEventListener(\"scroll\", this.handleScroll);\n if (this.scrollTimer) {\n clearTimeout(this.scrollTimer);\n }\n },\n methods: {\n // 处理购物车点击\n handleCartClick() {\n // 这里可跳转到购物车页面\n this.$router.push(\"/User/ShoppingCart\");\n },\n // 处理在线客服点击\n handleServiceClick() {\n const token = _store__WEBPACK_IMPORTED_MODULE_2__[\"default\"].state.user?.info?.token || \"\";\n window.location.href = \"https://swsz.api.js-dyyj.com/kefu?token=\" + token;\n },\n // 处理回到顶部\n handleBackToTop() {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n },\n // 处理滚动事件\n handleScroll() {\n // 节流处理\n if (this.scrollTimer) {\n clearTimeout(this.scrollTimer);\n }\n this.scrollTimer = setTimeout(() => {\n // 滚动超过 300px 显示激活态\n this.isShowBackTop = window.pageYOffset > 300;\n }, 200);\n }\n }\n});\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/layout/Sidebar.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90": /*!*******************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90 ***! \*******************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n attrs: {\n id: \"app\"\n }\n }, [_vm.$route.name !== \"Register\" ? _c(\"HeaderNav\") : _vm._e(), _vm.$route.name !== \"Login\" ? _c(\"main\", {\n staticClass: \"main-container\"\n }, [_c(\"router-view\")], 1) : _vm._e(), _vm.$route.name == \"Login\" ? _c(\"main\", {\n staticClass: \"main-containers\"\n }, [_c(\"router-view\")], 1) : _vm._e(), _vm.$route.name !== \"Register\" ? _c(\"Sidebar\") : _vm._e(), _vm.$route.name !== \"Register\" ? _c(\"Footer\") : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/App.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common/BackToTop.vue?vue&type=template&id=6baf117f&scoped=true": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common/BackToTop.vue?vue&type=template&id=6baf117f&scoped=true ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _vm.showBackToTop ? _c(\"div\", {\n staticClass: \"back-to-top\",\n on: {\n click: _vm.scrollToTop\n }\n }, [_c(\"el-icon\", {\n attrs: {\n name: \"el-icon-arrow-up\"\n }\n })], 1) : _vm._e();\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/common/BackToTop.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Footer.vue?vue&type=template&id=3d302860&scoped=true": /*!****************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Footer.vue?vue&type=template&id=3d302860&scoped=true ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"footer-container\"\n }, [_c(\"div\", {\n staticClass: \"footer-top\"\n }, [_vm._l(_vm.nonQrcodeColumns, function (column, index) {\n return _c(\"div\", {\n key: column.id,\n staticClass: \"footer-column\"\n }, [_c(\"h3\", [_vm._v(_vm._s(column.title))]), _c(\"ul\", _vm._l(column.list, function (item, itemIndex) {\n return _c(\"li\", {\n key: itemIndex,\n style: {\n cursor: index < 4 ? \"pointer\" : \"\"\n },\n on: {\n click: function ($event) {\n index < 4 ? _vm.gotoDetail(item) : \"\";\n }\n }\n }, [_vm._v(\" \" + _vm._s(item.title) + \" \")]);\n }), 0)]);\n }), _c(\"div\", {\n staticClass: \"qrcode-group\"\n }, _vm._l(_vm.qrcodeColumn.list, function (item, index) {\n return _c(\"div\", {\n key: index,\n staticClass: \"qrcode-item\"\n }, [_c(\"img\", {\n staticStyle: {\n width: \"100px\",\n height: \"100px\"\n },\n attrs: {\n src: _vm.util.showImg(item.image)\n }\n }), _c(\"p\", [_vm._v(_vm._s(item.title))])]);\n }), 0)], 2), _vm._m(0)]);\n};\nvar staticRenderFns = [function () {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"footer-bottom\"\n }, [_c(\"p\", [_vm._v(\"版权所有 苏州市特色农产品发展有限公司 | 苏ICP备2023023300号-1\")]), _c(\"p\", [_vm._v(\"本网站由 江苏大运远见文化科技发展有限公司 运营维护\")])]);\n}];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/layout/Footer.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/HeaderNav.vue?vue&type=template&id=270fbe21&scoped=true": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/HeaderNav.vue?vue&type=template&id=270fbe21&scoped=true ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"header\", {\n staticClass: \"header-nav\"\n }, [_c(\"div\", {\n staticClass: \"top-notice\"\n }, [_c(\"div\", {\n staticClass: \"container\"\n }, [_c(\"p\", [_vm._v(\" 欢迎来到时味苏州平台! \"), false ? 0 : _vm._e()], 1), _c(\"div\", {\n staticClass: \"top-links\"\n }, [_vm.isLogin ? _c(\"router-link\", {\n staticClass: \"user-link\",\n attrs: {\n to: \"/User\"\n }\n }, [_c(\"img\", {\n directives: [{\n name: \"lazy\",\n rawName: \"v-lazy\",\n value: _vm.userInfo.avatar,\n expression: \"userInfo.avatar\"\n }],\n staticClass: \"avatar\",\n attrs: {\n alt: \"用户头像\"\n }\n }), _vm._v(\" \" + _vm._s(_vm.userInfo.username) + \" \")]) : _c(\"router-link\", {\n attrs: {\n to: \"/Login\"\n }\n }, [_vm._v(\"登录\")]), false ? 0 : _vm._e(), false ? 0 : _vm._e(), _c(\"router-link\", {\n attrs: {\n to: \"/User\"\n }\n }, [_vm._v(\"采购人中心\")]), _c(\"router-link\", {\n staticClass: \"cart-link\",\n attrs: {\n to: \"/User/ShoppingCart\"\n }\n }, [_vm._v(\" 购物车\"), _vm.cartTotalCount > 0 ? _c(\"span\", [_vm._v(\"(\" + _vm._s(_vm.cartTotalCount) + \"件)\")]) : _vm._e()]), _vm.isLogin ? _c(\"router-link\", {\n attrs: {\n to: \"/User/OrderList\"\n }\n }, [_vm._v(\"我的订单\")]) : _vm._e(), _vm.isLogin ? _c(\"div\", {\n staticClass: \"logout-btn\",\n on: {\n click: _vm.handleLogout\n }\n }, [_vm._v(\" 退出 \")]) : _vm._e()], 1)])]), _c(\"div\", {\n staticClass: \"main-nav\"\n }, [_c(\"div\", {\n staticClass: \"container\"\n }, [_c(\"div\", {\n staticClass: \"logo\"\n }, [_c(\"router-link\", {\n attrs: {\n to: \"/\"\n }\n }, [_c(\"img\", {\n staticClass: \"logo-img\",\n attrs: {\n src: \"https://static.ticket.sz-trip.com/shiweisuzhou/pc/logo.png\",\n alt: \"logo\"\n },\n on: {\n click: function ($event) {\n _vm.searchText = \"\";\n }\n }\n })])], 1), _c(\"div\", {\n staticClass: \"search-box\"\n }, [_c(\"el-input\", {\n staticClass: \"search-input\",\n attrs: {\n placeholder: \"请输入搜索内容\"\n },\n nativeOn: {\n keyup: function ($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n return _vm.handleSearch.apply(null, arguments);\n }\n },\n model: {\n value: _vm.searchText,\n callback: function ($$v) {\n _vm.searchText = $$v;\n },\n expression: \"searchText\"\n }\n }, [_c(\"el-button\", {\n attrs: {\n slot: \"append\",\n icon: \"el-icon-search\"\n },\n on: {\n click: _vm.handleSearch\n },\n slot: \"append\"\n })], 1), _vm.hotList.length > 0 ? _c(\"div\", {\n staticClass: \"hot-tags\"\n }, [_c(\"span\", [_vm._v(\"热门搜索:\")]), _vm._l(_vm.hotList, function (item, index) {\n return _c(\"div\", {\n key: index,\n staticClass: \"hot-tag\",\n on: {\n click: function ($event) {\n _vm.searchText = item.name;\n _vm.handleSearch();\n }\n }\n }, [_vm._v(\" \" + _vm._s(item.name) + \" \")]);\n })], 2) : _vm._e()], 1), _c(\"div\", {\n staticClass: \"phone-entry\"\n }, [_c(\"div\", {\n staticStyle: {\n display: \"flex\",\n \"align-items\": \"center\"\n }\n }, [_c(\"img\", {\n staticStyle: {\n \"margin-right\": \"5px\"\n },\n attrs: {\n src: \"https://static.ticket.sz-trip.com/shiweisuzhou/pc/login/phone.png\",\n alt: \"联系电话\"\n }\n }), _c(\"span\", [_vm._v(\"0512-80822586\")]), _vm.cartTotalCount > 0 && false ? 0 : _vm._e()])])])]), _vm.categories.length > 0 ? _c(\"div\", {\n staticClass: \"category-nav\"\n }, [_c(\"div\", {\n staticClass: \"container\"\n }, [ false ? 0 : _vm._e()])]) : _vm._e()]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/layout/HeaderNav.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Sidebar.vue?vue&type=template&id=117f5fe7&scoped=true": /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Sidebar.vue?vue&type=template&id=117f5fe7&scoped=true ***! \*****************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"sidebar-container\"\n }, [_c(\"div\", {\n staticClass: \"sidebar-item\",\n on: {\n click: _vm.handleCartClick\n }\n }, [_c(\"el-badge\", {\n staticClass: \"item-badge\",\n attrs: {\n value: _vm.$store.getters.getCartTotalCount\n }\n }, [_c(\"i\", {\n staticClass: \"el-icon-shopping-cart-full\"\n })]), _c(\"div\", {\n staticClass: \"item-text\"\n }, [_vm._v(\"购物车\")])], 1), _c(\"div\", {\n staticClass: \"sidebar-item\",\n on: {\n click: _vm.handleServiceClick\n }\n }, [_c(\"i\", {\n staticClass: \"el-icon-headset\"\n }), _c(\"div\", {\n staticClass: \"item-text\"\n }, [_vm._v(\"在线客服\")])]), _c(\"div\", {\n staticClass: \"sidebar-item back-to-top\",\n class: {\n active: _vm.isShowBackTop\n },\n on: {\n click: _vm.handleBackToTop\n }\n }, [_c(\"i\", {\n staticClass: \"el-icon-caret-top\"\n }), _c(\"div\", {\n staticClass: \"item-text\"\n }, [_vm._v(\"回到顶部\")])])]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/layout/Sidebar.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Footer.vue?vue&type=style&index=0&id=3d302860&scoped=true&lang=css": /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Footer.vue?vue&type=style&index=0&id=3d302860&scoped=true&lang=css ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.footer-container[data-v-3d302860] {\\r\\n background-color: #fff;\\r\\n color: #666;\\r\\n font-size: 12px;\\r\\n border-top: 1px solid #eaeaea;\\n}\\n.footer-top[data-v-3d302860] {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n padding: 20px 0;\\r\\n flex-wrap: wrap;\\n}\\n.footer-link[data-v-3d302860] {\\r\\n display: flex;\\r\\n gap: 20px;\\r\\n align-items: center;\\n}\\n.footer-link span[data-v-3d302860] {\\r\\n transition: color 0.3s ease;\\n}\\n.footer-link span[data-v-3d302860]:hover {\\r\\n color: #1890ff;\\n}\\n.contact-info p[data-v-3d302860] {\\r\\n margin: 5px 0;\\n}\\n.footer-column[data-v-3d302860] {\\r\\n margin-bottom: 20px;\\n}\\n.footer-column h3[data-v-3d302860] {\\r\\n font-size: 14px;\\r\\n font-weight: bold;\\r\\n margin-bottom: 10px;\\r\\n color: #333;\\n}\\n.footer-column ul[data-v-3d302860] {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0;\\n}\\n.footer-column ul li[data-v-3d302860] {\\r\\n margin: 5px 0;\\r\\n transition: color 0.3s ease;\\n}\\n.footer-column ul li[data-v-3d302860]:hover {\\r\\n color: #1890ff;\\n}\\n.qrcode-group[data-v-3d302860] {\\r\\n display: flex;\\r\\n gap: 40px;\\n}\\n.qrcode-item[data-v-3d302860] {\\r\\n text-align: center;\\n}\\n.footer-bottom[data-v-3d302860] {\\r\\n text-align: center;\\r\\n padding: 10px 0;\\r\\n border-top: 1px solid #eaeaea;\\n}\\n.footer-bottom p[data-v-3d302860] {\\r\\n margin: 5px 0;\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/layout/Footer.vue?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use%5B1%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use%5B2%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=scss": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=scss ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\n#app {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, \\\"PingFang SC\\\", \\\"Hiragino Sans GB\\\", \\\"Microsoft YaHei\\\", \\\"微软雅黑\\\", Arial, sans-serif;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n color: #333;\\n min-height: 100vh;\\n display: flex;\\n flex-direction: column;\\n background: #ecf2df;\\n}\\n.main-container {\\n flex: 1;\\n width: 100%;\\n max-width: 1200px;\\n margin: 0 auto;\\n padding: 20px;\\n box-sizing: border-box;\\n}\\n@media (max-width: 1200px) {\\n.main-container {\\n padding: 15px;\\n}\\n}\\n@media (max-width: 768px) {\\n.main-container {\\n padding: 10px;\\n}\\n}\\n.main-containers {\\n flex: 1;\\n width: 100%;\\n}\\n* {\\n margin: 0;\\n padding: 0;\\n box-sizing: border-box;\\n}\\na {\\n text-decoration: none;\\n color: inherit;\\n}\\nul {\\n list-style: none;\\n}\\nimg {\\n vertical-align: middle;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/App.vue?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common/BackToTop.vue?vue&type=style&index=0&id=6baf117f&lang=scss&scoped=true": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/common/BackToTop.vue?vue&type=style&index=0&id=6baf117f&lang=scss&scoped=true ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".back-to-top[data-v-6baf117f] {\\n position: fixed;\\n bottom: 30px;\\n right: 30px;\\n width: 40px;\\n height: 40px;\\n background-color: #409eff;\\n color: white;\\n border-radius: 50%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\\n transition: all 0.3s ease;\\n z-index: 1000;\\n}\\n.back-to-top[data-v-6baf117f]:hover {\\n background-color: #337ab7;\\n transform: translateY(-3px);\\n}\\n.back-to-top .el-icon-arrow-up[data-v-6baf117f] {\\n font-size: 20px;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/common/BackToTop.vue?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/HeaderNav.vue?vue&type=style&index=0&id=270fbe21&lang=scss&scoped=true": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/HeaderNav.vue?vue&type=style&index=0&id=270fbe21&lang=scss&scoped=true ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".header-nav[data-v-270fbe21] {\\n width: 100%;\\n}\\n.header-nav .top-notice[data-v-270fbe21] {\\n background-color: #f5f5f5;\\n padding: 8px 0;\\n}\\n.header-nav .top-notice .container[data-v-270fbe21] {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n max-width: 1200px;\\n margin: 0 auto;\\n padding: 0 20px;\\n}\\n.header-nav .top-notice .container p[data-v-270fbe21] {\\n font-size: 14px;\\n color: #666;\\n margin: 0;\\n}\\n.header-nav .top-notice .container p .highlight[data-v-270fbe21] {\\n color: #ff4400;\\n margin: 0 5px;\\n font-weight: 500;\\n}\\n.header-nav .top-notice .container .top-links[data-v-270fbe21] {\\n display: flex;\\n align-items: center;\\n gap: 15px;\\n font-size: 14px;\\n}\\n.header-nav .top-notice .container .top-links .avatar[data-v-270fbe21] {\\n width: 24px;\\n height: 24px;\\n border-radius: 50%;\\n margin-right: 5px;\\n vertical-align: middle;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n.header-nav .top-notice .container .top-links .separator[data-v-270fbe21] {\\n color: #ccc;\\n}\\n.header-nav .top-notice .container .top-links a[data-v-270fbe21],\\n.header-nav .top-notice .container .top-links .logout-btn[data-v-270fbe21] {\\n color: #666;\\n transition: color 0.2s;\\n cursor: pointer;\\n text-decoration: none;\\n}\\n.header-nav .top-notice .container .top-links a[data-v-270fbe21]:hover,\\n.header-nav .top-notice .container .top-links .logout-btn[data-v-270fbe21]:hover {\\n color: #6a8a27;\\n}\\n.header-nav .top-notice .container .top-links .user-link[data-v-270fbe21] {\\n display: flex;\\n align-items: center;\\n}\\n.header-nav .top-notice .container .top-links .cart-link[data-v-270fbe21] {\\n display: inline-flex;\\n align-items: center;\\n}\\n.header-nav .main-nav[data-v-270fbe21] {\\n background-color: #fff;\\n padding: 15px 0;\\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);\\n}\\n.header-nav .main-nav .container[data-v-270fbe21] {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n max-width: 1200px;\\n margin: 0 auto;\\n padding: 0 20px;\\n}\\n.header-nav .main-nav .logo a[data-v-270fbe21] {\\n display: block;\\n}\\n.header-nav .main-nav .logo a .logo-img[data-v-270fbe21] {\\n height: 40px;\\n -o-object-fit: contain;\\n object-fit: contain;\\n}\\n.header-nav .main-nav .search-box[data-v-270fbe21] {\\n flex: 0 0 500px;\\n}\\n@media (max-width: 992px) {\\n.header-nav .main-nav .search-box[data-v-270fbe21] {\\n flex: 0 0 400px;\\n}\\n}\\n@media (max-width: 768px) {\\n.header-nav .main-nav .search-box[data-v-270fbe21] {\\n display: none;\\n}\\n}\\n.header-nav .main-nav .search-box .search-input[data-v-270fbe21] {\\n width: 100%;\\n border: 1px solid #6a8a27;\\n}\\n.header-nav .main-nav .search-box .search-input[data-v-270fbe21] .el-input__inner {\\n border-right: none;\\n}\\n.header-nav .main-nav .search-box .search-input[data-v-270fbe21] .el-input-group__append {\\n background-color: #6a8a27;\\n border-color: #6a8a27;\\n color: white;\\n}\\n.header-nav .main-nav .search-box .hot-tags[data-v-270fbe21] {\\n margin-top: 8px;\\n font-size: 12px;\\n color: #999;\\n display: flex;\\n align-items: center;\\n}\\n.header-nav .main-nav .search-box .hot-tags span[data-v-270fbe21] {\\n margin-right: 5px;\\n}\\n.header-nav .main-nav .search-box .hot-tags .hot-tag[data-v-270fbe21] {\\n margin: 0 5px;\\n color: #666;\\n cursor: pointer;\\n transition: color 0.2s;\\n}\\n.header-nav .main-nav .search-box .hot-tags .hot-tag[data-v-270fbe21]:hover {\\n color: #409eff;\\n text-decoration: underline;\\n}\\n.header-nav .main-nav .phone-entry a[data-v-270fbe21] {\\n display: flex;\\n align-items: center;\\n color: #333;\\n font-size: 16px;\\n text-decoration: none;\\n}\\n.header-nav .main-nav .phone-entry a img[data-v-270fbe21] {\\n width: 24px;\\n height: 24px;\\n}\\n.header-nav .main-nav .phone-entry a span[data-v-270fbe21] {\\n margin-left: 10px;\\n}\\n.header-nav .main-nav .phone-entry a .cart-count[data-v-270fbe21] {\\n display: inline-block;\\n width: 18px;\\n height: 18px;\\n background-color: #ff4400;\\n color: white;\\n border-radius: 50%;\\n font-size: 12px;\\n text-align: center;\\n line-height: 18px;\\n margin-left: 5px;\\n}\\n.header-nav .category-nav[data-v-270fbe21] {\\n background-color: #409eff;\\n}\\n.header-nav .category-nav .container[data-v-270fbe21] {\\n max-width: 1200px;\\n margin: 0 auto;\\n padding: 0 20px;\\n}\\n.header-nav .category-nav .nav-list[data-v-270fbe21] {\\n display: flex;\\n margin: 0;\\n padding: 0;\\n}\\n@media (max-width: 992px) {\\n.header-nav .category-nav .nav-list[data-v-270fbe21] {\\n overflow-x: auto;\\n white-space: nowrap;\\n -webkit-overflow-scrolling: touch;\\n}\\n}\\n.header-nav .category-nav .nav-list .nav-item[data-v-270fbe21] {\\n list-style: none;\\n}\\n.header-nav .category-nav .nav-list .nav-item .nav-link[data-v-270fbe21] {\\n display: inline-block;\\n padding: 12px 20px;\\n color: #fff;\\n font-size: 16px;\\n transition: background-color 0.2s;\\n text-decoration: none;\\n}\\n.header-nav .category-nav .nav-list .nav-item .nav-link[data-v-270fbe21]:hover, .header-nav .category-nav .nav-list .nav-item .nav-link.active[data-v-270fbe21] {\\n background-color: #337ab7;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/layout/HeaderNav.vue?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Sidebar.vue?vue&type=style&index=0&id=117f5fe7&lang=scss&scoped=true": /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Sidebar.vue?vue&type=style&index=0&id=117f5fe7&lang=scss&scoped=true ***! \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sidebar-container[data-v-117f5fe7] {\\n position: fixed;\\n right: 20px;\\n top: 50%;\\n transform: translateY(-50%);\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n background-color: #fff;\\n border-radius: 8px;\\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\\n padding: 15px 10px;\\n z-index: 999;\\n}\\n.sidebar-container .sidebar-item[data-v-117f5fe7] {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n cursor: pointer;\\n margin-bottom: 20px;\\n color: #666;\\n transition: all 0.3s;\\n}\\n.sidebar-container .sidebar-item[data-v-117f5fe7]:last-child {\\n margin-bottom: 0;\\n}\\n.sidebar-container .sidebar-item i[data-v-117f5fe7] {\\n font-size: 20px;\\n margin-bottom: 5px;\\n}\\n.sidebar-container .sidebar-item .item-text[data-v-117f5fe7] {\\n font-size: 12px;\\n}\\n.sidebar-container .sidebar-item[data-v-117f5fe7]:hover {\\n color: #409eff;\\n}\\n.sidebar-container .item-badge .el-badge__content[data-v-117f5fe7] {\\n background-color: #ff4d4f;\\n top: -5px;\\n right: -10px;\\n}\\n.sidebar-container .back-to-top.active[data-v-117f5fe7] {\\n color: #409eff;\\n}\\n@media (max-width: 768px) {\\n.sidebar-container[data-v-117f5fe7] {\\n right: 10px;\\n padding: 10px 5px;\\n}\\n.sidebar-container .sidebar-item[data-v-117f5fe7] {\\n margin-bottom: 15px;\\n}\\n.sidebar-container .sidebar-item i[data-v-117f5fe7] {\\n font-size: 18px;\\n}\\n.sidebar-container .sidebar-item .item-text[data-v-117f5fe7] {\\n font-size: 10px;\\n}\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/layout/Sidebar.vue?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options\n}"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-24.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-24.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-24.use[3]!./src/assets/css/common.scss": /*!**************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-24.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-24.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-24.use[3]!./src/assets/css/common.scss ***! \**************************************************************************************************************************************************************************************************************************************/ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\nbody, html {\\n padding: 0;\\n margin: 0;\\n}\\n\\ndiv {\\n box-sizing: border-box;\\n}\\n\\n/*单行隐藏*/\\n.text-overflow {\\n overflow-x: hidden;\\n overflow-y: inherit;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\\n/*两行隐藏,其他行设置-webkit-line-clamp:n */\\n.text-overflowRows {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n -webkit-line-clamp: 2;\\n word-break: break-all;\\n display: -webkit-box;\\n -webkit-box-orient: vertical;\\n}\\n\\n.flex-between {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n.flex-center {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flex-around {\\n display: flex;\\n justify-content: space-around;\\n align-items: center;\\n}\\n\\n.flex-column {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.normal-margin-bottom {\\n margin-bottom: 20px;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/assets/css/common.scss?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-24.use%5B1%5D!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-24.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-24.use%5B3%5D\n}"); /***/ }), /***/ "./node_modules/vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Footer.vue?vue&type=style&index=0&id=3d302860&scoped=true&lang=css": /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/layout/Footer.vue?vue&type=style&index=0&id=3d302860&scoped=true&lang=css ***! \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { eval("{// style-loader: Adds some css to the DOM by adding a