/* * 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/). */ (self["webpackChunkshiweisuzhou"] = self["webpackChunkshiweisuzhou"] || []).push([["src_views_Home_vue"],{ /***/ "./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/product/ProductList.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/product/ProductList.vue?vue&type=script&lang=js ***! \**************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"ProductList\",\n props: {\n products: {\n type: Array,\n default: () => []\n }\n },\n methods: {}\n});\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/product/ProductList.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/views/Home.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/views/Home.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 vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _components_product_ProductList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/product/ProductList */ \"./src/components/product/ProductList.vue\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"Home\",\n components: {\n ProductList: _components_product_ProductList__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n data() {\n return {\n // 模拟热门商品数据\n hotProducts: [{\n id: 1,\n name: \"超薄笔记本电脑\",\n price: 5999,\n originalPrice: 6999,\n image: \"https://picsum.photos/300/300?random=1\",\n sales: 1254,\n categoryId: 1\n }, {\n id: 2,\n name: \"智能手表\",\n price: 1599,\n originalPrice: 1799,\n image: \"https://picsum.photos/300/300?random=2\",\n sales: 856,\n categoryId: 1\n }, {\n id: 3,\n name: \"纯棉T恤\",\n price: 99,\n originalPrice: 199,\n image: \"https://picsum.photos/300/300?random=3\",\n sales: 2356,\n categoryId: 2\n }, {\n id: 4,\n name: \"休闲牛仔裤\",\n price: 199,\n originalPrice: 399,\n image: \"https://picsum.photos/300/300?random=4\",\n sales: 1890,\n categoryId: 2\n }, {\n id: 5,\n name: \"舒适沙发\",\n price: 2999,\n originalPrice: 3999,\n image: \"https://picsum.photos/300/300?random=5\",\n sales: 324,\n categoryId: 3\n }, {\n id: 6,\n name: \"智能扫地机器人\",\n price: 1899,\n originalPrice: 2299,\n image: \"https://picsum.photos/300/300?random=6\",\n sales: 754,\n categoryId: 3\n }],\n // 模拟新品数据\n newProducts: [{\n id: 7,\n name: \"高清投影仪\",\n price: 3299,\n originalPrice: 3699,\n image: \"https://picsum.photos/300/300?random=7\",\n sales: 156,\n categoryId: 1\n }, {\n id: 8,\n name: \"保湿面霜\",\n price: 299,\n originalPrice: 359,\n image: \"https://picsum.photos/300/300?random=8\",\n sales: 423,\n categoryId: 4\n }, {\n id: 9,\n name: \"有机水果礼盒\",\n price: 159,\n originalPrice: 199,\n image: \"https://picsum.photos/300/300?random=9\",\n sales: 287,\n categoryId: 5\n }, {\n id: 10,\n name: \"经典文学名著\",\n price: 129,\n originalPrice: 199,\n image: \"https://picsum.photos/300/300?random=10\",\n sales: 342,\n categoryId: 6\n }, {\n id: 11,\n name: \"无线蓝牙耳机\",\n price: 799,\n originalPrice: 999,\n image: \"https://picsum.photos/300/300?random=11\",\n sales: 567,\n categoryId: 1\n }, {\n id: 12,\n name: \"运动鞋\",\n price: 499,\n originalPrice: 699,\n image: \"https://picsum.photos/300/300?random=12\",\n sales: 432,\n categoryId: 2\n }]\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_0__.mapGetters)([\"getCategories\"]),\n categories() {\n return this.getCategories;\n }\n },\n created() {\n this.fetchCategories();\n },\n methods: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_0__.mapActions)([\"fetchCategories\"])\n }\n});\n\n//# sourceURL=webpack://shiweisuzhou/./src/views/Home.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/components/product/ProductList.vue?vue&type=template&id=9a3ff6e6&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/product/ProductList.vue?vue&type=template&id=9a3ff6e6&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: \"product-list\"\n }, [_c(\"div\", {\n staticClass: \"product-grid\"\n }, _vm._l(_vm.products, function (product) {\n return _c(\"router-link\", {\n key: product.id,\n staticClass: \"product-card\",\n attrs: {\n to: `/Detail/${product.id}`\n }\n }, [_c(\"div\", {\n staticClass: \"product-img\"\n }, [_c(\"img\", {\n directives: [{\n name: \"lazy\",\n rawName: \"v-lazy\",\n value: product.headimg,\n expression: \"product.headimg\"\n }],\n staticClass: \"product-pic\",\n attrs: {\n alt: product.title\n }\n })]), _c(\"div\", {\n staticClass: \"product-info\"\n }, [_c(\"div\", {\n staticClass: \"flex-between\"\n }, [_c(\"div\", {\n staticClass: \"product-price\"\n }, [_c(\"span\", {\n staticClass: \"current-price\"\n }, [_vm._v(\"¥\" + _vm._s(product.price / 100))]), product.market_price ? _c(\"span\", {\n staticClass: \"original-price\"\n }, [_vm._v(\"¥\" + _vm._s(product.market_price / 100))]) : _vm._e()]), product.sales ? _c(\"div\", {\n staticClass: \"product-sales\"\n }, [_c(\"span\", [_vm._v(\"已售 \" + _vm._s(product.sales_number) + \" 件\")])]) : _vm._e()]), _c(\"h3\", {\n staticClass: \"product-name\"\n }, [_c(\"router-link\", {\n attrs: {\n to: `/Detail/${product.id}`\n }\n }, [_vm._v(\" \" + _vm._s(product.title) + \" \")])], 1), _c(\"div\", {\n staticClass: \"product-actions\"\n }, [_c(\"el-button\", {\n staticStyle: {\n \"background-color\": \"#6a8a27\",\n border: \"none\"\n },\n attrs: {\n type: \"primary\",\n size: \"small\"\n }\n }, [_c(\"el-icon\", {\n attrs: {\n name: \"el-icon-shopping-cart\"\n }\n }), _vm._v(\" 立即购买 \")], 1)], 1)])]);\n }), 1), _vm.products.length === 0 ? _c(\"div\", {\n staticClass: \"no-products\"\n }, [_c(\"el-empty\", {\n attrs: {\n description: \"暂无相关商品\"\n }\n })], 1) : _vm._e()]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/product/ProductList.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/views/Home.vue?vue&type=template&id=fae5bece&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/views/Home.vue?vue&type=template&id=fae5bece&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 */ });\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\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"home-page\"\n }, [_c(\"el-carousel\", {\n staticClass: \"home-carousel\",\n attrs: {\n height: \"500px\",\n \"indicator-position\": \"outside\"\n }\n }, _vm._l(4, function (item) {\n return _c(\"el-carousel-item\", {\n key: item\n }, [_c(\"img\", {\n directives: [{\n name: \"lazy\",\n rawName: \"v-lazy\",\n value: `https://picsum.photos/1200/500?random=${item}`,\n expression: \"`https://picsum.photos/1200/500?random=${item}`\"\n }],\n staticClass: \"carousel-img\",\n attrs: {\n alt: \"轮播图片\"\n }\n })]);\n }), 1), _c(\"div\", {\n staticClass: \"category-nav\"\n }, [_c(\"h2\", {\n staticClass: \"section-title\"\n }, [_vm._v(\"商品分类\")]), _c(\"div\", {\n staticClass: \"category-list\"\n }, _vm._l(_vm.categories, function (category) {\n return _c(\"div\", {\n key: category.id,\n staticClass: \"category-item\",\n on: {\n click: function ($event) {\n return _vm.$router.push(`/category/${category.id}`);\n }\n }\n }, [_c(\"el-icon\", {\n staticClass: \"category-icon\",\n attrs: {\n name: category.icon\n }\n }), _c(\"span\", {\n staticClass: \"category-name\"\n }, [_vm._v(_vm._s(category.name))])], 1);\n }), 0)]), _c(\"div\", {\n staticClass: \"hot-products\"\n }, [_vm._m(0), _c(\"ProductList\", {\n attrs: {\n products: _vm.hotProducts\n }\n })], 1), _c(\"div\", {\n staticClass: \"new-products\"\n }, [_vm._m(1), _c(\"ProductList\", {\n attrs: {\n products: _vm.newProducts\n }\n })], 1), _c(\"div\", {\n staticClass: \"promotion-section\"\n }, [_c(\"h2\", {\n staticClass: \"section-title\"\n }, [_vm._v(\"限时促销\")]), _c(\"div\", {\n staticClass: \"promotion-container\"\n }, [_c(\"div\", {\n staticClass: \"promotion-item\"\n }, [_c(\"img\", {\n directives: [{\n name: \"lazy\",\n rawName: \"v-lazy\",\n value: `https://picsum.photos/600/300?random=10`,\n expression: \"`https://picsum.photos/600/300?random=10`\"\n }],\n staticClass: \"promotion-img\",\n attrs: {\n alt: \"促销活动图片\"\n }\n }), _c(\"div\", {\n staticClass: \"promotion-info\"\n }, [_c(\"h3\", [_vm._v(\"夏季大促\")]), _c(\"p\", [_vm._v(\"全场商品低至5折\")]), _c(\"el-button\", {\n attrs: {\n type: \"primary\",\n size: \"medium\"\n }\n }, [_vm._v(\"立即抢购\")])], 1)]), _c(\"div\", {\n staticClass: \"promotion-item\"\n }, [_c(\"img\", {\n directives: [{\n name: \"lazy\",\n rawName: \"v-lazy\",\n value: `https://picsum.photos/600/300?random=11`,\n expression: \"`https://picsum.photos/600/300?random=11`\"\n }],\n staticClass: \"promotion-img\",\n attrs: {\n alt: \"促销活动图片\"\n }\n }), _c(\"div\", {\n staticClass: \"promotion-info\"\n }, [_c(\"h3\", [_vm._v(\"新品首发\")]), _c(\"p\", [_vm._v(\"限量发售,先到先得\")]), _c(\"el-button\", {\n attrs: {\n type: \"primary\",\n size: \"medium\"\n }\n }, [_vm._v(\"立即抢购\")])], 1)])])])], 1);\n};\nvar staticRenderFns = [function () {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"section-header\"\n }, [_c(\"h2\", {\n staticClass: \"section-title\"\n }, [_vm._v(\"热门商品\")]), _c(\"a\", {\n staticClass: \"more-link\",\n attrs: {\n href: \"#\"\n }\n }, [_vm._v(\"查看更多 \"), _c(\"i\", {\n staticClass: \"el-icon-arrow-right\"\n })])]);\n}, function () {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"section-header\"\n }, [_c(\"h2\", {\n staticClass: \"section-title\"\n }, [_vm._v(\"新品上市\")]), _c(\"a\", {\n staticClass: \"more-link\",\n attrs: {\n href: \"#\"\n }\n }, [_vm._v(\"查看更多 \"), _c(\"i\", {\n staticClass: \"el-icon-arrow-right\"\n })])]);\n}];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/views/Home.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-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/product/ProductList.vue?vue&type=style&index=0&id=9a3ff6e6&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/product/ProductList.vue?vue&type=style&index=0&id=9a3ff6e6&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, \".product-list .product-grid[data-v-9a3ff6e6] {\\n display: grid;\\n grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\\n gap: 20px;\\n}\\n.product-list .product-card[data-v-9a3ff6e6] {\\n border: 1px solid #eaeaea;\\n border-radius: 8px;\\n overflow: hidden;\\n transition: all 0.3s ease;\\n padding: 10px;\\n background: #ffffff;\\n border-radius: 10px;\\n}\\n.product-list .product-card[data-v-9a3ff6e6]:hover {\\n transform: translateY(-5px);\\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);\\n}\\n.product-list .product-card .product-img[data-v-9a3ff6e6] {\\n height: 250px;\\n overflow: hidden;\\n}\\n.product-list .product-card .product-img .product-pic[data-v-9a3ff6e6] {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n transition: transform 0.5s ease;\\n}\\n.product-list .product-card .product-img .product-pic[data-v-9a3ff6e6]:hover {\\n transform: scale(1.05);\\n}\\n.product-list .product-card .product-info[data-v-9a3ff6e6] {\\n padding: 10px;\\n}\\n.product-list .product-card .product-info .product-name[data-v-9a3ff6e6] {\\n font-size: 14px;\\n line-height: 20px;\\n min-height: 40px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n margin-bottom: 10px;\\n}\\n.product-list .product-card .product-info .product-name a[data-v-9a3ff6e6] {\\n color: #333;\\n}\\n.product-list .product-card .product-info .product-name a[data-v-9a3ff6e6]:hover {\\n color: #409eff;\\n}\\n.product-list .product-card .product-info .product-price[data-v-9a3ff6e6] {\\n margin-bottom: 15px;\\n}\\n.product-list .product-card .product-info .product-price .current-price[data-v-9a3ff6e6] {\\n color: #ff4400;\\n font-size: 16px;\\n font-weight: 700;\\n}\\n.product-list .product-card .product-info .product-price .original-price[data-v-9a3ff6e6] {\\n color: #999;\\n font-size: 12px;\\n text-decoration: line-through;\\n margin-left: 8px;\\n}\\n.product-list .product-card .product-info .product-actions[data-v-9a3ff6e6] {\\n margin-bottom: 10px;\\n}\\n.product-list .product-card .product-info .product-sales[data-v-9a3ff6e6] {\\n font-size: 12px;\\n color: #999;\\n margin-bottom: 15px;\\n}\\n.product-list .no-products[data-v-9a3ff6e6] {\\n padding: 50px 0;\\n text-align: center;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/components/product/ProductList.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/views/Home.vue?vue&type=style&index=0&id=fae5bece&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/views/Home.vue?vue&type=style&index=0&id=fae5bece&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, \".home-page .home-carousel[data-v-fae5bece] {\\n margin-bottom: 30px;\\n}\\n.home-page .home-carousel .carousel-img[data-v-fae5bece] {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n.home-page .category-nav[data-v-fae5bece] {\\n margin-bottom: 40px;\\n}\\n.home-page .category-nav .category-list[data-v-fae5bece] {\\n display: flex;\\n justify-content: space-between;\\n flex-wrap: wrap;\\n gap: 20px;\\n margin-top: 20px;\\n}\\n.home-page .category-nav .category-item[data-v-fae5bece] {\\n flex: 1;\\n min-width: 120px;\\n height: 150px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n border: 1px solid #eaeaea;\\n border-radius: 8px;\\n cursor: pointer;\\n transition: all 0.3s ease;\\n}\\n.home-page .category-nav .category-item[data-v-fae5bece]:hover {\\n transform: translateY(-5px);\\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);\\n border-color: #409eff;\\n}\\n.home-page .category-nav .category-item .category-icon[data-v-fae5bece] {\\n font-size: 36px;\\n color: #409eff;\\n margin-bottom: 15px;\\n}\\n.home-page .category-nav .category-item .category-name[data-v-fae5bece] {\\n font-size: 16px;\\n font-weight: 500;\\n}\\n.home-page .section-title[data-v-fae5bece] {\\n font-size: 24px;\\n color: #333;\\n padding-bottom: 10px;\\n border-bottom: 2px solid #409eff;\\n display: inline-block;\\n margin-bottom: 20px;\\n}\\n.home-page .section-header[data-v-fae5bece] {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-bottom: 20px;\\n}\\n.home-page .section-header .more-link[data-v-fae5bece] {\\n color: #409eff;\\n font-size: 14px;\\n display: flex;\\n align-items: center;\\n}\\n.home-page .section-header .more-link[data-v-fae5bece]:hover {\\n text-decoration: underline;\\n}\\n.home-page .section-header .more-link i[data-v-fae5bece] {\\n margin-left: 5px;\\n font-size: 16px;\\n}\\n.home-page .hot-products[data-v-fae5bece],\\n.home-page .new-products[data-v-fae5bece] {\\n margin-bottom: 40px;\\n}\\n.home-page .promotion-section[data-v-fae5bece] {\\n margin: 40px 0;\\n}\\n.home-page .promotion-section .promotion-container[data-v-fae5bece] {\\n display: flex;\\n gap: 20px;\\n margin-top: 20px;\\n}\\n@media (max-width: 768px) {\\n.home-page .promotion-section .promotion-container[data-v-fae5bece] {\\n flex-direction: column;\\n}\\n}\\n.home-page .promotion-section .promotion-item[data-v-fae5bece] {\\n flex: 1;\\n position: relative;\\n height: 300px;\\n border-radius: 8px;\\n overflow: hidden;\\n}\\n.home-page .promotion-section .promotion-item .promotion-img[data-v-fae5bece] {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n transition: transform 0.5s ease;\\n}\\n.home-page .promotion-section .promotion-item .promotion-img[data-v-fae5bece]:hover {\\n transform: scale(1.05);\\n}\\n.home-page .promotion-section .promotion-item .promotion-info[data-v-fae5bece] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: rgba(0, 0, 0, 0.5);\\n color: #fff;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n padding: 20px;\\n text-align: center;\\n}\\n.home-page .promotion-section .promotion-item .promotion-info h3[data-v-fae5bece] {\\n font-size: 24px;\\n margin-bottom: 10px;\\n}\\n.home-page .promotion-section .promotion-item .promotion-info p[data-v-fae5bece] {\\n font-size: 16px;\\n margin-bottom: 20px;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://shiweisuzhou/./src/views/Home.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/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./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/product/ProductList.vue?vue&type=style&index=0&id=9a3ff6e6&lang=scss&scoped=true": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./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/product/ProductList.vue?vue&type=style&index=0&id=9a3ff6e6&lang=scss&scoped=true ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { eval("{// style-loader: Adds some css to the DOM by adding a