diff --git a/dist/css/467.95b3e97b.css b/dist/css/467.95b3e97b.css
deleted file mode 100644
index c94c7d3..0000000
--- a/dist/css/467.95b3e97b.css
+++ /dev/null
@@ -1 +0,0 @@
-.bg[data-v-43266500]{display:flex;flex-direction:column}.bg[data-v-43266500] .el-button--text,.bg[data-v-43266500] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-43266500] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-43266500] .el-tabs__item:hover{color:#6a8a27}.order-card[data-v-43266500]{border-radius:4px;overflow:hidden}.order-header[data-v-43266500]{padding:12px 20px;display:flex;align-items:center;background:#f8f9fa;border-bottom:1px solid #999;color:#666;font-size:14px}.order-products[data-v-43266500]{padding:10px 20px;background:#fff}.product-item[data-v-43266500]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-43266500]:last-child{border-bottom:none}.product-image[data-v-43266500]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-43266500]{flex:1}.product-name[data-v-43266500]{color:#333}.product-spec[data-v-43266500]{color:#999;font-size:12px}.product-box[data-v-43266500]{width:100px;text-align:center;color:#333}.product-quantity[data-v-43266500]{width:160px;text-align:center;color:#333}.product-select[data-v-43266500]{width:80px;color:#333}.product-price[data-v-43266500]{color:#ff5252}.cart-footer[data-v-43266500]{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:15px;background-color:#f5f7fa;border-radius:4px}.selected-info[data-v-43266500]{color:#666;font-size:14px;padding-right:50px}.import-text[data-v-43266500]{color:#c7020b;font-size:20px;font-weight:700}.total-price[data-v-43266500]:before{content:"¥";margin-right:5px;font-size:12px}
\ No newline at end of file
diff --git a/dist/css/630.e6d20e0d.css b/dist/css/630.e6d20e0d.css
new file mode 100644
index 0000000..d18eea8
--- /dev/null
+++ b/dist/css/630.e6d20e0d.css
@@ -0,0 +1 @@
+.bg[data-v-273f7f6b]{display:flex;flex-direction:column}.bg[data-v-273f7f6b] .el-button--text,.bg[data-v-273f7f6b] .el-tabs__item.is-active{color:#6a8a27}.bg[data-v-273f7f6b] .el-tabs__active-bar{background-color:#6a8a27}.bg[data-v-273f7f6b] .el-tabs__item:hover{color:#6a8a27}.order-card[data-v-273f7f6b]{border-radius:4px;overflow:hidden}.order-header[data-v-273f7f6b]{padding:12px 20px;display:flex;align-items:center;background:#f8f9fa;border-bottom:1px solid #999;color:#666;font-size:14px}.order-products[data-v-273f7f6b]{padding:10px 20px;background:#fff}.product-item[data-v-273f7f6b]{display:flex;align-items:center;padding:15px 0;border-bottom:1px dashed #eee;font-size:14px}.product-item[data-v-273f7f6b]:last-child{border-bottom:none}.product-image[data-v-273f7f6b]{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin-right:15px;border-radius:4px}.product-details[data-v-273f7f6b]{flex:1}.product-name[data-v-273f7f6b]{color:#333}.product-spec[data-v-273f7f6b]{color:#999;font-size:12px}.product-box[data-v-273f7f6b]{width:100px;text-align:center;color:#333}.product-quantity[data-v-273f7f6b]{width:160px;text-align:center;color:#333}.product-select[data-v-273f7f6b]{width:80px;color:#333}.product-price[data-v-273f7f6b]{color:#ff5252}.cart-footer[data-v-273f7f6b]{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:15px;background-color:#f5f7fa;border-radius:4px}.selected-info[data-v-273f7f6b]{color:#666;font-size:14px;padding-right:50px}.import-text[data-v-273f7f6b]{color:#c7020b;font-size:20px;font-weight:700}.total-price[data-v-273f7f6b]:before{content:"¥";margin-right:5px;font-size:12px}
\ No newline at end of file
diff --git a/dist/css/831.480ee6b0.css b/dist/css/831.480ee6b0.css
deleted file mode 100644
index 1314050..0000000
--- a/dist/css/831.480ee6b0.css
+++ /dev/null
@@ -1 +0,0 @@
-.announcement-container[data-v-61ff5634]{max-width:1200px;margin:0 auto;padding:20px}.page-title[data-v-61ff5634]{font-size:20px;font-weight:700;color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.detail[data-v-61ff5634]{background:#fff;padding:20px}@media (max-width:768px){.search-input[data-v-61ff5634]{width:100%}.announcement-header[data-v-61ff5634]{flex-direction:column;align-items:flex-start}.announcement-date[data-v-61ff5634]{margin-top:5px}}
\ No newline at end of file
diff --git a/dist/css/989.f060a013.css b/dist/css/989.f060a013.css
new file mode 100644
index 0000000..9484493
--- /dev/null
+++ b/dist/css/989.f060a013.css
@@ -0,0 +1 @@
+.announcement-container[data-v-5252b9be]{max-width:1200px;margin:0 auto;padding:20px}.page-title[data-v-5252b9be]{font-size:20px;font-weight:700;color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.detail[data-v-5252b9be]{background:#fff;padding:20px}@media (max-width:768px){.search-input[data-v-5252b9be]{width:100%}.announcement-header[data-v-5252b9be]{flex-direction:column;align-items:flex-start}.announcement-date[data-v-5252b9be]{margin-top:5px}}
\ No newline at end of file
diff --git a/dist/index.html b/dist/index.html
index 2eb76e2..0b018a3 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -1 +1 @@
-
shiweisuzhou
\ No newline at end of file
+shiweisuzhou
\ No newline at end of file
diff --git a/dist/js/467.005a7306.js.map b/dist/js/467.005a7306.js.map
deleted file mode 100644
index 5b6c7fe..0000000
--- a/dist/js/467.005a7306.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/467.005a7306.js","mappings":"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","sources":["webpack://shiweisuzhou/./src/views/User/ShoppingCart.vue","webpack://shiweisuzhou/src/views/User/ShoppingCart.vue","webpack://shiweisuzhou/./src/views/User/ShoppingCart.vue?5cfe","webpack://shiweisuzhou/./src/views/User/ShoppingCart.vue?8f0f"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"bg\"},[_c('div',[_c('div',{staticClass:\"order-products\",staticStyle:{\"padding\":\"0 20px\",\"background\":\"#f8f9fa\",\"border-top\":\"1px solid #eee\",\"border-bottom\":\"1px solid #eee\",\"margin-bottom\":\"20px\"}},[_c('div',{staticClass:\"product-item\"},[_c('div',{staticClass:\"product-select\"},[_c('el-checkbox',{on:{\"change\":_vm.handleSelectAll},model:{value:(_vm.selectAll),callback:function ($$v) {_vm.selectAll=$$v},expression:\"selectAll\"}},[_vm._v(\"全选\")])],1),_vm._m(0),_c('div',{staticClass:\"product-box\"},[_vm._v(\"单价(元)\")]),_c('div',{staticClass:\"product-quantity\"},[_vm._v(\"数量\")]),_c('div',{staticClass:\"product-box\"},[_vm._v(\"收货方式\")]),_c('div',{staticClass:\"product-box\"},[_vm._v(\"小计(元)\")]),_c('div',{staticClass:\"product-box\"},[_vm._v(\"操作\")])])]),_vm._l((_vm.list),function(shop){return _c('div',{key:shop.id,staticClass:\"order-card\"},[_c('div',{staticClass:\"order-header flex-between\"},[_c('div',{staticClass:\"product-select\"},[_c('el-checkbox',{on:{\"change\":function($event){return _vm.handleSelectShop(shop)}},model:{value:(shop.selected),callback:function ($$v) {_vm.$set(shop, \"selected\", $$v)},expression:\"shop.selected\"}},[_c('span',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\"全选\")])])],1),_c('div',{staticClass:\"product-details\"},[_c('div',{staticClass:\"product-name\"},[_vm._v(\"供应商名称:\"+_vm._s(shop.shop_name))])])]),_c('div',{staticClass:\"order-products\"},_vm._l((shop.goods),function(goods){return _c('div',{key:goods.id,staticClass:\"product-item\"},[_c('div',{staticClass:\"product-select\"},[_c('el-checkbox',{on:{\"change\":_vm.handleSelect},model:{value:(goods.selected),callback:function ($$v) {_vm.$set(goods, \"selected\", $$v)},expression:\"goods.selected\"}},[_c('span',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\"全选\")])])],1),_c('div',{staticClass:\"product-details flex-between\",staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.gotoDetail(goods.product.id)}}},[_c('img',{staticClass:\"product-image\",attrs:{\"src\":goods.product.headimg}}),_c('div',{staticClass:\"product-details\"},[_c('div',{staticClass:\"product-name\"},[_vm._v(_vm._s(goods.product.title))]),_c('div',{staticClass:\"product-spec\"},[_vm._v(_vm._s(goods.sku.sku_name))])])]),_c('div',{staticClass:\"product-box\"},[_vm._v(\" ¥\"+_vm._s((goods.sku.price / 100).toFixed(2))+\" \")]),_c('div',{staticClass:\"product-quantity\"},[_c('el-input-number',{attrs:{\"size\":\"small\",\"min\":1,\"step\":1},on:{\"change\":function($event){return _vm.handleNumChange(goods)}},model:{value:(goods.num),callback:function ($$v) {_vm.$set(goods, \"num\", $$v)},expression:\"goods.num\"}})],1),_c('div',{staticClass:\"product-box\"},[_vm._v(\"邮寄\")]),_c('div',{staticClass:\"product-box product-price\"},[_vm._v(\" ¥\"+_vm._s(((goods.num * goods.sku.price) / 100).toFixed(2))+\" \")]),_c('div',{staticClass:\"product-box\"},[_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.delItem(goods)}}},[_vm._v(\"删除\")])],1)])}),0)])}),(_vm.list.length <= 0)?_c('el-empty',{attrs:{\"description\":\"暂无数据\"}}):_vm._e(),_c('div',{staticClass:\"cart-footer\"},[_c('el-button',{attrs:{\"disabled\":_vm.selectedRows.length === 0,\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":_vm.deleteSelected}},[_vm._v(\" 删除选中商品 \")]),_c('div',{staticClass:\"flex-between\"},[_c('div',{staticClass:\"selected-info\"},[_vm._v(\" 已选商品 \"),_c('span',{staticClass:\"import-text\"},[_vm._v(_vm._s(_vm.selectedRows.length))]),_vm._v(\" 件 总价: \"),_c('span',{staticClass:\"import-text total-price\"},[_vm._v(_vm._s(_vm.totalPrice))]),_vm._v(\" (不含运费) \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":_vm.selectedRows.length === 0},on:{\"click\":_vm.handleCheckout}},[_vm._v(\"去结算\")])],1)],1)],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"product-details\"},[_c('div',{staticClass:\"product-name\"},[_vm._v(\"商品\")])])\n}]\n\nexport { render, staticRenderFns }","\r\n \r\n
\r\n
\r\n
\r\n
\r\n 全选\r\n
\r\n
\r\n
单价(元)
\r\n
数量
\r\n
收货方式
\r\n
小计(元)
\r\n
操作
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n 全选\r\n
\r\n
\r\n
![]()
\r\n
\r\n
{{ goods.product.title }}
\r\n
{{ goods.sku.sku_name }}
\r\n
\r\n
\r\n
\r\n ¥{{ (goods.sku.price / 100).toFixed(2) }}\r\n
\r\n
\r\n \r\n
\r\n
邮寄
\r\n
\r\n ¥{{ ((goods.num * goods.sku.price) / 100).toFixed(2) }}\r\n
\r\n
\r\n 删除\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\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!./ShoppingCart.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!./ShoppingCart.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShoppingCart.vue?vue&type=template&id=43266500&scoped=true\"\nimport script from \"./ShoppingCart.vue?vue&type=script&lang=js\"\nexport * from \"./ShoppingCart.vue?vue&type=script&lang=js\"\nimport style0 from \"./ShoppingCart.vue?vue&type=style&index=0&id=43266500&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 \"43266500\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","staticStyle","on","handleSelectAll","model","value","selectAll","callback","$$v","expression","_v","_m","_l","list","shop","key","id","$event","handleSelectShop","selected","$set","_s","shop_name","goods","handleSelect","gotoDetail","product","attrs","headimg","title","sku","sku_name","price","toFixed","handleNumChange","num","delItem","length","_e","selectedRows","deleteSelected","totalPrice","handleCheckout","staticRenderFns","name","data","activeTab","currentPage","pageSize","mounted","getList","computed","rows","forEach","v","push","methods","mapActions","$router","console","log","orderItems","map","quantity","supplierGroups","item","supplier","supplier_name","submitOrderData","from","groups","post","then","res","resData","currentSelectGoodsIds","includes","judgeSelectAll","val","t","flag","some","x","every","ids","join","handleSizeChange","handleCurrentChange","payOrder","orderId","$message","message","type","component"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/js/467.005a7306.js b/dist/js/630.d2996537.js
similarity index 80%
rename from dist/js/467.005a7306.js
rename to dist/js/630.d2996537.js
index 5fdcf19..a6c9441 100644
--- a/dist/js/467.005a7306.js
+++ b/dist/js/630.d2996537.js
@@ -1,2 +1,2 @@
-"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[467],{4848:function(t,e,s){s.r(e),s.d(e,{default:function(){return n}});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"bg"},[e("div",[e("div",{staticClass:"order-products",staticStyle:{padding:"0 20px",background:"#f8f9fa","border-top":"1px solid #eee","border-bottom":"1px solid #eee","margin-bottom":"20px"}},[e("div",{staticClass:"product-item"},[e("div",{staticClass:"product-select"},[e("el-checkbox",{on:{change:t.handleSelectAll},model:{value:t.selectAll,callback:function(e){t.selectAll=e},expression:"selectAll"}},[t._v("全选")])],1),t._m(0),e("div",{staticClass:"product-box"},[t._v("单价(元)")]),e("div",{staticClass:"product-quantity"},[t._v("数量")]),e("div",{staticClass:"product-box"},[t._v("收货方式")]),e("div",{staticClass:"product-box"},[t._v("小计(元)")]),e("div",{staticClass:"product-box"},[t._v("操作")])])]),t._l(t.list,function(s){return e("div",{key:s.id,staticClass:"order-card"},[e("div",{staticClass:"order-header flex-between"},[e("div",{staticClass:"product-select"},[e("el-checkbox",{on:{change:function(e){return t.handleSelectShop(s)}},model:{value:s.selected,callback:function(e){t.$set(s,"selected",e)},expression:"shop.selected"}},[e("span",{staticStyle:{opacity:"0"}},[t._v("全选")])])],1),e("div",{staticClass:"product-details"},[e("div",{staticClass:"product-name"},[t._v("供应商名称:"+t._s(s.shop_name))])])]),e("div",{staticClass:"order-products"},t._l(s.goods,function(s){return e("div",{key:s.id,staticClass:"product-item"},[e("div",{staticClass:"product-select"},[e("el-checkbox",{on:{change:t.handleSelect},model:{value:s.selected,callback:function(e){t.$set(s,"selected",e)},expression:"goods.selected"}},[e("span",{staticStyle:{opacity:"0"}},[t._v("全选")])])],1),e("div",{staticClass:"product-details flex-between",staticStyle:{cursor:"pointer"},on:{click:function(e){return t.gotoDetail(s.product.id)}}},[e("img",{staticClass:"product-image",attrs:{src:s.product.headimg}}),e("div",{staticClass:"product-details"},[e("div",{staticClass:"product-name"},[t._v(t._s(s.product.title))]),e("div",{staticClass:"product-spec"},[t._v(t._s(s.sku.sku_name))])])]),e("div",{staticClass:"product-box"},[t._v(" ¥"+t._s((s.sku.price/100).toFixed(2))+" ")]),e("div",{staticClass:"product-quantity"},[e("el-input-number",{attrs:{size:"small",min:1,step:1},on:{change:function(e){return t.handleNumChange(s)}},model:{value:s.num,callback:function(e){t.$set(s,"num",e)},expression:"goods.num"}})],1),e("div",{staticClass:"product-box"},[t._v("邮寄")]),e("div",{staticClass:"product-box product-price"},[t._v(" ¥"+t._s((s.num*s.sku.price/100).toFixed(2))+" ")]),e("div",{staticClass:"product-box"},[e("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(e){return t.delItem(s)}}},[t._v("删除")])],1)])}),0)])}),t.list.length<=0?e("el-empty",{attrs:{description:"暂无数据"}}):t._e(),e("div",{staticClass:"cart-footer"},[e("el-button",{attrs:{disabled:0===t.selectedRows.length,type:"text",size:"mini"},on:{click:t.deleteSelected}},[t._v(" 删除选中商品 ")]),e("div",{staticClass:"flex-between"},[e("div",{staticClass:"selected-info"},[t._v(" 已选商品 "),e("span",{staticClass:"import-text"},[t._v(t._s(t.selectedRows.length))]),t._v(" 件 总价: "),e("span",{staticClass:"import-text total-price"},[t._v(t._s(t.totalPrice))]),t._v(" (不含运费) ")]),e("el-button",{attrs:{type:"primary",disabled:0===t.selectedRows.length},on:{click:t.handleCheckout}},[t._v("去结算")])],1)],1)],2)])},l=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"product-details"},[e("div",{staticClass:"product-name"},[t._v("商品")])])}],c=(s(4114),s(8111),s(1148),s(7588),s(1701),s(3579),s(3518)),a={name:"OrderList",data(){return{activeTab:"all",currentPage:1,pageSize:10,list:[],selectAll:!1}},mounted(){this.getList()},computed:{selectedRows(){let t=[];return this.list.forEach(e=>{e.goods.forEach(e=>{e.selected&&t.push(e)})}),t},totalPrice(){let t=0;return this.selectedRows.forEach(e=>{t+=e.num*e.sku.price/100}),t.toFixed(2)}},methods:{...(0,c.i0)(["submitOrderData"]),gotoDetail(t){this.$router.push("/Detail/"+t)},handleCheckout(){console.log(this.selectedRows);const t=this.selectedRows.map(t=>({product:t.product,sku:t.sku,quantity:t.num})),e={};t.forEach(t=>{const s=t.product.supplier_name;e[s]||(e[s]=[]),e[s].push(t)}),this.submitOrderData({from:"cart",groups:e}),this.$router.push("/Order")},getList(){this.post({},"/api/cart/get_list",!0).then(t=>{let e=t.data||[],s=this.selectedRows.map(t=>t.id);e.forEach(t=>{t.selected=!1,t.goods.forEach(t=>{t.selected=s.includes(t.id)})}),this.list=e,this.judgeSelectAll()})},handleSelectAll(t){t?this.list.forEach(t=>{t.goods.forEach(t=>{t&&t.product&&t.sku&&"off"==t.sku.flag?t.selected=!1:t.selected=!0})}):this.list.forEach(t=>{t.selected=!1,t.goods.forEach(t=>{t.selected=!1})}),this.judgeSelectAll()},handleSelectShop(t){t.selected,t.goods.forEach(t=>{t.selected=!1}),this.judgeSelectAll()},handleSelect(){this.judgeSelectAll()},judgeSelectAll(){this.list.forEach(t=>{t.goods.some(t=>"on"==t.sku.flag)?t.goods.some(t=>"on"==t.sku.flag&&!t.selected)?t.selected=!1:t.selected=!0:t.selected=!1}),this.list.every(t=>t.selected)&&this.list.length>0?this.selectAll=!0:this.selectAll=!1},handleNumChange(t){this.post({id:t.id,num:t.num},"/api/cart/update_sku").then(t=>{})},delItem(t){this.post({id:t.id},"/api/cart/del_sku").then(t=>{this.getList()})},deleteSelected(){let t=this.selectedRows.map(t=>t.id).join(",");this.post({id:t},"/api/cart/del_sku").then(t=>{this.getList()})},handleSizeChange(t){this.pageSize=t},handleCurrentChange(t){this.currentPage=t},payOrder(t){this.$message({message:`订单 ${t} 去付款`,type:"info"})}}},d=a,o=s(1656),r=(0,o.A)(d,i,l,!1,null,"43266500",null),n=r.exports}}]);
-//# sourceMappingURL=467.005a7306.js.map
\ No newline at end of file
+"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[630],{2630:function(t,e,s){s.r(e),s.d(e,{default:function(){return n}});var l=function(){var t=this,e=t._self._c;return e("div",{staticClass:"bg"},[e("div",[e("div",{staticClass:"order-products",staticStyle:{padding:"0 20px",background:"#f8f9fa","border-top":"1px solid #eee","border-bottom":"1px solid #eee","margin-bottom":"20px"}},[e("div",{staticClass:"product-item"},[e("div",{staticClass:"product-select"},[e("el-checkbox",{on:{change:t.handleSelectAll},model:{value:t.selectAll,callback:function(e){t.selectAll=e},expression:"selectAll"}},[t._v("全选")])],1),t._m(0),e("div",{staticClass:"product-box"},[t._v("单价(元)")]),e("div",{staticClass:"product-quantity"},[t._v("数量")]),e("div",{staticClass:"product-box"},[t._v("收货方式")]),e("div",{staticClass:"product-box"},[t._v("小计(元)")]),e("div",{staticClass:"product-box"},[t._v("操作")])])]),t._l(t.list,function(s){return e("div",{key:s.id,staticClass:"order-card"},[e("div",{staticClass:"order-header flex-between"},[e("div",{staticClass:"product-select"},[e("el-checkbox",{on:{change:function(e){return t.handleSelectShop(s)}},model:{value:s.selected,callback:function(e){t.$set(s,"selected",e)},expression:"shop.selected"}},[e("span",{staticStyle:{opacity:"0"}},[t._v("全选")])])],1),e("div",{staticClass:"product-details"},[e("div",{staticClass:"product-name"},[t._v("供应商名称:"+t._s(s.shop_name))])])]),e("div",{staticClass:"order-products"},t._l(s.goods,function(s){return e("div",{key:s.id,staticClass:"product-item"},[e("div",{staticClass:"product-select"},[e("el-checkbox",{on:{change:t.handleSelect},model:{value:s.selected,callback:function(e){t.$set(s,"selected",e)},expression:"goods.selected"}},[e("span",{staticStyle:{opacity:"0"}},[t._v("全选")])])],1),e("div",{staticClass:"product-details flex-between",staticStyle:{cursor:"pointer"},on:{click:function(e){return t.gotoDetail(s.product.id)}}},[e("img",{staticClass:"product-image",attrs:{src:s.product.headimg}}),e("div",{staticClass:"product-details"},[e("div",{staticClass:"product-name"},[t._v(t._s(s.product.title))]),e("div",{staticClass:"product-spec"},[t._v(t._s(s.sku.sku_name))])])]),e("div",{staticClass:"product-box"},[t._v(" ¥"+t._s((s.sku.price/100).toFixed(2))+" ")]),e("div",{staticClass:"product-quantity"},[e("el-input-number",{attrs:{size:"small",min:1,step:1},on:{change:function(e){return t.handleNumChange(s)}},model:{value:s.num,callback:function(e){t.$set(s,"num",e)},expression:"goods.num"}})],1),e("div",{staticClass:"product-box"},[t._v("邮寄")]),e("div",{staticClass:"product-box product-price"},[t._v(" ¥"+t._s((s.num*s.sku.price/100).toFixed(2))+" ")]),e("div",{staticClass:"product-box"},[e("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(e){return t.delItem(s)}}},[t._v("删除")])],1)])}),0)])}),t.list.length<=0?e("el-empty",{attrs:{description:"暂无数据"}}):t._e(),e("div",{staticClass:"cart-footer"},[e("el-button",{attrs:{disabled:0===t.selectedRows.length,type:"text",size:"mini"},on:{click:t.deleteSelected}},[t._v(" 删除选中商品 ")]),e("div",{staticClass:"flex-between"},[e("div",{staticClass:"selected-info"},[t._v(" 已选商品 "),e("span",{staticClass:"import-text"},[t._v(t._s(t.selectedRows.length))]),t._v(" 件 总价: "),e("span",{staticClass:"import-text total-price"},[t._v(t._s(t.totalPrice))]),t._v(" (不含运费) ")]),e("el-button",{attrs:{type:"primary",disabled:0===t.selectedRows.length},on:{click:t.handleCheckout}},[t._v("去结算")])],1)],1)],2)])},i=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"product-details"},[e("div",{staticClass:"product-name"},[t._v("商品")])])}],c=(s(4114),s(8111),s(1148),s(7588),s(1701),s(3579),s(3518)),a={name:"OrderList",data(){return{activeTab:"all",currentPage:1,pageSize:10,list:[],selectAll:!1}},mounted(){this.getList()},computed:{selectedRows(){let t=[];return this.list.forEach(e=>{e.goods.forEach(e=>{e.selected&&t.push(e)})}),t},totalPrice(){let t=0;return this.selectedRows.forEach(e=>{t+=e.num*e.sku.price/100}),t.toFixed(2)}},methods:{...(0,c.i0)(["submitOrderData"]),gotoDetail(t){this.$router.push("/Detail/"+t)},handleCheckout(){console.log(this.selectedRows);const t=this.selectedRows.map(t=>({product:t.product,sku:t.sku,quantity:t.num})),e={};t.forEach(t=>{const s=t.product.supplier_name;e[s]||(e[s]=[]),e[s].push(t)}),this.submitOrderData({from:"cart",groups:e}),this.$router.push("/Order")},getList(){this.post({},"/api/cart/get_list",!0).then(t=>{let e=t.data||[],s=this.selectedRows.map(t=>t.id);e.forEach(t=>{t.selected=!1,t.goods.forEach(t=>{t.selected=s.includes(t.id)})}),this.list=e,this.judgeSelectAll()})},handleSelectAll(t){t?this.list.forEach(t=>{t.goods.forEach(t=>{t&&t.product&&t.sku&&"off"==t.sku.flag?t.selected=!1:t.selected=!0})}):this.list.forEach(t=>{t.selected=!1,t.goods.forEach(t=>{t.selected=!1})}),this.judgeSelectAll()},handleSelectShop(t){t.selected?t.goods.forEach(t=>{t.selected=!0}):t.goods.forEach(t=>{t.selected=!1}),this.judgeSelectAll()},handleSelect(){this.judgeSelectAll()},judgeSelectAll(){this.list.forEach(t=>{t.goods.some(t=>"on"==t.sku.flag)?t.goods.some(t=>"on"==t.sku.flag&&!t.selected)?t.selected=!1:t.selected=!0:t.selected=!1}),this.list.every(t=>t.selected)&&this.list.length>0?this.selectAll=!0:this.selectAll=!1},handleNumChange(t){this.post({id:t.id,num:t.num},"/api/cart/update_sku").then(t=>{})},delItem(t){this.post({id:t.id},"/api/cart/del_sku").then(t=>{this.getList()})},deleteSelected(){let t=this.selectedRows.map(t=>t.id).join(",");this.post({id:t},"/api/cart/del_sku").then(t=>{this.getList()})},handleSizeChange(t){this.pageSize=t},handleCurrentChange(t){this.currentPage=t},payOrder(t){this.$message({message:`订单 ${t} 去付款`,type:"info"})}}},d=a,o=s(1656),r=(0,o.A)(d,l,i,!1,null,"273f7f6b",null),n=r.exports}}]);
+//# sourceMappingURL=630.d2996537.js.map
\ No newline at end of file
diff --git a/dist/js/630.d2996537.js.map b/dist/js/630.d2996537.js.map
new file mode 100644
index 0000000..8f51170
--- /dev/null
+++ b/dist/js/630.d2996537.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/630.d2996537.js","mappings":"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","sources":["webpack://shiweisuzhou/./src/views/User/ShoppingCart.vue","webpack://shiweisuzhou/src/views/User/ShoppingCart.vue","webpack://shiweisuzhou/./src/views/User/ShoppingCart.vue?5cfe","webpack://shiweisuzhou/./src/views/User/ShoppingCart.vue?8f0f"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"bg\"},[_c('div',[_c('div',{staticClass:\"order-products\",staticStyle:{\"padding\":\"0 20px\",\"background\":\"#f8f9fa\",\"border-top\":\"1px solid #eee\",\"border-bottom\":\"1px solid #eee\",\"margin-bottom\":\"20px\"}},[_c('div',{staticClass:\"product-item\"},[_c('div',{staticClass:\"product-select\"},[_c('el-checkbox',{on:{\"change\":_vm.handleSelectAll},model:{value:(_vm.selectAll),callback:function ($$v) {_vm.selectAll=$$v},expression:\"selectAll\"}},[_vm._v(\"全选\")])],1),_vm._m(0),_c('div',{staticClass:\"product-box\"},[_vm._v(\"单价(元)\")]),_c('div',{staticClass:\"product-quantity\"},[_vm._v(\"数量\")]),_c('div',{staticClass:\"product-box\"},[_vm._v(\"收货方式\")]),_c('div',{staticClass:\"product-box\"},[_vm._v(\"小计(元)\")]),_c('div',{staticClass:\"product-box\"},[_vm._v(\"操作\")])])]),_vm._l((_vm.list),function(shop){return _c('div',{key:shop.id,staticClass:\"order-card\"},[_c('div',{staticClass:\"order-header flex-between\"},[_c('div',{staticClass:\"product-select\"},[_c('el-checkbox',{on:{\"change\":function($event){return _vm.handleSelectShop(shop)}},model:{value:(shop.selected),callback:function ($$v) {_vm.$set(shop, \"selected\", $$v)},expression:\"shop.selected\"}},[_c('span',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\"全选\")])])],1),_c('div',{staticClass:\"product-details\"},[_c('div',{staticClass:\"product-name\"},[_vm._v(\"供应商名称:\"+_vm._s(shop.shop_name))])])]),_c('div',{staticClass:\"order-products\"},_vm._l((shop.goods),function(goods){return _c('div',{key:goods.id,staticClass:\"product-item\"},[_c('div',{staticClass:\"product-select\"},[_c('el-checkbox',{on:{\"change\":_vm.handleSelect},model:{value:(goods.selected),callback:function ($$v) {_vm.$set(goods, \"selected\", $$v)},expression:\"goods.selected\"}},[_c('span',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\"全选\")])])],1),_c('div',{staticClass:\"product-details flex-between\",staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.gotoDetail(goods.product.id)}}},[_c('img',{staticClass:\"product-image\",attrs:{\"src\":goods.product.headimg}}),_c('div',{staticClass:\"product-details\"},[_c('div',{staticClass:\"product-name\"},[_vm._v(_vm._s(goods.product.title))]),_c('div',{staticClass:\"product-spec\"},[_vm._v(_vm._s(goods.sku.sku_name))])])]),_c('div',{staticClass:\"product-box\"},[_vm._v(\" ¥\"+_vm._s((goods.sku.price / 100).toFixed(2))+\" \")]),_c('div',{staticClass:\"product-quantity\"},[_c('el-input-number',{attrs:{\"size\":\"small\",\"min\":1,\"step\":1},on:{\"change\":function($event){return _vm.handleNumChange(goods)}},model:{value:(goods.num),callback:function ($$v) {_vm.$set(goods, \"num\", $$v)},expression:\"goods.num\"}})],1),_c('div',{staticClass:\"product-box\"},[_vm._v(\"邮寄\")]),_c('div',{staticClass:\"product-box product-price\"},[_vm._v(\" ¥\"+_vm._s(((goods.num * goods.sku.price) / 100).toFixed(2))+\" \")]),_c('div',{staticClass:\"product-box\"},[_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.delItem(goods)}}},[_vm._v(\"删除\")])],1)])}),0)])}),(_vm.list.length <= 0)?_c('el-empty',{attrs:{\"description\":\"暂无数据\"}}):_vm._e(),_c('div',{staticClass:\"cart-footer\"},[_c('el-button',{attrs:{\"disabled\":_vm.selectedRows.length === 0,\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":_vm.deleteSelected}},[_vm._v(\" 删除选中商品 \")]),_c('div',{staticClass:\"flex-between\"},[_c('div',{staticClass:\"selected-info\"},[_vm._v(\" 已选商品 \"),_c('span',{staticClass:\"import-text\"},[_vm._v(_vm._s(_vm.selectedRows.length))]),_vm._v(\" 件 总价: \"),_c('span',{staticClass:\"import-text total-price\"},[_vm._v(_vm._s(_vm.totalPrice))]),_vm._v(\" (不含运费) \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":_vm.selectedRows.length === 0},on:{\"click\":_vm.handleCheckout}},[_vm._v(\"去结算\")])],1)],1)],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"product-details\"},[_c('div',{staticClass:\"product-name\"},[_vm._v(\"商品\")])])\n}]\n\nexport { render, staticRenderFns }","\r\n \r\n
\r\n
\r\n
\r\n
\r\n 全选\r\n
\r\n
\r\n
单价(元)
\r\n
数量
\r\n
收货方式
\r\n
小计(元)
\r\n
操作
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n 全选\r\n
\r\n
\r\n
![]()
\r\n
\r\n
{{ goods.product.title }}
\r\n
{{ goods.sku.sku_name }}
\r\n
\r\n
\r\n
\r\n ¥{{ (goods.sku.price / 100).toFixed(2) }}\r\n
\r\n
\r\n \r\n
\r\n
邮寄
\r\n
\r\n ¥{{ ((goods.num * goods.sku.price) / 100).toFixed(2) }}\r\n
\r\n
\r\n 删除\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\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!./ShoppingCart.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!./ShoppingCart.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShoppingCart.vue?vue&type=template&id=273f7f6b&scoped=true\"\nimport script from \"./ShoppingCart.vue?vue&type=script&lang=js\"\nexport * from \"./ShoppingCart.vue?vue&type=script&lang=js\"\nimport style0 from \"./ShoppingCart.vue?vue&type=style&index=0&id=273f7f6b&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 \"273f7f6b\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","staticStyle","on","handleSelectAll","model","value","selectAll","callback","$$v","expression","_v","_m","_l","list","shop","key","id","$event","handleSelectShop","selected","$set","_s","shop_name","goods","handleSelect","gotoDetail","product","attrs","headimg","title","sku","sku_name","price","toFixed","handleNumChange","num","delItem","length","_e","selectedRows","deleteSelected","totalPrice","handleCheckout","staticRenderFns","name","data","activeTab","currentPage","pageSize","mounted","getList","computed","rows","forEach","v","push","methods","mapActions","$router","console","log","orderItems","map","quantity","supplierGroups","item","supplier","supplier_name","submitOrderData","from","groups","post","then","res","resData","currentSelectGoodsIds","includes","judgeSelectAll","val","t","flag","some","x","every","ids","join","handleSizeChange","handleCurrentChange","payOrder","orderId","$message","message","type","component"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/js/831.a64e98d7.js b/dist/js/831.a64e98d7.js
deleted file mode 100644
index 4e8f17f..0000000
--- a/dist/js/831.a64e98d7.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[831],{7831:function(t,e,n){n.r(e),n.d(e,{default:function(){return r}});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"announcement-container"},[e("div",{staticClass:"page-title"},[t._v("详情")]),e("div",{staticClass:"detail",domProps:{innerHTML:t._s(t.util.formateRichText(t.content))}})])},s=[],a={name:"Announcement",data(){return{content:{}}},created(){this.getAnnouncement()},methods:{getAnnouncement(){"notice"==this.$route.query.type?this.get({id:this.$route.query.id},"/api/anncmnt/getAnncmntById").then(t=>{1==t.code&&(this.content=t.data.content)}):"footer"==this.$route.query.type&&this.get({id:this.$route.query.id},"/api/navigation/getNavigationById").then(t=>{this.content=t.data.content})}}},o=a,u=n(1656),c=(0,u.A)(o,i,s,!1,null,"61ff5634",null),r=c.exports}}]);
-//# sourceMappingURL=831.a64e98d7.js.map
\ No newline at end of file
diff --git a/dist/js/831.a64e98d7.js.map b/dist/js/831.a64e98d7.js.map
deleted file mode 100644
index 95590bc..0000000
--- a/dist/js/831.a64e98d7.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/831.a64e98d7.js","mappings":"oKAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACJ,EAAIK,GAAG,QAAQH,EAAG,MAAM,CAACE,YAAY,SAASE,SAAS,CAAC,UAAYN,EAAIO,GAAGP,EAAIQ,KAAKC,gBAAgBT,EAAIU,cACjQ,EACIC,EAAkB,GCStB,GACAC,KAAA,eACAC,IAAAA,GACA,OACAH,QAAA,GAEA,EACAI,OAAAA,GAEA,KAAAC,iBACA,EACAC,QAAA,CAEAD,eAAAA,GACA,eAAAE,OAAAC,MAAAC,KACA,KAAAC,IACA,CACAC,GAAA,KAAAJ,OAAAC,MAAAG,IAEA,+BACAC,KAAAC,IACA,GAAAA,EAAAC,OACA,KAAAd,QAAAa,EAAAV,KAAAH,WAGA,eAAAO,OAAAC,MAAAC,MACA,KAAAC,IACA,CACAC,GAAA,KAAAJ,OAAAC,MAAAG,IAEA,qCACAC,KAAAC,IACA,KAAAb,QAAAa,EAAAV,KAAAH,SAGA,IC9CoQ,I,UCQhQe,GAAY,OACd,EACA1B,EACAY,GACA,EACA,KACA,WACA,MAIF,EAAec,E","sources":["webpack://shiweisuzhou/./src/views/notice/noticeDetail.vue","webpack://shiweisuzhou/src/views/notice/noticeDetail.vue","webpack://shiweisuzhou/./src/views/notice/noticeDetail.vue?b35e","webpack://shiweisuzhou/./src/views/notice/noticeDetail.vue?4a16"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"announcement-container\"},[_c('div',{staticClass:\"page-title\"},[_vm._v(\"详情\")]),_c('div',{staticClass:\"detail\",domProps:{\"innerHTML\":_vm._s(_vm.util.formateRichText(_vm.content))}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n
详情
\r\n\r\n \r\n
\r\n
\r\n\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!./noticeDetail.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!./noticeDetail.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./noticeDetail.vue?vue&type=template&id=61ff5634&scoped=true\"\nimport script from \"./noticeDetail.vue?vue&type=script&lang=js\"\nexport * from \"./noticeDetail.vue?vue&type=script&lang=js\"\nimport style0 from \"./noticeDetail.vue?vue&type=style&index=0&id=61ff5634&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 \"61ff5634\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","_v","domProps","_s","util","formateRichText","content","staticRenderFns","name","data","created","getAnnouncement","methods","$route","query","type","get","id","then","res","code","component"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/js/989.ec009c2e.js b/dist/js/989.ec009c2e.js
new file mode 100644
index 0000000..0b6c1b0
--- /dev/null
+++ b/dist/js/989.ec009c2e.js
@@ -0,0 +1,2 @@
+"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[989],{3989:function(t,e,n){n.r(e),n.d(e,{default:function(){return r}});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"announcement-container"},[e("div",{staticClass:"page-title"},[t._v(t._s(t.content.title))]),e("div",{staticClass:"detail",domProps:{innerHTML:t._s(t.util.formateRichText(t.content.content))}})])},s=[],a={name:"Announcement",data(){return{content:{}}},created(){this.getAnnouncement()},methods:{getAnnouncement(){"notice"==this.$route.query.type?this.get({id:this.$route.query.id},"/api/anncmnt/getAnncmntById").then(t=>{1==t.code&&(this.content=t.data)}):"footer"==this.$route.query.type&&this.get({id:this.$route.query.id},"/api/navigation/getNavigationById").then(t=>{this.content=t.data})}}},o=a,u=n(1656),c=(0,u.A)(o,i,s,!1,null,"5252b9be",null),r=c.exports}}]);
+//# sourceMappingURL=989.ec009c2e.js.map
\ No newline at end of file
diff --git a/dist/js/989.ec009c2e.js.map b/dist/js/989.ec009c2e.js.map
new file mode 100644
index 0000000..6a0aa2d
--- /dev/null
+++ b/dist/js/989.ec009c2e.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/989.ec009c2e.js","mappings":"oKAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACJ,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,QAAQC,UAAUN,EAAG,MAAM,CAACE,YAAY,SAASK,SAAS,CAAC,UAAYT,EAAIM,GAAGN,EAAIU,KAAKC,gBAAgBX,EAAIO,QAAQA,cAC9R,EACIK,EAAkB,GCStB,GACAC,KAAA,eACAC,IAAAA,GACA,OACAP,QAAA,GAEA,EACAQ,OAAAA,GAEA,KAAAC,iBACA,EACAC,QAAA,CAEAD,eAAAA,GACA,eAAAE,OAAAC,MAAAC,KACA,KAAAC,IACA,CACAC,GAAA,KAAAJ,OAAAC,MAAAG,IAEA,+BACAC,KAAAC,IACA,GAAAA,EAAAC,OACA,KAAAlB,QAAAiB,EAAAV,QAGA,eAAAI,OAAAC,MAAAC,MACA,KAAAC,IACA,CACAC,GAAA,KAAAJ,OAAAC,MAAAG,IAEA,qCACAC,KAAAC,IACA,KAAAjB,QAAAiB,EAAAV,MAGA,IC9CoQ,I,UCQhQY,GAAY,OACd,EACA3B,EACAa,GACA,EACA,KACA,WACA,MAIF,EAAec,E","sources":["webpack://shiweisuzhou/./src/views/notice/noticeDetail.vue","webpack://shiweisuzhou/src/views/notice/noticeDetail.vue","webpack://shiweisuzhou/./src/views/notice/noticeDetail.vue?b35e","webpack://shiweisuzhou/./src/views/notice/noticeDetail.vue?4a16"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"announcement-container\"},[_c('div',{staticClass:\"page-title\"},[_vm._v(_vm._s(_vm.content.title))]),_c('div',{staticClass:\"detail\",domProps:{\"innerHTML\":_vm._s(_vm.util.formateRichText(_vm.content.content))}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n
{{ content.title }}
\r\n\r\n \r\n
\r\n
\r\n\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!./noticeDetail.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!./noticeDetail.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./noticeDetail.vue?vue&type=template&id=5252b9be&scoped=true\"\nimport script from \"./noticeDetail.vue?vue&type=script&lang=js\"\nexport * from \"./noticeDetail.vue?vue&type=script&lang=js\"\nimport style0 from \"./noticeDetail.vue?vue&type=style&index=0&id=5252b9be&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 \"5252b9be\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","staticClass","_v","_s","content","title","domProps","util","formateRichText","staticRenderFns","name","data","created","getAnnouncement","methods","$route","query","type","get","id","then","res","code","component"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/js/app.7dbbe996.js b/dist/js/app.5bc32463.js
similarity index 96%
rename from dist/js/app.7dbbe996.js
rename to dist/js/app.5bc32463.js
index 926b70e..1237b2c 100644
--- a/dist/js/app.7dbbe996.js
+++ b/dist/js/app.5bc32463.js
@@ -1,2 +1,2 @@
-(function(){"use strict";var e={3153:function(e,t,n){e.exports=n.p+"img/logo.bb511aff.png"},6968:function(e,t,n){n(4114);var o=n(6674),a=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()],1)},r=[],i=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"},on:{click:function(t){e.searchText=""}}})])],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),e.hotList.length>0?t("div",{staticClass:"hot-tags"},[t("span",[e._v("热门搜索:")]),e._l(e.hotList,function(n,o){return t("div",{key:o,staticClass:"hot-tag",on:{click:function(t){e.searchText=n.name,e.handleSearch()}}},[e._v(" "+e._s(n.name)+" ")])})],2):e._e()],1),t("div",{staticClass:"phone-entry"},[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("img",{staticStyle:{"margin-right":"5px"},attrs:{src:"https://static.ticket.sz-trip.com/shiweisuzhou/pc/login/phone.png",alt:"联系电话"}}),t("span",[e._v("0512-680541")]),(e.cartTotalCount,e._e())])])])]),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:"",hotList:[]}},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(),this.post({offset:0,limit:5},"/api/search/hot").then(e=>{this.hotList=e.data})},methods:{...(0,c.i0)(["fetchCategories","logout"]),handleSearch(){this.searchText.trim()&&(this.$store.commit("setSearchText",this.searchText),"/ProductList"===this.$route.path||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("退出登录成功"),localStorage.setItem("redirectPath",this.$route.path),this.$router.push("/Login")}).catch(e=>{this.$message.error("退出失败:"+(e.message||"未知错误"))})}).catch(()=>{})}}},u=l,d=n(1656),p=(0,d.A)(u,i,s,!1,null,"4f75d8c8",null),h=p.exports,m=function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-container"},[t("div",{staticClass:"footer-top"},[e._l(e.nonQrcodeColumns,function(n,o){return t("div",{key:n.id,staticClass:"footer-column"},[t("h3",[e._v(e._s(n.title))]),t("ul",e._l(n.list,function(n,a){return t("li",{key:a,style:{cursor:o<4?"pointer":""},on:{click:function(t){o<4&&e.gotoDetail(n)}}},[e._v(" "+e._s(n.title)+" ")])}),0)])}),t("div",{staticClass:"qrcode-group"},e._l(e.qrcodeColumn.list,function(n,o){return t("div",{key:o,staticClass:"qrcode-item"},[t("img",{staticStyle:{width:"100px",height:"100px"},attrs:{src:e.util.showImg(n.image)}}),t("p",[e._v(e._s(n.title))])])}),0)],2),e._m(0)])},f=[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=(n(8111),n(2489),n(116),n(7588),{name:"Footer",data(){return{list:[{id:1,title:"关于我们",list:[]},{id:2,title:"新手上路",list:[]},{id:5,title:"交易流程",list:[]},{id:3,title:"常见问题",list:[]},{id:6,title:"联系方式",list:[]},{id:4,title:"二维码推荐",list:[]}]}},computed:{nonQrcodeColumns(){return this.list.filter(e=>"二维码推荐"!==e.title)},qrcodeColumn(){return this.list.find(e=>"二维码推荐"===e.title)||{list:[]}}},mounted(){this.list.forEach(e=>{this.get({type_id:e.id},"/api/navigation/getNavigationByTypeList").then(t=>{e.list=t.data})})},methods:{gotoDetail(e){e.link_url?window.location.href=e.link_url:this.$router.push(`/NoticeDetail?type=footer&id=${e.id}`)}}}),v=g,b=(0,d.A)(v,m,f,!1,null,"3080ae3e",null),C=b.exports,y=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.$store.getters.getCartTotalCount}},[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("回到顶部")])])])},k=[],T=n(5131);o["default"].use(c.Ay);var w=new c.Ay.Store({plugins:[(0,T.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:"",orderData:null},mutations:{setOrderData(e,t){e.orderData=t},clearOrderData(e){e.orderData=null},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")},UPDATE_CART_TOTAL_COUNT(e,t){e.cart.totalCount=t},setSearchText(e,t){e.searchText=t}},actions:{submitOrderData({commit:e},t){e("setOrderData",t)},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({dispatch:e},t){return o["default"].prototype.post({sku_id:t.id,num:t.quantity||1},"/api/cart/add_sku").then(t=>{if(t)return o["default"].prototype.$message.success("购物车添加成功!"),e("fetchCartCount")}).catch(e=>{throw console.error("添加到购物车请求失败",e),e})},fetchCartCount({commit:e,state:t}){return t.user.token?o["default"].prototype.post({},"/api/cart/get_count").then(t=>(console.log("购物车数量接口返回",t),1==t.code&&e("UPDATE_CART_TOTAL_COUNT",t.data),t.data)).catch(e=>{throw console.error("获取购物车数量失败",e),e}):(e("UPDATE_CART_TOTAL_COUNT",0),Promise.resolve(0))},removeFromCart({dispatch:e},t){return o["default"].prototype.post({sku_id:t},"/api/cart/remove_sku").then(()=>e("fetchCartCount")).catch(e=>{throw console.error("删除购物车商品失败",e),e})},updateCartItemQuantity({dispatch:e},{productId:t,quantity:n}){return o["default"].prototype.post({sku_id:t,num:n},"/api/cart/add_sku").then(()=>e("fetchCartCount")).catch(e=>{throw console.error("更新购物车商品数量失败",e),e})},clearCart({dispatch:e}){return o["default"].prototype.post({},"/api/cart/clear").then(()=>e("fetchCartCount")).catch(e=>{throw console.error("清空购物车失败",e),e})}},getters:{getOrderData:e=>e.orderData,getCategories:e=>e.categories,getCart:e=>e.cart,getCartTotalCount:e=>e.cart.totalCount,isUserLogin:e=>e.user.isLogin,getUserInfo:e=>e.user.info,getLoadingStatus:e=>e.loading,getSearchText:e=>e.searchText}}),_={name:"Sidebar",data(){return{cartCount:3,isShowBackTop:!1,scrollTimer:null}},computed:{...(0,c.L8)(["getCartTotalCount"])},mounted(){window.addEventListener("scroll",this.handleScroll),this.$store.dispatch("fetchCartCount")},beforeDestroy(){window.removeEventListener("scroll",this.handleScroll),this.scrollTimer&&clearTimeout(this.scrollTimer)},methods:{handleCartClick(){this.$router.push("/User/ShoppingCart")},handleServiceClick(){const e=w.state.user?.info?.token||"";window.location.href="https://swsz.api.js-dyyj.com/kefu?token="+e},handleBackToTop(){window.scrollTo({top:0,behavior:"smooth"})},handleScroll(){this.scrollTimer&&clearTimeout(this.scrollTimer),this.scrollTimer=setTimeout(()=>{this.isShowBackTop=window.pageYOffset>300},200)}}},A=_,L=(0,d.A)(A,y,k,!1,null,"7a791d2c",null),x=L.exports,O=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()},S=[],U={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)}}},P=U,E=(0,d.A)(P,O,S,!1,null,"7ea6dee0",null),I=E.exports,D={name:"App",components:{HeaderNav:h,Footer:C,BackToTop:I,Sidebar:x},computed:{...(0,c.L8)(["getLoadingStatus"]),loading(){return this.getLoadingStatus}}},$=D,B=(0,d.A)($,a,r,!1,null,null,null),R=B.exports,N=n(6178);o["default"].use(N.Ay);const z=N.Ay.prototype.push;N.Ay.prototype.push=function(e){return z.call(this,e).catch(e=>{if("NavigationDuplicated"!==e.name)throw e})};const j=new N.Ay({mode:"history",base:"/",routes:[{path:"/",name:"Index",meta:{title:"首页 - 精品商城",keepAlive:!1},component:()=>n.e(750).then(n.bind(n,750))},{path:"/Login",name:"Login",meta:{title:"登录 - 精品商城",keepAlive:!1},component:()=>n.e(411).then(n.bind(n,5411))},{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(779).then(n.bind(n,1779))},{path:"/ProductList",name:"ProductList",meta:{title:"商品列表",keepAlive:!1},component:()=>n.e(220).then(n.bind(n,6220))},{path:"/ProductReview",name:"ProductReview",meta:{title:"商品评价",keepAlive:!1},component:()=>n.e(856).then(n.bind(n,856))},{path:"/NoticeList",name:"NoticeList",meta:{title:"公告列表",keepAlive:!1},component:()=>n.e(601).then(n.bind(n,6601))},{path:"/NoticeDetail",name:"NoticeDetail",meta:{title:"公告详情",keepAlive:!1},component:()=>n.e(831).then(n.bind(n,7831))},{path:"/User",name:"User",component:()=>n.e(462).then(n.bind(n,462)),redirect:"/User/UserCenter",children:[{path:"UserCenter",name:"UserCenter",component:()=>n.e(625).then(n.bind(n,6625))},{path:"OrderList",name:"OrderList",meta:{title:"我的订单 - 精品商城",keepAlive:!1},component:()=>n.e(906).then(n.bind(n,5906))},{path:"UserInfo",name:"UserInfo",meta:{title:"个人信息 - 精品商城",keepAlive:!1},component:()=>n.e(441).then(n.bind(n,441))},{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(208).then(n.bind(n,5208))},{path:"UserInvoice",name:"UserInvoice",meta:{title:"发票抬头 - 精品商城",keepAlive:!1},component:()=>n.e(612).then(n.bind(n,9231))},{path:"UserInvoiceList",name:"UserInvoiceList",meta:{title:"我的发票 - 精品商城",keepAlive:!1},component:()=>n.e(309).then(n.bind(n,4309))},{path:"ShoppingCart",name:"ShoppingCart",meta:{title:"购物车 - 精品商城",keepAlive:!1},component:()=>n.e(467).then(n.bind(n,4848))},{path:"CommentManage",name:"CommentManage",meta:{title:"评价管理 - 精品商城",keepAlive:!1},component:()=>n.e(839).then(n.bind(n,4839))},{path:"ContractList",name:"ContractList",meta:{title:"合同管理 - 精品商城",keepAlive:!1},component:()=>n.e(15).then(n.bind(n,7015))},{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(113).then(n.bind(n,113))}]},{path:"/Order",name:"Order",meta:{title:"下单",keepAlive:!1},component:()=>n.e(331).then(n.bind(n,9331))},{path:"/OrderDetail",name:"OrderDetail",meta:{title:"订单详情 - 精品商城",keepAlive:!1},component:()=>n.e(610).then(n.bind(n,6610))},{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}}});j.beforeEach((e,t,n)=>{if(e.meta.title&&(document.title=e.meta.title),e.meta.requireAuth){const t=w.state.user?.info?.token||"";t?n():n({path:"/Login",query:{redirect:e.fullPath}})}else n()});var q=j,M=n(9143),F=n.n(M),V=n(5847),G=n(4373);const H=G.A.create({timeout:6e3});H.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=w.state.user?.info?.token||"";return e.headers["token"]=n||"",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=M.Loading.service({lock:!0,text:"加载中...",background:"rgba(0, 0, 0, 0.7)"})),e},e=>Promise.reject(e)),H.interceptors.response.use(e=>{if(e.config.loadingInstance&&e.config.loadingInstance.close(),200!==e.status&&1!==e.status){const t=`请求失败,状态码:${e.status}`;return M.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}`;M.MessageBox.alert(e,"错误提示",{confirmButtonText:"确定",type:"error"}).then(()=>{if(401===t.code){const e=q.currentRoute.fullPath;"/Login"!==e&&localStorage.setItem("redirectPath",e),q.push("/Login")}}).catch(()=>{})}}},e=>{if(e.config&&e.config.loadingInstance&&e.config.loadingInstance.close(),e.response&&e.response.status)switch(e.response.status){case 401:M.MessageBox.confirm("请登录后操作","提示",{confirmButtonText:"去登录",cancelButtonText:"取消",type:"warning"}).then(()=>{q.push("/Login")}).catch(()=>{});break;case 404:(0,M.Message)({message:"网络繁忙,请刷新再试",type:"error",duration:2e3});break;default:(0,M.Message)({message:"网络繁忙,请刷新再试",type:"error",duration:2e3});break}return Promise.reject(e)}),o["default"].prototype.get=(e,t,n=!1)=>new Promise((o,a)=>{H.get(t,{params:e,loading:n}).then(e=>{o(e)}).catch(e=>{a(e)})}),o["default"].prototype.post=(e,t,n=!1)=>new Promise((o,a)=>{H.post(t,e,{loading:n}).then(e=>{o(e)}).catch(e=>{a(e)})});var Z={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)}})},copyId(t){const n=document.createElement("input");n.value=t,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),e.prototype.$message({message:"复制成功",type:"success"})}}}};o["default"].use(Z),o["default"].config.productionTip=!1,o["default"].use(F()),o["default"].use(V.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:o,$parent:a,src:r,loading:i,error:s,Init:c}){console.log("图片加载完成:",r)},error({bindType:e,el:t,error:n,$parent:o,src:a,loading:r}){console.log("图片加载失败:",a)}}}),o["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(o){console.error("路由跳转失败:",o),"function"===typeof t.fail&&t.fail(o)}},new o["default"]({el:"#app",router:q,store:w,components:{App:R},template:""})}},t={};function n(o){var a=t[o];if(void 0!==a)return a.exports;var r=t[o]={id:o,loaded:!1,exports:{}};return e[o].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,o,a,r){if(!o){var i=1/0;for(u=0;u=r)&&Object.keys(n.O).every(function(e){return n.O[e](o[c])})?o.splice(c--,1):(s=!1,r0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[o,a,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 o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(t,o){return n.f[o](e,t),t},[]))}}(),function(){n.u=function(e){return"js/"+e+"."+{15:"4bb1e723",29:"2ece41d9",33:"ca85dca8",113:"cfab82b8",169:"33f72ed2",208:"50f78b20",220:"18d44668",244:"940fed0d",309:"22b35bd1",331:"633619dc",411:"b5afa758",441:"4765143b",452:"0b1eacbe",462:"1343c7cb",467:"005a7306",601:"1c95e2ee",610:"3d662298",612:"0689f662",625:"2eff891d",677:"bb7c2f70",750:"df13650b",779:"220d32b4",828:"deb87761",831:"a64e98d7",838:"3bd96d59",839:"168e7d6e",856:"74bafc60",906:"f111d15e"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"css/"+e+"."+{15:"4b379120",29:"2661f71c",33:"5507be5a",113:"00fe5914",169:"a7db186a",208:"268eb302",220:"409c24a4",244:"edd4b6a0",309:"30b103d9",331:"aa77b66c",411:"e4757598",441:"edf1b234",452:"42e712d8",462:"5ae3b03a",467:"95b3e97b",601:"91c548ed",610:"36f5ac87",625:"61284e77",677:"51eebda5",750:"f4921ea4",779:"506cc62a",828:"9419445b",831:"480ee6b0",838:"4c0b65d7",839:"7922504b",856:"669cb47e",906:"de7ec92f"}[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="shiweisuzhou:";n.l=function(o,a,r,i){if(e[o])e[o].push(a);else{var s,c;if(void 0!==r)for(var l=document.getElementsByTagName("script"),u=0;u0?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"},on:{click:function(t){e.searchText=""}}})])],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),e.hotList.length>0?t("div",{staticClass:"hot-tags"},[t("span",[e._v("热门搜索:")]),e._l(e.hotList,function(n,o){return t("div",{key:o,staticClass:"hot-tag",on:{click:function(t){e.searchText=n.name,e.handleSearch()}}},[e._v(" "+e._s(n.name)+" ")])})],2):e._e()],1),t("div",{staticClass:"phone-entry"},[t("div",{staticStyle:{display:"flex","align-items":"center"}},[t("img",{staticStyle:{"margin-right":"5px"},attrs:{src:"https://static.ticket.sz-trip.com/shiweisuzhou/pc/login/phone.png",alt:"联系电话"}}),t("span",[e._v("0512-680541")]),(e.cartTotalCount,e._e())])])])]),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:"",hotList:[]}},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(),this.post({offset:0,limit:5},"/api/search/hot").then(e=>{this.hotList=e.data})},methods:{...(0,c.i0)(["fetchCategories","logout"]),handleSearch(){this.searchText.trim()&&(this.$store.commit("setSearchText",this.searchText),"/ProductList"===this.$route.path||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("退出登录成功"),localStorage.setItem("redirectPath",this.$route.path),this.$router.push("/Login")}).catch(e=>{this.$message.error("退出失败:"+(e.message||"未知错误"))})}).catch(()=>{})}}},u=l,d=n(1656),p=(0,d.A)(u,i,s,!1,null,"4f75d8c8",null),h=p.exports,m=function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer-container"},[t("div",{staticClass:"footer-top"},[e._l(e.nonQrcodeColumns,function(n,o){return t("div",{key:n.id,staticClass:"footer-column"},[t("h3",[e._v(e._s(n.title))]),t("ul",e._l(n.list,function(n,a){return t("li",{key:a,style:{cursor:o<4?"pointer":""},on:{click:function(t){o<4&&e.gotoDetail(n)}}},[e._v(" "+e._s(n.title)+" ")])}),0)])}),t("div",{staticClass:"qrcode-group"},e._l(e.qrcodeColumn.list,function(n,o){return t("div",{key:o,staticClass:"qrcode-item"},[t("img",{staticStyle:{width:"100px",height:"100px"},attrs:{src:e.util.showImg(n.image)}}),t("p",[e._v(e._s(n.title))])])}),0)],2),e._m(0)])},f=[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=(n(8111),n(2489),n(116),n(7588),{name:"Footer",data(){return{list:[{id:1,title:"关于我们",list:[]},{id:2,title:"新手上路",list:[]},{id:5,title:"交易流程",list:[]},{id:3,title:"常见问题",list:[]},{id:6,title:"联系方式",list:[]},{id:4,title:"二维码推荐",list:[]}]}},computed:{nonQrcodeColumns(){return this.list.filter(e=>"二维码推荐"!==e.title)},qrcodeColumn(){return this.list.find(e=>"二维码推荐"===e.title)||{list:[]}}},mounted(){this.list.forEach(e=>{this.get({type_id:e.id},"/api/navigation/getNavigationByTypeList").then(t=>{e.list=t.data})})},methods:{gotoDetail(e){e.link_url?window.location.href=e.link_url:this.$router.push(`/NoticeDetail?type=footer&id=${e.id}`)}}}),v=g,b=(0,d.A)(v,m,f,!1,null,"3080ae3e",null),C=b.exports,y=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.$store.getters.getCartTotalCount}},[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("回到顶部")])])])},k=[],T=n(5131);o["default"].use(c.Ay);var w=new c.Ay.Store({plugins:[(0,T.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:"",orderData:null},mutations:{setOrderData(e,t){e.orderData=t},clearOrderData(e){e.orderData=null},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")},UPDATE_CART_TOTAL_COUNT(e,t){e.cart.totalCount=t},setSearchText(e,t){e.searchText=t}},actions:{submitOrderData({commit:e},t){e("setOrderData",t)},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({dispatch:e},t){return o["default"].prototype.post({sku_id:t.id,num:t.quantity||1},"/api/cart/add_sku").then(t=>{if(t)return o["default"].prototype.$message.success("购物车添加成功!"),e("fetchCartCount")}).catch(e=>{throw console.error("添加到购物车请求失败",e),e})},fetchCartCount({commit:e,state:t}){return t.user.token?o["default"].prototype.post({},"/api/cart/get_count").then(t=>(console.log("购物车数量接口返回",t),1==t.code&&e("UPDATE_CART_TOTAL_COUNT",t.data),t.data)).catch(e=>{throw console.error("获取购物车数量失败",e),e}):(e("UPDATE_CART_TOTAL_COUNT",0),Promise.resolve(0))},removeFromCart({dispatch:e},t){return o["default"].prototype.post({sku_id:t},"/api/cart/remove_sku").then(()=>e("fetchCartCount")).catch(e=>{throw console.error("删除购物车商品失败",e),e})},updateCartItemQuantity({dispatch:e},{productId:t,quantity:n}){return o["default"].prototype.post({sku_id:t,num:n},"/api/cart/add_sku").then(()=>e("fetchCartCount")).catch(e=>{throw console.error("更新购物车商品数量失败",e),e})},clearCart({dispatch:e}){return o["default"].prototype.post({},"/api/cart/clear").then(()=>e("fetchCartCount")).catch(e=>{throw console.error("清空购物车失败",e),e})}},getters:{getOrderData:e=>e.orderData,getCategories:e=>e.categories,getCart:e=>e.cart,getCartTotalCount:e=>e.cart.totalCount,isUserLogin:e=>e.user.isLogin,getUserInfo:e=>e.user.info,getLoadingStatus:e=>e.loading,getSearchText:e=>e.searchText}}),_={name:"Sidebar",data(){return{cartCount:3,isShowBackTop:!1,scrollTimer:null}},computed:{...(0,c.L8)(["getCartTotalCount"])},mounted(){window.addEventListener("scroll",this.handleScroll),this.$store.dispatch("fetchCartCount")},beforeDestroy(){window.removeEventListener("scroll",this.handleScroll),this.scrollTimer&&clearTimeout(this.scrollTimer)},methods:{handleCartClick(){this.$router.push("/User/ShoppingCart")},handleServiceClick(){const e=w.state.user?.info?.token||"";window.location.href="https://swsz.api.js-dyyj.com/kefu?token="+e},handleBackToTop(){window.scrollTo({top:0,behavior:"smooth"})},handleScroll(){this.scrollTimer&&clearTimeout(this.scrollTimer),this.scrollTimer=setTimeout(()=>{this.isShowBackTop=window.pageYOffset>300},200)}}},A=_,L=(0,d.A)(A,y,k,!1,null,"7a791d2c",null),x=L.exports,O=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()},S=[],U={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)}}},P=U,E=(0,d.A)(P,O,S,!1,null,"7ea6dee0",null),I=E.exports,D={name:"App",components:{HeaderNav:h,Footer:C,BackToTop:I,Sidebar:x},computed:{...(0,c.L8)(["getLoadingStatus"]),loading(){return this.getLoadingStatus}}},$=D,B=(0,d.A)($,a,r,!1,null,null,null),R=B.exports,N=n(6178);o["default"].use(N.Ay);const z=N.Ay.prototype.push;N.Ay.prototype.push=function(e){return z.call(this,e).catch(e=>{if("NavigationDuplicated"!==e.name)throw e})};const j=new N.Ay({mode:"history",base:"/",routes:[{path:"/",name:"Index",meta:{title:"首页 - 精品商城",keepAlive:!1},component:()=>n.e(750).then(n.bind(n,750))},{path:"/Login",name:"Login",meta:{title:"登录 - 精品商城",keepAlive:!1},component:()=>n.e(411).then(n.bind(n,5411))},{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(779).then(n.bind(n,1779))},{path:"/ProductList",name:"ProductList",meta:{title:"商品列表",keepAlive:!1},component:()=>n.e(220).then(n.bind(n,6220))},{path:"/ProductReview",name:"ProductReview",meta:{title:"商品评价",keepAlive:!1},component:()=>n.e(856).then(n.bind(n,856))},{path:"/NoticeList",name:"NoticeList",meta:{title:"公告列表",keepAlive:!1},component:()=>n.e(601).then(n.bind(n,6601))},{path:"/NoticeDetail",name:"NoticeDetail",meta:{title:"公告详情",keepAlive:!1},component:()=>n.e(989).then(n.bind(n,3989))},{path:"/User",name:"User",component:()=>n.e(462).then(n.bind(n,462)),redirect:"/User/UserCenter",children:[{path:"UserCenter",name:"UserCenter",component:()=>n.e(625).then(n.bind(n,6625))},{path:"OrderList",name:"OrderList",meta:{title:"我的订单 - 精品商城",keepAlive:!1},component:()=>n.e(906).then(n.bind(n,5906))},{path:"UserInfo",name:"UserInfo",meta:{title:"个人信息 - 精品商城",keepAlive:!1},component:()=>n.e(441).then(n.bind(n,441))},{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(208).then(n.bind(n,5208))},{path:"UserInvoice",name:"UserInvoice",meta:{title:"发票抬头 - 精品商城",keepAlive:!1},component:()=>n.e(612).then(n.bind(n,9231))},{path:"UserInvoiceList",name:"UserInvoiceList",meta:{title:"我的发票 - 精品商城",keepAlive:!1},component:()=>n.e(309).then(n.bind(n,4309))},{path:"ShoppingCart",name:"ShoppingCart",meta:{title:"购物车 - 精品商城",keepAlive:!1},component:()=>n.e(630).then(n.bind(n,2630))},{path:"CommentManage",name:"CommentManage",meta:{title:"评价管理 - 精品商城",keepAlive:!1},component:()=>n.e(839).then(n.bind(n,4839))},{path:"ContractList",name:"ContractList",meta:{title:"合同管理 - 精品商城",keepAlive:!1},component:()=>n.e(15).then(n.bind(n,7015))},{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(113).then(n.bind(n,113))}]},{path:"/Order",name:"Order",meta:{title:"下单",keepAlive:!1},component:()=>n.e(331).then(n.bind(n,9331))},{path:"/OrderDetail",name:"OrderDetail",meta:{title:"订单详情 - 精品商城",keepAlive:!1},component:()=>n.e(610).then(n.bind(n,6610))},{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}}});j.beforeEach((e,t,n)=>{if(e.meta.title&&(document.title=e.meta.title),e.meta.requireAuth){const t=w.state.user?.info?.token||"";t?n():n({path:"/Login",query:{redirect:e.fullPath}})}else n()});var q=j,M=n(9143),F=n.n(M),V=n(5847),G=n(4373);const H=G.A.create({timeout:6e3});H.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=w.state.user?.info?.token||"";return e.headers["token"]=n||"",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=M.Loading.service({lock:!0,text:"加载中...",background:"rgba(0, 0, 0, 0.7)"})),e},e=>Promise.reject(e)),H.interceptors.response.use(e=>{if(e.config.loadingInstance&&e.config.loadingInstance.close(),200!==e.status&&1!==e.status){const t=`请求失败,状态码:${e.status}`;return M.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}`;M.MessageBox.alert(e,"错误提示",{confirmButtonText:"确定",type:"error"}).then(()=>{if(401===t.code){const e=q.currentRoute.fullPath;"/Login"!==e&&localStorage.setItem("redirectPath",e),q.push("/Login")}}).catch(()=>{})}}},e=>{if(e.config&&e.config.loadingInstance&&e.config.loadingInstance.close(),e.response&&e.response.status)switch(e.response.status){case 401:M.MessageBox.confirm("请登录后操作","提示",{confirmButtonText:"去登录",cancelButtonText:"取消",type:"warning"}).then(()=>{q.push("/Login")}).catch(()=>{});break;case 404:(0,M.Message)({message:"网络繁忙,请刷新再试",type:"error",duration:2e3});break;default:(0,M.Message)({message:"网络繁忙,请刷新再试",type:"error",duration:2e3});break}return Promise.reject(e)}),o["default"].prototype.get=(e,t,n=!1)=>new Promise((o,a)=>{H.get(t,{params:e,loading:n}).then(e=>{o(e)}).catch(e=>{a(e)})}),o["default"].prototype.post=(e,t,n=!1)=>new Promise((o,a)=>{H.post(t,e,{loading:n}).then(e=>{o(e)}).catch(e=>{a(e)})});var Z={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)}})},copyId(t){const n=document.createElement("input");n.value=t,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),e.prototype.$message({message:"复制成功",type:"success"})}}}};o["default"].use(Z),o["default"].config.productionTip=!1,o["default"].use(F()),o["default"].use(V.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:o,$parent:a,src:r,loading:i,error:s,Init:c}){console.log("图片加载完成:",r)},error({bindType:e,el:t,error:n,$parent:o,src:a,loading:r}){console.log("图片加载失败:",a)}}}),o["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(o){console.error("路由跳转失败:",o),"function"===typeof t.fail&&t.fail(o)}},new o["default"]({el:"#app",router:q,store:w,components:{App:R},template:""})}},t={};function n(o){var a=t[o];if(void 0!==a)return a.exports;var r=t[o]={id:o,loaded:!1,exports:{}};return e[o].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,o,a,r){if(!o){var i=1/0;for(u=0;u=r)&&Object.keys(n.O).every(function(e){return n.O[e](o[c])})?o.splice(c--,1):(s=!1,r0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[o,a,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 o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(t,o){return n.f[o](e,t),t},[]))}}(),function(){n.u=function(e){return"js/"+e+"."+{15:"4bb1e723",29:"2ece41d9",33:"ca85dca8",113:"cfab82b8",169:"33f72ed2",208:"50f78b20",220:"18d44668",244:"940fed0d",309:"22b35bd1",331:"633619dc",411:"b5afa758",441:"4765143b",452:"0b1eacbe",462:"1343c7cb",601:"1c95e2ee",610:"3d662298",612:"0689f662",625:"2eff891d",630:"d2996537",677:"bb7c2f70",750:"df13650b",779:"220d32b4",828:"deb87761",838:"3bd96d59",839:"168e7d6e",856:"74bafc60",906:"f111d15e",989:"ec009c2e"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"css/"+e+"."+{15:"4b379120",29:"2661f71c",33:"5507be5a",113:"00fe5914",169:"a7db186a",208:"268eb302",220:"409c24a4",244:"edd4b6a0",309:"30b103d9",331:"aa77b66c",411:"e4757598",441:"edf1b234",452:"42e712d8",462:"5ae3b03a",601:"91c548ed",610:"36f5ac87",625:"61284e77",630:"e6d20e0d",677:"51eebda5",750:"f4921ea4",779:"506cc62a",828:"9419445b",838:"4c0b65d7",839:"7922504b",856:"669cb47e",906:"de7ec92f",989:"f060a013"}[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="shiweisuzhou:";n.l=function(o,a,r,i){if(e[o])e[o].push(a);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\"},on:{\"click\":function($event){_vm.searchText = ''}}})])],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),(_vm.hotList.length > 0)?_c('div',{staticClass:\"hot-tags\"},[_c('span',[_vm._v(\"热门搜索:\")]),_vm._l((_vm.hotList),function(item,index){return _c('div',{key:index,staticClass:\"hot-tag\",on:{\"click\":function($event){_vm.searchText = item.name;\n _vm.handleSearch();}}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])})],2):_vm._e()],1),_c('div',{staticClass:\"phone-entry\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('img',{staticStyle:{\"margin-right\":\"5px\"},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()])])])]),(_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\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=4f75d8c8&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=4f75d8c8&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 \"4f75d8c8\",\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._l((_vm.nonQrcodeColumns),function(column,index){return _c('div',{key:column.id,staticClass:\"footer-column\"},[_c('h3',[_vm._v(_vm._s(column.title))]),_c('ul',_vm._l((column.list),function(item,itemIndex){return _c('li',{key:itemIndex,style:({cursor: index < 4 ? 'pointer' : ''}),on:{\"click\":function($event){index < 4 ? _vm.gotoDetail(item): ''}}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])}),0)])}),_c('div',{staticClass:\"qrcode-group\"},_vm._l((_vm.qrcodeColumn.list),function(item,index){return _c('div',{key:index,staticClass:\"qrcode-item\"},[_c('img',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"src\":_vm.util.showImg(item.image)}}),_c('p',[_vm._v(_vm._s(item.title))])])}),0)],2),_vm._m(0)])\n}\nvar staticRenderFns = [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\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=3080ae3e&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=3080ae3e&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 \"3080ae3e\",\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.$store.getters.getCartTotalCount}},[_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 }","// 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 orderData: null\n },\n mutations: {\n // 设置订单数据\n setOrderData(state, data) {\n state.orderData = data\n },\n // 清空订单数据\n clearOrderData(state) {\n state.orderData = null\n },\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 UPDATE_CART_TOTAL_COUNT(state, count) {\n state.cart.totalCount = count\n },\n\n setSearchText(state, text) {\n state.searchText = text;\n }\n },\n actions: {\n // 提交订单数据\n submitOrderData({ commit }, data) {\n commit('setOrderData', data)\n },\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({ dispatch }, product) {\n // 调用接口,参数为商品id和数量\n return Vue.prototype.post(\n {\n sku_id: product.id,\n num: product.quantity || 1\n },\n \"/api/cart/add_sku\"\n ).then((res) => {\n if (res) {\n Vue.prototype.$message.success(\"购物车添加成功!\");\n // 添加成功后重新获取购物车数量\n return dispatch('fetchCartCount')\n }\n }).catch((err) => {\n console.error('添加到购物车请求失败', err);\n throw err\n });\n },\n\n // 获取购物车数量\n fetchCartCount({ commit, state }) {\n // 检查是否存在token,不存在则直接返回0\n if (!state.user.token) {\n commit('UPDATE_CART_TOTAL_COUNT', 0)\n return Promise.resolve(0)\n }\n return Vue.prototype.post(\n {},\n \"/api/cart/get_count\"\n ).then((res) => {\n console.log('购物车数量接口返回', res)\n if (res.code == 1) {\n commit('UPDATE_CART_TOTAL_COUNT', res.data)\n }\n return res.data\n }).catch((err) => {\n console.error('获取购物车数量失败', err)\n throw err\n });\n },\n \n // 从购物车移除商品\n removeFromCart({ dispatch }, productId) {\n // 调用删除接口\n return Vue.prototype.post(\n { sku_id: productId },\n \"/api/cart/remove_sku\"\n ).then(() => {\n // 删除成功后重新获取购物车数量\n return dispatch('fetchCartCount')\n }).catch(err => {\n console.error('删除购物车商品失败', err)\n throw err\n })\n },\n \n // 更新购物车商品数量\n updateCartItemQuantity({ dispatch }, { productId, quantity }) {\n // 调用更新数量接口\n return Vue.prototype.post(\n { \n sku_id: productId,\n num: quantity\n },\n \"/api/cart/add_sku\"\n ).then(() => {\n // 更新成功后重新获取购物车数量\n return dispatch('fetchCartCount')\n }).catch(err => {\n console.error('更新购物车商品数量失败', err)\n throw err\n })\n },\n \n // 清空购物车\n clearCart({ dispatch }) {\n // 调用清空接口\n return Vue.prototype.post(\n {},\n \"/api/cart/clear\"\n ).then(() => {\n // 清空成功后重新获取购物车数量\n return dispatch('fetchCartCount')\n }).catch(err => {\n console.error('清空购物车失败', err)\n throw err\n })\n }\n },\n getters: {\n // 获取订单数据\n getOrderData: state => state.orderData,\n\n // 获取分类列表\n getCategories: state => state.categories,\n \n // 获取购物车信息\n getCart: state => state.cart,\n \n // 获取购物车商品总数\n getCartTotalCount: state => state.cart.totalCount,\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})","\r\n \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!./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=7a791d2c&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=7a791d2c&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 \"7a791d2c\",\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\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 \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n\n \n \n
\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!./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=2c267866\"\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=2c267866&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\nimport store from '@/store';\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: '/ProductReview',\r\n name: 'ProductReview',\r\n meta: {\r\n title: '商品评价',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/ProductPage/ProductReview.vue')\r\n },\r\n {\r\n path: '/NoticeList',\r\n name: 'NoticeList',\r\n meta: {\r\n title: '公告列表',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/notice/noticeList.vue')\r\n },\r\n {\r\n path: '/NoticeDetail',\r\n name: 'NoticeDetail',\r\n meta: {\r\n title: '公告详情',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/notice/noticeDetail.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 = store.state.user?.info?.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","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\nimport router from \"@/router\"\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?.info?.token || '';\r\n config.headers['token'] = 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 }).then(() => {\r\n if (resData.code === 401) {\r\n // 存储当前路由(排除登录页自身,避免死循环)\r\n const currentPath = router.currentRoute.fullPath;\r\n if (currentPath !== '/Login') { // 假设登录页路径是 /Login\r\n localStorage.setItem('redirectPath', currentPath); // 存到本地存储\r\n }\r\n // 登录操作\r\n router.push(\"/Login\")\r\n }\r\n }).catch(() => {\r\n \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 router.push(\"/Login\")\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\r\n\t\t\tcopyId(value) {\r\n\t\t\t\tconst input = document.createElement('input');\r\n\t\t\t\tinput.value = value;\r\n\t\t\t\tdocument.body.appendChild(input);\r\n\t\t\t\tinput.select();\r\n\t\t\t\tdocument.execCommand('copy');\r\n\t\t\t\tdocument.body.removeChild(input);\r\n\t\t\t\t\r\n\t\t\t\tVue.prototype.$message({\r\n\t\t\t\t\tmessage: '复制成功',\r\n\t\t\t\t\ttype: 'success'\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 + \".\" + {\"15\":\"4bb1e723\",\"29\":\"2ece41d9\",\"33\":\"ca85dca8\",\"113\":\"cfab82b8\",\"169\":\"33f72ed2\",\"208\":\"50f78b20\",\"220\":\"18d44668\",\"244\":\"940fed0d\",\"309\":\"22b35bd1\",\"331\":\"633619dc\",\"411\":\"b5afa758\",\"441\":\"4765143b\",\"452\":\"0b1eacbe\",\"462\":\"1343c7cb\",\"467\":\"005a7306\",\"601\":\"1c95e2ee\",\"610\":\"3d662298\",\"612\":\"0689f662\",\"625\":\"2eff891d\",\"677\":\"bb7c2f70\",\"750\":\"df13650b\",\"779\":\"220d32b4\",\"828\":\"deb87761\",\"831\":\"a64e98d7\",\"838\":\"3bd96d59\",\"839\":\"168e7d6e\",\"856\":\"74bafc60\",\"906\":\"f111d15e\"}[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 + \".\" + {\"15\":\"4b379120\",\"29\":\"2661f71c\",\"33\":\"5507be5a\",\"113\":\"00fe5914\",\"169\":\"a7db186a\",\"208\":\"268eb302\",\"220\":\"409c24a4\",\"244\":\"edd4b6a0\",\"309\":\"30b103d9\",\"331\":\"aa77b66c\",\"411\":\"e4757598\",\"441\":\"edf1b234\",\"452\":\"42e712d8\",\"462\":\"5ae3b03a\",\"467\":\"95b3e97b\",\"601\":\"91c548ed\",\"610\":\"36f5ac87\",\"625\":\"61284e77\",\"677\":\"51eebda5\",\"750\":\"f4921ea4\",\"779\":\"506cc62a\",\"828\":\"9419445b\",\"831\":\"480ee6b0\",\"838\":\"4c0b65d7\",\"839\":\"7922504b\",\"856\":\"669cb47e\",\"906\":\"de7ec92f\"}[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 = \"shiweisuzhou:\";\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 = {\"15\":1,\"29\":1,\"33\":1,\"113\":1,\"169\":1,\"208\":1,\"220\":1,\"244\":1,\"309\":1,\"331\":1,\"411\":1,\"441\":1,\"452\":1,\"462\":1,\"467\":1,\"601\":1,\"610\":1,\"625\":1,\"677\":1,\"750\":1,\"779\":1,\"828\":1,\"831\":1,\"838\":1,\"839\":1,\"856\":1,\"906\":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[\"webpackChunkshiweisuzhou\"] = self[\"webpackChunkshiweisuzhou\"] || [];\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__(6968); })\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","$event","searchText","nativeOn","type","indexOf","_k","keyCode","key","handleSearch","apply","arguments","model","callback","$$v","slot","hotList","length","_l","item","index","staticStyle","categories","data","computed","mapGetters","getCategories","getCartTotalCount","isUserLogin","getUserInfo","created","fetchCategories","post","offset","limit","then","res","methods","mapActions","trim","$store","commit","path","$router","push","query","keyword","$confirm","confirmButtonText","cancelButtonText","logout","$message","success","localStorage","setItem","catch","err","error","message","component","nonQrcodeColumns","column","id","title","list","itemIndex","style","cursor","gotoDetail","qrcodeColumn","util","showImg","image","_m","filter","find","mounted","forEach","get","type_id","link_url","window","location","href","handleCartClick","getters","handleServiceClick","class","active","isShowBackTop","handleBackToTop","Vue","use","Vuex","plugins","createPersistedState","storage","reducer","val","cart","user","state","items","totalCount","totalPrice","info","token","loading","orderData","mutations","setOrderData","clearOrderData","UPDATE_CATEGORIES","UPDATE_LOADING","status","USER_LOGIN","USER_LOGOUT","removeItem","UPDATE_CART_TOTAL_COUNT","count","setSearchText","text","actions","submitOrderData","Promise","resolve","setTimeout","icon","addToCart","dispatch","product","prototype","sku_id","num","quantity","console","fetchCartCount","log","code","removeFromCart","productId","updateCartItemQuantity","clearCart","getOrderData","getCart","getLoadingStatus","getSearchText","cartCount","scrollTimer","addEventListener","handleScroll","beforeDestroy","removeEventListener","clearTimeout","store","scrollTo","top","behavior","pageYOffset","showBackToTop","scrollToTop","setInterval","position","Math","max","clearInterval","components","HeaderNav","Footer","BackToTop","Sidebar","Router","originalPush","call","router","mode","base","process","routes","meta","keepAlive","redirect","children","scrollBehavior","to","from","savedPosition","x","y","beforeEach","next","document","requireAuth","fullPath","http","axios","create","timeout","interceptors","request","config","customBaseURL","params","baseURL","headers","method","toLowerCase","platform_type","loadingInstance","Loading","service","lock","background","reject","response","close","errorMsg","MessageBox","alert","Error","resData","msg","currentPath","currentRoute","confirm","Message","duration","url","install","formateRichText","str","reg","RegExp","replace","mobileValid","test","idNumberValid","passportValid","taiwanValid","gangaoValid","foreignerValid","officerValid","emailValid","getUrlPara","arrUrl","split","para","img","imgToBase64","reader","FileReader","readAsDataURL","onload","result","copyId","input","createElement","body","appendChild","select","execCommand","removeChild","utils","productionTip","ElementUI","VueLazyload","preLoad","require","attempt","listenEvents","adapter","loaded","bindType","el","naturalHeight","naturalWidth","$parent","src","Init","gotoPath","options","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","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","nc","setAttribute","onScriptComplete","prev","event","onerror","doneFns","parentNode","bind","target","head","Symbol","toStringTag","nmd","paths","p","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","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
+{"version":3,"file":"js/app.5bc32463.js","mappings":"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","sources":["webpack://shiweisuzhou/./src/App.vue","webpack://shiweisuzhou/./src/components/layout/HeaderNav.vue","webpack://shiweisuzhou/src/components/layout/HeaderNav.vue","webpack://shiweisuzhou/./src/components/layout/HeaderNav.vue?6ac8","webpack://shiweisuzhou/./src/components/layout/HeaderNav.vue?f415","webpack://shiweisuzhou/./src/components/layout/Footer.vue","webpack://shiweisuzhou/src/components/layout/Footer.vue","webpack://shiweisuzhou/./src/components/layout/Footer.vue?28b4","webpack://shiweisuzhou/./src/components/layout/Footer.vue?84dd","webpack://shiweisuzhou/./src/components/layout/Sidebar.vue","webpack://shiweisuzhou/./src/store/index.js","webpack://shiweisuzhou/src/components/layout/Sidebar.vue","webpack://shiweisuzhou/./src/components/layout/Sidebar.vue?258f","webpack://shiweisuzhou/./src/components/layout/Sidebar.vue?1064","webpack://shiweisuzhou/./src/components/common/BackToTop.vue","webpack://shiweisuzhou/src/components/common/BackToTop.vue","webpack://shiweisuzhou/./src/components/common/BackToTop.vue?eadc","webpack://shiweisuzhou/./src/components/common/BackToTop.vue?7f5f","webpack://shiweisuzhou/src/App.vue","webpack://shiweisuzhou/./src/App.vue?c036","webpack://shiweisuzhou/./src/App.vue?0e40","webpack://shiweisuzhou/./src/router/index.js","webpack://shiweisuzhou/./src/libs/axios.js","webpack://shiweisuzhou/./src/libs/utils.js","webpack://shiweisuzhou/./src/main.js","webpack://shiweisuzhou/webpack/bootstrap","webpack://shiweisuzhou/webpack/runtime/amd options","webpack://shiweisuzhou/webpack/runtime/chunk loaded","webpack://shiweisuzhou/webpack/runtime/compat get default export","webpack://shiweisuzhou/webpack/runtime/define property getters","webpack://shiweisuzhou/webpack/runtime/ensure chunk","webpack://shiweisuzhou/webpack/runtime/get javascript chunk filename","webpack://shiweisuzhou/webpack/runtime/get mini-css chunk filename","webpack://shiweisuzhou/webpack/runtime/global","webpack://shiweisuzhou/webpack/runtime/hasOwnProperty shorthand","webpack://shiweisuzhou/webpack/runtime/load script","webpack://shiweisuzhou/webpack/runtime/make namespace object","webpack://shiweisuzhou/webpack/runtime/node module decorator","webpack://shiweisuzhou/webpack/runtime/publicPath","webpack://shiweisuzhou/webpack/runtime/css loading","webpack://shiweisuzhou/webpack/runtime/jsonp chunk loading","webpack://shiweisuzhou/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[(_vm.$route.name !== 'Register')?_c('HeaderNav'):_vm._e(),(_vm.$route.name !== 'Login')?_c('main',{staticClass:\"main-container\"},[_c('router-view')],1):_vm._e(),(_vm.$route.name == 'Login')?_c('main',{staticClass:\"main-containers\"},[_c('router-view')],1):_vm._e(),(_vm.$route.name !== 'Register')?_c('Sidebar'):_vm._e(),(_vm.$route.name !== 'Register')?_c('Footer'):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('header',{staticClass:\"header-nav\"},[_c('div',{staticClass:\"top-notice\"},[_c('div',{staticClass:\"container\"},[_c('p',[_vm._v(\" 欢迎来到时味苏州平台! \"),(false)?_c('router-link',{staticClass:\"highlight\",attrs:{\"to\":\"/Register\"}},[_vm._v(\"立即注册\")]):_vm._e()],1),_c('div',{staticClass:\"top-links\"},[(_vm.isLogin)?_c('router-link',{staticClass:\"user-link\",attrs:{\"to\":\"/User\"}},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(_vm.userInfo.avatar),expression:\"userInfo.avatar\"}],staticClass:\"avatar\",attrs:{\"alt\":\"用户头像\"}}),_vm._v(\" \"+_vm._s(_vm.userInfo.username)+\" \")]):_c('router-link',{attrs:{\"to\":\"/Login\"}},[_vm._v(\"登录\")]),(false)?_c('span',{staticClass:\"separator\"},[_vm._v(\"|\")]):_vm._e(),(false)?_c('router-link',{attrs:{\"to\":\"/Register\"}},[_vm._v(\"注册\")]):_vm._e(),_c('router-link',{attrs:{\"to\":\"/User\"}},[_vm._v(\"采购人中心\")]),_c('router-link',{staticClass:\"cart-link\",attrs:{\"to\":\"/User/ShoppingCart\"}},[_vm._v(\" 购物车\"),(_vm.cartTotalCount > 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\"},on:{\"click\":function($event){_vm.searchText = ''}}})])],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),(_vm.hotList.length > 0)?_c('div',{staticClass:\"hot-tags\"},[_c('span',[_vm._v(\"热门搜索:\")]),_vm._l((_vm.hotList),function(item,index){return _c('div',{key:index,staticClass:\"hot-tag\",on:{\"click\":function($event){_vm.searchText = item.name;\n _vm.handleSearch();}}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])})],2):_vm._e()],1),_c('div',{staticClass:\"phone-entry\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('img',{staticStyle:{\"margin-right\":\"5px\"},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()])])])]),(_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\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=4f75d8c8&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=4f75d8c8&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 \"4f75d8c8\",\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._l((_vm.nonQrcodeColumns),function(column,index){return _c('div',{key:column.id,staticClass:\"footer-column\"},[_c('h3',[_vm._v(_vm._s(column.title))]),_c('ul',_vm._l((column.list),function(item,itemIndex){return _c('li',{key:itemIndex,style:({cursor: index < 4 ? 'pointer' : ''}),on:{\"click\":function($event){index < 4 ? _vm.gotoDetail(item): ''}}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])}),0)])}),_c('div',{staticClass:\"qrcode-group\"},_vm._l((_vm.qrcodeColumn.list),function(item,index){return _c('div',{key:index,staticClass:\"qrcode-item\"},[_c('img',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"src\":_vm.util.showImg(item.image)}}),_c('p',[_vm._v(_vm._s(item.title))])])}),0)],2),_vm._m(0)])\n}\nvar staticRenderFns = [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\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=3080ae3e&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=3080ae3e&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 \"3080ae3e\",\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.$store.getters.getCartTotalCount}},[_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 }","// 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 orderData: null\n },\n mutations: {\n // 设置订单数据\n setOrderData(state, data) {\n state.orderData = data\n },\n // 清空订单数据\n clearOrderData(state) {\n state.orderData = null\n },\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 UPDATE_CART_TOTAL_COUNT(state, count) {\n state.cart.totalCount = count\n },\n\n setSearchText(state, text) {\n state.searchText = text;\n }\n },\n actions: {\n // 提交订单数据\n submitOrderData({ commit }, data) {\n commit('setOrderData', data)\n },\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({ dispatch }, product) {\n // 调用接口,参数为商品id和数量\n return Vue.prototype.post(\n {\n sku_id: product.id,\n num: product.quantity || 1\n },\n \"/api/cart/add_sku\"\n ).then((res) => {\n if (res) {\n Vue.prototype.$message.success(\"购物车添加成功!\");\n // 添加成功后重新获取购物车数量\n return dispatch('fetchCartCount')\n }\n }).catch((err) => {\n console.error('添加到购物车请求失败', err);\n throw err\n });\n },\n\n // 获取购物车数量\n fetchCartCount({ commit, state }) {\n // 检查是否存在token,不存在则直接返回0\n if (!state.user.token) {\n commit('UPDATE_CART_TOTAL_COUNT', 0)\n return Promise.resolve(0)\n }\n return Vue.prototype.post(\n {},\n \"/api/cart/get_count\"\n ).then((res) => {\n console.log('购物车数量接口返回', res)\n if (res.code == 1) {\n commit('UPDATE_CART_TOTAL_COUNT', res.data)\n }\n return res.data\n }).catch((err) => {\n console.error('获取购物车数量失败', err)\n throw err\n });\n },\n \n // 从购物车移除商品\n removeFromCart({ dispatch }, productId) {\n // 调用删除接口\n return Vue.prototype.post(\n { sku_id: productId },\n \"/api/cart/remove_sku\"\n ).then(() => {\n // 删除成功后重新获取购物车数量\n return dispatch('fetchCartCount')\n }).catch(err => {\n console.error('删除购物车商品失败', err)\n throw err\n })\n },\n \n // 更新购物车商品数量\n updateCartItemQuantity({ dispatch }, { productId, quantity }) {\n // 调用更新数量接口\n return Vue.prototype.post(\n { \n sku_id: productId,\n num: quantity\n },\n \"/api/cart/add_sku\"\n ).then(() => {\n // 更新成功后重新获取购物车数量\n return dispatch('fetchCartCount')\n }).catch(err => {\n console.error('更新购物车商品数量失败', err)\n throw err\n })\n },\n \n // 清空购物车\n clearCart({ dispatch }) {\n // 调用清空接口\n return Vue.prototype.post(\n {},\n \"/api/cart/clear\"\n ).then(() => {\n // 清空成功后重新获取购物车数量\n return dispatch('fetchCartCount')\n }).catch(err => {\n console.error('清空购物车失败', err)\n throw err\n })\n }\n },\n getters: {\n // 获取订单数据\n getOrderData: state => state.orderData,\n\n // 获取分类列表\n getCategories: state => state.categories,\n \n // 获取购物车信息\n getCart: state => state.cart,\n \n // 获取购物车商品总数\n getCartTotalCount: state => state.cart.totalCount,\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})","\r\n \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!./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=7a791d2c&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=7a791d2c&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 \"7a791d2c\",\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\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 \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n\n \n \n
\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!./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=2c267866\"\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=2c267866&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\nimport store from '@/store';\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: '/ProductReview',\r\n name: 'ProductReview',\r\n meta: {\r\n title: '商品评价',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/ProductPage/ProductReview.vue')\r\n },\r\n {\r\n path: '/NoticeList',\r\n name: 'NoticeList',\r\n meta: {\r\n title: '公告列表',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/notice/noticeList.vue')\r\n },\r\n {\r\n path: '/NoticeDetail',\r\n name: 'NoticeDetail',\r\n meta: {\r\n title: '公告详情',\r\n keepAlive: false\r\n },\r\n component: () => import('@/views/notice/noticeDetail.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 = store.state.user?.info?.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","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\nimport router from \"@/router\"\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?.info?.token || '';\r\n config.headers['token'] = 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 }).then(() => {\r\n if (resData.code === 401) {\r\n // 存储当前路由(排除登录页自身,避免死循环)\r\n const currentPath = router.currentRoute.fullPath;\r\n if (currentPath !== '/Login') { // 假设登录页路径是 /Login\r\n localStorage.setItem('redirectPath', currentPath); // 存到本地存储\r\n }\r\n // 登录操作\r\n router.push(\"/Login\")\r\n }\r\n }).catch(() => {\r\n \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 router.push(\"/Login\")\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\r\n\t\t\tcopyId(value) {\r\n\t\t\t\tconst input = document.createElement('input');\r\n\t\t\t\tinput.value = value;\r\n\t\t\t\tdocument.body.appendChild(input);\r\n\t\t\t\tinput.select();\r\n\t\t\t\tdocument.execCommand('copy');\r\n\t\t\t\tdocument.body.removeChild(input);\r\n\t\t\t\t\r\n\t\t\t\tVue.prototype.$message({\r\n\t\t\t\t\tmessage: '复制成功',\r\n\t\t\t\t\ttype: 'success'\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 + \".\" + {\"15\":\"4bb1e723\",\"29\":\"2ece41d9\",\"33\":\"ca85dca8\",\"113\":\"cfab82b8\",\"169\":\"33f72ed2\",\"208\":\"50f78b20\",\"220\":\"18d44668\",\"244\":\"940fed0d\",\"309\":\"22b35bd1\",\"331\":\"633619dc\",\"411\":\"b5afa758\",\"441\":\"4765143b\",\"452\":\"0b1eacbe\",\"462\":\"1343c7cb\",\"601\":\"1c95e2ee\",\"610\":\"3d662298\",\"612\":\"0689f662\",\"625\":\"2eff891d\",\"630\":\"d2996537\",\"677\":\"bb7c2f70\",\"750\":\"df13650b\",\"779\":\"220d32b4\",\"828\":\"deb87761\",\"838\":\"3bd96d59\",\"839\":\"168e7d6e\",\"856\":\"74bafc60\",\"906\":\"f111d15e\",\"989\":\"ec009c2e\"}[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 + \".\" + {\"15\":\"4b379120\",\"29\":\"2661f71c\",\"33\":\"5507be5a\",\"113\":\"00fe5914\",\"169\":\"a7db186a\",\"208\":\"268eb302\",\"220\":\"409c24a4\",\"244\":\"edd4b6a0\",\"309\":\"30b103d9\",\"331\":\"aa77b66c\",\"411\":\"e4757598\",\"441\":\"edf1b234\",\"452\":\"42e712d8\",\"462\":\"5ae3b03a\",\"601\":\"91c548ed\",\"610\":\"36f5ac87\",\"625\":\"61284e77\",\"630\":\"e6d20e0d\",\"677\":\"51eebda5\",\"750\":\"f4921ea4\",\"779\":\"506cc62a\",\"828\":\"9419445b\",\"838\":\"4c0b65d7\",\"839\":\"7922504b\",\"856\":\"669cb47e\",\"906\":\"de7ec92f\",\"989\":\"f060a013\"}[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 = \"shiweisuzhou:\";\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 = {\"15\":1,\"29\":1,\"33\":1,\"113\":1,\"169\":1,\"208\":1,\"220\":1,\"244\":1,\"309\":1,\"331\":1,\"411\":1,\"441\":1,\"452\":1,\"462\":1,\"601\":1,\"610\":1,\"625\":1,\"630\":1,\"677\":1,\"750\":1,\"779\":1,\"828\":1,\"838\":1,\"839\":1,\"856\":1,\"906\":1,\"989\":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[\"webpackChunkshiweisuzhou\"] = self[\"webpackChunkshiweisuzhou\"] || [];\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__(6968); })\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","$event","searchText","nativeOn","type","indexOf","_k","keyCode","key","handleSearch","apply","arguments","model","callback","$$v","slot","hotList","length","_l","item","index","staticStyle","categories","data","computed","mapGetters","getCategories","getCartTotalCount","isUserLogin","getUserInfo","created","fetchCategories","post","offset","limit","then","res","methods","mapActions","trim","$store","commit","path","$router","push","query","keyword","$confirm","confirmButtonText","cancelButtonText","logout","$message","success","localStorage","setItem","catch","err","error","message","component","nonQrcodeColumns","column","id","title","list","itemIndex","style","cursor","gotoDetail","qrcodeColumn","util","showImg","image","_m","filter","find","mounted","forEach","get","type_id","link_url","window","location","href","handleCartClick","getters","handleServiceClick","class","active","isShowBackTop","handleBackToTop","Vue","use","Vuex","plugins","createPersistedState","storage","reducer","val","cart","user","state","items","totalCount","totalPrice","info","token","loading","orderData","mutations","setOrderData","clearOrderData","UPDATE_CATEGORIES","UPDATE_LOADING","status","USER_LOGIN","USER_LOGOUT","removeItem","UPDATE_CART_TOTAL_COUNT","count","setSearchText","text","actions","submitOrderData","Promise","resolve","setTimeout","icon","addToCart","dispatch","product","prototype","sku_id","num","quantity","console","fetchCartCount","log","code","removeFromCart","productId","updateCartItemQuantity","clearCart","getOrderData","getCart","getLoadingStatus","getSearchText","cartCount","scrollTimer","addEventListener","handleScroll","beforeDestroy","removeEventListener","clearTimeout","store","scrollTo","top","behavior","pageYOffset","showBackToTop","scrollToTop","setInterval","position","Math","max","clearInterval","components","HeaderNav","Footer","BackToTop","Sidebar","Router","originalPush","call","router","mode","base","process","routes","meta","keepAlive","redirect","children","scrollBehavior","to","from","savedPosition","x","y","beforeEach","next","document","requireAuth","fullPath","http","axios","create","timeout","interceptors","request","config","customBaseURL","params","baseURL","headers","method","toLowerCase","platform_type","loadingInstance","Loading","service","lock","background","reject","response","close","errorMsg","MessageBox","alert","Error","resData","msg","currentPath","currentRoute","confirm","Message","duration","url","install","formateRichText","str","reg","RegExp","replace","mobileValid","test","idNumberValid","passportValid","taiwanValid","gangaoValid","foreignerValid","officerValid","emailValid","getUrlPara","arrUrl","split","para","img","imgToBase64","reader","FileReader","readAsDataURL","onload","result","copyId","input","createElement","body","appendChild","select","execCommand","removeChild","utils","productionTip","ElementUI","VueLazyload","preLoad","require","attempt","listenEvents","adapter","loaded","bindType","el","naturalHeight","naturalWidth","$parent","src","Init","gotoPath","options","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","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","nc","setAttribute","onScriptComplete","prev","event","onerror","doneFns","parentNode","bind","target","head","Symbol","toStringTag","nmd","paths","p","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","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/views/User/ShoppingCart.vue b/src/views/User/ShoppingCart.vue
index 0f44291..da95e58 100644
--- a/src/views/User/ShoppingCart.vue
+++ b/src/views/User/ShoppingCart.vue
@@ -239,7 +239,7 @@ export default {
handleSelectShop(shop) {
if (shop.selected) {
shop.goods.forEach((v) => {
- v.selected = false;
+ v.selected = true;
});
} else {
shop.goods.forEach((v) => {
diff --git a/src/views/notice/noticeDetail.vue b/src/views/notice/noticeDetail.vue
index d7096e0..9585e03 100644
--- a/src/views/notice/noticeDetail.vue
+++ b/src/views/notice/noticeDetail.vue
@@ -1,10 +1,10 @@
-
详情
+
{{ content.title }}
-
+
@@ -31,7 +31,7 @@ export default {
"/api/anncmnt/getAnncmntById"
).then((res) => {
if (res.code == 1) {
- this.content = res.data.content;
+ this.content = res.data;
}
});
} else if (this.$route.query.type == "footer") {
@@ -41,7 +41,7 @@ export default {
},
"/api/navigation/getNavigationById"
).then((res) => {
- this.content = res.data.content;
+ this.content = res.data;
});
}
},