diff --git a/dist/css/601.b5eaf439.css b/dist/css/854.e92e0afc.css similarity index 59% rename from dist/css/601.b5eaf439.css rename to dist/css/854.e92e0afc.css index b0a607d..65c8ffb 100644 --- a/dist/css/601.b5eaf439.css +++ b/dist/css/854.e92e0afc.css @@ -1 +1 @@ -.home-layout-container[data-v-083f77c2]{display:flex;width:100%;height:auto}.left-nav[data-v-083f77c2]{width:200px;background-color:#f8f9fa;padding:20px 0;box-sizing:border-box}.nav-list[data-v-083f77c2]{list-style:none;margin:0;padding:0}.nav-item[data-v-083f77c2]{padding:12px 20px;cursor:pointer;color:#333;transition:all .3s ease;display:flex}.nav-item img[data-v-083f77c2]{width:20px;margin-right:5px}.nav-item[data-v-083f77c2]:hover{background-color:#e9ecef;padding-left:25px}.main-content[data-v-083f77c2]{flex:1;height:auto;overflow:hidden}.carousel-img[data-v-083f77c2]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.main-content[data-v-083f77c2] .el-carousel__container{height:100%!important}.right-info[data-v-083f77c2]{width:280px;background-color:#fff;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;border-left:1px solid #eee}.avatar-container[data-v-083f77c2]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.user-avatar[data-v-083f77c2]{width:60px;height:60px;border-radius:50%;margin-bottom:10px;border:2px solid #f0f0f0}.welcome-text[data-v-083f77c2]{font-size:14px;color:#333}.btn-group[data-v-083f77c2]{display:flex;gap:10px;margin-bottom:30px;width:100%}.func-icons[data-v-083f77c2]{display:flex;justify-content:space-around;width:100%;margin-bottom:30px;padding:10px 0;border-top:1px dashed #eee;border-bottom:1px dashed #eee}.icon-item[data-v-083f77c2]{display:flex;flex-direction:column;align-items:center;cursor:pointer;color:#666;transition:color .3s ease;width:50px}.icon-item[data-v-083f77c2]:hover{color:#1890ff}.icon[data-v-083f77c2]{font-size:24px;margin-bottom:5px}.icon-item span[data-v-083f77c2]{font-size:12px}.announcement[data-v-083f77c2]{display:flex;align-items:center;font-size:12px;color:#666;width:100%;padding-top:10px}.announcement span[data-v-083f77c2]{margin-left:10px}.product-list .product-grid[data-v-6ecfbe40]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.product-list .product-card[data-v-6ecfbe40]{border:1px solid #eaeaea;border-radius:8px;overflow:hidden;transition:all .3s ease;padding:10px}.product-list .product-card[data-v-6ecfbe40]:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.product-list .product-card .product-img[data-v-6ecfbe40]{height:250px;overflow:hidden}.product-list .product-card .product-img .product-pic[data-v-6ecfbe40]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.product-list .product-card .product-img .product-pic[data-v-6ecfbe40]:hover{transform:scale(1.05)}.product-list .product-card .product-info[data-v-6ecfbe40]{padding:10px}.product-list .product-card .product-info .product-name[data-v-6ecfbe40]{font-size:14px;line-height:20px;min-height:40px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px}.product-list .product-card .product-info .product-name a[data-v-6ecfbe40]{color:#333}.product-list .product-card .product-info .product-name a[data-v-6ecfbe40]:hover{color:#409eff}.product-list .product-card .product-info .product-price[data-v-6ecfbe40]{margin-bottom:15px}.product-list .product-card .product-info .product-price .current-price[data-v-6ecfbe40]{color:#f40;font-size:16px;font-weight:700}.product-list .product-card .product-info .product-price .original-price[data-v-6ecfbe40]{color:#999;font-size:12px;text-decoration:line-through;margin-left:8px}.product-list .product-card .product-info .product-actions[data-v-6ecfbe40]{margin-bottom:10px}.product-list .product-card .product-info .product-sales[data-v-6ecfbe40]{font-size:12px;color:#999;margin-bottom:15px}.product-list .no-products[data-v-6ecfbe40]{padding:50px 0;text-align:center}.product-box[data-v-9b57fa58]{margin:30px 0}.product-box h2[data-v-9b57fa58]{margin-bottom:20px} \ No newline at end of file +.home-layout-container[data-v-a8825fb4]{display:flex;width:100%;height:auto}.left-nav[data-v-a8825fb4]{width:200px;background-color:#f8f9fa;padding:20px 0;box-sizing:border-box}.nav-list[data-v-a8825fb4]{list-style:none;margin:0;padding:0}.nav-item[data-v-a8825fb4]{padding:12px 20px;cursor:pointer;color:#333;transition:all .3s ease;display:flex}.nav-item img[data-v-a8825fb4]{width:20px;margin-right:5px}.nav-item[data-v-a8825fb4]:hover{background-color:#e9ecef;padding-left:25px}.main-content[data-v-a8825fb4]{flex:1;height:auto;overflow:hidden}.carousel-img[data-v-a8825fb4]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.main-content[data-v-a8825fb4] .el-carousel__container{height:100%!important}.right-info[data-v-a8825fb4]{width:280px;background-color:#fff;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;border-left:1px solid #eee}.avatar-container[data-v-a8825fb4]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.user-avatar[data-v-a8825fb4]{width:60px;height:60px;border-radius:50%;margin-bottom:10px;border:2px solid #f0f0f0}.welcome-text[data-v-a8825fb4]{font-size:14px;color:#333}.btn-group[data-v-a8825fb4]{display:flex;gap:10px;margin-bottom:30px;width:100%}.func-icons[data-v-a8825fb4]{display:flex;justify-content:space-around;width:100%;margin-bottom:30px;padding:10px 0;border-top:1px dashed #eee;border-bottom:1px dashed #eee}.icon-item[data-v-a8825fb4]{display:flex;flex-direction:column;align-items:center;cursor:pointer;color:#666;transition:color .3s ease;width:50px}.icon-item[data-v-a8825fb4]:hover{color:#1890ff}.icon[data-v-a8825fb4]{font-size:24px;margin-bottom:5px}.icon-item span[data-v-a8825fb4]{font-size:12px}.announcement[data-v-a8825fb4]{display:flex;align-items:center;font-size:12px;color:#666;width:100%;padding-top:10px}.announcement span[data-v-a8825fb4]{margin-left:10px}.product-list .product-grid[data-v-6ecfbe40]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.product-list .product-card[data-v-6ecfbe40]{border:1px solid #eaeaea;border-radius:8px;overflow:hidden;transition:all .3s ease;padding:10px}.product-list .product-card[data-v-6ecfbe40]:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.product-list .product-card .product-img[data-v-6ecfbe40]{height:250px;overflow:hidden}.product-list .product-card .product-img .product-pic[data-v-6ecfbe40]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.product-list .product-card .product-img .product-pic[data-v-6ecfbe40]:hover{transform:scale(1.05)}.product-list .product-card .product-info[data-v-6ecfbe40]{padding:10px}.product-list .product-card .product-info .product-name[data-v-6ecfbe40]{font-size:14px;line-height:20px;min-height:40px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px}.product-list .product-card .product-info .product-name a[data-v-6ecfbe40]{color:#333}.product-list .product-card .product-info .product-name a[data-v-6ecfbe40]:hover{color:#409eff}.product-list .product-card .product-info .product-price[data-v-6ecfbe40]{margin-bottom:15px}.product-list .product-card .product-info .product-price .current-price[data-v-6ecfbe40]{color:#f40;font-size:16px;font-weight:700}.product-list .product-card .product-info .product-price .original-price[data-v-6ecfbe40]{color:#999;font-size:12px;text-decoration:line-through;margin-left:8px}.product-list .product-card .product-info .product-actions[data-v-6ecfbe40]{margin-bottom:10px}.product-list .product-card .product-info .product-sales[data-v-6ecfbe40]{font-size:12px;color:#999;margin-bottom:15px}.product-list .no-products[data-v-6ecfbe40]{padding:50px 0;text-align:center}.product-box[data-v-9b57fa58]{margin:30px 0}.product-box h2[data-v-9b57fa58]{margin-bottom:20px} \ No newline at end of file diff --git a/dist/css/app.5178ac73.css b/dist/css/app.5178ac73.css new file mode 100644 index 0000000..c93903c --- /dev/null +++ b/dist/css/app.5178ac73.css @@ -0,0 +1 @@ +.header-nav[data-v-397f4a13]{width:100%}.header-nav .top-notice[data-v-397f4a13]{background-color:#f5f5f5;padding:8px 0}.header-nav .top-notice .container[data-v-397f4a13]{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}.header-nav .top-notice .container p[data-v-397f4a13]{font-size:14px;color:#666;margin:0}.header-nav .top-notice .container p .highlight[data-v-397f4a13]{color:#f40;margin:0 5px;font-weight:500}.header-nav .top-notice .container .top-links[data-v-397f4a13]{display:flex;align-items:center;gap:15px;font-size:14px}.header-nav .top-notice .container .top-links .avatar[data-v-397f4a13]{width:24px;height:24px;border-radius:50%;margin-right:5px;vertical-align:middle;-o-object-fit:cover;object-fit:cover}.header-nav .top-notice .container .top-links .separator[data-v-397f4a13]{color:#ccc}.header-nav .top-notice .container .top-links .logout-btn[data-v-397f4a13],.header-nav .top-notice .container .top-links a[data-v-397f4a13]{color:#666;transition:color .2s;cursor:pointer;text-decoration:none}.header-nav .top-notice .container .top-links .logout-btn[data-v-397f4a13]:hover,.header-nav .top-notice .container .top-links a[data-v-397f4a13]:hover{color:#6a8a27}.header-nav .top-notice .container .top-links .user-link[data-v-397f4a13]{display:flex;align-items:center}.header-nav .top-notice .container .top-links .cart-link[data-v-397f4a13]{display:inline-flex;align-items:center}.header-nav .main-nav[data-v-397f4a13]{background-color:#fff;padding:15px 0;box-shadow:0 2px 5px rgba(0,0,0,.05)}.header-nav .main-nav .container[data-v-397f4a13]{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}.header-nav .main-nav .logo a[data-v-397f4a13]{display:block}.header-nav .main-nav .logo a .logo-img[data-v-397f4a13]{height:40px;-o-object-fit:contain;object-fit:contain}.header-nav .main-nav .search-box[data-v-397f4a13]{flex:0 0 500px}@media(max-width:992px){.header-nav .main-nav .search-box[data-v-397f4a13]{flex:0 0 400px}}@media(max-width:768px){.header-nav .main-nav .search-box[data-v-397f4a13]{display:none}}.header-nav .main-nav .search-box .search-input[data-v-397f4a13]{width:100%;border:1px solid #6a8a27}.header-nav .main-nav .search-box .search-input[data-v-397f4a13] .el-input__inner{border-right:none}.header-nav .main-nav .search-box .search-input[data-v-397f4a13] .el-input-group__append{background-color:#6a8a27;border-color:#6a8a27;color:#fff}.header-nav .main-nav .search-box .hot-tags[data-v-397f4a13]{margin-top:8px;font-size:12px;color:#999;display:flex;align-items:center}.header-nav .main-nav .search-box .hot-tags span[data-v-397f4a13]{margin-right:5px}.header-nav .main-nav .search-box .hot-tags .hot-tag[data-v-397f4a13]{margin:0 5px;color:#666;cursor:pointer;transition:color .2s}.header-nav .main-nav .search-box .hot-tags .hot-tag[data-v-397f4a13]:hover{color:#409eff;text-decoration:underline}.header-nav .main-nav .phone-entry a[data-v-397f4a13]{display:flex;align-items:center;color:#333;font-size:16px;text-decoration:none}.header-nav .main-nav .phone-entry a img[data-v-397f4a13]{width:24px;height:24px}.header-nav .main-nav .phone-entry a span[data-v-397f4a13]{margin-left:10px}.header-nav .main-nav .phone-entry a .cart-count[data-v-397f4a13]{display:inline-block;width:18px;height:18px;background-color:#f40;color:#fff;border-radius:50%;font-size:12px;text-align:center;line-height:18px;margin-left:5px}.header-nav .category-nav[data-v-397f4a13]{background-color:#409eff}.header-nav .category-nav .container[data-v-397f4a13]{max-width:1200px;margin:0 auto;padding:0 20px}.header-nav .category-nav .nav-list[data-v-397f4a13]{display:flex;margin:0;padding:0}@media(max-width:992px){.header-nav .category-nav .nav-list[data-v-397f4a13]{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}.header-nav .category-nav .nav-list .nav-item[data-v-397f4a13]{list-style:none}.header-nav .category-nav .nav-list .nav-item .nav-link[data-v-397f4a13]{display:inline-block;padding:12px 20px;color:#fff;font-size:16px;transition:background-color .2s;text-decoration:none}.header-nav .category-nav .nav-list .nav-item .nav-link.active[data-v-397f4a13],.header-nav .category-nav .nav-list .nav-item .nav-link[data-v-397f4a13]:hover{background-color:#337ab7}.footer-container[data-v-683e198c]{background-color:#fff;color:#666;font-size:12px;border-top:1px solid #eaeaea}.footer-top[data-v-683e198c]{display:flex;justify-content:space-around;padding:20px 0;flex-wrap:wrap}.footer-link[data-v-683e198c]{display:flex;gap:20px;align-items:center}.footer-link span[data-v-683e198c]{cursor:pointer;transition:color .3s ease}.footer-link span[data-v-683e198c]:hover{color:#1890ff}.contact-info p[data-v-683e198c]{margin:5px 0}.footer-column[data-v-683e198c]{margin-bottom:20px}.footer-column h3[data-v-683e198c]{font-size:14px;font-weight:700;margin-bottom:10px;color:#333}.footer-column ul[data-v-683e198c]{list-style:none;padding:0;margin:0}.footer-column ul li[data-v-683e198c]{margin:5px 0;cursor:pointer;transition:color .3s ease}.footer-column ul li[data-v-683e198c]:hover{color:#1890ff}.qrcode-group[data-v-683e198c]{display:flex;gap:40px}.qrcode-item[data-v-683e198c]{text-align:center}.footer-bottom[data-v-683e198c]{text-align:center;padding:10px 0;border-top:1px solid #eaeaea}.footer-bottom p[data-v-683e198c]{margin:5px 0}.sidebar-container[data-v-0ddafffa]{position:fixed;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.1);padding:15px 10px;z-index:999}.sidebar-container .sidebar-item[data-v-0ddafffa]{display:flex;flex-direction:column;align-items:center;cursor:pointer;margin-bottom:20px;color:#666;transition:all .3s}.sidebar-container .sidebar-item[data-v-0ddafffa]:last-child{margin-bottom:0}.sidebar-container .sidebar-item i[data-v-0ddafffa]{font-size:20px;margin-bottom:5px}.sidebar-container .sidebar-item .item-text[data-v-0ddafffa]{font-size:12px}.sidebar-container .sidebar-item[data-v-0ddafffa]:hover{color:#409eff}.sidebar-container .item-badge .el-badge__content[data-v-0ddafffa]{background-color:#ff4d4f;top:-5px;right:-10px}.sidebar-container .back-to-top.active[data-v-0ddafffa]{color:#409eff}@media(max-width:768px){.sidebar-container[data-v-0ddafffa]{right:10px;padding:10px 5px}.sidebar-container .sidebar-item[data-v-0ddafffa]{margin-bottom:15px}.sidebar-container .sidebar-item i[data-v-0ddafffa]{font-size:18px}.sidebar-container .sidebar-item .item-text[data-v-0ddafffa]{font-size:10px}}.back-to-top[data-v-7ea6dee0]{position:fixed;bottom:30px;right:30px;width:40px;height:40px;background-color:#409eff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:all .3s ease;z-index:1000}.back-to-top[data-v-7ea6dee0]:hover{background-color:#337ab7;transform:translateY(-3px)}.back-to-top .el-icon-arrow-up[data-v-7ea6dee0]{font-size:20px}#app{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;min-height:100vh;display:flex;flex-direction:column}.main-container{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px;box-sizing:border-box}@media(max-width:1200px){.main-container{padding:15px}}@media(max-width:768px){.main-container{padding:10px}}.main-containers{flex:1;width:100%}*{margin:0;padding:0;box-sizing:border-box}a{text-decoration:none;color:inherit}ul{list-style:none}img{vertical-align:middle}body,html{padding:0;margin:0}div{box-sizing:border-box}.text-overflow{overflow-x:hidden;overflow-y:inherit;text-overflow:ellipsis;white-space:nowrap}.text-overflowRows{overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;word-break:break-all;display:-webkit-box;-webkit-box-orient:vertical}.flex-between{justify-content:space-between}.flex-between,.flex-center{display:flex;align-items:center}.flex-center{justify-content:center}.flex-around{display:flex;justify-content:space-around;align-items:center}.flex-column{display:flex;flex-direction:column}.normal-margin-bottom{margin-bottom:20px} \ No newline at end of file diff --git a/dist/css/app.f2c6c3bd.css b/dist/css/app.f2c6c3bd.css deleted file mode 100644 index a8e37e6..0000000 --- a/dist/css/app.f2c6c3bd.css +++ /dev/null @@ -1 +0,0 @@ -.header-nav[data-v-4585d8e6]{width:100%}.header-nav .top-notice[data-v-4585d8e6]{background-color:#f5f5f5;padding:8px 0}.header-nav .top-notice .container[data-v-4585d8e6]{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}.header-nav .top-notice .container p[data-v-4585d8e6]{font-size:14px;color:#666}.header-nav .top-notice .container p .highlight[data-v-4585d8e6]{color:#f40;margin:0 5px;font-weight:500}.header-nav .top-notice .container .top-links[data-v-4585d8e6]{display:flex;align-items:center;gap:15px;font-size:14px}.header-nav .top-notice .container .top-links .avatar[data-v-4585d8e6]{width:24px;height:24px;border-radius:50%;margin-right:5px;vertical-align:middle}.header-nav .top-notice .container .top-links .separator[data-v-4585d8e6]{color:#ccc}.header-nav .top-notice .container .top-links a[data-v-4585d8e6]{color:#666;transition:color .2s;margin-left:10px}.header-nav .top-notice .container .top-links a[data-v-4585d8e6]:hover{color:#6a8a27}.header-nav .main-nav[data-v-4585d8e6]{background-color:#fff;padding:15px 0;box-shadow:0 2px 5px rgba(0,0,0,.05)}.header-nav .main-nav .container[data-v-4585d8e6]{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}.header-nav .main-nav .logo a[data-v-4585d8e6]{display:block}.header-nav .main-nav .logo a h1[data-v-4585d8e6]{font-size:28px;color:#409eff;margin:0;font-weight:700}.header-nav .main-nav .search-box[data-v-4585d8e6]{flex:0 0 500px}@media(max-width:992px){.header-nav .main-nav .search-box[data-v-4585d8e6]{flex:0 0 500px}}@media(max-width:768px){.header-nav .main-nav .search-box[data-v-4585d8e6]{display:none}}.header-nav .main-nav .search-box .search-input[data-v-4585d8e6]{width:100%;border:1px solid #6a8a27}.header-nav .main-nav .search-box .hot-tags[data-v-4585d8e6]{margin-top:8px;font-size:12px;color:#999}.header-nav .main-nav .search-box .hot-tags span[data-v-4585d8e6]{margin-right:5px}.header-nav .main-nav .search-box .hot-tags a[data-v-4585d8e6]{margin:0 5px;color:#666}.header-nav .main-nav .search-box .hot-tags a[data-v-4585d8e6]:hover{color:#409eff;text-decoration:underline}.header-nav .main-nav .cart-entry .cart-link[data-v-4585d8e6]{display:flex;align-items:center;color:#333;font-size:16px}.header-nav .main-nav .cart-entry .cart-link span[data-v-4585d8e6]{margin-left:10px}.header-nav .main-nav .cart-entry .cart-link .cart-icon[data-v-4585d8e6]{font-size:20px;margin-right:5px}.header-nav .main-nav .cart-entry .cart-link .cart-count[data-v-4585d8e6]{display:inline-block;width:18px;height:18px;background-color:#f40;color:#fff;border-radius:50%;font-size:12px;text-align:center;line-height:18px;margin-left:5px}.header-nav .category-nav[data-v-4585d8e6]{background-color:#409eff}.header-nav .category-nav .container[data-v-4585d8e6]{max-width:1200px;margin:0 auto;padding:0 20px}.header-nav .category-nav .nav-list[data-v-4585d8e6]{display:flex;margin:0;padding:0}@media(max-width:992px){.header-nav .category-nav .nav-list[data-v-4585d8e6]{overflow-x:auto;white-space:nowrap}}.header-nav .category-nav .nav-list .nav-item[data-v-4585d8e6]{list-style:none}.header-nav .category-nav .nav-list .nav-item .nav-link[data-v-4585d8e6]{display:inline-block;padding:12px 20px;color:#fff;font-size:16px;transition:background-color .2s}.header-nav .category-nav .nav-list .nav-item .nav-link.active[data-v-4585d8e6],.header-nav .category-nav .nav-list .nav-item .nav-link[data-v-4585d8e6]:hover{background-color:#337ab7}.footer-container[data-v-683e198c]{background-color:#fff;color:#666;font-size:12px;border-top:1px solid #eaeaea}.footer-top[data-v-683e198c]{display:flex;justify-content:space-around;padding:20px 0;flex-wrap:wrap}.footer-link[data-v-683e198c]{display:flex;gap:20px;align-items:center}.footer-link span[data-v-683e198c]{cursor:pointer;transition:color .3s ease}.footer-link span[data-v-683e198c]:hover{color:#1890ff}.contact-info p[data-v-683e198c]{margin:5px 0}.footer-column[data-v-683e198c]{margin-bottom:20px}.footer-column h3[data-v-683e198c]{font-size:14px;font-weight:700;margin-bottom:10px;color:#333}.footer-column ul[data-v-683e198c]{list-style:none;padding:0;margin:0}.footer-column ul li[data-v-683e198c]{margin:5px 0;cursor:pointer;transition:color .3s ease}.footer-column ul li[data-v-683e198c]:hover{color:#1890ff}.qrcode-group[data-v-683e198c]{display:flex;gap:40px}.qrcode-item[data-v-683e198c]{text-align:center}.footer-bottom[data-v-683e198c]{text-align:center;padding:10px 0;border-top:1px solid #eaeaea}.footer-bottom p[data-v-683e198c]{margin:5px 0}.sidebar-container[data-v-0ddafffa]{position:fixed;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.1);padding:15px 10px;z-index:999}.sidebar-container .sidebar-item[data-v-0ddafffa]{display:flex;flex-direction:column;align-items:center;cursor:pointer;margin-bottom:20px;color:#666;transition:all .3s}.sidebar-container .sidebar-item[data-v-0ddafffa]:last-child{margin-bottom:0}.sidebar-container .sidebar-item i[data-v-0ddafffa]{font-size:20px;margin-bottom:5px}.sidebar-container .sidebar-item .item-text[data-v-0ddafffa]{font-size:12px}.sidebar-container .sidebar-item[data-v-0ddafffa]:hover{color:#409eff}.sidebar-container .item-badge .el-badge__content[data-v-0ddafffa]{background-color:#ff4d4f;top:-5px;right:-10px}.sidebar-container .back-to-top.active[data-v-0ddafffa]{color:#409eff}@media(max-width:768px){.sidebar-container[data-v-0ddafffa]{right:10px;padding:10px 5px}.sidebar-container .sidebar-item[data-v-0ddafffa]{margin-bottom:15px}.sidebar-container .sidebar-item i[data-v-0ddafffa]{font-size:18px}.sidebar-container .sidebar-item .item-text[data-v-0ddafffa]{font-size:10px}}.back-to-top[data-v-7ea6dee0]{position:fixed;bottom:30px;right:30px;width:40px;height:40px;background-color:#409eff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:all .3s ease;z-index:1000}.back-to-top[data-v-7ea6dee0]:hover{background-color:#337ab7;transform:translateY(-3px)}.back-to-top .el-icon-arrow-up[data-v-7ea6dee0]{font-size:20px}#app{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;min-height:100vh;display:flex;flex-direction:column}.main-container{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px;box-sizing:border-box}@media(max-width:1200px){.main-container{padding:15px}}@media(max-width:768px){.main-container{padding:10px}}.main-containers{flex:1;width:100%}*{margin:0;padding:0;box-sizing:border-box}a{text-decoration:none;color:inherit}ul{list-style:none}img{vertical-align:middle}body,html{padding:0;margin:0}div{box-sizing:border-box}.text-overflow{overflow-x:hidden;overflow-y:inherit;text-overflow:ellipsis;white-space:nowrap}.text-overflowRows{overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;word-break:break-all;display:-webkit-box;-webkit-box-orient:vertical}.flex-between{justify-content:space-between}.flex-between,.flex-center{display:flex;align-items:center}.flex-center{justify-content:center}.flex-around{display:flex;justify-content:space-around;align-items:center}.flex-column{display:flex;flex-direction:column}.normal-margin-bottom{margin-bottom:20px} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index aabcc13..a428803 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -abcdf
\ No newline at end of file +abcdf
\ No newline at end of file diff --git a/dist/js/29.4a06bb8b.js b/dist/js/29.7eef1ca9.js similarity index 99% rename from dist/js/29.4a06bb8b.js rename to dist/js/29.7eef1ca9.js index 69b7309..ec12715 100644 --- a/dist/js/29.4a06bb8b.js +++ b/dist/js/29.7eef1ca9.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[29],{3029:function(e,t,r){r.r(t),r.d(t,{default:function(){return c}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"register-page"},[e._m(0),t("div",{staticClass:"form-container"},[t("h2",{staticClass:"form-title"},[e._v("注册页")]),t("el-form",{ref:"registerForm",staticClass:"register-form",attrs:{model:e.form,rules:e.rules,"label-width":"80px"}},[t("el-form-item",{attrs:{label:"手机号码",prop:"phone"}},[t("el-input",{attrs:{placeholder:"请输入手机号码",clearable:"","prefix-icon":"el-icon-phone"},model:{value:e.form.phone,callback:function(t){e.$set(e.form,"phone",t)},expression:"form.phone"}})],1),t("el-form-item",{attrs:{label:"手机验证码",prop:"code"}},[t("el-input",{staticStyle:{width:"60%"},attrs:{placeholder:"请输入验证码",clearable:"","prefix-icon":"el-icon-message"},model:{value:e.form.code,callback:function(t){e.$set(e.form,"code",t)},expression:"form.code"}}),t("el-button",{staticClass:"code-btn",attrs:{type:"success",disabled:e.codeBtnDisabled},on:{click:e.handleGetCode}},[e._v(" "+e._s(e.codeBtnText)+" ")])],1),t("el-form-item",{attrs:{label:"用户名",prop:"username"}},[t("el-input",{attrs:{placeholder:"账户唯一识别,可用来登录",clearable:"","prefix-icon":"el-icon-user"},model:{value:e.form.username,callback:function(t){e.$set(e.form,"username",t)},expression:"form.username"}}),t("div",{staticClass:"form-tip"},[e._v(" 请输入4-32位字符,只能包含英文字母、数字和下划线,不能为纯数字/不能为纯下划线 ")])],1),t("el-form-item",{attrs:{label:"设重密码",prop:"password"}},[t("el-input",{attrs:{type:"password",placeholder:"请设置登录密码",clearable:"","prefix-icon":"el-icon-lock"},on:{input:e.handlePasswordInput},model:{value:e.form.password,callback:function(t){e.$set(e.form,"password",t)},expression:"form.password"}}),t("div",{staticClass:"form-tip"},[e._v(" 请输入8-30位密码,密码必须同时包含字母和数字 ")])],1),t("el-form-item",{attrs:{label:"确认密码",prop:"confirmPassword"}},[t("el-input",{attrs:{type:"password",placeholder:"请再次输入登录密码",clearable:"","prefix-icon":"el-icon-lock"},model:{value:e.form.confirmPassword,callback:function(t){e.$set(e.form,"confirmPassword",t)},expression:"form.confirmPassword"}}),t("div",{staticClass:"form-tip"},[e._v("请与上方填写的密码保持一致")])],1),t("el-form-item",[t("el-checkbox",{staticClass:"agreement-checkbox",model:{value:e.agreement,callback:function(t){e.agreement=t},expression:"agreement"}},[e._v(" 我已阅读并同意 "),t("router-link",{staticClass:"protocol-link",attrs:{to:"javascript:;"}},[e._v("《用户注册协议》")]),e._v(" 《"),t("router-link",{staticClass:"protocol-link",attrs:{to:"javascript:;"}},[e._v("隐私协议")]),e._v("》 ")],1)],1),t("el-form-item",[t("el-button",{staticClass:"register-btn",attrs:{type:"primary",disabled:!e.agreement||e.submitting},on:{click:e.handleRegister}},[e._v(" "+e._s(e.submitting?"注册中...":"立即注册")+" ")])],1),e._e()],1)],1)])},a=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"header"},[t("div",{staticClass:"logo-area"},[t("img",{staticClass:"logo-img",attrs:{src:r(3153),alt:"logo"}}),t("span",{staticClass:"domain"},[e._v("yunming.com")])]),t("div",{staticClass:"hotline"},[e._v("400-123-4xxx")])])}],o={name:"RegisterPage",data(){const e=(e,t,r)=>{/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,30}$/.test(t)?r():r(new Error("请输入8-30位密码,必须同时包含字母和数字"))},t=(e,t,r)=>{/^(?!_+$)(?!\d+$)[a-zA-Z0-9_]{4,32}$/.test(t)?r():r(new Error("请输入4-32位字符,只能包含字母、数字和下划线,不能为纯数字/纯下划线"))};return{form:{phone:"",code:"",username:"",password:"",confirmPassword:""},rules:{phone:[{required:!0,message:"请输入手机号码",trigger:"blur"},{pattern:/^1\d{10}$/,message:"请输入正确的手机号码格式",trigger:"blur"}],code:[{required:!0,message:"请输入验证码",trigger:"blur"},{pattern:/^\d{6}$/,message:"请输入6位数字验证码",trigger:"blur"}],username:[{required:!0,message:"请输入用户名",trigger:"blur"},{validator:t,trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{validator:e,trigger:"blur"}],confirmPassword:[{required:!0,message:"请确认密码",trigger:"blur"},{validator:(e,t,r)=>{t!==this.form.password?r(new Error("两次输入密码不一致")):r()},trigger:"blur"}]},agreement:!1,codeBtnText:"获取验证码",codeBtnDisabled:!1,submitting:!1,countdown:60}},methods:{handleGetCode(){if(!this.form.phone)return void this.$message.warning("请先输入手机号码");this.codeBtnDisabled=!0,this.codeBtnText=`重新发送(${this.countdown}s)`;const e=setInterval(()=>{this.countdown--,this.codeBtnText=`重新发送(${this.countdown}s)`,this.countdown<=0&&(clearInterval(e),this.codeBtnText="获取验证码",this.codeBtnDisabled=!1,this.countdown=60)},1e3)},handlePasswordInput(){},handleRegister(){this.$refs.registerForm.validate(e=>{e&&this.agreement?(this.submitting=!0,setTimeout(()=>{this.$message.success("注册成功!"),this.submitting=!1},1500)):this.agreement||this.$message.warning("请勾选用户协议")})}}},i=o,l=r(1656),n=(0,l.A)(i,s,a,!1,null,"4e3838a4",null),c=n.exports}}]); -//# sourceMappingURL=29.4a06bb8b.js.map \ No newline at end of file +//# sourceMappingURL=29.7eef1ca9.js.map \ No newline at end of file diff --git a/dist/js/29.4a06bb8b.js.map b/dist/js/29.7eef1ca9.js.map similarity index 99% rename from dist/js/29.4a06bb8b.js.map rename to dist/js/29.7eef1ca9.js.map index aa818cb..2b9f5f0 100644 --- a/dist/js/29.4a06bb8b.js.map +++ b/dist/js/29.7eef1ca9.js.map @@ -1 +1 @@ -{"version":3,"file":"js/29.4a06bb8b.js","mappings":"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","sources":["webpack://abcdf/./src/views/Register.vue","webpack://abcdf/src/views/Register.vue","webpack://abcdf/./src/views/Register.vue?517e","webpack://abcdf/./src/views/Register.vue?65fd"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"register-page\"},[_vm._m(0),_c('div',{staticClass:\"form-container\"},[_c('h2',{staticClass:\"form-title\"},[_vm._v(\"注册页\")]),_c('el-form',{ref:\"registerForm\",staticClass:\"register-form\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"手机号码\",\"prop\":\"phone\"}},[_c('el-input',{attrs:{\"placeholder\":\"请输入手机号码\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-phone\"},model:{value:(_vm.form.phone),callback:function ($$v) {_vm.$set(_vm.form, \"phone\", $$v)},expression:\"form.phone\"}})],1),_c('el-form-item',{attrs:{\"label\":\"手机验证码\",\"prop\":\"code\"}},[_c('el-input',{staticStyle:{\"width\":\"60%\"},attrs:{\"placeholder\":\"请输入验证码\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-message\"},model:{value:(_vm.form.code),callback:function ($$v) {_vm.$set(_vm.form, \"code\", $$v)},expression:\"form.code\"}}),_c('el-button',{staticClass:\"code-btn\",attrs:{\"type\":\"success\",\"disabled\":_vm.codeBtnDisabled},on:{\"click\":_vm.handleGetCode}},[_vm._v(\" \"+_vm._s(_vm.codeBtnText)+\" \")])],1),_c('el-form-item',{attrs:{\"label\":\"用户名\",\"prop\":\"username\"}},[_c('el-input',{attrs:{\"placeholder\":\"账户唯一识别,可用来登录\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-user\"},model:{value:(_vm.form.username),callback:function ($$v) {_vm.$set(_vm.form, \"username\", $$v)},expression:\"form.username\"}}),_c('div',{staticClass:\"form-tip\"},[_vm._v(\" 请输入4-32位字符,只能包含英文字母、数字和下划线,不能为纯数字/不能为纯下划线 \")])],1),_c('el-form-item',{attrs:{\"label\":\"设重密码\",\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"placeholder\":\"请设置登录密码\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-lock\"},on:{\"input\":_vm.handlePasswordInput},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}}),_c('div',{staticClass:\"form-tip\"},[_vm._v(\" 请输入8-30位密码,密码必须同时包含字母和数字 \")])],1),_c('el-form-item',{attrs:{\"label\":\"确认密码\",\"prop\":\"confirmPassword\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"placeholder\":\"请再次输入登录密码\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-lock\"},model:{value:(_vm.form.confirmPassword),callback:function ($$v) {_vm.$set(_vm.form, \"confirmPassword\", $$v)},expression:\"form.confirmPassword\"}}),_c('div',{staticClass:\"form-tip\"},[_vm._v(\"请与上方填写的密码保持一致\")])],1),_c('el-form-item',[_c('el-checkbox',{staticClass:\"agreement-checkbox\",model:{value:(_vm.agreement),callback:function ($$v) {_vm.agreement=$$v},expression:\"agreement\"}},[_vm._v(\" 我已阅读并同意 \"),_c('router-link',{staticClass:\"protocol-link\",attrs:{\"to\":\"javascript:;\"}},[_vm._v(\"《用户注册协议》\")]),_vm._v(\" 《\"),_c('router-link',{staticClass:\"protocol-link\",attrs:{\"to\":\"javascript:;\"}},[_vm._v(\"隐私协议\")]),_vm._v(\"》 \")],1)],1),_c('el-form-item',[_c('el-button',{staticClass:\"register-btn\",attrs:{\"type\":\"primary\",\"disabled\":!_vm.agreement || _vm.submitting},on:{\"click\":_vm.handleRegister}},[_vm._v(\" \"+_vm._s(_vm.submitting ? \"注册中...\" : \"立即注册\")+\" \")])],1),(false)?_c('div',{staticClass:\"bottom-tip\"},[_vm._v(\" 如需注册供应商请点击 \"),_c('router-link',{staticClass:\"supplier-link\",attrs:{\"to\":\"javascript:;\"}},[_vm._v(\"这里\")])],1):_vm._e()],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"logo-area\"},[_c('img',{staticClass:\"logo-img\",attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"logo\"}}),_c('span',{staticClass:\"domain\"},[_vm._v(\"yunming.com\")])]),_c('div',{staticClass:\"hotline\"},[_vm._v(\"400-123-4xxx\")])])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Register.vue?vue&type=template&id=4e3838a4&scoped=true\"\nimport script from \"./Register.vue?vue&type=script&lang=js\"\nexport * from \"./Register.vue?vue&type=script&lang=js\"\nimport style0 from \"./Register.vue?vue&type=style&index=0&id=4e3838a4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e3838a4\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","_m","_v","ref","attrs","form","rules","model","value","phone","callback","$$v","$set","expression","staticStyle","code","codeBtnDisabled","on","handleGetCode","_s","codeBtnText","username","handlePasswordInput","password","confirmPassword","agreement","submitting","handleRegister","_e","staticRenderFns","require","name","data","validatePassword","rule","test","Error","validateUsername","required","message","trigger","pattern","validator","countdown","methods","$message","warning","timer","setInterval","clearInterval","$refs","registerForm","validate","valid","setTimeout","success","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/29.7eef1ca9.js","mappings":"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","sources":["webpack://abcdf/./src/views/Register.vue","webpack://abcdf/src/views/Register.vue","webpack://abcdf/./src/views/Register.vue?517e","webpack://abcdf/./src/views/Register.vue?65fd"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"register-page\"},[_vm._m(0),_c('div',{staticClass:\"form-container\"},[_c('h2',{staticClass:\"form-title\"},[_vm._v(\"注册页\")]),_c('el-form',{ref:\"registerForm\",staticClass:\"register-form\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"手机号码\",\"prop\":\"phone\"}},[_c('el-input',{attrs:{\"placeholder\":\"请输入手机号码\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-phone\"},model:{value:(_vm.form.phone),callback:function ($$v) {_vm.$set(_vm.form, \"phone\", $$v)},expression:\"form.phone\"}})],1),_c('el-form-item',{attrs:{\"label\":\"手机验证码\",\"prop\":\"code\"}},[_c('el-input',{staticStyle:{\"width\":\"60%\"},attrs:{\"placeholder\":\"请输入验证码\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-message\"},model:{value:(_vm.form.code),callback:function ($$v) {_vm.$set(_vm.form, \"code\", $$v)},expression:\"form.code\"}}),_c('el-button',{staticClass:\"code-btn\",attrs:{\"type\":\"success\",\"disabled\":_vm.codeBtnDisabled},on:{\"click\":_vm.handleGetCode}},[_vm._v(\" \"+_vm._s(_vm.codeBtnText)+\" \")])],1),_c('el-form-item',{attrs:{\"label\":\"用户名\",\"prop\":\"username\"}},[_c('el-input',{attrs:{\"placeholder\":\"账户唯一识别,可用来登录\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-user\"},model:{value:(_vm.form.username),callback:function ($$v) {_vm.$set(_vm.form, \"username\", $$v)},expression:\"form.username\"}}),_c('div',{staticClass:\"form-tip\"},[_vm._v(\" 请输入4-32位字符,只能包含英文字母、数字和下划线,不能为纯数字/不能为纯下划线 \")])],1),_c('el-form-item',{attrs:{\"label\":\"设重密码\",\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"placeholder\":\"请设置登录密码\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-lock\"},on:{\"input\":_vm.handlePasswordInput},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}}),_c('div',{staticClass:\"form-tip\"},[_vm._v(\" 请输入8-30位密码,密码必须同时包含字母和数字 \")])],1),_c('el-form-item',{attrs:{\"label\":\"确认密码\",\"prop\":\"confirmPassword\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"placeholder\":\"请再次输入登录密码\",\"clearable\":\"\",\"prefix-icon\":\"el-icon-lock\"},model:{value:(_vm.form.confirmPassword),callback:function ($$v) {_vm.$set(_vm.form, \"confirmPassword\", $$v)},expression:\"form.confirmPassword\"}}),_c('div',{staticClass:\"form-tip\"},[_vm._v(\"请与上方填写的密码保持一致\")])],1),_c('el-form-item',[_c('el-checkbox',{staticClass:\"agreement-checkbox\",model:{value:(_vm.agreement),callback:function ($$v) {_vm.agreement=$$v},expression:\"agreement\"}},[_vm._v(\" 我已阅读并同意 \"),_c('router-link',{staticClass:\"protocol-link\",attrs:{\"to\":\"javascript:;\"}},[_vm._v(\"《用户注册协议》\")]),_vm._v(\" 《\"),_c('router-link',{staticClass:\"protocol-link\",attrs:{\"to\":\"javascript:;\"}},[_vm._v(\"隐私协议\")]),_vm._v(\"》 \")],1)],1),_c('el-form-item',[_c('el-button',{staticClass:\"register-btn\",attrs:{\"type\":\"primary\",\"disabled\":!_vm.agreement || _vm.submitting},on:{\"click\":_vm.handleRegister}},[_vm._v(\" \"+_vm._s(_vm.submitting ? \"注册中...\" : \"立即注册\")+\" \")])],1),(false)?_c('div',{staticClass:\"bottom-tip\"},[_vm._v(\" 如需注册供应商请点击 \"),_c('router-link',{staticClass:\"supplier-link\",attrs:{\"to\":\"javascript:;\"}},[_vm._v(\"这里\")])],1):_vm._e()],1)],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"logo-area\"},[_c('img',{staticClass:\"logo-img\",attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"logo\"}}),_c('span',{staticClass:\"domain\"},[_vm._v(\"yunming.com\")])]),_c('div',{staticClass:\"hotline\"},[_vm._v(\"400-123-4xxx\")])])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Register.vue?vue&type=template&id=4e3838a4&scoped=true\"\nimport script from \"./Register.vue?vue&type=script&lang=js\"\nexport * from \"./Register.vue?vue&type=script&lang=js\"\nimport style0 from \"./Register.vue?vue&type=style&index=0&id=4e3838a4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e3838a4\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","_m","_v","ref","attrs","form","rules","model","value","phone","callback","$$v","$set","expression","staticStyle","code","codeBtnDisabled","on","handleGetCode","_s","codeBtnText","username","handlePasswordInput","password","confirmPassword","agreement","submitting","handleRegister","_e","staticRenderFns","require","name","data","validatePassword","rule","test","Error","validateUsername","required","message","trigger","pattern","validator","countdown","methods","$message","warning","timer","setInterval","clearInterval","$refs","registerForm","validate","valid","setTimeout","success","component"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/601.d38e0da2.js b/dist/js/601.d38e0da2.js deleted file mode 100644 index 041236e..0000000 --- a/dist/js/601.d38e0da2.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[601],{4458:function(t,s,i){i.d(s,{A:function(){return d}});var a=function(){var t=this,s=t._self._c;return s("div",{staticClass:"product-list"},[s("div",{staticClass:"product-grid"},t._l(t.products,function(i){return s("div",{key:i.id,staticClass:"product-card"},[s("div",{staticClass:"product-img"},[s("router-link",{attrs:{to:`/Detail/${i.id}`}},[s("img",{directives:[{name:"lazy",rawName:"v-lazy",value:i.headimg,expression:"product.headimg"}],staticClass:"product-pic",attrs:{alt:i.title}})])],1),s("div",{staticClass:"product-info"},[s("div",{staticClass:"flex-between"},[s("div",{staticClass:"product-price"},[s("span",{staticClass:"current-price"},[t._v("¥"+t._s(i.price/100))]),i.market_price?s("span",{staticClass:"original-price"},[t._v("¥"+t._s(i.market_price/100))]):t._e()]),i.sales?s("div",{staticClass:"product-sales"},[s("span",[t._v("已售 "+t._s(i.sales_number)+" 件")])]):t._e()]),s("h3",{staticClass:"product-name"},[s("router-link",{attrs:{to:`/Detail/${i.id}`}},[t._v(" "+t._s(i.title)+" ")])],1),s("div",{staticClass:"product-actions"},[s("el-button",{staticStyle:{"background-color":"#6a8a27",border:"none"},attrs:{type:"primary",size:"small"},on:{click:function(s){return t.addToCart(i)}}},[s("el-icon",{attrs:{name:"el-icon-shopping-cart"}}),t._v(" 加入购物车 ")],1)],1)])])}),0),0===t.products.length?s("div",{staticClass:"no-products"},[s("el-empty",{attrs:{description:"暂无相关商品"}})],1):t._e()])},e=[],r=(i(4114),i(3518)),c={name:"ProductList",props:{products:{type:Array,default:()=>[]}},methods:{...(0,r.i0)(["addToCart"]),addToCart(t){this.$store.getters.isUserLogin?(this.addToCart({id:t.id,name:t.name,price:t.price,image:t.image,quantity:1}),this.$message.success("已加入购物车")):this.$confirm("您尚未登录,是否前往登录?","提示",{confirmButtonText:"登录",cancelButtonText:"取消",type:"info"}).then(()=>{this.$router.push({path:"/login",query:{redirect:this.$route.fullPath}})}).catch(()=>{})}}},o=c,n=i(1656),l=(0,n.A)(o,a,e,!1,null,"6ecfbe40",null),d=l.exports},6601:function(t,s,i){i.r(s),i.d(s,{default:function(){return h}});var a=function(){var t=this,s=t._self._c;return s("div",{staticClass:"bg"},[s("HomeLayout",{attrs:{topBanner:t.topBanner,tagList:t.tagList}}),s("div",{staticClass:"product-box"},[s("h2",[t._v("今日推荐")]),s("ProductList",{attrs:{products:t.prouctList[0].list}})],1),s("div",{staticClass:"product-box"},[s("h2",[t._v("热销排行")]),s("ProductList",{attrs:{products:t.prouctList[1].list}})],1),s("div",{staticClass:"product-box"},[s("h2",[t._v("新品上市")]),s("ProductList",{attrs:{products:t.prouctList[2].list}})],1)],1)},e=[],r=(i(8111),i(1701),function(){var t=this,s=t._self._c;return s("div",{staticClass:"home-layout-container"},[s("router-link",{staticClass:"left-nav",attrs:{to:"/productList"}},[s("ul",{staticClass:"nav-list"},t._l(t.tagList,function(i){return s("li",{key:i.id,staticClass:"nav-item"},[s("img",{attrs:{src:t.util.showImg(i.image),alt:""}}),t._v(t._s(i.name)+" ")])}),0)]),s("div",{staticClass:"main-content"},[s("el-carousel",{staticStyle:{height:"100%"}},t._l(t.topBanner,function(t){return s("el-carousel-item",{key:t.id},[s("img",{staticClass:"carousel-img",attrs:{src:t.head_img}})])}),1)],1),s("div",{staticClass:"right-info"},[s("div",{staticClass:"avatar-container"},[s("img",{staticClass:"user-avatar",attrs:{src:t.$store.getters.getUserInfo.avatar,alt:"用户头像"}}),s("div",{staticClass:"welcome-text"},[t._v("Hi-欢迎您")])]),t._e(),t._m(0),s("div",{staticClass:"announcement"},[s("el-tag",{attrs:{type:"danger",size:"mini"}},[t._v("公告")]),s("span",[t._v("2099年12月平台重要新规速递")])],1)])],1)}),c=[function(){var t=this,s=t._self._c;return s("div",{staticClass:"func-icons"},[s("div",{staticClass:"icon-item"},[s("i",{staticClass:"icon el-icon-user"}),s("span",[t._v("个人中心")])]),s("div",{staticClass:"icon-item"},[s("i",{staticClass:"icon el-icon-goods"}),s("span",[t._v("我的订单")])]),s("div",{staticClass:"icon-item"},[s("i",{staticClass:"icon el-icon-star-off"}),s("span",[t._v("我的收藏")])]),s("div",{staticClass:"icon-item"},[s("i",{staticClass:"icon el-icon-pie-chart"}),s("span",[t._v("议价单")])])])}],o={name:"HomeLayout",props:{topBanner:{type:Array,default:()=>[]},tagList:{type:Array,default:()=>[]}},data(){return{}}},n=o,l=i(1656),d=(0,l.A)(n,r,c,!1,null,"083f77c2",null),u=d.exports,p=i(4458),g={components:{HomeLayout:u,ProductList:p.A},data(){return{topBanner:[],tagList:[],prouctList:[{id:670,title:"今日推荐",list:[]},{id:671,title:"热销排行",list:[]},{id:672,title:"新品上市",list:[]}],newProducts:[{id:7,name:"高清投影仪高清投影仪高清投影仪高清投影仪高清投影仪高清投影仪高清投影仪高清投影仪",price:3299,originalPrice:3699,image:"https://static.ticket.sz-trip.com/jundaosuzhou/images/scenicType/topImg.png",sales:156,categoryId:1},{id:8,name:"保湿面霜",price:299,originalPrice:359,image:"https://static.ticket.sz-trip.com/jundaosuzhou/images/scenicType/topImg.png",sales:423,categoryId:4},{id:9,name:"有机水果礼盒",price:159,originalPrice:199,image:"https://static.ticket.sz-trip.com/jundaosuzhou/images/scenicType/topImg.png",sales:287,categoryId:5},{id:10,name:"经典文学名著",price:129,originalPrice:199,image:"https://static.ticket.sz-trip.com/jundaosuzhou/images/scenicType/topImg.png",sales:342,categoryId:6}]}},created(){this.getTopBanner(),this.getTags(),this.getProductList()},methods:{getTopBanner(){this.post({type_id:6,position:0},"/api/adv/getAdv").then(t=>{t&&(this.topBanner=t.data)})},getTags(){this.post({pid:662},"/api/product/tag_list").then(t=>{this.tagList=t.data})},getProductList(){this.prouctList.map(t=>{this.post({tag_id:t.id,offset:0,limit:4},"/api/product/get_product_by_tag").then(s=>{t.list=s.data.list})})}}},m=g,v=(0,l.A)(m,a,e,!1,null,"9b57fa58",null),h=v.exports}}]); -//# sourceMappingURL=601.d38e0da2.js.map \ No newline at end of file diff --git a/dist/js/601.d38e0da2.js.map b/dist/js/601.d38e0da2.js.map deleted file mode 100644 index 8cbe04b..0000000 --- a/dist/js/601.d38e0da2.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/601.d38e0da2.js","mappings":"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","sources":["webpack://abcdf/./src/components/product/ProductList.vue","webpack://abcdf/src/components/product/ProductList.vue","webpack://abcdf/./src/components/product/ProductList.vue?43ae","webpack://abcdf/./src/components/product/ProductList.vue?0bfb","webpack://abcdf/./src/views/Index.vue","webpack://abcdf/./src/components/layout/HomeLayout.vue","webpack://abcdf/src/components/layout/HomeLayout.vue","webpack://abcdf/./src/components/layout/HomeLayout.vue?06d9","webpack://abcdf/./src/components/layout/HomeLayout.vue?b436","webpack://abcdf/src/views/Index.vue","webpack://abcdf/./src/views/Index.vue?cb95","webpack://abcdf/./src/views/Index.vue?e2bc"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"product-list\"},[_c('div',{staticClass:\"product-grid\"},_vm._l((_vm.products),function(product){return _c('div',{key:product.id,staticClass:\"product-card\"},[_c('div',{staticClass:\"product-img\"},[_c('router-link',{attrs:{\"to\":`/Detail/${product.id}`}},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(product.headimg),expression:\"product.headimg\"}],staticClass:\"product-pic\",attrs:{\"alt\":product.title}})])],1),_c('div',{staticClass:\"product-info\"},[_c('div',{staticClass:\"flex-between\"},[_c('div',{staticClass:\"product-price\"},[_c('span',{staticClass:\"current-price\"},[_vm._v(\"¥\"+_vm._s(product.price / 100))]),(product.market_price)?_c('span',{staticClass:\"original-price\"},[_vm._v(\"¥\"+_vm._s(product.market_price / 100))]):_vm._e()]),(product.sales)?_c('div',{staticClass:\"product-sales\"},[_c('span',[_vm._v(\"已售 \"+_vm._s(product.sales_number)+\" 件\")])]):_vm._e()]),_c('h3',{staticClass:\"product-name\"},[_c('router-link',{attrs:{\"to\":`/Detail/${product.id}`}},[_vm._v(\" \"+_vm._s(product.title)+\" \")])],1),_c('div',{staticClass:\"product-actions\"},[_c('el-button',{staticStyle:{\"background-color\":\"#6a8a27\",\"border\":\"none\"},attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.addToCart(product)}}},[_c('el-icon',{attrs:{\"name\":\"el-icon-shopping-cart\"}}),_vm._v(\" 加入购物车 \")],1)],1)])])}),0),(_vm.products.length === 0)?_c('div',{staticClass:\"no-products\"},[_c('el-empty',{attrs:{\"description\":\"暂无相关商品\"}})],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductList.vue?vue&type=template&id=6ecfbe40&scoped=true\"\nimport script from \"./ProductList.vue?vue&type=script&lang=js\"\nexport * from \"./ProductList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProductList.vue?vue&type=style&index=0&id=6ecfbe40&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6ecfbe40\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"bg\"},[_c('HomeLayout',{attrs:{\"topBanner\":_vm.topBanner,\"tagList\":_vm.tagList}}),_c('div',{staticClass:\"product-box\"},[_c('h2',[_vm._v(\"今日推荐\")]),_c('ProductList',{attrs:{\"products\":_vm.prouctList[0].list}})],1),_c('div',{staticClass:\"product-box\"},[_c('h2',[_vm._v(\"热销排行\")]),_c('ProductList',{attrs:{\"products\":_vm.prouctList[1].list}})],1),_c('div',{staticClass:\"product-box\"},[_c('h2',[_vm._v(\"新品上市\")]),_c('ProductList',{attrs:{\"products\":_vm.prouctList[2].list}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home-layout-container\"},[_c('router-link',{staticClass:\"left-nav\",attrs:{\"to\":\"/productList\"}},[_c('ul',{staticClass:\"nav-list\"},_vm._l((_vm.tagList),function(item){return _c('li',{key:item.id,staticClass:\"nav-item\"},[_c('img',{attrs:{\"src\":_vm.util.showImg(item.image),\"alt\":\"\"}}),_vm._v(_vm._s(item.name)+\" \")])}),0)]),_c('div',{staticClass:\"main-content\"},[_c('el-carousel',{staticStyle:{\"height\":\"100%\"}},_vm._l((_vm.topBanner),function(item){return _c('el-carousel-item',{key:item.id},[_c('img',{staticClass:\"carousel-img\",attrs:{\"src\":item.head_img}})])}),1)],1),_c('div',{staticClass:\"right-info\"},[_c('div',{staticClass:\"avatar-container\"},[_c('img',{staticClass:\"user-avatar\",attrs:{\"src\":_vm.$store.getters.getUserInfo.avatar,\"alt\":\"用户头像\"}}),_c('div',{staticClass:\"welcome-text\"},[_vm._v(\"Hi-欢迎您\")])]),(false)?_c('div',{staticClass:\"btn-group\"},[_c('el-button',{attrs:{\"type\":\"danger\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.gotoPath('/Login')}}},[_vm._v(\"登录\")]),_c('el-button',{attrs:{\"type\":\"warning\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.gotoPath('/Register')}}},[_vm._v(\"注册\")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\"}},[_vm._v(\"客服\")])],1):_vm._e(),_vm._m(0),_c('div',{staticClass:\"announcement\"},[_c('el-tag',{attrs:{\"type\":\"danger\",\"size\":\"mini\"}},[_vm._v(\"公告\")]),_c('span',[_vm._v(\"2099年12月平台重要新规速递\")])],1)])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"func-icons\"},[_c('div',{staticClass:\"icon-item\"},[_c('i',{staticClass:\"icon el-icon-user\"}),_c('span',[_vm._v(\"个人中心\")])]),_c('div',{staticClass:\"icon-item\"},[_c('i',{staticClass:\"icon el-icon-goods\"}),_c('span',[_vm._v(\"我的订单\")])]),_c('div',{staticClass:\"icon-item\"},[_c('i',{staticClass:\"icon el-icon-star-off\"}),_c('span',[_vm._v(\"我的收藏\")])]),_c('div',{staticClass:\"icon-item\"},[_c('i',{staticClass:\"icon el-icon-pie-chart\"}),_c('span',[_vm._v(\"议价单\")])])])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n ","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomeLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomeLayout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HomeLayout.vue?vue&type=template&id=083f77c2&scoped=true\"\nimport script from \"./HomeLayout.vue?vue&type=script&lang=js\"\nexport * from \"./HomeLayout.vue?vue&type=script&lang=js\"\nimport style0 from \"./HomeLayout.vue?vue&type=style&index=0&id=083f77c2&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"083f77c2\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=9b57fa58&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nimport style0 from \"./Index.vue?vue&type=style&index=0&id=9b57fa58&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9b57fa58\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","_l","products","product","key","id","attrs","directives","name","rawName","value","headimg","expression","title","_v","_s","price","market_price","_e","sales","sales_number","staticStyle","on","$event","addToCart","length","staticRenderFns","props","type","Array","default","methods","mapActions","$store","getters","isUserLogin","image","quantity","$message","success","$confirm","confirmButtonText","cancelButtonText","then","$router","push","path","query","redirect","$route","fullPath","catch","component","topBanner","tagList","prouctList","list","item","util","showImg","head_img","getUserInfo","avatar","_m","data","components","HomeLayout","ProductList","newProducts","originalPrice","categoryId","created","getTopBanner","getTags","getProductList","post","type_id","position","res","pid","map","i","tag_id","offset","limit"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/828.01df3e33.js b/dist/js/828.dc20517d.js similarity index 99% rename from dist/js/828.01df3e33.js rename to dist/js/828.dc20517d.js index ca2a17f..0d0c625 100644 --- a/dist/js/828.01df3e33.js +++ b/dist/js/828.dc20517d.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[828],{4458:function(t,s,i){i.d(s,{A:function(){return p}});var a=function(){var t=this,s=t._self._c;return s("div",{staticClass:"product-list"},[s("div",{staticClass:"product-grid"},t._l(t.products,function(i){return s("div",{key:i.id,staticClass:"product-card"},[s("div",{staticClass:"product-img"},[s("router-link",{attrs:{to:`/Detail/${i.id}`}},[s("img",{directives:[{name:"lazy",rawName:"v-lazy",value:i.headimg,expression:"product.headimg"}],staticClass:"product-pic",attrs:{alt:i.title}})])],1),s("div",{staticClass:"product-info"},[s("div",{staticClass:"flex-between"},[s("div",{staticClass:"product-price"},[s("span",{staticClass:"current-price"},[t._v("¥"+t._s(i.price/100))]),i.market_price?s("span",{staticClass:"original-price"},[t._v("¥"+t._s(i.market_price/100))]):t._e()]),i.sales?s("div",{staticClass:"product-sales"},[s("span",[t._v("已售 "+t._s(i.sales_number)+" 件")])]):t._e()]),s("h3",{staticClass:"product-name"},[s("router-link",{attrs:{to:`/Detail/${i.id}`}},[t._v(" "+t._s(i.title)+" ")])],1),s("div",{staticClass:"product-actions"},[s("el-button",{staticStyle:{"background-color":"#6a8a27",border:"none"},attrs:{type:"primary",size:"small"},on:{click:function(s){return t.addToCart(i)}}},[s("el-icon",{attrs:{name:"el-icon-shopping-cart"}}),t._v(" 加入购物车 ")],1)],1)])])}),0),0===t.products.length?s("div",{staticClass:"no-products"},[s("el-empty",{attrs:{description:"暂无相关商品"}})],1):t._e()])},e=[],r=(i(4114),i(3518)),o={name:"ProductList",props:{products:{type:Array,default:()=>[]}},methods:{...(0,r.i0)(["addToCart"]),addToCart(t){this.$store.getters.isUserLogin?(this.addToCart({id:t.id,name:t.name,price:t.price,image:t.image,quantity:1}),this.$message.success("已加入购物车")):this.$confirm("您尚未登录,是否前往登录?","提示",{confirmButtonText:"登录",cancelButtonText:"取消",type:"info"}).then(()=>{this.$router.push({path:"/login",query:{redirect:this.$route.fullPath}})}).catch(()=>{})}}},c=o,n=i(1656),l=(0,n.A)(c,a,e,!1,null,"6ecfbe40",null),p=l.exports},9828:function(t,s,i){i.r(s),i.d(s,{default:function(){return d}});i(4114);var a=function(){var t=this,s=t._self._c;return s("div",{staticClass:"home-page"},[s("el-carousel",{staticClass:"home-carousel",attrs:{height:"500px","indicator-position":"outside"}},t._l(4,function(t){return s("el-carousel-item",{key:t},[s("img",{directives:[{name:"lazy",rawName:"v-lazy",value:`https://picsum.photos/1200/500?random=${t}`,expression:"`https://picsum.photos/1200/500?random=${item}`"}],staticClass:"carousel-img",attrs:{alt:"轮播图片"}})])}),1),s("div",{staticClass:"category-nav"},[s("h2",{staticClass:"section-title"},[t._v("商品分类")]),s("div",{staticClass:"category-list"},t._l(t.categories,function(i){return s("div",{key:i.id,staticClass:"category-item",on:{click:function(s){return t.$router.push(`/category/${i.id}`)}}},[s("el-icon",{staticClass:"category-icon",attrs:{name:i.icon}}),s("span",{staticClass:"category-name"},[t._v(t._s(i.name))])],1)}),0)]),s("div",{staticClass:"hot-products"},[t._m(0),s("ProductList",{attrs:{products:t.hotProducts}})],1),s("div",{staticClass:"new-products"},[t._m(1),s("ProductList",{attrs:{products:t.newProducts}})],1),s("div",{staticClass:"promotion-section"},[s("h2",{staticClass:"section-title"},[t._v("限时促销")]),s("div",{staticClass:"promotion-container"},[s("div",{staticClass:"promotion-item"},[s("img",{directives:[{name:"lazy",rawName:"v-lazy",value:"https://picsum.photos/600/300?random=10",expression:"`https://picsum.photos/600/300?random=10`"}],staticClass:"promotion-img",attrs:{alt:"促销活动图片"}}),s("div",{staticClass:"promotion-info"},[s("h3",[t._v("夏季大促")]),s("p",[t._v("全场商品低至5折")]),s("el-button",{attrs:{type:"primary",size:"medium"}},[t._v("立即抢购")])],1)]),s("div",{staticClass:"promotion-item"},[s("img",{directives:[{name:"lazy",rawName:"v-lazy",value:"https://picsum.photos/600/300?random=11",expression:"`https://picsum.photos/600/300?random=11`"}],staticClass:"promotion-img",attrs:{alt:"促销活动图片"}}),s("div",{staticClass:"promotion-info"},[s("h3",[t._v("新品首发")]),s("p",[t._v("限量发售,先到先得")]),s("el-button",{attrs:{type:"primary",size:"medium"}},[t._v("立即抢购")])],1)])])])],1)},e=[function(){var t=this,s=t._self._c;return s("div",{staticClass:"section-header"},[s("h2",{staticClass:"section-title"},[t._v("热门商品")]),s("a",{staticClass:"more-link",attrs:{href:"#"}},[t._v("查看更多 "),s("i",{staticClass:"el-icon-arrow-right"})])])},function(){var t=this,s=t._self._c;return s("div",{staticClass:"section-header"},[s("h2",{staticClass:"section-title"},[t._v("新品上市")]),s("a",{staticClass:"more-link",attrs:{href:"#"}},[t._v("查看更多 "),s("i",{staticClass:"el-icon-arrow-right"})])])}],r=i(3518),o=i(4458),c={name:"Home",components:{ProductList:o.A},data(){return{hotProducts:[{id:1,name:"超薄笔记本电脑",price:5999,originalPrice:6999,image:"https://picsum.photos/300/300?random=1",sales:1254,categoryId:1},{id:2,name:"智能手表",price:1599,originalPrice:1799,image:"https://picsum.photos/300/300?random=2",sales:856,categoryId:1},{id:3,name:"纯棉T恤",price:99,originalPrice:199,image:"https://picsum.photos/300/300?random=3",sales:2356,categoryId:2},{id:4,name:"休闲牛仔裤",price:199,originalPrice:399,image:"https://picsum.photos/300/300?random=4",sales:1890,categoryId:2},{id:5,name:"舒适沙发",price:2999,originalPrice:3999,image:"https://picsum.photos/300/300?random=5",sales:324,categoryId:3},{id:6,name:"智能扫地机器人",price:1899,originalPrice:2299,image:"https://picsum.photos/300/300?random=6",sales:754,categoryId:3}],newProducts:[{id:7,name:"高清投影仪",price:3299,originalPrice:3699,image:"https://picsum.photos/300/300?random=7",sales:156,categoryId:1},{id:8,name:"保湿面霜",price:299,originalPrice:359,image:"https://picsum.photos/300/300?random=8",sales:423,categoryId:4},{id:9,name:"有机水果礼盒",price:159,originalPrice:199,image:"https://picsum.photos/300/300?random=9",sales:287,categoryId:5},{id:10,name:"经典文学名著",price:129,originalPrice:199,image:"https://picsum.photos/300/300?random=10",sales:342,categoryId:6},{id:11,name:"无线蓝牙耳机",price:799,originalPrice:999,image:"https://picsum.photos/300/300?random=11",sales:567,categoryId:1},{id:12,name:"运动鞋",price:499,originalPrice:699,image:"https://picsum.photos/300/300?random=12",sales:432,categoryId:2}]}},computed:{...(0,r.L8)(["getCategories"]),categories(){return this.getCategories}},created(){this.fetchCategories()},methods:{...(0,r.i0)(["fetchCategories"])}},n=c,l=i(1656),p=(0,l.A)(n,a,e,!1,null,"34d6a3aa",null),d=p.exports}}]); -//# sourceMappingURL=828.01df3e33.js.map \ No newline at end of file +//# sourceMappingURL=828.dc20517d.js.map \ No newline at end of file diff --git a/dist/js/828.01df3e33.js.map b/dist/js/828.dc20517d.js.map similarity index 99% rename from dist/js/828.01df3e33.js.map rename to dist/js/828.dc20517d.js.map index c1bb796..a26ef41 100644 --- a/dist/js/828.01df3e33.js.map +++ b/dist/js/828.dc20517d.js.map @@ -1 +1 @@ -{"version":3,"file":"js/828.01df3e33.js","mappings":"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","sources":["webpack://abcdf/./src/components/product/ProductList.vue","webpack://abcdf/src/components/product/ProductList.vue","webpack://abcdf/./src/components/product/ProductList.vue?43ae","webpack://abcdf/./src/components/product/ProductList.vue?0bfb","webpack://abcdf/./src/views/Home.vue","webpack://abcdf/src/views/Home.vue","webpack://abcdf/./src/views/Home.vue?a787","webpack://abcdf/./src/views/Home.vue?8611"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"product-list\"},[_c('div',{staticClass:\"product-grid\"},_vm._l((_vm.products),function(product){return _c('div',{key:product.id,staticClass:\"product-card\"},[_c('div',{staticClass:\"product-img\"},[_c('router-link',{attrs:{\"to\":`/Detail/${product.id}`}},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(product.headimg),expression:\"product.headimg\"}],staticClass:\"product-pic\",attrs:{\"alt\":product.title}})])],1),_c('div',{staticClass:\"product-info\"},[_c('div',{staticClass:\"flex-between\"},[_c('div',{staticClass:\"product-price\"},[_c('span',{staticClass:\"current-price\"},[_vm._v(\"¥\"+_vm._s(product.price / 100))]),(product.market_price)?_c('span',{staticClass:\"original-price\"},[_vm._v(\"¥\"+_vm._s(product.market_price / 100))]):_vm._e()]),(product.sales)?_c('div',{staticClass:\"product-sales\"},[_c('span',[_vm._v(\"已售 \"+_vm._s(product.sales_number)+\" 件\")])]):_vm._e()]),_c('h3',{staticClass:\"product-name\"},[_c('router-link',{attrs:{\"to\":`/Detail/${product.id}`}},[_vm._v(\" \"+_vm._s(product.title)+\" \")])],1),_c('div',{staticClass:\"product-actions\"},[_c('el-button',{staticStyle:{\"background-color\":\"#6a8a27\",\"border\":\"none\"},attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.addToCart(product)}}},[_c('el-icon',{attrs:{\"name\":\"el-icon-shopping-cart\"}}),_vm._v(\" 加入购物车 \")],1)],1)])])}),0),(_vm.products.length === 0)?_c('div',{staticClass:\"no-products\"},[_c('el-empty',{attrs:{\"description\":\"暂无相关商品\"}})],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductList.vue?vue&type=template&id=6ecfbe40&scoped=true\"\nimport script from \"./ProductList.vue?vue&type=script&lang=js\"\nexport * from \"./ProductList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProductList.vue?vue&type=style&index=0&id=6ecfbe40&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6ecfbe40\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home-page\"},[_c('el-carousel',{staticClass:\"home-carousel\",attrs:{\"height\":\"500px\",\"indicator-position\":\"outside\"}},_vm._l((4),function(item){return _c('el-carousel-item',{key:item},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(`https://picsum.photos/1200/500?random=${item}`),expression:\"`https://picsum.photos/1200/500?random=${item}`\"}],staticClass:\"carousel-img\",attrs:{\"alt\":\"轮播图片\"}})])}),1),_c('div',{staticClass:\"category-nav\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(\"商品分类\")]),_c('div',{staticClass:\"category-list\"},_vm._l((_vm.categories),function(category){return _c('div',{key:category.id,staticClass:\"category-item\",on:{\"click\":function($event){return _vm.$router.push(`/category/${category.id}`)}}},[_c('el-icon',{staticClass:\"category-icon\",attrs:{\"name\":category.icon}}),_c('span',{staticClass:\"category-name\"},[_vm._v(_vm._s(category.name))])],1)}),0)]),_c('div',{staticClass:\"hot-products\"},[_vm._m(0),_c('ProductList',{attrs:{\"products\":_vm.hotProducts}})],1),_c('div',{staticClass:\"new-products\"},[_vm._m(1),_c('ProductList',{attrs:{\"products\":_vm.newProducts}})],1),_c('div',{staticClass:\"promotion-section\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(\"限时促销\")]),_c('div',{staticClass:\"promotion-container\"},[_c('div',{staticClass:\"promotion-item\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(`https://picsum.photos/600/300?random=10`),expression:\"`https://picsum.photos/600/300?random=10`\"}],staticClass:\"promotion-img\",attrs:{\"alt\":\"促销活动图片\"}}),_c('div',{staticClass:\"promotion-info\"},[_c('h3',[_vm._v(\"夏季大促\")]),_c('p',[_vm._v(\"全场商品低至5折\")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"medium\"}},[_vm._v(\"立即抢购\")])],1)]),_c('div',{staticClass:\"promotion-item\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(`https://picsum.photos/600/300?random=11`),expression:\"`https://picsum.photos/600/300?random=11`\"}],staticClass:\"promotion-img\",attrs:{\"alt\":\"促销活动图片\"}}),_c('div',{staticClass:\"promotion-info\"},[_c('h3',[_vm._v(\"新品首发\")]),_c('p',[_vm._v(\"限量发售,先到先得\")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"medium\"}},[_vm._v(\"立即抢购\")])],1)])])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"section-header\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(\"热门商品\")]),_c('a',{staticClass:\"more-link\",attrs:{\"href\":\"#\"}},[_vm._v(\"查看更多 \"),_c('i',{staticClass:\"el-icon-arrow-right\"})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"section-header\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(\"新品上市\")]),_c('a',{staticClass:\"more-link\",attrs:{\"href\":\"#\"}},[_vm._v(\"查看更多 \"),_c('i',{staticClass:\"el-icon-arrow-right\"})])])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=34d6a3aa&scoped=true\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=34d6a3aa&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34d6a3aa\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","_l","products","product","key","id","attrs","directives","name","rawName","value","headimg","expression","title","_v","_s","price","market_price","_e","sales","sales_number","staticStyle","on","$event","addToCart","length","staticRenderFns","props","type","Array","default","methods","mapActions","$store","getters","isUserLogin","image","quantity","$message","success","$confirm","confirmButtonText","cancelButtonText","then","$router","push","path","query","redirect","$route","fullPath","catch","component","item","categories","category","icon","_m","hotProducts","newProducts","components","ProductList","data","originalPrice","categoryId","computed","mapGetters","getCategories","created","fetchCategories"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/828.dc20517d.js","mappings":"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","sources":["webpack://abcdf/./src/components/product/ProductList.vue","webpack://abcdf/src/components/product/ProductList.vue","webpack://abcdf/./src/components/product/ProductList.vue?43ae","webpack://abcdf/./src/components/product/ProductList.vue?0bfb","webpack://abcdf/./src/views/Home.vue","webpack://abcdf/src/views/Home.vue","webpack://abcdf/./src/views/Home.vue?a787","webpack://abcdf/./src/views/Home.vue?8611"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"product-list\"},[_c('div',{staticClass:\"product-grid\"},_vm._l((_vm.products),function(product){return _c('div',{key:product.id,staticClass:\"product-card\"},[_c('div',{staticClass:\"product-img\"},[_c('router-link',{attrs:{\"to\":`/Detail/${product.id}`}},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(product.headimg),expression:\"product.headimg\"}],staticClass:\"product-pic\",attrs:{\"alt\":product.title}})])],1),_c('div',{staticClass:\"product-info\"},[_c('div',{staticClass:\"flex-between\"},[_c('div',{staticClass:\"product-price\"},[_c('span',{staticClass:\"current-price\"},[_vm._v(\"¥\"+_vm._s(product.price / 100))]),(product.market_price)?_c('span',{staticClass:\"original-price\"},[_vm._v(\"¥\"+_vm._s(product.market_price / 100))]):_vm._e()]),(product.sales)?_c('div',{staticClass:\"product-sales\"},[_c('span',[_vm._v(\"已售 \"+_vm._s(product.sales_number)+\" 件\")])]):_vm._e()]),_c('h3',{staticClass:\"product-name\"},[_c('router-link',{attrs:{\"to\":`/Detail/${product.id}`}},[_vm._v(\" \"+_vm._s(product.title)+\" \")])],1),_c('div',{staticClass:\"product-actions\"},[_c('el-button',{staticStyle:{\"background-color\":\"#6a8a27\",\"border\":\"none\"},attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.addToCart(product)}}},[_c('el-icon',{attrs:{\"name\":\"el-icon-shopping-cart\"}}),_vm._v(\" 加入购物车 \")],1)],1)])])}),0),(_vm.products.length === 0)?_c('div',{staticClass:\"no-products\"},[_c('el-empty',{attrs:{\"description\":\"暂无相关商品\"}})],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductList.vue?vue&type=template&id=6ecfbe40&scoped=true\"\nimport script from \"./ProductList.vue?vue&type=script&lang=js\"\nexport * from \"./ProductList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProductList.vue?vue&type=style&index=0&id=6ecfbe40&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6ecfbe40\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home-page\"},[_c('el-carousel',{staticClass:\"home-carousel\",attrs:{\"height\":\"500px\",\"indicator-position\":\"outside\"}},_vm._l((4),function(item){return _c('el-carousel-item',{key:item},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(`https://picsum.photos/1200/500?random=${item}`),expression:\"`https://picsum.photos/1200/500?random=${item}`\"}],staticClass:\"carousel-img\",attrs:{\"alt\":\"轮播图片\"}})])}),1),_c('div',{staticClass:\"category-nav\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(\"商品分类\")]),_c('div',{staticClass:\"category-list\"},_vm._l((_vm.categories),function(category){return _c('div',{key:category.id,staticClass:\"category-item\",on:{\"click\":function($event){return _vm.$router.push(`/category/${category.id}`)}}},[_c('el-icon',{staticClass:\"category-icon\",attrs:{\"name\":category.icon}}),_c('span',{staticClass:\"category-name\"},[_vm._v(_vm._s(category.name))])],1)}),0)]),_c('div',{staticClass:\"hot-products\"},[_vm._m(0),_c('ProductList',{attrs:{\"products\":_vm.hotProducts}})],1),_c('div',{staticClass:\"new-products\"},[_vm._m(1),_c('ProductList',{attrs:{\"products\":_vm.newProducts}})],1),_c('div',{staticClass:\"promotion-section\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(\"限时促销\")]),_c('div',{staticClass:\"promotion-container\"},[_c('div',{staticClass:\"promotion-item\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(`https://picsum.photos/600/300?random=10`),expression:\"`https://picsum.photos/600/300?random=10`\"}],staticClass:\"promotion-img\",attrs:{\"alt\":\"促销活动图片\"}}),_c('div',{staticClass:\"promotion-info\"},[_c('h3',[_vm._v(\"夏季大促\")]),_c('p',[_vm._v(\"全场商品低至5折\")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"medium\"}},[_vm._v(\"立即抢购\")])],1)]),_c('div',{staticClass:\"promotion-item\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(`https://picsum.photos/600/300?random=11`),expression:\"`https://picsum.photos/600/300?random=11`\"}],staticClass:\"promotion-img\",attrs:{\"alt\":\"促销活动图片\"}}),_c('div',{staticClass:\"promotion-info\"},[_c('h3',[_vm._v(\"新品首发\")]),_c('p',[_vm._v(\"限量发售,先到先得\")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"medium\"}},[_vm._v(\"立即抢购\")])],1)])])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"section-header\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(\"热门商品\")]),_c('a',{staticClass:\"more-link\",attrs:{\"href\":\"#\"}},[_vm._v(\"查看更多 \"),_c('i',{staticClass:\"el-icon-arrow-right\"})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"section-header\"},[_c('h2',{staticClass:\"section-title\"},[_vm._v(\"新品上市\")]),_c('a',{staticClass:\"more-link\",attrs:{\"href\":\"#\"}},[_vm._v(\"查看更多 \"),_c('i',{staticClass:\"el-icon-arrow-right\"})])])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=34d6a3aa&scoped=true\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=34d6a3aa&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34d6a3aa\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","_l","products","product","key","id","attrs","directives","name","rawName","value","headimg","expression","title","_v","_s","price","market_price","_e","sales","sales_number","staticStyle","on","$event","addToCart","length","staticRenderFns","props","type","Array","default","methods","mapActions","$store","getters","isUserLogin","image","quantity","$message","success","$confirm","confirmButtonText","cancelButtonText","then","$router","push","path","query","redirect","$route","fullPath","catch","component","item","categories","category","icon","_m","hotProducts","newProducts","components","ProductList","data","originalPrice","categoryId","computed","mapGetters","getCategories","created","fetchCategories"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/854.f22fa6e9.js b/dist/js/854.f22fa6e9.js new file mode 100644 index 0000000..b3da913 --- /dev/null +++ b/dist/js/854.f22fa6e9.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkabcdf"]=self["webpackChunkabcdf"]||[]).push([[854],{3473:function(t,s,i){i.r(s),i.d(s,{default:function(){return h}});var a=function(){var t=this,s=t._self._c;return s("div",{staticClass:"bg"},[s("HomeLayout",{attrs:{topBanner:t.topBanner,tagList:t.tagList}}),s("div",{staticClass:"product-box"},[s("h2",[t._v("今日推荐")]),s("ProductList",{attrs:{products:t.prouctList[0].list}})],1),s("div",{staticClass:"product-box"},[s("h2",[t._v("热销排行")]),s("ProductList",{attrs:{products:t.prouctList[1].list}})],1),s("div",{staticClass:"product-box"},[s("h2",[t._v("新品上市")]),s("ProductList",{attrs:{products:t.prouctList[2].list}})],1)],1)},e=[],r=(i(8111),i(1701),function(){var t=this,s=t._self._c;return s("div",{staticClass:"home-layout-container"},[s("router-link",{staticClass:"left-nav",attrs:{to:"/productList"}},[s("ul",{staticClass:"nav-list"},t._l(t.tagList,function(i){return s("li",{key:i.id,staticClass:"nav-item"},[s("img",{attrs:{src:t.util.showImg(i.image),alt:""}}),t._v(t._s(i.name)+" ")])}),0)]),s("div",{staticClass:"main-content"},[s("el-carousel",{staticStyle:{height:"100%"}},t._l(t.topBanner,function(t){return s("el-carousel-item",{key:t.id},[s("img",{staticClass:"carousel-img",attrs:{src:t.head_img}})])}),1)],1),s("div",{staticClass:"right-info"},[t.isLogin?s("div",{staticClass:"avatar-container"},[s("img",{staticClass:"user-avatar",attrs:{src:t.$store.getters.getUserInfo.avatar,alt:"用户头像"}}),s("div",{staticClass:"welcome-text"},[t._v("Hi-欢迎您")])]):t._e(),t._e(),t.isLogin?s("div",{staticClass:"func-icons"},[t._m(0),t._m(1),t._m(2),t._m(3)]):t._e(),s("div",{staticClass:"announcement"},[s("el-tag",{attrs:{type:"danger",size:"mini"}},[t._v("公告")]),s("span",[t._v("2099年12月平台重要新规速递")])],1)])],1)}),c=[function(){var t=this,s=t._self._c;return s("div",{staticClass:"icon-item"},[s("i",{staticClass:"icon el-icon-user"}),s("span",[t._v("个人中心")])])},function(){var t=this,s=t._self._c;return s("div",{staticClass:"icon-item"},[s("i",{staticClass:"icon el-icon-goods"}),s("span",[t._v("我的订单")])])},function(){var t=this,s=t._self._c;return s("div",{staticClass:"icon-item"},[s("i",{staticClass:"icon el-icon-star-off"}),s("span",[t._v("我的收藏")])])},function(){var t=this,s=t._self._c;return s("div",{staticClass:"icon-item"},[s("i",{staticClass:"icon el-icon-pie-chart"}),s("span",[t._v("议价单")])])}],n={name:"HomeLayout",props:{topBanner:{type:Array,default:()=>[]},tagList:{type:Array,default:()=>[]}},data(){return{}}},o=n,l=i(1656),u=(0,l.A)(o,r,c,!1,null,"a8825fb4",null),d=u.exports,p=i(4458),g={components:{HomeLayout:d,ProductList:p.A},data(){return{topBanner:[],tagList:[],prouctList:[{id:670,title:"今日推荐",list:[]},{id:671,title:"热销排行",list:[]},{id:672,title:"新品上市",list:[]}],newProducts:[{id:7,name:"高清投影仪高清投影仪高清投影仪高清投影仪高清投影仪高清投影仪高清投影仪高清投影仪",price:3299,originalPrice:3699,image:"https://static.ticket.sz-trip.com/jundaosuzhou/images/scenicType/topImg.png",sales:156,categoryId:1},{id:8,name:"保湿面霜",price:299,originalPrice:359,image:"https://static.ticket.sz-trip.com/jundaosuzhou/images/scenicType/topImg.png",sales:423,categoryId:4},{id:9,name:"有机水果礼盒",price:159,originalPrice:199,image:"https://static.ticket.sz-trip.com/jundaosuzhou/images/scenicType/topImg.png",sales:287,categoryId:5},{id:10,name:"经典文学名著",price:129,originalPrice:199,image:"https://static.ticket.sz-trip.com/jundaosuzhou/images/scenicType/topImg.png",sales:342,categoryId:6}]}},created(){this.getTopBanner(),this.getTags(),this.getProductList()},methods:{getTopBanner(){this.post({type_id:6,position:0},"/api/adv/getAdv").then(t=>{t&&(this.topBanner=t.data)})},getTags(){this.post({pid:662},"/api/product/tag_list").then(t=>{this.tagList=t.data})},getProductList(){this.prouctList.map(t=>{this.post({tag_id:t.id,offset:0,limit:4},"/api/product/get_product_by_tag").then(s=>{t.list=s.data.list})})}}},m=g,v=(0,l.A)(m,a,e,!1,null,"9b57fa58",null),h=v.exports},4458:function(t,s,i){i.d(s,{A:function(){return u}});var a=function(){var t=this,s=t._self._c;return s("div",{staticClass:"product-list"},[s("div",{staticClass:"product-grid"},t._l(t.products,function(i){return s("div",{key:i.id,staticClass:"product-card"},[s("div",{staticClass:"product-img"},[s("router-link",{attrs:{to:`/Detail/${i.id}`}},[s("img",{directives:[{name:"lazy",rawName:"v-lazy",value:i.headimg,expression:"product.headimg"}],staticClass:"product-pic",attrs:{alt:i.title}})])],1),s("div",{staticClass:"product-info"},[s("div",{staticClass:"flex-between"},[s("div",{staticClass:"product-price"},[s("span",{staticClass:"current-price"},[t._v("¥"+t._s(i.price/100))]),i.market_price?s("span",{staticClass:"original-price"},[t._v("¥"+t._s(i.market_price/100))]):t._e()]),i.sales?s("div",{staticClass:"product-sales"},[s("span",[t._v("已售 "+t._s(i.sales_number)+" 件")])]):t._e()]),s("h3",{staticClass:"product-name"},[s("router-link",{attrs:{to:`/Detail/${i.id}`}},[t._v(" "+t._s(i.title)+" ")])],1),s("div",{staticClass:"product-actions"},[s("el-button",{staticStyle:{"background-color":"#6a8a27",border:"none"},attrs:{type:"primary",size:"small"},on:{click:function(s){return t.addToCart(i)}}},[s("el-icon",{attrs:{name:"el-icon-shopping-cart"}}),t._v(" 加入购物车 ")],1)],1)])])}),0),0===t.products.length?s("div",{staticClass:"no-products"},[s("el-empty",{attrs:{description:"暂无相关商品"}})],1):t._e()])},e=[],r=(i(4114),i(3518)),c={name:"ProductList",props:{products:{type:Array,default:()=>[]}},methods:{...(0,r.i0)(["addToCart"]),addToCart(t){this.$store.getters.isUserLogin?(this.addToCart({id:t.id,name:t.name,price:t.price,image:t.image,quantity:1}),this.$message.success("已加入购物车")):this.$confirm("您尚未登录,是否前往登录?","提示",{confirmButtonText:"登录",cancelButtonText:"取消",type:"info"}).then(()=>{this.$router.push({path:"/login",query:{redirect:this.$route.fullPath}})}).catch(()=>{})}}},n=c,o=i(1656),l=(0,o.A)(n,a,e,!1,null,"6ecfbe40",null),u=l.exports}}]); +//# sourceMappingURL=854.f22fa6e9.js.map \ No newline at end of file diff --git a/dist/js/854.f22fa6e9.js.map b/dist/js/854.f22fa6e9.js.map new file mode 100644 index 0000000..a7e8856 --- /dev/null +++ b/dist/js/854.f22fa6e9.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/854.f22fa6e9.js","mappings":"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","sources":["webpack://abcdf/./src/views/Index.vue","webpack://abcdf/./src/components/layout/HomeLayout.vue","webpack://abcdf/src/components/layout/HomeLayout.vue","webpack://abcdf/./src/components/layout/HomeLayout.vue?06d9","webpack://abcdf/./src/components/layout/HomeLayout.vue?b436","webpack://abcdf/src/views/Index.vue","webpack://abcdf/./src/views/Index.vue?cb95","webpack://abcdf/./src/views/Index.vue?e2bc","webpack://abcdf/./src/components/product/ProductList.vue","webpack://abcdf/src/components/product/ProductList.vue","webpack://abcdf/./src/components/product/ProductList.vue?43ae","webpack://abcdf/./src/components/product/ProductList.vue?0bfb"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"bg\"},[_c('HomeLayout',{attrs:{\"topBanner\":_vm.topBanner,\"tagList\":_vm.tagList}}),_c('div',{staticClass:\"product-box\"},[_c('h2',[_vm._v(\"今日推荐\")]),_c('ProductList',{attrs:{\"products\":_vm.prouctList[0].list}})],1),_c('div',{staticClass:\"product-box\"},[_c('h2',[_vm._v(\"热销排行\")]),_c('ProductList',{attrs:{\"products\":_vm.prouctList[1].list}})],1),_c('div',{staticClass:\"product-box\"},[_c('h2',[_vm._v(\"新品上市\")]),_c('ProductList',{attrs:{\"products\":_vm.prouctList[2].list}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home-layout-container\"},[_c('router-link',{staticClass:\"left-nav\",attrs:{\"to\":\"/productList\"}},[_c('ul',{staticClass:\"nav-list\"},_vm._l((_vm.tagList),function(item){return _c('li',{key:item.id,staticClass:\"nav-item\"},[_c('img',{attrs:{\"src\":_vm.util.showImg(item.image),\"alt\":\"\"}}),_vm._v(_vm._s(item.name)+\" \")])}),0)]),_c('div',{staticClass:\"main-content\"},[_c('el-carousel',{staticStyle:{\"height\":\"100%\"}},_vm._l((_vm.topBanner),function(item){return _c('el-carousel-item',{key:item.id},[_c('img',{staticClass:\"carousel-img\",attrs:{\"src\":item.head_img}})])}),1)],1),_c('div',{staticClass:\"right-info\"},[(_vm.isLogin)?_c('div',{staticClass:\"avatar-container\"},[_c('img',{staticClass:\"user-avatar\",attrs:{\"src\":_vm.$store.getters.getUserInfo.avatar,\"alt\":\"用户头像\"}}),_c('div',{staticClass:\"welcome-text\"},[_vm._v(\"Hi-欢迎您\")])]):_vm._e(),(false)?_c('div',{staticClass:\"btn-group\"},[_c('el-button',{attrs:{\"type\":\"danger\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.gotoPath('/Login')}}},[_vm._v(\"登录\")]),_c('el-button',{attrs:{\"type\":\"warning\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.gotoPath('/Register')}}},[_vm._v(\"注册\")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\"}},[_vm._v(\"客服\")])],1):_vm._e(),(_vm.isLogin)?_c('div',{staticClass:\"func-icons\"},[_vm._m(0),_vm._m(1),_vm._m(2),_vm._m(3)]):_vm._e(),_c('div',{staticClass:\"announcement\"},[_c('el-tag',{attrs:{\"type\":\"danger\",\"size\":\"mini\"}},[_vm._v(\"公告\")]),_c('span',[_vm._v(\"2099年12月平台重要新规速递\")])],1)])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"icon-item\"},[_c('i',{staticClass:\"icon el-icon-user\"}),_c('span',[_vm._v(\"个人中心\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"icon-item\"},[_c('i',{staticClass:\"icon el-icon-goods\"}),_c('span',[_vm._v(\"我的订单\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"icon-item\"},[_c('i',{staticClass:\"icon el-icon-star-off\"}),_c('span',[_vm._v(\"我的收藏\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"icon-item\"},[_c('i',{staticClass:\"icon el-icon-pie-chart\"}),_c('span',[_vm._v(\"议价单\")])])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n ","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomeLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HomeLayout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HomeLayout.vue?vue&type=template&id=a8825fb4&scoped=true\"\nimport script from \"./HomeLayout.vue?vue&type=script&lang=js\"\nexport * from \"./HomeLayout.vue?vue&type=script&lang=js\"\nimport style0 from \"./HomeLayout.vue?vue&type=style&index=0&id=a8825fb4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a8825fb4\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=9b57fa58&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nimport style0 from \"./Index.vue?vue&type=style&index=0&id=9b57fa58&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9b57fa58\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"product-list\"},[_c('div',{staticClass:\"product-grid\"},_vm._l((_vm.products),function(product){return _c('div',{key:product.id,staticClass:\"product-card\"},[_c('div',{staticClass:\"product-img\"},[_c('router-link',{attrs:{\"to\":`/Detail/${product.id}`}},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(product.headimg),expression:\"product.headimg\"}],staticClass:\"product-pic\",attrs:{\"alt\":product.title}})])],1),_c('div',{staticClass:\"product-info\"},[_c('div',{staticClass:\"flex-between\"},[_c('div',{staticClass:\"product-price\"},[_c('span',{staticClass:\"current-price\"},[_vm._v(\"¥\"+_vm._s(product.price / 100))]),(product.market_price)?_c('span',{staticClass:\"original-price\"},[_vm._v(\"¥\"+_vm._s(product.market_price / 100))]):_vm._e()]),(product.sales)?_c('div',{staticClass:\"product-sales\"},[_c('span',[_vm._v(\"已售 \"+_vm._s(product.sales_number)+\" 件\")])]):_vm._e()]),_c('h3',{staticClass:\"product-name\"},[_c('router-link',{attrs:{\"to\":`/Detail/${product.id}`}},[_vm._v(\" \"+_vm._s(product.title)+\" \")])],1),_c('div',{staticClass:\"product-actions\"},[_c('el-button',{staticStyle:{\"background-color\":\"#6a8a27\",\"border\":\"none\"},attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.addToCart(product)}}},[_c('el-icon',{attrs:{\"name\":\"el-icon-shopping-cart\"}}),_vm._v(\" 加入购物车 \")],1)],1)])])}),0),(_vm.products.length === 0)?_c('div',{staticClass:\"no-products\"},[_c('el-empty',{attrs:{\"description\":\"暂无相关商品\"}})],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductList.vue?vue&type=template&id=6ecfbe40&scoped=true\"\nimport script from \"./ProductList.vue?vue&type=script&lang=js\"\nexport * from \"./ProductList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProductList.vue?vue&type=style&index=0&id=6ecfbe40&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6ecfbe40\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","attrs","topBanner","tagList","_v","prouctList","list","staticRenderFns","_l","item","key","id","util","showImg","image","_s","name","staticStyle","head_img","isLogin","$store","getters","getUserInfo","avatar","_e","_m","props","type","Array","default","data","component","components","HomeLayout","ProductList","title","newProducts","price","originalPrice","sales","categoryId","created","getTopBanner","getTags","getProductList","methods","post","type_id","position","then","res","pid","map","i","tag_id","offset","limit","products","product","directives","rawName","value","headimg","expression","market_price","sales_number","on","$event","addToCart","length","mapActions","isUserLogin","quantity","$message","success","$confirm","confirmButtonText","cancelButtonText","$router","push","path","query","redirect","$route","fullPath","catch"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/app.5b4a444d.js b/dist/js/app.5b4a444d.js new file mode 100644 index 0000000..ab9f3eb --- /dev/null +++ b/dist/js/app.5b4a444d.js @@ -0,0 +1,2 @@ +(function(){"use strict";var e={2008:function(e,t,n){n(4114);var a=n(6674),i=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},["Register"!==e.$route.name?t("HeaderNav"):e._e(),"Login"!==e.$route.name?t("main",{staticClass:"main-container"},[t("router-view")],1):e._e(),"Login"==e.$route.name?t("main",{staticClass:"main-containers"},[t("router-view")],1):e._e(),"Register"!==e.$route.name?t("Sidebar"):e._e(),"Register"!==e.$route.name?t("Footer"):e._e(),t("BackToTop")],1)},r=[],o=function(){var e=this,t=e._self._c;return t("header",{staticClass:"header-nav"},[t("div",{staticClass:"top-notice"},[t("div",{staticClass:"container"},[t("p",[e._v(" 欢迎来到时味苏州平台! "),e._e()],1),t("div",{staticClass:"top-links"},[e.isLogin?t("router-link",{staticClass:"user-link",attrs:{to:"/User"}},[t("img",{directives:[{name:"lazy",rawName:"v-lazy",value:e.userInfo.avatar,expression:"userInfo.avatar"}],staticClass:"avatar",attrs:{alt:"用户头像"}}),e._v(" "+e._s(e.userInfo.username)+" ")]):t("router-link",{attrs:{to:"/Login"}},[e._v("登录")]),e._e(),e._e(),t("router-link",{attrs:{to:"/User"}},[e._v("采购人中心")]),t("router-link",{staticClass:"cart-link",attrs:{to:"/User/ShoppingCart"}},[e._v(" 购物车"),e.cartTotalCount>0?t("span",[e._v("("+e._s(e.cartTotalCount)+"件)")]):e._e()]),e.isLogin?t("router-link",{attrs:{to:"/User/OrderList"}},[e._v("我的订单")]):e._e(),e.isLogin?t("div",{staticClass:"logout-btn",on:{click:e.handleLogout}},[e._v(" 退出 ")]):e._e()],1)])]),t("div",{staticClass:"main-nav"},[t("div",{staticClass:"container"},[t("div",{staticClass:"logo"},[t("router-link",{attrs:{to:"/"}},[t("img",{staticClass:"logo-img",attrs:{src:"https://static.ticket.sz-trip.com/shiweisuzhou/pc/logo.png",alt:"logo"}})])],1),t("div",{staticClass:"search-box"},[t("el-input",{staticClass:"search-input",attrs:{placeholder:"请输入搜索内容"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleSearch.apply(null,arguments)}},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}},[t("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:e.handleSearch},slot:"append"})],1),t("div",{staticClass:"hot-tags"},[t("span",[e._v("热门搜索:")]),t("div",{staticClass:"hot-tag",on:{click:function(t){e.searchText="手机",e.handleSearch()}}},[e._v(" 手机 ")]),t("div",{staticClass:"hot-tag",on:{click:function(t){e.searchText="电脑",e.handleSearch()}}},[e._v(" 电脑 ")]),t("div",{staticClass:"hot-tag",on:{click:function(t){e.searchText="服装",e.handleSearch()}}},[e._v(" 服装 ")])])],1),t("div",{staticClass:"phone-entry"},[t("router-link",{attrs:{to:"#"}},[t("img",{attrs:{src:"https://static.ticket.sz-trip.com/shiweisuzhou/pc/login/phone.png",alt:"联系电话"}}),t("span",[e._v("0512-680541")]),(e.cartTotalCount,e._e())])],1)])]),e.categories.length>0?t("div",{staticClass:"category-nav"},[t("div",{staticClass:"container"},[e._e()])]):e._e()])},s=[],c=n(3518),l={name:"HeaderNav",data(){return{searchText:""}},computed:{...(0,c.L8)(["getCategories","getCartTotalCount","isUserLogin","getUserInfo"]),categories(){return this.getCategories||[]},cartTotalCount(){return this.getCartTotalCount||0},isLogin(){return this.isUserLogin},userInfo(){return this.getUserInfo||{}}},created(){this.fetchCategories()},methods:{...(0,c.i0)(["fetchCategories","logout"]),handleSearch(){if(!this.searchText.trim())return;this.$store.commit("setSearchText",this.searchText);const e="/ProductList"===this.$route.path&&"search"===this.$route.query.type;e?this.$emit("search",this.searchText):this.$router.push({path:"/ProductList",query:{keyword:this.searchText,type:"search"}})},handleLogout(){this.$confirm("确定要退出登录吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.logout().then(()=>{this.$message.success("退出登录成功"),this.$router.push("/Login")}).catch(e=>{this.$message.error("退出失败:"+(e.message||"未知错误"))})}).catch(()=>{})}}},u=l,d=n(1656),h=(0,d.A)(u,o,s,!1,null,"397f4a13",null),p=h.exports,m=function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-container"},[t("div",{staticClass:"footer-top"},[e._m(0),e._m(1),e._m(2),e._m(3),e._m(4),t("div",{staticClass:"qrcode-group"},[t("div",{staticClass:"qrcode-item"},[t("el-empty",{staticStyle:{width:"100px",height:"100px"},attrs:{description:"二维码"}}),t("p",[e._v("时味苏州小程序")])],1),t("div",{staticClass:"qrcode-item"},[t("el-empty",{staticStyle:{width:"100px",height:"100px"},attrs:{description:"二维码"}}),t("p",[e._v("时味苏州服务号")])],1)])]),e._m(5)])},f=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-column"},[t("h3",[e._v("关于我们")]),t("ul",[t("li",[e._v("平台简介")]),t("li",[e._v("政策文件")]),t("li",[e._v("平台标识指南")]),t("li",[e._v("营业执照")]),t("li",[e._v("食品经营许可证")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-column"},[t("h3",[e._v("新手上路")]),t("ul",[t("li",[e._v("供应商入驻流程")]),t("li",[e._v("供应商操作手册")]),t("li",[e._v("采购人入驻流程")]),t("li",[e._v("采购人操作手册")]),t("li",[e._v("供应商入驻联系方式")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-column"},[t("h3",[e._v("交易流程")]),t("ul",[t("li",[e._v("直购交易流程")]),t("li",[e._v("竞购交易流程")]),t("li",[e._v("货款结算流程")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-column"},[t("h3",[e._v("常见问题")]),t("ul",[t("li",[e._v("预留份额填报")]),t("li",[e._v("支付结算问题")]),t("li",[e._v("账号管理问题")]),t("li",[e._v("在线客服问题")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"contact-info"},[t("p",[e._v("联系方式:")]),t("p",[e._v("客服电话:222-222-222")]),t("p",[e._v("工作时间:工作日 9:00-18:00")]),t("p",[e._v("客服邮箱:xxxxxxxxx@stn.com")]),t("p",[e._v("商务合作:18999999999")])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-bottom"},[t("p",[e._v("版权所有 苏州市特色农产品发展有限公司 | 苏ICP备2023023300号-1")]),t("p",[e._v("本网站由 江苏大运远见文化科技发展有限公司 运营维护")])])}],g={name:"Footer",data(){return{}}},v=g,b=(0,d.A)(v,m,f,!1,null,"683e198c",null),C=b.exports,k=function(){var e=this,t=e._self._c;return t("div",{staticClass:"sidebar-container"},[t("div",{staticClass:"sidebar-item",on:{click:e.handleCartClick}},[t("el-badge",{staticClass:"item-badge",attrs:{value:e.cartCount}},[t("i",{staticClass:"el-icon-shopping-cart-full"})]),t("div",{staticClass:"item-text"},[e._v("购物车")])],1),t("div",{staticClass:"sidebar-item",on:{click:e.handleServiceClick}},[t("i",{staticClass:"el-icon-headset"}),t("div",{staticClass:"item-text"},[e._v("在线客服")])]),t("div",{staticClass:"sidebar-item back-to-top",class:{active:e.isShowBackTop},on:{click:e.handleBackToTop}},[t("i",{staticClass:"el-icon-caret-top"}),t("div",{staticClass:"item-text"},[e._v("回到顶部")])])])},y=[],T={name:"Sidebar",data(){return{cartCount:3,isShowBackTop:!1,scrollTimer:null}},mounted(){window.addEventListener("scroll",this.handleScroll)},beforeDestroy(){window.removeEventListener("scroll",this.handleScroll),this.scrollTimer&&clearTimeout(this.scrollTimer)},methods:{handleCartClick(){this.$router.push("/User/ShoppingCart")},handleServiceClick(){this.$message.info("正在唤起在线客服...")},handleBackToTop(){window.scrollTo({top:0,behavior:"smooth"})},handleScroll(){this.scrollTimer&&clearTimeout(this.scrollTimer),this.scrollTimer=setTimeout(()=>{this.isShowBackTop=window.pageYOffset>300},200)}}},A=T,I=(0,d.A)(A,k,y,!1,null,"0ddafffa",null),w=I.exports,R=function(){var e=this,t=e._self._c;return e.showBackToTop?t("div",{staticClass:"back-to-top",on:{click:e.scrollToTop}},[t("el-icon",{attrs:{name:"el-icon-arrow-up"}})],1):e._e()},x=[],E={name:"BackToTop",data(){return{showBackToTop:!1}},mounted(){window.addEventListener("scroll",this.handleScroll)},beforeDestroy(){window.removeEventListener("scroll",this.handleScroll)},methods:{handleScroll(){this.showBackToTop=window.pageYOffset>500},scrollToTop(){const e=window.setInterval(()=>{const t=window.pageYOffset;t>0?window.scrollTo(0,t-Math.max(20,t/10)):window.clearInterval(e)},16)}}},U=E,O=(0,d.A)(U,R,x,!1,null,"7ea6dee0",null),L=O.exports,P={name:"App",components:{HeaderNav:p,Footer:C,BackToTop:L,Sidebar:w},computed:{...(0,c.L8)(["getLoadingStatus"]),loading(){return this.getLoadingStatus}}},S=P,B=(0,d.A)(S,i,r,!1,null,null,null),N=B.exports,z=n(6178);a["default"].use(z.Ay);const Z=z.Ay.prototype.push;z.Ay.prototype.push=function(e){return Z.call(this,e).catch(e=>{if("NavigationDuplicated"!==e.name)throw e})};const G=new z.Ay({mode:"history",base:"/",routes:[{path:"/",name:"Index",meta:{title:"首页 - 精品商城",keepAlive:!1},component:()=>n.e(854).then(n.bind(n,3473))},{path:"/Login",name:"Login",meta:{title:"登录 - 精品商城",keepAlive:!1},component:()=>n.e(900).then(n.bind(n,900))},{path:"/Register",name:"Register",meta:{title:"注册 - 精品商城",keepAlive:!1},component:()=>n.e(29).then(n.bind(n,3029))},{path:"/Home",name:"Home",meta:{title:"首页 - 精品商城",keepAlive:!1},component:()=>n.e(828).then(n.bind(n,9828))},{path:"/Detail/:id",name:"Detail",meta:{title:"首页 - 精品商城",keepAlive:!1},component:()=>n.e(639).then(n.bind(n,4639))},{path:"/ProductList",name:"ProductList",meta:{title:"商品列表",keepAlive:!1},component:()=>n.e(4).then(n.bind(n,9004))},{path:"/User",name:"User",component:()=>n.e(110).then(n.bind(n,9110)),redirect:"/User/UserCenter",children:[{path:"UserCenter",name:"UserCenter",component:()=>n.e(64).then(n.bind(n,1064))},{path:"OrderList",name:"OrderList",meta:{title:"我的订单 - 精品商城",keepAlive:!1},component:()=>n.e(86).then(n.bind(n,3086))},{path:"UserInfo",name:"UserInfo",meta:{title:"个人信息 - 精品商城",keepAlive:!1},component:()=>n.e(893).then(n.bind(n,5893))},{path:"ViewHistory",name:"ViewHistory",meta:{title:"我的足迹 - 精品商城",keepAlive:!1},component:()=>n.e(33).then(n.bind(n,4033))},{path:"UserAddress",name:"UserAddress",meta:{title:"我的收货地址 - 精品商城",keepAlive:!1},component:()=>n.e(700).then(n.bind(n,700))},{path:"UserInvoice",name:"UserInvoice",meta:{title:"发票抬头 - 精品商城",keepAlive:!1},component:()=>n.e(113).then(n.bind(n,6113))},{path:"UserInvoiceList",name:"UserInvoiceList",meta:{title:"我的发票 - 精品商城",keepAlive:!1},component:()=>n.e(217).then(n.bind(n,8217))},{path:"ShoppingCart",name:"ShoppingCart",meta:{title:"购物车 - 精品商城",keepAlive:!1},component:()=>n.e(135).then(n.bind(n,2135))},{path:"CommentManage",name:"CommentManage",meta:{title:"评价管理 - 精品商城",keepAlive:!1},component:()=>n.e(592).then(n.bind(n,4592))},{path:"ContractList",name:"ContractList",meta:{title:"合同管理 - 精品商城",keepAlive:!1},component:()=>n.e(406).then(n.bind(n,3406))},{path:"MessageList",name:"MessageList",meta:{title:"消息中心 - 精品商城",keepAlive:!1},component:()=>n.e(838).then(n.bind(n,7838))},{path:"PurchaserAdd",name:"PurchaserAdd",meta:{title:"添加采购单位信息 - 精品商城",keepAlive:!1},component:()=>n.e(181).then(n.bind(n,6181))}]},{path:"/Order",name:"Order",meta:{title:"下单",keepAlive:!1},component:()=>n.e(143).then(n.bind(n,8524))},{path:"/OrderDetail",name:"OrderDetail",meta:{title:"订单详情 - 精品商城",keepAlive:!1},component:()=>n.e(241).then(n.bind(n,6241))},{path:"/OrderPay",name:"OrderPay",meta:{title:"订单支付 - 精品商城",keepAlive:!1},component:()=>n.e(677).then(n.bind(n,3677))},{path:"/OrderPayB2B",name:"OrderPayB2B",meta:{title:"订单支付 - 精品商城",keepAlive:!1},component:()=>n.e(452).then(n.bind(n,1452))},{path:"/OrderPayCode",name:"OrderPayCode",meta:{title:"订单支付 - 精品商城",keepAlive:!1},component:()=>n.e(244).then(n.bind(n,244))},{path:"/OrderPaySuccess",name:"OrderPaySuccess",meta:{title:"订单支付 - 精品商城",keepAlive:!1},component:()=>n.e(169).then(n.bind(n,7169))}],scrollBehavior(e,t,n){return{x:0,y:0}}});G.beforeEach((e,t,n)=>{if(e.meta.title&&(document.title=e.meta.title),e.meta.requireAuth){const t=localStorage.getItem("token");t?n():n({path:"/Login",query:{redirect:e.fullPath}})}else n()});var W=G,V=(n(8111),n(2489),n(116),n(8237),n(5131));a["default"].use(c.Ay);var Q=new c.Ay.Store({plugins:[(0,V.A)({storage:window.localStorage,reducer(e){return{cart:e.cart,user:e.user}}})],state:{cart:{items:[],totalCount:0,totalPrice:0},user:{isLogin:!1,info:null,token:""},categories:[],loading:!1,searchText:""},mutations:{UPDATE_CATEGORIES(e,t){e.categories=t},UPDATE_LOADING(e,t){e.loading=t},USER_LOGIN(e,{userInfo:t,token:n}){e.user.isLogin=!0,e.user.info=t,e.user.token=n,localStorage.setItem("token",n)},USER_LOGOUT(e){e.user.isLogin=!1,e.user.info=null,e.user.token="",localStorage.removeItem("token")},ADD_TO_CART(e,t){const n=e.cart.items.find(e=>e.id===t.id);n?n.quantity+=t.quantity||1:e.cart.items.push({...t,quantity:t.quantity||1}),this.commit("UPDATE_CART_TOTAL")},REMOVE_FROM_CART(e,t){e.cart.items=e.cart.items.filter(e=>e.id!==t),this.commit("UPDATE_CART_TOTAL")},UPDATE_CART_ITEM_QUANTITY(e,{productId:t,quantity:n}){const a=e.cart.items.find(e=>e.id===t);a&&(a.quantity=n,this.commit("UPDATE_CART_TOTAL"))},CLEAR_CART(e){e.cart.items=[],this.commit("UPDATE_CART_TOTAL")},UPDATE_CART_TOTAL(e){e.cart.totalCount=e.cart.items.reduce((e,t)=>e+t.quantity,0),e.cart.totalPrice=e.cart.items.reduce((e,t)=>e+t.price*t.quantity,0)},setSearchText(e,t){e.searchText=t}},actions:{fetchCategories({commit:e}){return e("UPDATE_LOADING",!0),new Promise(t=>{setTimeout(()=>{const n=[{id:1,name:"电子产品",icon:"el-icon-laptop"},{id:2,name:"服装鞋帽",icon:"el-icon-shopping-bag-1"},{id:3,name:"家居用品",icon:"el-icon-home"},{id:4,name:"美妆个护",icon:"el-icon-present"},{id:5,name:"食品饮料",icon:"el-icon-dish"},{id:6,name:"图书音像",icon:"el-icon-document"}];e("UPDATE_CATEGORIES",n),e("UPDATE_LOADING",!1),t(n)},500)})},logout({commit:e}){e("USER_LOGOUT")},addToCart({commit:e},t){e("ADD_TO_CART",t)},removeFromCart({commit:e},t){e("REMOVE_FROM_CART",t)},updateCartItemQuantity({commit:e},t){e("UPDATE_CART_ITEM_QUANTITY",t)},clearCart({commit:e}){e("CLEAR_CART")}},getters:{getCategories:e=>e.categories,getCart:e=>e.cart,getCartTotalCount:e=>e.cart.totalCount,getCartTotalPrice:e=>e.cart.totalPrice,isUserLogin:e=>e.user.isLogin,getUserInfo:e=>e.user.info,getLoadingStatus:e=>e.loading,getSearchText:e=>e.searchText}}),D=n(9143),M=n.n(D),Y=n(5847),J=n(4373);const j=J.A.create({timeout:6e3});j.interceptors.request.use(e=>{const{customBaseURL:t}=e.params||e.data||{};t?(e.baseURL=t,e.params?delete e.params.customBaseURL:e.data&&delete e.data.customBaseURL):e.baseURL="https://swsz.api.js-dyyj.com";const n=Q.state.user?.userInfo?.token||"";return e.headers["token"]=n||"745f2b4c-49b7-4393-bf58-bc380a87149a",e.headers["Content-Type"]="application/json;charset=UTF-8","get"===e.method?.toLowerCase()?e.params={platform_type:2,...e.params}:e.data={platform_type:2,...e.data},!1!==e.loading&&(e.loadingInstance=D.Loading.service({lock:!0,text:"加载中...",background:"rgba(0, 0, 0, 0.7)"})),e},e=>Promise.reject(e)),j.interceptors.response.use(e=>{if(e.config.loadingInstance&&e.config.loadingInstance.close(),200!==e.status&&1!==e.status){const t=`请求失败,状态码:${e.status}`;return D.MessageBox.alert(t,"错误提示",{confirmButtonText:"确定",type:"error"}),Promise.reject(new Error(t))}{const t=e.data;if(1===t.code||200===t.code)return t;{const e=t.msg||`业务处理失败,错误码:${t.code}`;D.MessageBox.alert(e,"错误提示",{confirmButtonText:"确定",type:"error"})}}},e=>{if(e.config&&e.config.loadingInstance&&e.config.loadingInstance.close(),e.response&&e.response.status)switch(e.response.status){case 401:D.MessageBox.confirm("请登录后操作","提示",{confirmButtonText:"去登录",cancelButtonText:"取消",type:"warning"}).then(()=>{}).catch(()=>{});break;case 404:(0,D.Message)({message:"网络繁忙,请刷新再试",type:"error",duration:2e3});break;default:(0,D.Message)({message:"网络繁忙,请刷新再试",type:"error",duration:2e3});break}return Promise.reject(e)}),a["default"].prototype.get=(e,t,n=!1)=>new Promise((a,i)=>{j.get(t,{params:e,loading:n}).then(e=>{a(e)}).catch(e=>{i(e)})}),a["default"].prototype.post=(e,t,n=!1)=>new Promise((a,i)=>{j.post(t,e,{loading:n}).then(e=>{a(e)}).catch(e=>{i(e)})});var _={install(e){e.prototype.util={formateRichText(e){if(!e)return"";var t=new RegExp("'),t=new RegExp("section","g"),e=e.replace(t,"div"),t=new RegExp("↵","g"),e=e.replace(t,"
"),e=e.replace(/{t.onload=()=>{e(t.result)}})}}}};a["default"].use(_),a["default"].config.productionTip=!1,a["default"].use(M()),a["default"].use(Y.A,{preLoad:1.3,error:n(3153),loading:n(3153),attempt:3,listenEvents:["scroll","wheel","mousewheel","resize","animationend","transitionend","touchmove"],adapter:{loaded({bindType:e,el:t,naturalHeight:n,naturalWidth:a,$parent:i,src:r,loading:o,error:s,Init:c}){console.log("图片加载完成:",r)},error({bindType:e,el:t,error:n,$parent:a,src:i,loading:r}){console.log("图片加载失败:",i)}}}),a["default"].prototype.gotoPath=function(e,t={}){const n=this.$router.currentRoute.fullPath;if(e!==n)try{"string"===typeof e?this.$router.push({path:e,query:t.query||{}}):"object"===typeof e&&this.$router.push(e),"function"===typeof t.success&&t.success()}catch(a){console.error("路由跳转失败:",a),"function"===typeof t.fail&&t.fail(a)}},new a["default"]({el:"#app",router:W,store:Q,components:{App:N},template:""})},3153:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk2QkI4RkE3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk2QkI4Rjk3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU2QTEyNzk3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU2QTEyN0E3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WHowqAAAXNElEQVR42uxda4xd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"}},t={};function n(a){var i=t[a];if(void 0!==i)return i.exports;var r=t[a]={id:a,loaded:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}n.m=e,function(){n.amdO={}}(),function(){var e=[];n.O=function(t,a,i,r){if(!a){var o=1/0;for(u=0;u=r)&&Object.keys(n.O).every(function(e){return n.O[e](a[c])})?a.splice(c--,1):(s=!1,r0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[a,i,r]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){n.d=function(e,t){for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(t,a){return n.f[a](e,t),t},[]))}}(),function(){n.u=function(e){return"js/"+e+"."+{4:"e0df9c1a",29:"7eef1ca9",33:"d232b82b",64:"57193698",86:"471ac328",110:"4a93ee72",113:"5c3b5964",135:"08e8073a",143:"9d51e2ee",169:"476d32e6",181:"a2fd06e0",217:"d6b5d26b",241:"231f8707",244:"7d3000f2",406:"069a7943",452:"d6fc2b8c",592:"90e06992",639:"edae0537",677:"e7ad81c7",700:"6882c630",828:"dc20517d",838:"e0fbe621",854:"f22fa6e9",893:"906271e2",900:"6b17b6f1"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"css/"+e+"."+{4:"0070063a",29:"2661f71c",33:"5507be5a",64:"c294a0d0",86:"3b46bb21",110:"854f9bc2",135:"643ed51b",143:"ecb72621",169:"a7db186a",181:"be611a62",217:"aab8f461",241:"47c7ac13",244:"edd4b6a0",406:"efb923d9",452:"42e712d8",592:"09b799c2",639:"c184e302",677:"51eebda5",828:"96d8e95b",838:"4c0b65d7",854:"e92e0afc",893:"3aae9905",900:"57bae3a8"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="abcdf:";n.l=function(a,i,r,o){if(e[a])e[a].push(i);else{var s,c;if(void 0!==r)for(var l=document.getElementsByTagName("script"),u=0;u 0)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.cartTotalCount)+\"件)\")]):_vm._e()]),(_vm.isLogin)?_c('router-link',{attrs:{\"to\":\"/User/OrderList\"}},[_vm._v(\"我的订单\")]):_vm._e(),(_vm.isLogin)?_c('div',{staticClass:\"logout-btn\",on:{\"click\":_vm.handleLogout}},[_vm._v(\" 退出 \")]):_vm._e()],1)])]),_c('div',{staticClass:\"main-nav\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"logo\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"logo-img\",attrs:{\"src\":\"https://static.ticket.sz-trip.com/shiweisuzhou/pc/logo.png\",\"alt\":\"logo\"}})])],1),_c('div',{staticClass:\"search-box\"},[_c('el-input',{staticClass:\"search-input\",attrs:{\"placeholder\":\"请输入搜索内容\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.handleSearch.apply(null, arguments)}},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}},[_c('el-button',{attrs:{\"slot\":\"append\",\"icon\":\"el-icon-search\"},on:{\"click\":_vm.handleSearch},slot:\"append\"})],1),_c('div',{staticClass:\"hot-tags\"},[_c('span',[_vm._v(\"热门搜索:\")]),_c('div',{staticClass:\"hot-tag\",on:{\"click\":function($event){_vm.searchText = '手机';\n _vm.handleSearch();}}},[_vm._v(\" 手机 \")]),_c('div',{staticClass:\"hot-tag\",on:{\"click\":function($event){_vm.searchText = '电脑';\n _vm.handleSearch();}}},[_vm._v(\" 电脑 \")]),_c('div',{staticClass:\"hot-tag\",on:{\"click\":function($event){_vm.searchText = '服装';\n _vm.handleSearch();}}},[_vm._v(\" 服装 \")])])],1),_c('div',{staticClass:\"phone-entry\"},[_c('router-link',{attrs:{\"to\":\"#\"}},[_c('img',{attrs:{\"src\":\"https://static.ticket.sz-trip.com/shiweisuzhou/pc/login/phone.png\",\"alt\":\"联系电话\"}}),_c('span',[_vm._v(\"0512-680541\")]),(_vm.cartTotalCount > 0 && false)?_c('span',{staticClass:\"cart-count\"},[_vm._v(_vm._s(_vm.cartTotalCount))]):_vm._e()])],1)])]),(_vm.categories.length > 0)?_c('div',{staticClass:\"category-nav\"},[_c('div',{staticClass:\"container\"},[(false)?_c('ul',{staticClass:\"nav-list\"},[_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",class:{ active: _vm.$route.path === '/' },attrs:{\"to\":\"/\"}},[_vm._v(\"首页\")])],1),_vm._l((_vm.categories),function(category){return _c('li',{key:category.id,staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",class:{ active: _vm.$route.params.id == category.id },attrs:{\"to\":`/category/${category.id}`}},[_vm._v(\" \"+_vm._s(category.name)+\" \")])],1)})],2):_vm._e()])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HeaderNav.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HeaderNav.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HeaderNav.vue?vue&type=template&id=397f4a13&scoped=true\"\nimport script from \"./HeaderNav.vue?vue&type=script&lang=js\"\nexport * from \"./HeaderNav.vue?vue&type=script&lang=js\"\nimport style0 from \"./HeaderNav.vue?vue&type=style&index=0&id=397f4a13&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"397f4a13\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-container\"},[_c('div',{staticClass:\"footer-top\"},[_vm._m(0),_vm._m(1),_vm._m(2),_vm._m(3),_vm._m(4),_c('div',{staticClass:\"qrcode-group\"},[_c('div',{staticClass:\"qrcode-item\"},[_c('el-empty',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"description\":\"二维码\"}}),_c('p',[_vm._v(\"时味苏州小程序\")])],1),_c('div',{staticClass:\"qrcode-item\"},[_c('el-empty',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"description\":\"二维码\"}}),_c('p',[_vm._v(\"时味苏州服务号\")])],1)])]),_vm._m(5)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-column\"},[_c('h3',[_vm._v(\"关于我们\")]),_c('ul',[_c('li',[_vm._v(\"平台简介\")]),_c('li',[_vm._v(\"政策文件\")]),_c('li',[_vm._v(\"平台标识指南\")]),_c('li',[_vm._v(\"营业执照\")]),_c('li',[_vm._v(\"食品经营许可证\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-column\"},[_c('h3',[_vm._v(\"新手上路\")]),_c('ul',[_c('li',[_vm._v(\"供应商入驻流程\")]),_c('li',[_vm._v(\"供应商操作手册\")]),_c('li',[_vm._v(\"采购人入驻流程\")]),_c('li',[_vm._v(\"采购人操作手册\")]),_c('li',[_vm._v(\"供应商入驻联系方式\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-column\"},[_c('h3',[_vm._v(\"交易流程\")]),_c('ul',[_c('li',[_vm._v(\"直购交易流程\")]),_c('li',[_vm._v(\"竞购交易流程\")]),_c('li',[_vm._v(\"货款结算流程\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-column\"},[_c('h3',[_vm._v(\"常见问题\")]),_c('ul',[_c('li',[_vm._v(\"预留份额填报\")]),_c('li',[_vm._v(\"支付结算问题\")]),_c('li',[_vm._v(\"账号管理问题\")]),_c('li',[_vm._v(\"在线客服问题\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"contact-info\"},[_c('p',[_vm._v(\"联系方式:\")]),_c('p',[_vm._v(\"客服电话:222-222-222\")]),_c('p',[_vm._v(\"工作时间:工作日 9:00-18:00\")]),_c('p',[_vm._v(\"客服邮箱:xxxxxxxxx@stn.com\")]),_c('p',[_vm._v(\"商务合作:18999999999\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-bottom\"},[_c('p',[_vm._v(\"版权所有 苏州市特色农产品发展有限公司 | 苏ICP备2023023300号-1\")]),_c('p',[_vm._v(\"本网站由 江苏大运远见文化科技发展有限公司 运营维护\")])])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=683e198c&scoped=true\"\nimport script from \"./Footer.vue?vue&type=script&lang=js\"\nexport * from \"./Footer.vue?vue&type=script&lang=js\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=683e198c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"683e198c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sidebar-container\"},[_c('div',{staticClass:\"sidebar-item\",on:{\"click\":_vm.handleCartClick}},[_c('el-badge',{staticClass:\"item-badge\",attrs:{\"value\":_vm.cartCount}},[_c('i',{staticClass:\"el-icon-shopping-cart-full\"})]),_c('div',{staticClass:\"item-text\"},[_vm._v(\"购物车\")])],1),_c('div',{staticClass:\"sidebar-item\",on:{\"click\":_vm.handleServiceClick}},[_c('i',{staticClass:\"el-icon-headset\"}),_c('div',{staticClass:\"item-text\"},[_vm._v(\"在线客服\")])]),_c('div',{staticClass:\"sidebar-item back-to-top\",class:{ active: _vm.isShowBackTop },on:{\"click\":_vm.handleBackToTop}},[_c('i',{staticClass:\"el-icon-caret-top\"}),_c('div',{staticClass:\"item-text\"},[_vm._v(\"回到顶部\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=0ddafffa&scoped=true\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=0ddafffa&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ddafffa\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.showBackToTop)?_c('div',{staticClass:\"back-to-top\",on:{\"click\":_vm.scrollToTop}},[_c('el-icon',{attrs:{\"name\":\"el-icon-arrow-up\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BackToTop.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BackToTop.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BackToTop.vue?vue&type=template&id=7ea6dee0&scoped=true\"\nimport script from \"./BackToTop.vue?vue&type=script&lang=js\"\nexport * from \"./BackToTop.vue?vue&type=script&lang=js\"\nimport style0 from \"./BackToTop.vue?vue&type=style&index=0&id=7ea6dee0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7ea6dee0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=c37bea46\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=c37bea46&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\nVue.use(Router)\r\n\r\n// 解决重复导航错误\r\nconst originalPush = Router.prototype.push\r\nRouter.prototype.push = function push(location) {\r\n return originalPush.call(this, location).catch(err => {\r\n // 只捕获重复导航的错误,其他错误正常抛出\r\n if (err.name !== 'NavigationDuplicated') {\r\n throw err\r\n }\r\n })\r\n}\r\n\r\nconst router = new Router({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'Index',\r\n meta: {\r\n title: '首页 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Index.vue')\r\n },\r\n {\r\n path: '/Login',\r\n name: 'Login',\r\n meta: {\r\n title: '登录 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Login.vue')\r\n },\r\n {\r\n path: '/Register',\r\n name: 'Register',\r\n meta: {\r\n title: '注册 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Register.vue')\r\n },\r\n {\r\n path: '/Home',\r\n name: 'Home',\r\n meta: {\r\n title: '首页 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Home.vue')\r\n },\r\n {\r\n path: '/Detail/:id',\r\n name: 'Detail',\r\n meta: {\r\n title: '首页 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Detail/Index.vue')\r\n },\r\n {\r\n path: '/ProductList',\r\n name: 'ProductList',\r\n meta: {\r\n title: '商品列表',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/ProductPage/Index.vue')\r\n },\r\n // {\r\n // path: '/category/:id?',\r\n // name: 'Category',\r\n // meta: {\r\n // title: '商品分类 - 精品商城',\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/Category.vue')\r\n // },\r\n // {\r\n // path: '/product/:id',\r\n // name: 'ProductDetail',\r\n // meta: {\r\n // title: '商品详情 - 精品商城',\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/ProductDetail.vue')\r\n // },\r\n // {\r\n // path: '/cart',\r\n // name: 'Cart',\r\n // meta: {\r\n // title: '购物车 - 精品商城',\r\n // requireAuth: true,\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/Cart.vue')\r\n // },\r\n // {\r\n // path: '/checkout',\r\n // name: 'Checkout',\r\n // meta: {\r\n // title: '结算 - 精品商城',\r\n // requireAuth: true,\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/Checkout.vue')\r\n // },\r\n {\r\n path: '/User',\r\n name: 'User',\r\n // meta: { title: '个人中心 - 精品商城',requireAuth: true,keepAlive: false},\r\n component: () => import('@/views/User/Index.vue'),\r\n redirect: '/User/UserCenter',\r\n children: [\r\n {\r\n path:'UserCenter', \r\n name: \"UserCenter\",\r\n // meta: {title: '个人中心 - 精品商城',keepAlive: false,},\r\n component: ()=>import('@/views/User/UserCenter.vue')\r\n },\r\n {\r\n path: 'OrderList',\r\n name: 'OrderList',\r\n meta: { title: '我的订单 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderList.vue')\r\n },\r\n {\r\n path: 'UserInfo',\r\n name: 'UserInfo',\r\n meta: { title: '个人信息 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/UserInfo.vue')\r\n },\r\n {\r\n path: 'ViewHistory',\r\n name: 'ViewHistory',\r\n meta: { title: '我的足迹 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/ViewHistory.vue')\r\n },\r\n {\r\n path: 'UserAddress',\r\n name: 'UserAddress',\r\n meta: { title: '我的收货地址 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/UserAddress.vue')\r\n },\r\n {\r\n path: 'UserInvoice',\r\n name: 'UserInvoice',\r\n meta: { title: '发票抬头 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/UserInvoice.vue')\r\n },\r\n {\r\n path: 'UserInvoiceList',\r\n name: 'UserInvoiceList',\r\n meta: { title: '我的发票 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/UserInvoiceList.vue')\r\n },\r\n {\r\n path: 'ShoppingCart',\r\n name: 'ShoppingCart',\r\n meta: { title: '购物车 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/ShoppingCart.vue')\r\n },\r\n {\r\n path: 'CommentManage',\r\n name: 'CommentManage',\r\n meta: { title: '评价管理 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/CommentManage.vue')\r\n },\r\n {\r\n path: 'ContractList',\r\n name: 'ContractList',\r\n meta: { title: '合同管理 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/ContractList.vue')\r\n },\r\n {\r\n path: 'MessageList',\r\n name: 'MessageList',\r\n meta: { title: '消息中心 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/MessageList.vue')\r\n },\r\n {\r\n path: 'PurchaserAdd',\r\n name: 'PurchaserAdd',\r\n meta: { title: '添加采购单位信息 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/PurchaserAdd.vue')\r\n },\r\n ],\r\n },\r\n {\r\n path: '/Order',\r\n name: 'Order',\r\n meta: { title: '下单', keepAlive: false },\r\n component: () => import('@/views/Order/Index.vue')\r\n },\r\n {\r\n path: '/OrderDetail',\r\n name: 'OrderDetail',\r\n meta: { title: '订单详情 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/Order/OrderDetail.vue')\r\n },\r\n \r\n {\r\n path: '/OrderPay',\r\n name: 'OrderPay',\r\n meta: { title: '订单支付 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderPay.vue')\r\n },\r\n {\r\n path: '/OrderPayB2B',\r\n name: 'OrderPayB2B',\r\n meta: { title: '订单支付 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderPayB2B.vue')\r\n },\r\n {\r\n path: '/OrderPayCode',\r\n name: 'OrderPayCode',\r\n meta: { title: '订单支付 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderPayCode.vue')\r\n },\r\n {\r\n path: '/OrderPaySuccess',\r\n name: 'OrderPaySuccess',\r\n meta: { title: '订单支付 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderPaySuccess.vue')\r\n },\r\n \r\n // {\r\n // path: '/user/orders/:id',\r\n // name: 'OrderDetail',\r\n // meta: {\r\n // title: '订单详情 - 精品商城',\r\n // requireAuth: true,\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/OrderDetail.vue')\r\n // },\r\n // {\r\n // path: '*',\r\n // name: 'NotFound',\r\n // meta: {\r\n // title: '页面不存在 - 精品商城',\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/NotFound.vue')\r\n // }\r\n ],\r\n scrollBehavior(to, from, savedPosition) {\r\n // 页面滚动到顶部\r\n return { x: 0, y: 0 }\r\n }\r\n})\r\n\r\n// 路由守卫\r\nrouter.beforeEach((to, from, next) => {\r\n // 设置页面标题\r\n if (to.meta.title) {\r\n document.title = to.meta.title\r\n }\r\n \r\n // 验证登录状态\r\n if (to.meta.requireAuth) {\r\n const token = localStorage.getItem('token')\r\n if (token) {\r\n next()\r\n } else {\r\n next({\r\n path: '/Login',\r\n query: { redirect: to.fullPath }\r\n })\r\n }\r\n } else {\r\n next()\r\n }\r\n})\r\n\r\nexport default router","// index.js\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport createPersistedState from 'vuex-persistedstate'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n plugins: [\n createPersistedState({\n storage: window.localStorage,\n reducer(val) {\n return {\n cart: val.cart,\n user: val.user\n }\n }\n })\n ],\n state: {\n // 购物车状态\n cart: {\n items: [], // 购物车商品列表\n totalCount: 0, // 商品总数\n totalPrice: 0 // 商品总价\n },\n // 用户状态\n user: {\n isLogin: false,\n info: null,\n token: ''\n },\n // 分类数据\n categories: [],\n // 全局加载状态\n loading: false,\n searchText: '' // 存储搜索词\n },\n mutations: {\n // 更新分类数据\n UPDATE_CATEGORIES(state, categories) {\n state.categories = categories\n },\n \n // 更新加载状态\n UPDATE_LOADING(state, status) {\n state.loading = status\n },\n \n // 用户登录\n USER_LOGIN(state, { userInfo, token }) {\n state.user.isLogin = true\n state.user.info = userInfo\n state.user.token = token\n localStorage.setItem('token', token)\n },\n \n // 用户登出\n USER_LOGOUT(state) {\n state.user.isLogin = false\n state.user.info = null\n state.user.token = ''\n localStorage.removeItem('token')\n },\n \n // 添加商品到购物车\n ADD_TO_CART(state, product) {\n const existingItem = state.cart.items.find(item => item.id === product.id)\n \n if (existingItem) {\n existingItem.quantity += product.quantity || 1\n } else {\n state.cart.items.push({\n ...product,\n quantity: product.quantity || 1\n })\n }\n \n this.commit('UPDATE_CART_TOTAL')\n },\n \n // 从购物车移除商品\n REMOVE_FROM_CART(state, productId) {\n state.cart.items = state.cart.items.filter(item => item.id !== productId)\n this.commit('UPDATE_CART_TOTAL')\n },\n \n // 更新购物车商品数量\n UPDATE_CART_ITEM_QUANTITY(state, { productId, quantity }) {\n const item = state.cart.items.find(item => item.id === productId)\n if (item) {\n item.quantity = quantity\n this.commit('UPDATE_CART_TOTAL')\n }\n },\n \n // 清空购物车\n CLEAR_CART(state) {\n state.cart.items = []\n this.commit('UPDATE_CART_TOTAL')\n },\n \n // 更新购物车总计\n UPDATE_CART_TOTAL(state) {\n state.cart.totalCount = state.cart.items.reduce((total, item) => {\n return total + item.quantity\n }, 0)\n \n state.cart.totalPrice = state.cart.items.reduce((total, item) => {\n return total + (item.price * item.quantity)\n }, 0)\n },\n\n setSearchText(state, text) {\n state.searchText = text;\n }\n },\n actions: {\n // 获取分类数据\n fetchCategories({ commit }) {\n commit('UPDATE_LOADING', true)\n // 模拟API请求\n return new Promise(resolve => {\n setTimeout(() => {\n const categories = [\n { id: 1, name: '电子产品', icon: 'el-icon-laptop' },\n { id: 2, name: '服装鞋帽', icon: 'el-icon-shopping-bag-1' },\n { id: 3, name: '家居用品', icon: 'el-icon-home' },\n { id: 4, name: '美妆个护', icon: 'el-icon-present' },\n { id: 5, name: '食品饮料', icon: 'el-icon-dish' },\n { id: 6, name: '图书音像', icon: 'el-icon-document' }\n ]\n commit('UPDATE_CATEGORIES', categories)\n commit('UPDATE_LOADING', false)\n resolve(categories)\n }, 500)\n })\n },\n \n // 用户登出\n logout({ commit }) {\n commit('USER_LOGOUT')\n },\n \n // 添加商品到购物车\n addToCart({ commit }, product) {\n commit('ADD_TO_CART', product)\n },\n \n // 从购物车移除商品\n removeFromCart({ commit }, productId) {\n commit('REMOVE_FROM_CART', productId)\n },\n \n // 更新购物车商品数量\n updateCartItemQuantity({ commit }, payload) {\n commit('UPDATE_CART_ITEM_QUANTITY', payload)\n },\n \n // 清空购物车\n clearCart({ commit }) {\n commit('CLEAR_CART')\n }\n },\n getters: {\n // 获取分类列表\n getCategories: state => state.categories,\n \n // 获取购物车信息\n getCart: state => state.cart,\n \n // 获取购物车商品总数\n getCartTotalCount: state => state.cart.totalCount,\n \n // 获取购物车商品总价\n getCartTotalPrice: state => state.cart.totalPrice,\n \n // 获取用户登录状态\n isUserLogin: state => state.user.isLogin,\n \n // 获取用户信息\n getUserInfo: state => state.user.info,\n \n // 获取加载状态\n getLoadingStatus: state => state.loading,\n\n // 获取搜索词\n getSearchText: state => state.searchText\n }\n})","import Vue from 'vue'\r\nimport axios from \"axios\";\r\nimport { Message, MessageBox, Loading } from \"element-ui\"; // 引入 Element UI 组件\r\nimport store from '@/store';\r\n\r\nconst http = axios.create({\r\n timeout: 6000 // 请求超时时间\r\n})\r\n\r\n// 添加请求拦截器\r\nhttp.interceptors.request.use((config) => {\r\n const { customBaseURL } = config.params || config.data || {};\r\n if (customBaseURL) {\r\n config.baseURL = customBaseURL;\r\n if (config.params) {\r\n delete config.params.customBaseURL;\r\n } else if (config.data) {\r\n delete config.data.customBaseURL;\r\n }\r\n } else {\r\n config.baseURL = process.env.VUE_APP_URL;\r\n }\r\n \r\n const token = store.state.user?.userInfo?.token || '';\r\n config.headers['token'] = token || \"745f2b4c-49b7-4393-bf58-bc380a87149a\";\r\n config.headers['Content-Type'] = 'application/json;charset=UTF-8';\r\n\r\n // 统一添加 platform_type = 2 参数\r\n // GET 请求在 params 中添加\r\n if (config.method?.toLowerCase() === 'get') {\r\n config.params = {\r\n platform_type: 2,\r\n ...config.params\r\n };\r\n } \r\n // POST 等其他请求在 data 中添加\r\n else {\r\n config.data = {\r\n platform_type: 2,\r\n ...config.data\r\n };\r\n }\r\n \r\n // 显示加载中状态(Element UI 的 Loading)\r\n if (config.loading !== false) { // 默认显示,可通过参数关闭\r\n config.loadingInstance = Loading.service({\r\n lock: true,\r\n text: '加载中...',\r\n background: 'rgba(0, 0, 0, 0.7)'\r\n });\r\n }\r\n \r\n return config;\r\n}, (error) => {\r\n return Promise.reject(error);\r\n});\r\n\r\n// 添加响应拦截器\r\nhttp.interceptors.response.use(response => {\r\n // 关闭加载状态\r\n if (response.config.loadingInstance) {\r\n response.config.loadingInstance.close();\r\n }\r\n \r\n if (response.status === 200 || response.status === 1) {\r\n const resData = response.data;\r\n // 假设接口约定 code 为 0 或 200 时表示业务成功(可根据实际情况修改)\r\n if (resData.code === 1 || resData.code === 200) {\r\n return resData;\r\n } else {\r\n // code 不符合预期时显示错误提示,优先使用接口返回的消息\r\n const errorMsg = resData.msg || `业务处理失败,错误码:${resData.code}`;\r\n MessageBox.alert(errorMsg, '错误提示', {\r\n confirmButtonText: '确定',\r\n type: 'error'\r\n });\r\n // return Promise.reject(new Error(errorMsg));\r\n }\r\n } else {\r\n // HTTP状态码非200和1时的弹框提示\r\n const errorMsg = `请求失败,状态码:${response.status}`;\r\n MessageBox.alert(errorMsg, '错误提示', {\r\n confirmButtonText: '确定',\r\n type: 'error'\r\n });\r\n return Promise.reject(new Error(errorMsg));\r\n }\r\n}, error => {\r\n // 关闭加载状态\r\n if (error.config && error.config.loadingInstance) {\r\n error.config.loadingInstance.close();\r\n }\r\n \r\n if (error.response && error.response.status) {\r\n switch (error.response.status) {\r\n case 401:\r\n MessageBox.confirm('请登录后操作', '提示', {\r\n confirmButtonText: '去登录',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n // 登录操作\r\n }).catch(() => {\r\n // 取消登录回调\r\n });\r\n break;\r\n case 404:\r\n Message({\r\n message: '网络繁忙,请刷新再试',\r\n type: 'error',\r\n duration: 2000\r\n });\r\n break;\r\n default:\r\n Message({\r\n message: '网络繁忙,请刷新再试',\r\n type: 'error',\r\n duration: 2000\r\n });\r\n break;\r\n }\r\n }\r\n return Promise.reject(error);\r\n});\r\n\r\n// 请求方法挂载\r\nVue.prototype.get = (params, url, loading = false) => {\r\n return new Promise((resolve, reject) => {\r\n http.get(url, { \r\n params,\r\n loading // 传递加载状态参数\r\n })\r\n .then(res => {\r\n resolve(res);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n })\r\n}\r\n\r\nVue.prototype.post = (data, url, loading = false) => {\r\n return new Promise((resolve, reject) => {\r\n http.post(url, data, {\r\n loading // 传递加载状态参数\r\n })\r\n .then(res => {\r\n resolve(res);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n })\r\n}","export default {\r\n\tinstall(Vue) {\r\n\t\tVue.prototype.util = {\r\n\t\t\t// 格式化富文本\r\n\t\t\tformateRichText(str) {\r\n\t\t\t\tif (!str) return \"\";\r\n\t\t\t\tvar reg = new RegExp(\"')\r\n\t\t\t\treg = new RegExp(\"section\", \"g\");\r\n\t\t\t\tstr = str.replace(reg, 'div');\r\n\t\t\t\treg = new RegExp(\"↵\", \"g\");\r\n\t\t\t\tstr = str.replace(reg, '
');\r\n\t\t\t\tstr = str.replace(/
{\r\n\t\t\t\t\treader.onload = () => {\r\n\t\t\t\t\t\tresolve(reader.result);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t}\r\n\t}\r\n}\r\n","import Vue from 'vue'\nimport App from './App'\nimport router from './router'\nimport store from './store'\nimport ElementUI from 'element-ui'\nimport 'element-ui/lib/theme-chalk/index.css'\nimport VueLazyload from 'vue-lazyload'\nimport '@/assets/css/common.scss'\nimport '../src/libs/axios.js' // axios处理\n\nimport utils from './libs/utils.js'\nVue.use(utils)\n\n// 全局配置\nVue.config.productionTip = false\nVue.use(ElementUI)\n\n// 配置图片懒加载\nVue.use(VueLazyload, {\n preLoad: 1.3, // 预加载高度比例\n error: require('./assets/logo.png'),\n loading: require('./assets/logo.png'),\n attempt: 3, // 增加尝试次数\n listenEvents: ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'], // 确保监听事件完整\n adapter: {\n // 增加加载状态日志\n loaded({ bindType, el, naturalHeight, naturalWidth, $parent, src, loading, error, Init }) {\n console.log('图片加载完成:', src)\n },\n error({ bindType, el, error, $parent, src, loading }) {\n console.log('图片加载失败:', src)\n }\n }\n})\n\n// 全局挂载公共路由跳转方法\nVue.prototype.gotoPath = function(path, options = {}) {\n // 1. 避免重复跳转同一页面\n const currentPath = this.$router.currentRoute.fullPath\n if (path === currentPath) {\n return\n }\n\n try {\n // 2. 支持两种跳转方式:路径字符串或配置对象\n if (typeof path === 'string') {\n // 字符串路径,可附带query参数\n this.$router.push({\n path,\n query: options.query || {}\n })\n } else if (typeof path === 'object') {\n // 直接传入路由配置对象(如命名路由)\n this.$router.push(path)\n }\n \n // 3. 可选的跳转成功回调\n if (typeof options.success === 'function') {\n options.success()\n }\n } catch (error) {\n // 4. 错误处理\n console.error('路由跳转失败:', error)\n if (typeof options.fail === 'function') {\n options.fail(error)\n }\n }\n}\n\n/* eslint-disable no-new */\nnew Vue({\n el: '#app',\n router,\n store,\n components: { App },\n template: ''\n})\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"4\":\"e0df9c1a\",\"29\":\"7eef1ca9\",\"33\":\"d232b82b\",\"64\":\"57193698\",\"86\":\"471ac328\",\"110\":\"4a93ee72\",\"113\":\"5c3b5964\",\"135\":\"08e8073a\",\"143\":\"9d51e2ee\",\"169\":\"476d32e6\",\"181\":\"a2fd06e0\",\"217\":\"d6b5d26b\",\"241\":\"231f8707\",\"244\":\"7d3000f2\",\"406\":\"069a7943\",\"452\":\"d6fc2b8c\",\"592\":\"90e06992\",\"639\":\"edae0537\",\"677\":\"e7ad81c7\",\"700\":\"6882c630\",\"828\":\"dc20517d\",\"838\":\"e0fbe621\",\"854\":\"f22fa6e9\",\"893\":\"906271e2\",\"900\":\"6b17b6f1\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"4\":\"0070063a\",\"29\":\"2661f71c\",\"33\":\"5507be5a\",\"64\":\"c294a0d0\",\"86\":\"3b46bb21\",\"110\":\"854f9bc2\",\"135\":\"643ed51b\",\"143\":\"ecb72621\",\"169\":\"a7db186a\",\"181\":\"be611a62\",\"217\":\"aab8f461\",\"241\":\"47c7ac13\",\"244\":\"edd4b6a0\",\"406\":\"efb923d9\",\"452\":\"42e712d8\",\"592\":\"09b799c2\",\"639\":\"c184e302\",\"677\":\"51eebda5\",\"828\":\"96d8e95b\",\"838\":\"4c0b65d7\",\"854\":\"e92e0afc\",\"893\":\"3aae9905\",\"900\":\"57bae3a8\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"abcdf:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"4\":1,\"29\":1,\"33\":1,\"64\":1,\"86\":1,\"110\":1,\"135\":1,\"143\":1,\"169\":1,\"181\":1,\"217\":1,\"241\":1,\"244\":1,\"406\":1,\"452\":1,\"592\":1,\"639\":1,\"677\":1,\"828\":1,\"838\":1,\"854\":1,\"893\":1,\"900\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkabcdf\"] = self[\"webpackChunkabcdf\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(2008); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","attrs","$route","name","_e","staticClass","staticRenderFns","_v","isLogin","directives","rawName","value","userInfo","avatar","expression","_s","username","cartTotalCount","on","handleLogout","nativeOn","$event","type","indexOf","_k","keyCode","key","handleSearch","apply","arguments","model","searchText","callback","$$v","slot","categories","length","data","computed","mapGetters","getCategories","getCartTotalCount","isUserLogin","getUserInfo","created","fetchCategories","methods","mapActions","trim","$store","commit","isSearchPage","path","query","$emit","$router","push","keyword","$confirm","confirmButtonText","cancelButtonText","then","logout","$message","success","catch","err","error","message","component","_m","staticStyle","handleCartClick","cartCount","handleServiceClick","class","active","isShowBackTop","handleBackToTop","scrollTimer","mounted","window","addEventListener","handleScroll","beforeDestroy","removeEventListener","clearTimeout","info","scrollTo","top","behavior","setTimeout","pageYOffset","showBackToTop","scrollToTop","setInterval","position","Math","max","clearInterval","components","HeaderNav","Footer","BackToTop","Sidebar","loading","getLoadingStatus","Vue","use","Router","originalPush","prototype","location","call","router","mode","base","process","routes","meta","title","keepAlive","redirect","children","scrollBehavior","to","from","savedPosition","x","y","beforeEach","next","document","requireAuth","token","localStorage","getItem","fullPath","Vuex","plugins","createPersistedState","storage","reducer","val","cart","user","state","items","totalCount","totalPrice","mutations","UPDATE_CATEGORIES","UPDATE_LOADING","status","USER_LOGIN","setItem","USER_LOGOUT","removeItem","ADD_TO_CART","product","existingItem","find","item","id","quantity","REMOVE_FROM_CART","productId","filter","UPDATE_CART_ITEM_QUANTITY","CLEAR_CART","UPDATE_CART_TOTAL","reduce","total","price","setSearchText","text","actions","Promise","resolve","icon","addToCart","removeFromCart","updateCartItemQuantity","payload","clearCart","getters","getCart","getCartTotalPrice","getSearchText","http","axios","create","timeout","interceptors","request","config","customBaseURL","params","baseURL","store","headers","method","toLowerCase","platform_type","loadingInstance","Loading","service","lock","background","reject","response","close","errorMsg","MessageBox","alert","Error","resData","code","msg","confirm","Message","duration","get","url","res","post","install","util","formateRichText","str","reg","RegExp","replace","mobileValid","test","idNumberValid","passportValid","taiwanValid","gangaoValid","foreignerValid","officerValid","emailValid","getUrlPara","arrUrl","split","para","showImg","img","imgToBase64","reader","FileReader","readAsDataURL","onload","result","utils","productionTip","ElementUI","VueLazyload","preLoad","require","attempt","listenEvents","adapter","loaded","bindType","el","naturalHeight","naturalWidth","$parent","src","Init","console","log","gotoPath","options","currentPath","currentRoute","fail","App","template","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","amdO","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","e","chunkId","all","promises","u","miniCssF","g","globalThis","Function","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","prev","event","onerror","doneFns","parentNode","removeChild","forEach","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","p","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","href","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/app.cca24c0d.js b/dist/js/app.cca24c0d.js deleted file mode 100644 index d02ec3e..0000000 --- a/dist/js/app.cca24c0d.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var e={3153:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk2QkI4RkE3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk2QkI4Rjk3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU2QTEyNzk3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU2QTEyN0E3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WHowqAAAXNElEQVR42uxda4xd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"},6888:function(e,t,n){n(4114);var a=n(6674),r=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},["Register"!==e.$route.name?t("HeaderNav"):e._e(),"Login"!==e.$route.name?t("main",{staticClass:"main-container"},[t("router-view")],1):e._e(),"Login"==e.$route.name?t("main",{staticClass:"main-containers"},[t("router-view")],1):e._e(),"Register"!==e.$route.name?t("Sidebar"):e._e(),"Register"!==e.$route.name?t("Footer"):e._e(),t("BackToTop")],1)},i=[],o=function(){var e=this,t=e._self._c;return t("header",{staticClass:"header-nav"},[t("div",{staticClass:"top-notice"},[t("div",{staticClass:"container"},[t("p",[e._v(" 欢迎来到时味苏州平台! "),e._e()],1),t("div",{staticClass:"top-links"},[e.isLogin?t("router-link",{attrs:{to:"/User"}},[t("img",{directives:[{name:"lazy",rawName:"v-lazy",value:e.userInfo.avatar,expression:"userInfo.avatar"}],staticClass:"avatar",attrs:{alt:"用户头像"}}),e._v(" "+e._s(e.userInfo.username)+" ")]):t("router-link",{attrs:{to:"/Login"}},[e._v("登录")]),e._e(),e._e(),t("router-link",{attrs:{to:"/User"}},[e._v("采购人中心")]),t("router-link",{attrs:{to:"/User/ShoppingCart"}},[e._v("购物车"),e.cartTotalCount>0?t("span",[e._v("("+e._s(e.cartTotalCount)+"件)")]):e._e()]),e.isLogin?t("router-link",{attrs:{to:"/User/OrderList"}},[e._v("我的订单")]):e._e(),e.isLogin?t("router-link",{attrs:{to:"javascript:;"},on:{click:e.handleLogout}},[e._v("退出")]):e._e()],1)])]),t("div",{staticClass:"main-nav"},[t("div",{staticClass:"container"},[t("div",{staticClass:"logo"},[t("router-link",{attrs:{to:"/"}},[t("img",{staticClass:"logo-img",attrs:{src:"https://static.ticket.sz-trip.com/shiweisuzhou/pc/logo.png",alt:"logo"}})])],1),t("div",{staticClass:"search-box"},[t("el-input",{staticClass:"search-input",attrs:{placeholder:"请输入搜索内容"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleSearch.apply(null,arguments)}},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}},[t("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:e.handleSearch},slot:"append"})],1),t("div",{staticClass:"hot-tags"},[t("span",[e._v("热门搜索:")]),t("router-link",{attrs:{to:"javascript:;"},on:{click:function(t){e.searchText="手机",e.handleSearch()}}},[e._v("手机")]),t("router-link",{attrs:{to:"javascript:;"},on:{click:function(t){e.searchText="电脑",e.handleSearch()}}},[e._v("电脑")]),t("router-link",{attrs:{to:"javascript:;"},on:{click:function(t){e.searchText="服装",e.handleSearch()}}},[e._v("服装")])],1)],1),t("div",{staticClass:"cart-entry"},[t("router-link",{attrs:{tos:"cart-link"}},[t("img",{attrs:{src:"https://static.ticket.sz-trip.com/shiweisuzhou/pc/login/phone.png",alt:""}}),t("span",[e._v("0512-680541")]),(e.cartTotalCount,e._e())])],1)])]),e._e()])},s=[],c=n(3518),l={name:"HeaderNav",data(){return{searchText:""}},computed:{...(0,c.L8)(["getCategories","getCartTotalCount","isUserLogin","getUserInfo"]),categories(){return this.getCategories},cartTotalCount(){return this.getCartTotalCount},isLogin(){return this.$store.getters.isUserLogin},userInfo(){return this.getUserInfo||{}}},created(){this.fetchCategories()},methods:{...(0,c.i0)(["fetchCategories","logout"]),handleSearch(){this.$store.commit("setSearchText",this.searchText);const e="/ProductList"===this.$route.path&&"search"===this.$route.query.type;e?this.$emit("search",this.searchText):this.$router.push({path:"/ProductList",query:{keyword:this.searchText,type:"search"}})},handleLogout(){this.$confirm("确定要退出登录吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.logout(),this.$message.success("退出登录成功")}).catch(()=>{})}}},u=l,d=n(1656),h=(0,d.A)(u,o,s,!1,null,"4585d8e6",null),p=h.exports,m=function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-container"},[t("div",{staticClass:"footer-top"},[e._m(0),e._m(1),e._m(2),e._m(3),e._m(4),t("div",{staticClass:"qrcode-group"},[t("div",{staticClass:"qrcode-item"},[t("el-empty",{staticStyle:{width:"100px",height:"100px"},attrs:{description:"二维码"}}),t("p",[e._v("时味苏州小程序")])],1),t("div",{staticClass:"qrcode-item"},[t("el-empty",{staticStyle:{width:"100px",height:"100px"},attrs:{description:"二维码"}}),t("p",[e._v("时味苏州服务号")])],1)])]),e._m(5)])},f=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-column"},[t("h3",[e._v("关于我们")]),t("ul",[t("li",[e._v("平台简介")]),t("li",[e._v("政策文件")]),t("li",[e._v("平台标识指南")]),t("li",[e._v("营业执照")]),t("li",[e._v("食品经营许可证")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-column"},[t("h3",[e._v("新手上路")]),t("ul",[t("li",[e._v("供应商入驻流程")]),t("li",[e._v("供应商操作手册")]),t("li",[e._v("采购人入驻流程")]),t("li",[e._v("采购人操作手册")]),t("li",[e._v("供应商入驻联系方式")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-column"},[t("h3",[e._v("交易流程")]),t("ul",[t("li",[e._v("直购交易流程")]),t("li",[e._v("竞购交易流程")]),t("li",[e._v("货款结算流程")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-column"},[t("h3",[e._v("常见问题")]),t("ul",[t("li",[e._v("预留份额填报")]),t("li",[e._v("支付结算问题")]),t("li",[e._v("账号管理问题")]),t("li",[e._v("在线客服问题")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"contact-info"},[t("p",[e._v("联系方式:")]),t("p",[e._v("客服电话:222-222-222")]),t("p",[e._v("工作时间:工作日 9:00-18:00")]),t("p",[e._v("客服邮箱:xxxxxxxxx@stn.com")]),t("p",[e._v("商务合作:18999999999")])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-bottom"},[t("p",[e._v("版权所有 苏州市特色农产品发展有限公司 | 苏ICP备2023023300号-1")]),t("p",[e._v("本网站由 江苏大运远见文化科技发展有限公司 运营维护")])])}],g={name:"Footer",data(){return{}}},v=g,b=(0,d.A)(v,m,f,!1,null,"683e198c",null),C=b.exports,k=function(){var e=this,t=e._self._c;return t("div",{staticClass:"sidebar-container"},[t("div",{staticClass:"sidebar-item",on:{click:e.handleCartClick}},[t("el-badge",{staticClass:"item-badge",attrs:{value:e.cartCount}},[t("i",{staticClass:"el-icon-shopping-cart-full"})]),t("div",{staticClass:"item-text"},[e._v("购物车")])],1),t("div",{staticClass:"sidebar-item",on:{click:e.handleServiceClick}},[t("i",{staticClass:"el-icon-headset"}),t("div",{staticClass:"item-text"},[e._v("在线客服")])]),t("div",{staticClass:"sidebar-item back-to-top",class:{active:e.isShowBackTop},on:{click:e.handleBackToTop}},[t("i",{staticClass:"el-icon-caret-top"}),t("div",{staticClass:"item-text"},[e._v("回到顶部")])])])},y=[],T={name:"Sidebar",data(){return{cartCount:3,isShowBackTop:!1,scrollTimer:null}},mounted(){window.addEventListener("scroll",this.handleScroll)},beforeDestroy(){window.removeEventListener("scroll",this.handleScroll),this.scrollTimer&&clearTimeout(this.scrollTimer)},methods:{handleCartClick(){this.$router.push("/User/ShoppingCart")},handleServiceClick(){this.$message.info("正在唤起在线客服...")},handleBackToTop(){window.scrollTo({top:0,behavior:"smooth"})},handleScroll(){this.scrollTimer&&clearTimeout(this.scrollTimer),this.scrollTimer=setTimeout(()=>{this.isShowBackTop=window.pageYOffset>300},200)}}},A=T,I=(0,d.A)(A,k,y,!1,null,"0ddafffa",null),w=I.exports,R=function(){var e=this,t=e._self._c;return e.showBackToTop?t("div",{staticClass:"back-to-top",on:{click:e.scrollToTop}},[t("el-icon",{attrs:{name:"el-icon-arrow-up"}})],1):e._e()},x=[],E={name:"BackToTop",data(){return{showBackToTop:!1}},mounted(){window.addEventListener("scroll",this.handleScroll)},beforeDestroy(){window.removeEventListener("scroll",this.handleScroll)},methods:{handleScroll(){this.showBackToTop=window.pageYOffset>500},scrollToTop(){const e=window.setInterval(()=>{const t=window.pageYOffset;t>0?window.scrollTo(0,t-Math.max(20,t/10)):window.clearInterval(e)},16)}}},U=E,O=(0,d.A)(U,R,x,!1,null,"7ea6dee0",null),L=O.exports,P={name:"App",components:{HeaderNav:p,Footer:C,BackToTop:L,Sidebar:w},computed:{...(0,c.L8)(["getLoadingStatus"]),loading(){return this.getLoadingStatus}}},S=P,B=(0,d.A)(S,r,i,!1,null,null,null),N=B.exports,z=n(6178);a["default"].use(z.Ay);const Z=z.Ay.prototype.push;z.Ay.prototype.push=function(e){return Z.call(this,e).catch(e=>{if("NavigationDuplicated"!==e.name)throw e})};const G=new z.Ay({mode:"history",base:"/",routes:[{path:"/",name:"Index",meta:{title:"首页 - 精品商城",keepAlive:!1},component:()=>n.e(601).then(n.bind(n,6601))},{path:"/Login",name:"Login",meta:{title:"登录 - 精品商城",keepAlive:!1},component:()=>n.e(900).then(n.bind(n,900))},{path:"/Register",name:"Register",meta:{title:"注册 - 精品商城",keepAlive:!1},component:()=>n.e(29).then(n.bind(n,3029))},{path:"/Home",name:"Home",meta:{title:"首页 - 精品商城",keepAlive:!1},component:()=>n.e(828).then(n.bind(n,9828))},{path:"/Detail/:id",name:"Detail",meta:{title:"首页 - 精品商城",keepAlive:!1},component:()=>n.e(639).then(n.bind(n,4639))},{path:"/ProductList",name:"ProductList",meta:{title:"商品列表",keepAlive:!1},component:()=>n.e(4).then(n.bind(n,9004))},{path:"/User",name:"User",component:()=>n.e(110).then(n.bind(n,9110)),redirect:"/User/UserCenter",children:[{path:"UserCenter",name:"UserCenter",component:()=>n.e(64).then(n.bind(n,1064))},{path:"OrderList",name:"OrderList",meta:{title:"我的订单 - 精品商城",keepAlive:!1},component:()=>n.e(86).then(n.bind(n,3086))},{path:"UserInfo",name:"UserInfo",meta:{title:"个人信息 - 精品商城",keepAlive:!1},component:()=>n.e(893).then(n.bind(n,5893))},{path:"ViewHistory",name:"ViewHistory",meta:{title:"我的足迹 - 精品商城",keepAlive:!1},component:()=>n.e(33).then(n.bind(n,4033))},{path:"UserAddress",name:"UserAddress",meta:{title:"我的收货地址 - 精品商城",keepAlive:!1},component:()=>n.e(700).then(n.bind(n,700))},{path:"UserInvoice",name:"UserInvoice",meta:{title:"发票抬头 - 精品商城",keepAlive:!1},component:()=>n.e(113).then(n.bind(n,6113))},{path:"UserInvoiceList",name:"UserInvoiceList",meta:{title:"我的发票 - 精品商城",keepAlive:!1},component:()=>n.e(217).then(n.bind(n,8217))},{path:"ShoppingCart",name:"ShoppingCart",meta:{title:"购物车 - 精品商城",keepAlive:!1},component:()=>n.e(135).then(n.bind(n,2135))},{path:"CommentManage",name:"CommentManage",meta:{title:"评价管理 - 精品商城",keepAlive:!1},component:()=>n.e(592).then(n.bind(n,4592))},{path:"ContractList",name:"ContractList",meta:{title:"合同管理 - 精品商城",keepAlive:!1},component:()=>n.e(406).then(n.bind(n,3406))},{path:"MessageList",name:"MessageList",meta:{title:"消息中心 - 精品商城",keepAlive:!1},component:()=>n.e(838).then(n.bind(n,7838))},{path:"PurchaserAdd",name:"PurchaserAdd",meta:{title:"添加采购单位信息 - 精品商城",keepAlive:!1},component:()=>n.e(181).then(n.bind(n,6181))}]},{path:"/Order",name:"Order",meta:{title:"下单",keepAlive:!1},component:()=>n.e(143).then(n.bind(n,8524))},{path:"/OrderDetail",name:"OrderDetail",meta:{title:"订单详情 - 精品商城",keepAlive:!1},component:()=>n.e(241).then(n.bind(n,6241))},{path:"/OrderPay",name:"OrderPay",meta:{title:"订单支付 - 精品商城",keepAlive:!1},component:()=>n.e(677).then(n.bind(n,3677))},{path:"/OrderPayB2B",name:"OrderPayB2B",meta:{title:"订单支付 - 精品商城",keepAlive:!1},component:()=>n.e(452).then(n.bind(n,1452))},{path:"/OrderPayCode",name:"OrderPayCode",meta:{title:"订单支付 - 精品商城",keepAlive:!1},component:()=>n.e(244).then(n.bind(n,244))},{path:"/OrderPaySuccess",name:"OrderPaySuccess",meta:{title:"订单支付 - 精品商城",keepAlive:!1},component:()=>n.e(169).then(n.bind(n,7169))}],scrollBehavior(e,t,n){return{x:0,y:0}}});G.beforeEach((e,t,n)=>{if(e.meta.title&&(document.title=e.meta.title),e.meta.requireAuth){const t=localStorage.getItem("token");t?n():n({path:"/Login",query:{redirect:e.fullPath}})}else n()});var W=G,V=(n(8111),n(2489),n(116),n(8237),n(5131));a["default"].use(c.Ay);var Q=new c.Ay.Store({plugins:[(0,V.A)({storage:window.localStorage,reducer(e){return{cart:e.cart,user:e.user}}})],state:{cart:{items:[],totalCount:0,totalPrice:0},user:{isLogin:!1,info:null,token:""},categories:[],loading:!1,searchText:""},mutations:{UPDATE_CATEGORIES(e,t){e.categories=t},UPDATE_LOADING(e,t){e.loading=t},USER_LOGIN(e,{userInfo:t,token:n}){e.user.isLogin=!0,e.user.info=t,e.user.token=n,localStorage.setItem("token",n)},USER_LOGOUT(e){e.user.isLogin=!1,e.user.info=null,e.user.token="",localStorage.removeItem("token")},ADD_TO_CART(e,t){const n=e.cart.items.find(e=>e.id===t.id);n?n.quantity+=t.quantity||1:e.cart.items.push({...t,quantity:t.quantity||1}),this.commit("UPDATE_CART_TOTAL")},REMOVE_FROM_CART(e,t){e.cart.items=e.cart.items.filter(e=>e.id!==t),this.commit("UPDATE_CART_TOTAL")},UPDATE_CART_ITEM_QUANTITY(e,{productId:t,quantity:n}){const a=e.cart.items.find(e=>e.id===t);a&&(a.quantity=n,this.commit("UPDATE_CART_TOTAL"))},CLEAR_CART(e){e.cart.items=[],this.commit("UPDATE_CART_TOTAL")},UPDATE_CART_TOTAL(e){e.cart.totalCount=e.cart.items.reduce((e,t)=>e+t.quantity,0),e.cart.totalPrice=e.cart.items.reduce((e,t)=>e+t.price*t.quantity,0)},setSearchText(e,t){e.searchText=t}},actions:{fetchCategories({commit:e}){return e("UPDATE_LOADING",!0),new Promise(t=>{setTimeout(()=>{const n=[{id:1,name:"电子产品",icon:"el-icon-laptop"},{id:2,name:"服装鞋帽",icon:"el-icon-shopping-bag-1"},{id:3,name:"家居用品",icon:"el-icon-home"},{id:4,name:"美妆个护",icon:"el-icon-present"},{id:5,name:"食品饮料",icon:"el-icon-dish"},{id:6,name:"图书音像",icon:"el-icon-document"}];e("UPDATE_CATEGORIES",n),e("UPDATE_LOADING",!1),t(n)},500)})},logout({commit:e}){e("USER_LOGOUT")},addToCart({commit:e},t){e("ADD_TO_CART",t)},removeFromCart({commit:e},t){e("REMOVE_FROM_CART",t)},updateCartItemQuantity({commit:e},t){e("UPDATE_CART_ITEM_QUANTITY",t)},clearCart({commit:e}){e("CLEAR_CART")}},getters:{getCategories:e=>e.categories,getCart:e=>e.cart,getCartTotalCount:e=>e.cart.totalCount,getCartTotalPrice:e=>e.cart.totalPrice,isUserLogin:e=>e.user.isLogin,getUserInfo:e=>e.user.info,getLoadingStatus:e=>e.loading,getSearchText:e=>e.searchText}}),D=n(9143),M=n.n(D),Y=n(5847),j=n(4373);const J=j.A.create({timeout:6e3});J.interceptors.request.use(e=>{const{customBaseURL:t}=e.params||e.data||{};t?(e.baseURL=t,e.params?delete e.params.customBaseURL:e.data&&delete e.data.customBaseURL):e.baseURL="https://swsz.api.js-dyyj.com";const n=Q.state.user?.userInfo?.token||"";return e.headers["token"]=n||"745f2b4c-49b7-4393-bf58-bc380a87149a",e.headers["Content-Type"]="application/json;charset=UTF-8","get"===e.method?.toLowerCase()?e.params={platform_type:2,...e.params}:e.data={platform_type:2,...e.data},!1!==e.loading&&(e.loadingInstance=D.Loading.service({lock:!0,text:"加载中...",background:"rgba(0, 0, 0, 0.7)"})),e},e=>Promise.reject(e)),J.interceptors.response.use(e=>{if(e.config.loadingInstance&&e.config.loadingInstance.close(),200!==e.status&&1!==e.status){const t=`请求失败,状态码:${e.status}`;return D.MessageBox.alert(t,"错误提示",{confirmButtonText:"确定",type:"error"}),Promise.reject(new Error(t))}{const t=e.data;if(1===t.code||200===t.code)return t;{const e=t.msg||`业务处理失败,错误码:${t.code}`;D.MessageBox.alert(e,"错误提示",{confirmButtonText:"确定",type:"error"})}}},e=>{if(e.config&&e.config.loadingInstance&&e.config.loadingInstance.close(),e.response&&e.response.status)switch(e.response.status){case 401:D.MessageBox.confirm("请登录后操作","提示",{confirmButtonText:"去登录",cancelButtonText:"取消",type:"warning"}).then(()=>{}).catch(()=>{});break;case 404:(0,D.Message)({message:"网络繁忙,请刷新再试",type:"error",duration:2e3});break;default:(0,D.Message)({message:"网络繁忙,请刷新再试",type:"error",duration:2e3});break}return Promise.reject(e)}),a["default"].prototype.get=(e,t,n=!1)=>new Promise((a,r)=>{J.get(t,{params:e,loading:n}).then(e=>{a(e)}).catch(e=>{r(e)})}),a["default"].prototype.post=(e,t,n=!1)=>new Promise((a,r)=>{J.post(t,e,{loading:n}).then(e=>{a(e)}).catch(e=>{r(e)})});var K={install(e){e.prototype.util={formateRichText(e){if(!e)return"";var t=new RegExp("'),t=new RegExp("section","g"),e=e.replace(t,"div"),t=new RegExp("↵","g"),e=e.replace(t,"
"),e=e.replace(/
{t.onload=()=>{e(t.result)}})}}}};a["default"].use(K),a["default"].config.productionTip=!1,a["default"].use(M()),a["default"].use(Y.A,{preLoad:1.3,error:n(3153),loading:n(3153),attempt:3,listenEvents:["scroll","wheel","mousewheel","resize","animationend","transitionend","touchmove"],adapter:{loaded({bindType:e,el:t,naturalHeight:n,naturalWidth:a,$parent:r,src:i,loading:o,error:s,Init:c}){console.log("图片加载完成:",i)},error({bindType:e,el:t,error:n,$parent:a,src:r,loading:i}){console.log("图片加载失败:",r)}}}),a["default"].prototype.gotoPath=function(e,t={}){const n=this.$router.currentRoute.fullPath;if(e!==n)try{"string"===typeof e?this.$router.push({path:e,query:t.query||{}}):"object"===typeof e&&this.$router.push(e),"function"===typeof t.success&&t.success()}catch(a){console.error("路由跳转失败:",a),"function"===typeof t.fail&&t.fail(a)}},new a["default"]({el:"#app",router:W,store:Q,components:{App:N},template:""})}},t={};function n(a){var r=t[a];if(void 0!==r)return r.exports;var i=t[a]={id:a,loaded:!1,exports:{}};return e[a].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}n.m=e,function(){n.amdO={}}(),function(){var e=[];n.O=function(t,a,r,i){if(!a){var o=1/0;for(u=0;u=i)&&Object.keys(n.O).every(function(e){return n.O[e](a[c])})?a.splice(c--,1):(s=!1,i0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[a,r,i]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){n.d=function(e,t){for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(t,a){return n.f[a](e,t),t},[]))}}(),function(){n.u=function(e){return"js/"+e+"."+{4:"e0df9c1a",29:"4a06bb8b",33:"d232b82b",64:"57193698",86:"471ac328",110:"4a93ee72",113:"5c3b5964",135:"08e8073a",143:"9d51e2ee",169:"476d32e6",181:"a2fd06e0",217:"d6b5d26b",241:"231f8707",244:"7d3000f2",406:"069a7943",452:"d6fc2b8c",592:"90e06992",601:"d38e0da2",639:"edae0537",677:"e7ad81c7",700:"6882c630",828:"01df3e33",838:"e0fbe621",893:"906271e2",900:"6b17b6f1"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"css/"+e+"."+{4:"0070063a",29:"2661f71c",33:"5507be5a",64:"c294a0d0",86:"3b46bb21",110:"854f9bc2",135:"643ed51b",143:"ecb72621",169:"a7db186a",181:"be611a62",217:"aab8f461",241:"47c7ac13",244:"edd4b6a0",406:"efb923d9",452:"42e712d8",592:"09b799c2",601:"b5eaf439",639:"c184e302",677:"51eebda5",828:"96d8e95b",838:"4c0b65d7",893:"3aae9905",900:"57bae3a8"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="abcdf:";n.l=function(a,r,i,o){if(e[a])e[a].push(r);else{var s,c;if(void 0!==i)for(var l=document.getElementsByTagName("script"),u=0;u 0)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.cartTotalCount)+\"件)\")]):_vm._e()]),(_vm.isLogin)?_c('router-link',{attrs:{\"to\":\"/User/OrderList\"}},[_vm._v(\"我的订单\")]):_vm._e(),(_vm.isLogin)?_c('router-link',{attrs:{\"to\":\"javascript:;\"},on:{\"click\":_vm.handleLogout}},[_vm._v(\"退出\")]):_vm._e()],1)])]),_c('div',{staticClass:\"main-nav\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"logo\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"logo-img\",attrs:{\"src\":\"https://static.ticket.sz-trip.com/shiweisuzhou/pc/logo.png\",\"alt\":\"logo\"}})])],1),_c('div',{staticClass:\"search-box\"},[_c('el-input',{staticClass:\"search-input\",attrs:{\"placeholder\":\"请输入搜索内容\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.handleSearch.apply(null, arguments)}},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}},[_c('el-button',{attrs:{\"slot\":\"append\",\"icon\":\"el-icon-search\"},on:{\"click\":_vm.handleSearch},slot:\"append\"})],1),_c('div',{staticClass:\"hot-tags\"},[_c('span',[_vm._v(\"热门搜索:\")]),_c('router-link',{attrs:{\"to\":\"javascript:;\"},on:{\"click\":function($event){_vm.searchText = '手机';\n _vm.handleSearch();}}},[_vm._v(\"手机\")]),_c('router-link',{attrs:{\"to\":\"javascript:;\"},on:{\"click\":function($event){_vm.searchText = '电脑';\n _vm.handleSearch();}}},[_vm._v(\"电脑\")]),_c('router-link',{attrs:{\"to\":\"javascript:;\"},on:{\"click\":function($event){_vm.searchText = '服装';\n _vm.handleSearch();}}},[_vm._v(\"服装\")])],1)],1),_c('div',{staticClass:\"cart-entry\"},[_c('router-link',{attrs:{\"tos\":\"cart-link\"}},[_c('img',{attrs:{\"src\":\"https://static.ticket.sz-trip.com/shiweisuzhou/pc/login/phone.png\",\"alt\":\"\"}}),_c('span',[_vm._v(\"0512-680541\")]),(_vm.cartTotalCount > 0 && false)?_c('span',{staticClass:\"cart-count\"},[_vm._v(_vm._s(_vm.cartTotalCount))]):_vm._e()])],1)])]),(false)?_c('div',{staticClass:\"category-nav\"},[_c('div',{staticClass:\"container\"},[_c('ul',{staticClass:\"nav-list\"},[_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",class:{ active: _vm.$route.path === '/' },attrs:{\"to\":\"/\"}},[_vm._v(\"首页\")])],1),_vm._l((_vm.categories),function(category){return _c('li',{key:category.id,staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",class:{ active: _vm.$route.params.id == category.id },attrs:{\"to\":\"/category/:id\",\"to\":`/category/${category.id}`}},[_vm._v(\" \"+_vm._s(category.name)+\" \")])],1)})],2)])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HeaderNav.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HeaderNav.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HeaderNav.vue?vue&type=template&id=4585d8e6&scoped=true\"\nimport script from \"./HeaderNav.vue?vue&type=script&lang=js\"\nexport * from \"./HeaderNav.vue?vue&type=script&lang=js\"\nimport style0 from \"./HeaderNav.vue?vue&type=style&index=0&id=4585d8e6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4585d8e6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-container\"},[_c('div',{staticClass:\"footer-top\"},[_vm._m(0),_vm._m(1),_vm._m(2),_vm._m(3),_vm._m(4),_c('div',{staticClass:\"qrcode-group\"},[_c('div',{staticClass:\"qrcode-item\"},[_c('el-empty',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"description\":\"二维码\"}}),_c('p',[_vm._v(\"时味苏州小程序\")])],1),_c('div',{staticClass:\"qrcode-item\"},[_c('el-empty',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"description\":\"二维码\"}}),_c('p',[_vm._v(\"时味苏州服务号\")])],1)])]),_vm._m(5)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-column\"},[_c('h3',[_vm._v(\"关于我们\")]),_c('ul',[_c('li',[_vm._v(\"平台简介\")]),_c('li',[_vm._v(\"政策文件\")]),_c('li',[_vm._v(\"平台标识指南\")]),_c('li',[_vm._v(\"营业执照\")]),_c('li',[_vm._v(\"食品经营许可证\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-column\"},[_c('h3',[_vm._v(\"新手上路\")]),_c('ul',[_c('li',[_vm._v(\"供应商入驻流程\")]),_c('li',[_vm._v(\"供应商操作手册\")]),_c('li',[_vm._v(\"采购人入驻流程\")]),_c('li',[_vm._v(\"采购人操作手册\")]),_c('li',[_vm._v(\"供应商入驻联系方式\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-column\"},[_c('h3',[_vm._v(\"交易流程\")]),_c('ul',[_c('li',[_vm._v(\"直购交易流程\")]),_c('li',[_vm._v(\"竞购交易流程\")]),_c('li',[_vm._v(\"货款结算流程\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-column\"},[_c('h3',[_vm._v(\"常见问题\")]),_c('ul',[_c('li',[_vm._v(\"预留份额填报\")]),_c('li',[_vm._v(\"支付结算问题\")]),_c('li',[_vm._v(\"账号管理问题\")]),_c('li',[_vm._v(\"在线客服问题\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"contact-info\"},[_c('p',[_vm._v(\"联系方式:\")]),_c('p',[_vm._v(\"客服电话:222-222-222\")]),_c('p',[_vm._v(\"工作时间:工作日 9:00-18:00\")]),_c('p',[_vm._v(\"客服邮箱:xxxxxxxxx@stn.com\")]),_c('p',[_vm._v(\"商务合作:18999999999\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-bottom\"},[_c('p',[_vm._v(\"版权所有 苏州市特色农产品发展有限公司 | 苏ICP备2023023300号-1\")]),_c('p',[_vm._v(\"本网站由 江苏大运远见文化科技发展有限公司 运营维护\")])])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=683e198c&scoped=true\"\nimport script from \"./Footer.vue?vue&type=script&lang=js\"\nexport * from \"./Footer.vue?vue&type=script&lang=js\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=683e198c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"683e198c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sidebar-container\"},[_c('div',{staticClass:\"sidebar-item\",on:{\"click\":_vm.handleCartClick}},[_c('el-badge',{staticClass:\"item-badge\",attrs:{\"value\":_vm.cartCount}},[_c('i',{staticClass:\"el-icon-shopping-cart-full\"})]),_c('div',{staticClass:\"item-text\"},[_vm._v(\"购物车\")])],1),_c('div',{staticClass:\"sidebar-item\",on:{\"click\":_vm.handleServiceClick}},[_c('i',{staticClass:\"el-icon-headset\"}),_c('div',{staticClass:\"item-text\"},[_vm._v(\"在线客服\")])]),_c('div',{staticClass:\"sidebar-item back-to-top\",class:{ active: _vm.isShowBackTop },on:{\"click\":_vm.handleBackToTop}},[_c('i',{staticClass:\"el-icon-caret-top\"}),_c('div',{staticClass:\"item-text\"},[_vm._v(\"回到顶部\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=0ddafffa&scoped=true\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=0ddafffa&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ddafffa\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.showBackToTop)?_c('div',{staticClass:\"back-to-top\",on:{\"click\":_vm.scrollToTop}},[_c('el-icon',{attrs:{\"name\":\"el-icon-arrow-up\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BackToTop.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BackToTop.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BackToTop.vue?vue&type=template&id=7ea6dee0&scoped=true\"\nimport script from \"./BackToTop.vue?vue&type=script&lang=js\"\nexport * from \"./BackToTop.vue?vue&type=script&lang=js\"\nimport style0 from \"./BackToTop.vue?vue&type=style&index=0&id=7ea6dee0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7ea6dee0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=c37bea46\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=c37bea46&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\nVue.use(Router)\r\n\r\n// 解决重复导航错误\r\nconst originalPush = Router.prototype.push\r\nRouter.prototype.push = function push(location) {\r\n return originalPush.call(this, location).catch(err => {\r\n // 只捕获重复导航的错误,其他错误正常抛出\r\n if (err.name !== 'NavigationDuplicated') {\r\n throw err\r\n }\r\n })\r\n}\r\n\r\nconst router = new Router({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'Index',\r\n meta: {\r\n title: '首页 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Index.vue')\r\n },\r\n {\r\n path: '/Login',\r\n name: 'Login',\r\n meta: {\r\n title: '登录 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Login.vue')\r\n },\r\n {\r\n path: '/Register',\r\n name: 'Register',\r\n meta: {\r\n title: '注册 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Register.vue')\r\n },\r\n {\r\n path: '/Home',\r\n name: 'Home',\r\n meta: {\r\n title: '首页 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Home.vue')\r\n },\r\n {\r\n path: '/Detail/:id',\r\n name: 'Detail',\r\n meta: {\r\n title: '首页 - 精品商城',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/Detail/Index.vue')\r\n },\r\n {\r\n path: '/ProductList',\r\n name: 'ProductList',\r\n meta: {\r\n title: '商品列表',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/ProductPage/Index.vue')\r\n },\r\n // {\r\n // path: '/category/:id?',\r\n // name: 'Category',\r\n // meta: {\r\n // title: '商品分类 - 精品商城',\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/Category.vue')\r\n // },\r\n // {\r\n // path: '/product/:id',\r\n // name: 'ProductDetail',\r\n // meta: {\r\n // title: '商品详情 - 精品商城',\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/ProductDetail.vue')\r\n // },\r\n // {\r\n // path: '/cart',\r\n // name: 'Cart',\r\n // meta: {\r\n // title: '购物车 - 精品商城',\r\n // requireAuth: true,\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/Cart.vue')\r\n // },\r\n // {\r\n // path: '/checkout',\r\n // name: 'Checkout',\r\n // meta: {\r\n // title: '结算 - 精品商城',\r\n // requireAuth: true,\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/Checkout.vue')\r\n // },\r\n {\r\n path: '/User',\r\n name: 'User',\r\n // meta: { title: '个人中心 - 精品商城',requireAuth: true,keepAlive: false},\r\n component: () => import('@/views/User/Index.vue'),\r\n redirect: '/User/UserCenter',\r\n children: [\r\n {\r\n path:'UserCenter', \r\n name: \"UserCenter\",\r\n // meta: {title: '个人中心 - 精品商城',keepAlive: false,},\r\n component: ()=>import('@/views/User/UserCenter.vue')\r\n },\r\n {\r\n path: 'OrderList',\r\n name: 'OrderList',\r\n meta: { title: '我的订单 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderList.vue')\r\n },\r\n {\r\n path: 'UserInfo',\r\n name: 'UserInfo',\r\n meta: { title: '个人信息 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/UserInfo.vue')\r\n },\r\n {\r\n path: 'ViewHistory',\r\n name: 'ViewHistory',\r\n meta: { title: '我的足迹 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/ViewHistory.vue')\r\n },\r\n {\r\n path: 'UserAddress',\r\n name: 'UserAddress',\r\n meta: { title: '我的收货地址 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/UserAddress.vue')\r\n },\r\n {\r\n path: 'UserInvoice',\r\n name: 'UserInvoice',\r\n meta: { title: '发票抬头 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/UserInvoice.vue')\r\n },\r\n {\r\n path: 'UserInvoiceList',\r\n name: 'UserInvoiceList',\r\n meta: { title: '我的发票 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/UserInvoiceList.vue')\r\n },\r\n {\r\n path: 'ShoppingCart',\r\n name: 'ShoppingCart',\r\n meta: { title: '购物车 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/ShoppingCart.vue')\r\n },\r\n {\r\n path: 'CommentManage',\r\n name: 'CommentManage',\r\n meta: { title: '评价管理 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/CommentManage.vue')\r\n },\r\n {\r\n path: 'ContractList',\r\n name: 'ContractList',\r\n meta: { title: '合同管理 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/ContractList.vue')\r\n },\r\n {\r\n path: 'MessageList',\r\n name: 'MessageList',\r\n meta: { title: '消息中心 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/MessageList.vue')\r\n },\r\n {\r\n path: 'PurchaserAdd',\r\n name: 'PurchaserAdd',\r\n meta: { title: '添加采购单位信息 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/PurchaserAdd.vue')\r\n },\r\n ],\r\n },\r\n {\r\n path: '/Order',\r\n name: 'Order',\r\n meta: { title: '下单', keepAlive: false },\r\n component: () => import('@/views/Order/Index.vue')\r\n },\r\n {\r\n path: '/OrderDetail',\r\n name: 'OrderDetail',\r\n meta: { title: '订单详情 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/Order/OrderDetail.vue')\r\n },\r\n \r\n {\r\n path: '/OrderPay',\r\n name: 'OrderPay',\r\n meta: { title: '订单支付 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderPay.vue')\r\n },\r\n {\r\n path: '/OrderPayB2B',\r\n name: 'OrderPayB2B',\r\n meta: { title: '订单支付 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderPayB2B.vue')\r\n },\r\n {\r\n path: '/OrderPayCode',\r\n name: 'OrderPayCode',\r\n meta: { title: '订单支付 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderPayCode.vue')\r\n },\r\n {\r\n path: '/OrderPaySuccess',\r\n name: 'OrderPaySuccess',\r\n meta: { title: '订单支付 - 精品商城', keepAlive: false },\r\n component: () => import('@/views/User/OrderPaySuccess.vue')\r\n },\r\n \r\n // {\r\n // path: '/user/orders/:id',\r\n // name: 'OrderDetail',\r\n // meta: {\r\n // title: '订单详情 - 精品商城',\r\n // requireAuth: true,\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/OrderDetail.vue')\r\n // },\r\n // {\r\n // path: '*',\r\n // name: 'NotFound',\r\n // meta: {\r\n // title: '页面不存在 - 精品商城',\r\n // keepAlive: false\r\n // },\r\n // component: () => import('@/views/NotFound.vue')\r\n // }\r\n ],\r\n scrollBehavior(to, from, savedPosition) {\r\n // 页面滚动到顶部\r\n return { x: 0, y: 0 }\r\n }\r\n})\r\n\r\n// 路由守卫\r\nrouter.beforeEach((to, from, next) => {\r\n // 设置页面标题\r\n if (to.meta.title) {\r\n document.title = to.meta.title\r\n }\r\n \r\n // 验证登录状态\r\n if (to.meta.requireAuth) {\r\n const token = localStorage.getItem('token')\r\n if (token) {\r\n next()\r\n } else {\r\n next({\r\n path: '/Login',\r\n query: { redirect: to.fullPath }\r\n })\r\n }\r\n } else {\r\n next()\r\n }\r\n})\r\n\r\nexport default router","// index.js\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport createPersistedState from 'vuex-persistedstate'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n plugins: [\n createPersistedState({\n storage: window.localStorage,\n reducer(val) {\n return {\n cart: val.cart,\n user: val.user\n }\n }\n })\n ],\n state: {\n // 购物车状态\n cart: {\n items: [], // 购物车商品列表\n totalCount: 0, // 商品总数\n totalPrice: 0 // 商品总价\n },\n // 用户状态\n user: {\n isLogin: false,\n info: null,\n token: ''\n },\n // 分类数据\n categories: [],\n // 全局加载状态\n loading: false,\n searchText: '' // 存储搜索词\n },\n mutations: {\n // 更新分类数据\n UPDATE_CATEGORIES(state, categories) {\n state.categories = categories\n },\n \n // 更新加载状态\n UPDATE_LOADING(state, status) {\n state.loading = status\n },\n \n // 用户登录\n USER_LOGIN(state, { userInfo, token }) {\n state.user.isLogin = true\n state.user.info = userInfo\n state.user.token = token\n localStorage.setItem('token', token)\n },\n \n // 用户登出\n USER_LOGOUT(state) {\n state.user.isLogin = false\n state.user.info = null\n state.user.token = ''\n localStorage.removeItem('token')\n },\n \n // 添加商品到购物车\n ADD_TO_CART(state, product) {\n const existingItem = state.cart.items.find(item => item.id === product.id)\n \n if (existingItem) {\n existingItem.quantity += product.quantity || 1\n } else {\n state.cart.items.push({\n ...product,\n quantity: product.quantity || 1\n })\n }\n \n this.commit('UPDATE_CART_TOTAL')\n },\n \n // 从购物车移除商品\n REMOVE_FROM_CART(state, productId) {\n state.cart.items = state.cart.items.filter(item => item.id !== productId)\n this.commit('UPDATE_CART_TOTAL')\n },\n \n // 更新购物车商品数量\n UPDATE_CART_ITEM_QUANTITY(state, { productId, quantity }) {\n const item = state.cart.items.find(item => item.id === productId)\n if (item) {\n item.quantity = quantity\n this.commit('UPDATE_CART_TOTAL')\n }\n },\n \n // 清空购物车\n CLEAR_CART(state) {\n state.cart.items = []\n this.commit('UPDATE_CART_TOTAL')\n },\n \n // 更新购物车总计\n UPDATE_CART_TOTAL(state) {\n state.cart.totalCount = state.cart.items.reduce((total, item) => {\n return total + item.quantity\n }, 0)\n \n state.cart.totalPrice = state.cart.items.reduce((total, item) => {\n return total + (item.price * item.quantity)\n }, 0)\n },\n\n setSearchText(state, text) {\n state.searchText = text;\n }\n },\n actions: {\n // 获取分类数据\n fetchCategories({ commit }) {\n commit('UPDATE_LOADING', true)\n // 模拟API请求\n return new Promise(resolve => {\n setTimeout(() => {\n const categories = [\n { id: 1, name: '电子产品', icon: 'el-icon-laptop' },\n { id: 2, name: '服装鞋帽', icon: 'el-icon-shopping-bag-1' },\n { id: 3, name: '家居用品', icon: 'el-icon-home' },\n { id: 4, name: '美妆个护', icon: 'el-icon-present' },\n { id: 5, name: '食品饮料', icon: 'el-icon-dish' },\n { id: 6, name: '图书音像', icon: 'el-icon-document' }\n ]\n commit('UPDATE_CATEGORIES', categories)\n commit('UPDATE_LOADING', false)\n resolve(categories)\n }, 500)\n })\n },\n \n // 用户登出\n logout({ commit }) {\n commit('USER_LOGOUT')\n },\n \n // 添加商品到购物车\n addToCart({ commit }, product) {\n commit('ADD_TO_CART', product)\n },\n \n // 从购物车移除商品\n removeFromCart({ commit }, productId) {\n commit('REMOVE_FROM_CART', productId)\n },\n \n // 更新购物车商品数量\n updateCartItemQuantity({ commit }, payload) {\n commit('UPDATE_CART_ITEM_QUANTITY', payload)\n },\n \n // 清空购物车\n clearCart({ commit }) {\n commit('CLEAR_CART')\n }\n },\n getters: {\n // 获取分类列表\n getCategories: state => state.categories,\n \n // 获取购物车信息\n getCart: state => state.cart,\n \n // 获取购物车商品总数\n getCartTotalCount: state => state.cart.totalCount,\n \n // 获取购物车商品总价\n getCartTotalPrice: state => state.cart.totalPrice,\n \n // 获取用户登录状态\n isUserLogin: state => state.user.isLogin,\n \n // 获取用户信息\n getUserInfo: state => state.user.info,\n \n // 获取加载状态\n getLoadingStatus: state => state.loading,\n\n // 获取搜索词\n getSearchText: state => state.searchText\n }\n})","import Vue from 'vue'\r\nimport axios from \"axios\";\r\nimport { Message, MessageBox, Loading } from \"element-ui\"; // 引入 Element UI 组件\r\nimport store from '@/store';\r\n\r\nconst http = axios.create({\r\n timeout: 6000 // 请求超时时间\r\n})\r\n\r\n// 添加请求拦截器\r\nhttp.interceptors.request.use((config) => {\r\n const { customBaseURL } = config.params || config.data || {};\r\n if (customBaseURL) {\r\n config.baseURL = customBaseURL;\r\n if (config.params) {\r\n delete config.params.customBaseURL;\r\n } else if (config.data) {\r\n delete config.data.customBaseURL;\r\n }\r\n } else {\r\n config.baseURL = process.env.VUE_APP_URL;\r\n }\r\n \r\n const token = store.state.user?.userInfo?.token || '';\r\n config.headers['token'] = token || \"745f2b4c-49b7-4393-bf58-bc380a87149a\";\r\n config.headers['Content-Type'] = 'application/json;charset=UTF-8';\r\n\r\n // 统一添加 platform_type = 2 参数\r\n // GET 请求在 params 中添加\r\n if (config.method?.toLowerCase() === 'get') {\r\n config.params = {\r\n platform_type: 2,\r\n ...config.params\r\n };\r\n } \r\n // POST 等其他请求在 data 中添加\r\n else {\r\n config.data = {\r\n platform_type: 2,\r\n ...config.data\r\n };\r\n }\r\n \r\n // 显示加载中状态(Element UI 的 Loading)\r\n if (config.loading !== false) { // 默认显示,可通过参数关闭\r\n config.loadingInstance = Loading.service({\r\n lock: true,\r\n text: '加载中...',\r\n background: 'rgba(0, 0, 0, 0.7)'\r\n });\r\n }\r\n \r\n return config;\r\n}, (error) => {\r\n return Promise.reject(error);\r\n});\r\n\r\n// 添加响应拦截器\r\nhttp.interceptors.response.use(response => {\r\n // 关闭加载状态\r\n if (response.config.loadingInstance) {\r\n response.config.loadingInstance.close();\r\n }\r\n \r\n if (response.status === 200 || response.status === 1) {\r\n const resData = response.data;\r\n // 假设接口约定 code 为 0 或 200 时表示业务成功(可根据实际情况修改)\r\n if (resData.code === 1 || resData.code === 200) {\r\n return resData;\r\n } else {\r\n // code 不符合预期时显示错误提示,优先使用接口返回的消息\r\n const errorMsg = resData.msg || `业务处理失败,错误码:${resData.code}`;\r\n MessageBox.alert(errorMsg, '错误提示', {\r\n confirmButtonText: '确定',\r\n type: 'error'\r\n });\r\n // return Promise.reject(new Error(errorMsg));\r\n }\r\n } else {\r\n // HTTP状态码非200和1时的弹框提示\r\n const errorMsg = `请求失败,状态码:${response.status}`;\r\n MessageBox.alert(errorMsg, '错误提示', {\r\n confirmButtonText: '确定',\r\n type: 'error'\r\n });\r\n return Promise.reject(new Error(errorMsg));\r\n }\r\n}, error => {\r\n // 关闭加载状态\r\n if (error.config && error.config.loadingInstance) {\r\n error.config.loadingInstance.close();\r\n }\r\n \r\n if (error.response && error.response.status) {\r\n switch (error.response.status) {\r\n case 401:\r\n MessageBox.confirm('请登录后操作', '提示', {\r\n confirmButtonText: '去登录',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n // 登录操作\r\n }).catch(() => {\r\n // 取消登录回调\r\n });\r\n break;\r\n case 404:\r\n Message({\r\n message: '网络繁忙,请刷新再试',\r\n type: 'error',\r\n duration: 2000\r\n });\r\n break;\r\n default:\r\n Message({\r\n message: '网络繁忙,请刷新再试',\r\n type: 'error',\r\n duration: 2000\r\n });\r\n break;\r\n }\r\n }\r\n return Promise.reject(error);\r\n});\r\n\r\n// 请求方法挂载\r\nVue.prototype.get = (params, url, loading = false) => {\r\n return new Promise((resolve, reject) => {\r\n http.get(url, { \r\n params,\r\n loading // 传递加载状态参数\r\n })\r\n .then(res => {\r\n resolve(res);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n })\r\n}\r\n\r\nVue.prototype.post = (data, url, loading = false) => {\r\n return new Promise((resolve, reject) => {\r\n http.post(url, data, {\r\n loading // 传递加载状态参数\r\n })\r\n .then(res => {\r\n resolve(res);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n })\r\n}","export default {\r\n\tinstall(Vue) {\r\n\t\tVue.prototype.util = {\r\n\t\t\t// 格式化富文本\r\n\t\t\tformateRichText(str) {\r\n\t\t\t\tif (!str) return \"\";\r\n\t\t\t\tvar reg = new RegExp(\"')\r\n\t\t\t\treg = new RegExp(\"section\", \"g\");\r\n\t\t\t\tstr = str.replace(reg, 'div');\r\n\t\t\t\treg = new RegExp(\"↵\", \"g\");\r\n\t\t\t\tstr = str.replace(reg, '
');\r\n\t\t\t\tstr = str.replace(/
{\r\n\t\t\t\t\treader.onload = () => {\r\n\t\t\t\t\t\tresolve(reader.result);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t}\r\n\t}\r\n}\r\n","import Vue from 'vue'\nimport App from './App'\nimport router from './router'\nimport store from './store'\nimport ElementUI from 'element-ui'\nimport 'element-ui/lib/theme-chalk/index.css'\nimport VueLazyload from 'vue-lazyload'\nimport '@/assets/css/common.scss'\nimport '../src/libs/axios.js' // axios处理\n\nimport utils from './libs/utils.js'\nVue.use(utils)\n\n// 全局配置\nVue.config.productionTip = false\nVue.use(ElementUI)\n\n// 配置图片懒加载\nVue.use(VueLazyload, {\n preLoad: 1.3, // 预加载高度比例\n error: require('./assets/logo.png'),\n loading: require('./assets/logo.png'),\n attempt: 3, // 增加尝试次数\n listenEvents: ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'], // 确保监听事件完整\n adapter: {\n // 增加加载状态日志\n loaded({ bindType, el, naturalHeight, naturalWidth, $parent, src, loading, error, Init }) {\n console.log('图片加载完成:', src)\n },\n error({ bindType, el, error, $parent, src, loading }) {\n console.log('图片加载失败:', src)\n }\n }\n})\n\n// 全局挂载公共路由跳转方法\nVue.prototype.gotoPath = function(path, options = {}) {\n // 1. 避免重复跳转同一页面\n const currentPath = this.$router.currentRoute.fullPath\n if (path === currentPath) {\n return\n }\n\n try {\n // 2. 支持两种跳转方式:路径字符串或配置对象\n if (typeof path === 'string') {\n // 字符串路径,可附带query参数\n this.$router.push({\n path,\n query: options.query || {}\n })\n } else if (typeof path === 'object') {\n // 直接传入路由配置对象(如命名路由)\n this.$router.push(path)\n }\n \n // 3. 可选的跳转成功回调\n if (typeof options.success === 'function') {\n options.success()\n }\n } catch (error) {\n // 4. 错误处理\n console.error('路由跳转失败:', error)\n if (typeof options.fail === 'function') {\n options.fail(error)\n }\n }\n}\n\n/* eslint-disable no-new */\nnew Vue({\n el: '#app',\n router,\n store,\n components: { App },\n template: ''\n})\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"4\":\"e0df9c1a\",\"29\":\"4a06bb8b\",\"33\":\"d232b82b\",\"64\":\"57193698\",\"86\":\"471ac328\",\"110\":\"4a93ee72\",\"113\":\"5c3b5964\",\"135\":\"08e8073a\",\"143\":\"9d51e2ee\",\"169\":\"476d32e6\",\"181\":\"a2fd06e0\",\"217\":\"d6b5d26b\",\"241\":\"231f8707\",\"244\":\"7d3000f2\",\"406\":\"069a7943\",\"452\":\"d6fc2b8c\",\"592\":\"90e06992\",\"601\":\"d38e0da2\",\"639\":\"edae0537\",\"677\":\"e7ad81c7\",\"700\":\"6882c630\",\"828\":\"01df3e33\",\"838\":\"e0fbe621\",\"893\":\"906271e2\",\"900\":\"6b17b6f1\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"4\":\"0070063a\",\"29\":\"2661f71c\",\"33\":\"5507be5a\",\"64\":\"c294a0d0\",\"86\":\"3b46bb21\",\"110\":\"854f9bc2\",\"135\":\"643ed51b\",\"143\":\"ecb72621\",\"169\":\"a7db186a\",\"181\":\"be611a62\",\"217\":\"aab8f461\",\"241\":\"47c7ac13\",\"244\":\"edd4b6a0\",\"406\":\"efb923d9\",\"452\":\"42e712d8\",\"592\":\"09b799c2\",\"601\":\"b5eaf439\",\"639\":\"c184e302\",\"677\":\"51eebda5\",\"828\":\"96d8e95b\",\"838\":\"4c0b65d7\",\"893\":\"3aae9905\",\"900\":\"57bae3a8\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"abcdf:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"4\":1,\"29\":1,\"33\":1,\"64\":1,\"86\":1,\"110\":1,\"135\":1,\"143\":1,\"169\":1,\"181\":1,\"217\":1,\"241\":1,\"244\":1,\"406\":1,\"452\":1,\"592\":1,\"601\":1,\"639\":1,\"677\":1,\"828\":1,\"838\":1,\"893\":1,\"900\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkabcdf\"] = self[\"webpackChunkabcdf\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(6888); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","attrs","$route","name","_e","staticClass","staticRenderFns","_v","isLogin","directives","rawName","value","userInfo","avatar","expression","_s","username","cartTotalCount","on","handleLogout","nativeOn","$event","type","indexOf","_k","keyCode","key","handleSearch","apply","arguments","model","searchText","callback","$$v","slot","data","computed","mapGetters","categories","getCategories","getCartTotalCount","$store","getters","isUserLogin","getUserInfo","created","fetchCategories","methods","mapActions","commit","isSearchPage","path","query","$emit","$router","push","keyword","$confirm","confirmButtonText","cancelButtonText","then","logout","$message","success","catch","component","_m","staticStyle","handleCartClick","cartCount","handleServiceClick","class","active","isShowBackTop","handleBackToTop","scrollTimer","mounted","window","addEventListener","handleScroll","beforeDestroy","removeEventListener","clearTimeout","info","scrollTo","top","behavior","setTimeout","pageYOffset","showBackToTop","scrollToTop","setInterval","position","Math","max","clearInterval","components","HeaderNav","Footer","BackToTop","Sidebar","loading","getLoadingStatus","Vue","use","Router","originalPush","prototype","location","call","err","router","mode","base","process","routes","meta","title","keepAlive","redirect","children","scrollBehavior","to","from","savedPosition","x","y","beforeEach","next","document","requireAuth","token","localStorage","getItem","fullPath","Vuex","plugins","createPersistedState","storage","reducer","val","cart","user","state","items","totalCount","totalPrice","mutations","UPDATE_CATEGORIES","UPDATE_LOADING","status","USER_LOGIN","setItem","USER_LOGOUT","removeItem","ADD_TO_CART","product","existingItem","find","item","id","quantity","REMOVE_FROM_CART","productId","filter","UPDATE_CART_ITEM_QUANTITY","CLEAR_CART","UPDATE_CART_TOTAL","reduce","total","price","setSearchText","text","actions","Promise","resolve","icon","addToCart","removeFromCart","updateCartItemQuantity","payload","clearCart","getCart","getCartTotalPrice","getSearchText","http","axios","create","timeout","interceptors","request","config","customBaseURL","params","baseURL","store","headers","method","toLowerCase","platform_type","loadingInstance","Loading","service","lock","background","error","reject","response","close","errorMsg","MessageBox","alert","Error","resData","code","msg","confirm","Message","message","duration","get","url","res","post","install","util","formateRichText","str","reg","RegExp","replace","mobileValid","test","idNumberValid","passportValid","taiwanValid","gangaoValid","foreignerValid","officerValid","emailValid","getUrlPara","arrUrl","split","para","showImg","img","imgToBase64","reader","FileReader","readAsDataURL","onload","result","utils","productionTip","ElementUI","VueLazyload","preLoad","require","attempt","listenEvents","adapter","loaded","bindType","el","naturalHeight","naturalWidth","$parent","src","Init","console","log","gotoPath","options","currentPath","currentRoute","fail","App","template","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","amdO","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","e","chunkId","all","promises","u","miniCssF","g","globalThis","Function","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","prev","event","onerror","doneFns","parentNode","removeChild","forEach","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","p","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","href","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/src/components/layout/HeaderNav.vue b/src/components/layout/HeaderNav.vue index 26d1370..3bb8646 100644 --- a/src/components/layout/HeaderNav.vue +++ b/src/components/layout/HeaderNav.vue @@ -10,7 +10,7 @@ >

@@ -62,39 +62,42 @@
热门搜索: - 手机 - +
电脑 - +
服装 + 服装 +
-
- +
+ 0512-680541 {{ @@ -106,9 +109,9 @@
-
+
-