product.js.map 42 KB

1
  1. {"version":3,"sources":["uni-app:///main.js","webpack:///D:/2022/10/hmd/pages/product/product.vue?67de","webpack:///D:/2022/10/hmd/pages/product/product.vue?f002","webpack:///D:/2022/10/hmd/pages/product/product.vue?2e16","webpack:///D:/2022/10/hmd/pages/product/product.vue?7b9b","uni-app:///pages/product/product.vue","webpack:///D:/2022/10/hmd/pages/product/product.vue?930d","webpack:///D:/2022/10/hmd/pages/product/product.vue?5c38"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;kDAAA;;;AAGA;AACA,kG,8FAHA;AACAA,EAAE,CAACC,iCAAH,GAAuCC,mBAAvC,CAGAC,UAAU,CAACC,gBAAD,CAAV,C;;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoH;AACpH;AAC2D;AACL;AACc;;;AAGpE;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,6EAAM;AACR,EAAE,kFAAM;AACR,EAAE,2FAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,sFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,sNAEN;AACP;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAAimB,CAAgB,2nBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC0IrnB;;;;;;AAMA,+C;;;;AAIA;AACA;AACA,8BADA;AAEA,8BAFA,EADA;;AAKA;AACA,WADA,mBACA,GADA,EACA;AACA;AACA;AACA;AACA;AACA;AACA,KAPA,EALA;;AAcA,MAdA,kBAcA;AACA;AACA,iBADA;AAEA,eAFA,EAEA;AACA,aAHA,EAGA;AACA,oBAJA,EAIA;AACA,iBALA,EAKA;AACA,uBANA,EAMA;AACA,mBAPA,EAOA;AACA,qBARA,EAQA;AACA,qBATA,EASA;AACA;AACA,iBAXA;AAYA,kBAZA;AAaA;AACA,sBAdA;AAeA,oBAfA,EAeA;AACA,qBAhBA,EAgBA;AACA,kBAjBA,EAiBA;AACA,sBAlBA,EAkBA;AACA,0BAnBA,EAmBA;AACA,uBApBA,EAoBA;AACA,gBArBA,EAqBA;AACA;AACA;AACA,gBADA;AAEA,iBAFA,EAvBA;AA0BA;AACA,kBA3BA,EA2BA;AACA;AACA;AACA,mBADA,EACA;AACA,mBAFA,EAEA;AACA,oBAHA,EAGA;AACA,oBAJA,EAIA;AACA,oBALA,CAKA;AALA,OA7BA;AAoCA;AACA;AACA,cADA,EACA;AACA,eAFA,EAEA;AACA,kBAHA,EAGA;AACA,iBAJA,EAIA;AACA,qBALA,EAKA;AACA,oBANA,EAMA;AACA,kBAPA,EAOA;AACA,iBARA,EAQA;AACA,aATA,EASA;AACA,aAVA,EAUA;AACA,aAXA,CAWA;AAXA,OArCA;AAkDA,cAlDA;AAmDA,cAnDA;AAoDA,qBApDA,CAoDA;AApDA;AAsDA,GArEA;AAsEA,QAtEA,kBAsEA,OAtEA,EAsEA;AACA,iBADA,GACA,KADA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAfA,oBAgBA,iBAhBA;AAiBA;AACA;AACA;AACA;AACA;AACA,sBAtBA,GAsBA,uBAtBA;AAuBA;AACA,wBAxBA,GAwBA,UAxBA;AAyBA;AACA;AACA;AACA;AACA,eAHA,MAGA;AACA;AACA;AACA;AACA,mCAjCA;;;AAoCA,+BApCA;AAqCA;AACA;AACA;AACA,iCAxCA;;;AA2CA;AACA;AACA;AACA,eA9CA;AA+CA,GArHA;AAsHA;;;;;AAKA,uDALA,CAtHA;;AA6HA;AACA,SADA,iBACA,GADA,EACA;AACA;AACA,gBADA;;AAGA,KALA;AAMA;AACA;AACA;AACA,KATA;AAUA,qBAVA,+BAUA;AACA;AACA,uEADA;;AAGA,KAdA;AAeA;AACA,eAhBA,yBAgBA;AACA;AACA;AACA;AACA;AACA,2CAHA,CAGA;AACA;AACA;AACA;AACA,+BAPA,CAOA;AACA,yCARA,CAQA;AACA,wCATA,CASA;AACA;AACA,6CAXA,CAWA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA,2CApBA,CAoBA;AACA,yCArBA,CAqBA;AACA,iCAtBA,CAsBA;;AAEA;AACA,8BAzBA,CAyBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA,OA9CA;AA+CA,KAjEA;;;;;;;;;;;;;;;;;;;;;;;;;AA0FA;AACA,gBA3FA,wBA2FA,CA3FA,EA2FA;AACA;AACA,KA7FA;AA8FA;AACA,cA/FA,sBA+FA,GA/FA,EA+FA;AACA;AACA;AACA;AACA;AACA,SAFA,EAEA,GAFA;AAGA,OALA,MAKA;AACA;AACA;AACA;AACA;AACA,KA1GA;AA2GA;AACA,cA5GA,sBA4GA,IA5GA,EA4GA,GA5GA,EA4GA,GA5GA,EA4GA;AACA;AACA;AACA;AACA,OAFA;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA,SAFA,MAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KA1IA;AA2IA;AACA,SA5IA,mBA4IA;AACA;AACA,KA9IA;AA+IA;AACA,cAhJA,sBAgJA,IAhJA,EAgJA;AACA;AACA;AACA;AACA;AACA;AACA,2BADA;AAEA,uBAFA;AAGA,0BAHA;;AAKA,SANA;AAOA,OARA,MAQA;AACA;AACA;AACA,2BADA;AAEA,uBAFA;AAGA,0BAHA;;AAKA,SANA;AAOA;AACA,KApKA;AAqKA;AACA,OAtKA,iBAsKA;AACA;AACA;AACA,gCADA,EACA;AACA,8BAFA,EAEA;AACA,gBAHA,EAGA;AACA;AACA;AALA;AAOA;AACA;AACA;AACA;AACA,qCADA,CACA;AACA;AACA;AACA;AACA,qCADA,CACA;AACA,oDAFA,CAEA;AACA;AACA;AACA;AACA,uBADA;AAEA,+BAFA;AAGA,6BAHA;;AAKA;AACA;AACA;AACA;AACA;AACA,yCADA,CACA;AACA,oDAFA,CAEA;AACA;AACA;AACA,UADA,CACA;AACA;AACA;AACA;AACA,6IADA;;AAGA;AACA;AACA;AACA,4BADA;AAEA,uBAFA;AAGA,0BAHA;;AAKA;AACA;AACA,OAhBA;AAiBA,WAjBA,CAiBA;AACA;AACA,OAnBA;AAoBA,KA5NA;AA6NA,eA7NA,yBA6NA,EA7NA,EA7HA,E;;;;;;;;;;;;;ACpJA;AAAA;AAAA;AAAA;AAA4oC,CAAgB,knCAAG,EAAC,C;;;;;;;;;;;ACAhqC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/product/product.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/product/product.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./product.vue?vue&type=template&id=2fbdbe34&\"\nvar renderjs\nimport script from \"./product.vue?vue&type=script&lang=js&\"\nexport * from \"./product.vue?vue&type=script&lang=js&\"\nimport style0 from \"./product.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/product/product.vue\"\nexport default component.exports","export * from \"-!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./product.vue?vue&type=template&id=2fbdbe34&\"","var components\ntry {\n components = {\n uniCountdown: function() {\n return import(\n /* webpackChunkName: \"components/uni-countdown/uni-countdown\" */ \"@/components/uni-countdown/uni-countdown.vue\"\n )\n }\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./product.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./product.vue?vue&type=script&lang=js&\"","<template>\n\t<view class=\"container\">\n\t\t<view class=\"carousel\">\n\t\t\t<swiper indicator-dots :circular=\"true\" duration=\"400\">\n\t\t\t\t<swiper-item class=\"swiper-item\" v-for=\"(item, index) in imgList\" :key=\"index\">\n\t\t\t\t\t<view class=\"image-wrapper\"><image :src=\"item\" class=\"loaded\" mode=\"scaleToFill\"></image></view>\n\t\t\t\t</swiper-item>\n\t\t\t</swiper>\n\t\t</view>\n\n\t\t<view class=\"introduce-section seckill-box-title\" v-if=\"goodsType == 1\">\n\t\t\t<view class=\"title flex\">\n\t\t\t\t<view class=\"title-box\">\n\t\t\t\t\t<text class=\"price-tip\">¥</text>\n\t\t\t\t\t<text class=\"price\" v-if=\"userInfo && userInfo.level == 1\">{{ goodsObjact.vip_repurchase*1 || ''}}</text>\r\n\t\t\t\t\t<text class=\"price\" v-if=\"userInfo && userInfo.level == 2\">{{ goodsObjact.agent_repurchase*1 || ''}}</text>\r\n\t\t\t\t\t<text class=\"price\" v-if=\"(!hasLogin || userInfo.level == 0)\">{{ goodsObjact.price*1 }}</text>\n\t\t\t\t\t<!-- <text class=\"m-price\" v-if=\"goodsObjact.ot_price > goodsObjact.price\">¥{{ goodsObjact.ot_price }}</text> -->\n\t\t\t\t\t<!-- <text class=\"coupon-tip\">7折</text> -->\n\t\t\t\t</view>\n\t\t\t\t<view class=\"flex timeStop\">\n\t\t\t\t\t<view>距离结束</view>\n\t\t\t\t\t<uni-countdown\n\t\t\t\t\t\tcolor=\"#ffffff\"\n\t\t\t\t\t\tbackground-color=\"#D65B3F\"\n\t\t\t\t\t\tsplitor-color=\"#FFFFFF\"\n\t\t\t\t\t\t:show-day=\"false\"\n\t\t\t\t\t\t:hour=\"seckillObj.stopTimeH\"\n\t\t\t\t\t\t:minute=\"seckillObj.stopTimeM\"\n\t\t\t\t\t\t:second=\"seckillObj.stopTimeS\"\n\t\t\t\t\t></uni-countdown>\n\t\t\t\t</view>\n\t\t\t</view>\n\t\t</view>\n\n\t\t<view class=\"introduce-section\">\n\t\t\t<view class=\"price-box\" v-if=\"goodsType == 0\">\n\t\t\t\t<text class=\"price-tip\">¥</text>\n\t\t\t\t<text class=\"price\" v-if=\"userInfo && userInfo.identity == 1\">{{ goodsObjact.vip_repurchase || ''}}</text>\r\n\t\t\t\t<text class=\"price\" v-if=\"userInfo && userInfo.identity == 2\">{{ goodsObjact.agent_repurchase || ''}}</text>\r\n\t\t\t\t<text class=\"price\" v-if=\"(!hasLogin || userInfo.identity == 0)\">{{ goodsObjact.price}}</text>\n\t\t\t\t<text class=\"m-price\" v-if=\"goodsObjact.ot_price > goodsObjact.price\">¥{{ goodsObjact.ot_price }}</text>\n\t\t\t</view>\n\t\t\t<text class=\"title\" v-if=\"goodsType == 0\">{{ goodsObjact.store_name }}</text>\n\t\t</view>\n\t\t<view class=\"c-list\">\n\t\t\t<view class=\"c-row b-b\" @click=\"toggleSpec\">\n\t\t\t\t<text class=\"tit\">购买数量</text>\n\t\t\t\t<view class=\"con\">\n\t\t\t\t\t<text class=\"selected-text\">{{ goodsNumber }}</text>\n\t\t\t\t</view>\n\t\t\t\t<text class=\"iconfont iconenter\"></text>\n\t\t\t</view>\n\t\t\t<view class=\"c-row b-b\" v-if=\"goodsType == 1\">\n\t\t\t\t<text class=\"tit\">限购数量</text>\n\t\t\t\t<view class=\"con\">\n\t\t\t\t\t<text class=\"selected-text\">{{ goodsObjact.num + goodsObjact.unit_name }}</text>\n\t\t\t\t</view>\n\t\t\t</view>\n\t\t\t<!-- <view class=\"c-row b-b\" v-if=\"goodsObjact.is_integral == 1 && goodsType == 0\">\n\t\t\t\t<text class=\"tit\">积分</text>\n\t\t\t\t<view class=\"bz-list con\">\n\t\t\t\t\t<text>最高抵扣¥{{ moneyNum(goodsObjact.use_max_integral) == 0 ? moneyNum(goodsObjact.price) : moneyNum(goodsObjact.use_max_integral) }}</text>\n\t\t\t\t</view>\n\t\t\t</view> -->\n\t\t</view>\n\t\t<view class=\"detail-desc\">\n\t\t\t<view class=\"d-header\"><text>商品详情</text></view>\n\t\t\t<rich-text class=\"detail-centent\" :nodes=\"goodsObjact.description\"></rich-text>\n\t\t\t<view :class=\"{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }\"></view>\n\t\t</view>\n\t\t<!-- 底部操作菜单 -->\n\t\t<view class=\"page-bottom\" v-if=\"goodsType == 0\">\n\t\t\t<view class=\"action-btn-group\">\r\n\t\t\t\t<view class=\"shoucang flex\" @click=\"toFavorite(goodsObjact)\">\r\n\t\t\t\t\t<image src=\"../../static/icon/sc-ico.png\" mode=\"\"></image>\r\n\t\t\t\t\t<view class=\"\">\r\n\t\t\t\t\t\t收藏\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"buy-now\">\r\n\t\t\t\t\t<!-- <button type=\"primary\" class=\" action-btn no-border buy-now-btn\" @click.stop=\"toggleSpec(2)\" v-if=\"is_bk == 0 && is_xf ==0\">加入购物车</button> -->\r\n\t\t\t\t\t<button type=\"primary\" class=\" action-btn no-border add-cart-btn\" @click.stop=\"toggleSpec(1)\">立即购买</button>\r\n\t\t\t\t</view>\n\t\t\t\t\n\t\t\t</view>\n\t\t</view>\n\t\t<!-- 规格-模态层弹窗 -->\n\t\t<view class=\"popup spec\" :class=\"specClass\" @touchmove.stop.prevent=\"stopPrevent\" @click=\"toggleSpec\">\n\t\t\t<!-- 遮罩层 -->\n\t\t\t<view class=\"mask\"></view>\n\t\t\t<view class=\"layer attr-content\" @click.stop=\"stopPrevent\">\n\t\t\t\t<view class=\"a-t\">\n\t\t\t\t\t<image :src=\"actionImage\"></image>\n\t\t\t\t\t<view class=\"right\">\n\t\t\t\t\t\t<view class=\"good-name clamp\">{{ goodsObjact.store_name }}</view>\n\t\t\t\t\t\t<text class=\"price\">¥{{ actionPrice * goodsNumber }}</text>\r\n\t\t\t\t\t\t<!-- <text class=\"price jf\">{{ goodIntegral }}</text> -->\n\t\t\t\t\t\t<!-- <text class=\"stock\">库存:{{ goodsObjact.stock }}件</text> -->\n\t\t\t\t\t\t<!-- <view class=\"selected\" v-if=\"goodsType == 0\">\n\t\t\t\t\t\t\t已选:\n\t\t\t\t\t\t\t<text class=\"selected-text\" v-for=\"(sItem, sIndex) in specSelected\" :key=\"sIndex\">{{ sItem }}</text>\n\t\t\t\t\t\t</view> -->\n\t\t\t\t\t</view>\n\t\t\t\t</view>\n\t\t\t\t<view v-for=\"(item, index) in specList\" :key=\"index\" class=\"attr-list\">\n\t\t\t\t\t<text>{{ item.attr_name }}</text>\n\t\t\t\t\t<view class=\"item-list\">\n\t\t\t\t\t\t<text\n\t\t\t\t\t\t\tv-for=\"(childItem, childIndex) in item.attr_value\"\n\t\t\t\t\t\t\t:key=\"childIndex\"\n\t\t\t\t\t\t\tclass=\"tit\"\n\t\t\t\t\t\t\t:class=\"{ selected: childItem.check }\"\n\t\t\t\t\t\t\t@click=\"selectSpec(childItem, item, index)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ childItem.attr }}\n\t\t\t\t\t\t</text>\n\t\t\t\t\t</view>\n\t\t\t\t</view>\n\t\t\t\t<view class=\"attr-list\" style=\"padding-bottom: 120rpx;\">\n\t\t\t\t\t<text>购买数量</text>\n\t\t\t\t\t<view class=\"item-list\">\n\t\t\t\t\t\t<uni-number-box class=\"step\" :isMin=\"true\" :value=\"goodsNumber\" :min=\"1\" :max=\"goodsNumberMax\" @eventChange=\"numberChange\"></uni-number-box>\n\t\t\t\t\t</view>\n\t\t\t\t</view>\n\t\t\t\t<button class=\"btn\" @click.stop=\"buy\">确定</button>\n\t\t\t</view>\n\t\t</view>\n\t\t<!-- <view :class=\"{ seckillBottom: goodsType == 1, goodsBottom: goodsType == 0 }\"></view> -->\n\t\t<!-- 分享 -->\n\t\t<!-- <share ref=\"share\" :contentHeight=\"580\" :shareList=\"shareList\"></share> -->\n\t</view>\n</template>\n\n<script>\n// import share from '@/components/share';\nimport uniNumberBox from '@/components/uni-number-box.vue';\nimport uniCountdown from '@/components/uni-countdown/uni-countdown.vue';\nimport { goodsDetail, cartAdd, collectAdd, collectDel, seckillGoods, groupGoods } from '@/api/product.js';\n// #ifdef H5\nimport { weixindata,shareLoad } from '@/utils/wxAuthorized';\nimport weixinObj from \"@/plugin/jweixin-module/index.js\";\nimport { userInfo } from 'os';\n// #endif\r\n\timport {\r\n\t\tmapState,\r\n\t\tmapMutations\r\n\t} from 'vuex';\nexport default {\n\tcomponents: {\n\t\tuniNumberBox,\n\t\tuniCountdown\n\t},\n\tfilters: {\n\t\taddress(val) {\n\t\t\tlet str = '';\n\t\t\tif (val) {\n\t\t\t\tstr = val[0] + ' ' + val[1];\n\t\t\t}\n\t\t\treturn str;\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdetails: '',\n\t\t\treply: '', //评论\n\t\t\ttype: 1, //默认支付方式add为\n\t\t\tgoodsNumber: 1, //购买数量\n\t\t\tgoodsid: '', //商品id\n\t\t\tspecClass: 'none', //显示隐藏弹窗\n\t\t\tshareList: [], //分享列表\n\t\t\tgoodsObjact: {}, //保存商品数据\n\t\t\tstoreObjact: {}, //保存店铺数据\n\t\t\t//图片循环\n\t\t\timgList: [],\n\t\t\tspecList: [],\n\t\t\t// 对比对象\n\t\t\tproductValue: [],\n\t\t\tactionPrice: 0, //默认选中商品价格\n\t\t\tactionImage: '', //默认选中图片\n\t\t\tuniqueId: '', //选中的商品分类\n\t\t\tspecSelected: [], //选中的分类\n\t\t\tspecSelectedName: '', //选中分类名称\n\t\t\tgoodsNumberMax: 0, //最大可购买数量\n\t\t\tshopId: '', //商店id\n\t\t\t//商店信息\n\t\t\tshopInfo: {\n\t\t\t\tlogo: '',\n\t\t\t\ttitle: ''\n\t\t\t}, //商店信息\n\t\t\tgoodsType: 0, //商品类型1秒杀商品0为普通商品2为拼团商品\n\t\t\t// 秒杀数据保存\n\t\t\tseckillObj: {\n\t\t\t\tstopTime: 0, //结束时间\n\t\t\t\tstop: false, //是否结束\n\t\t\t\tstopTimeH: 0, //小时\n\t\t\t\tstopTimeM: 0, //分钟\n\t\t\t\tstopTimeS: 0 //秒钟\n\t\t\t},\n\t\t\t// 拼团数据保存\n\t\t\tpink: {\n\t\t\t\tid: '', //拼团编号\n\t\t\t\tuid: '', //用户编号\n\t\t\t\tpeople: '', //拼团人数\n\t\t\t\tprice: '', //拼团价格\n\t\t\t\tstop_time: '', //拼团结束时间\n\t\t\t\tnickname: '', //团长昵称\n\t\t\t\tavatar: '', //团长头像\n\t\t\t\tcount: '', //拼团剩余人数\n\t\t\t\th: '', //时\n\t\t\t\ti: '', //分\n\t\t\t\ts: '' //秒\n\t\t\t},\r\n\t\t\tis_bk: 0,\r\n\t\t\tis_xf: 0,\r\n\t\t\tgoodIntegral: 0,//需要使用的积分\n\t\t};\n\t},\n\tasync onLoad(options) {\n\t\tlet obj = this;\r\n\t\tif(options.is_bk) {\r\n\t\t\tobj.is_bk = options.is_bk\r\n\t\t}\r\n\t\tif(options.is_xf) {\r\n\t\t\tobj.is_xf = options.is_xf\r\n\t\t}\n\t\t//保存商品id\n\t\tthis.goodsid = options.id;\n\t\t// 判断有无人邀请\n\t\tif (options.spread) {\n\t\t\t// 存储邀请人\n\t\t\tuni.setStorageSync('spread', options.spread);\n\t\t}\n\t\t// 判断是否为秒杀商品\n\t\tif (options.type == 1) {\n\t\t\t// 保存商品类型\n\t\t\tthis.goodsType = 1;\n\t\t\t// 保存结束时间\n\t\t\tthis.seckillObj.stopTime = options.stoptime;\n\t\t\t// 获取当前时间毫秒数\n\t\t\tlet stoptime = options.stoptime * 1000;\n\t\t\t// 获取当前时间\n\t\t\tlet acitonTime = new Date();\n\t\t\t// 判断当前时间是否大于结束时间\n\t\t\tif (acitonTime.getTime() > stoptime) {\n\t\t\t\t// 当前秒杀时间已经结束\n\t\t\t\tthis.seckillObj.stop = true;\n\t\t\t} else {\n\t\t\t\t// 计算倒计时\n\t\t\t\tthis.timeComputed(stoptime, this.seckillObj);\n\t\t\t}\n\t\t\tthis.seckillGoods();\n\t\t\treturn;\n\t\t}\n\t\tif (options.type == 2) {\n\t\t\t// 保存当前拼团商品类型\n\t\t\tthis.goodsType = 2;\n\t\t\t// 家在数据\n\t\t\tthis.groupGoods();\n\t\t\treturn;\n\t\t}\n\t\tif (this.goodsType == 0) {\n\t\t\t// 加载普通商品详情\n\t\t\tthis.goodsDetail();\n\t\t}\n\t},\n\tcomputed: {\n\t\t// #ifdef H5\n\t\t...mapState(['weichatObj', 'baseURL', 'urlFile']),\n\t\t\n\t\t// #endif\r\n\t\t...mapState('user', ['userInfo','hasLogin'])\n\t},\n\tmethods: {\n\t\tnavTo(url) {\n\t\t\tuni.navigateTo({\n\t\t\t\turl\n\t\t\t});\n\t\t},\n\t\t// 转换字符串为数字\n\t\tmoneyNum: function(value) {\n\t\t\treturn +value;\n\t\t},\n\t\tnavToProductGoods() {\n\t\t\tuni.redirectTo({\n\t\t\t\turl: '/pages/product/product?id=' + this.goodsObjact.product_id\n\t\t\t});\n\t\t},\n\t\t// 获取商品信息\n\t\tgoodsDetail() {\n\t\t\tlet obj = this;\n\t\t\tgoodsDetail({}, this.goodsid).then(function({ data }) {\n\t\t\t\tobj.details = data;\n\t\t\t\tlet goods = data.storeInfo;\n\t\t\t\tlet store_info = data.system_store; // 保存店铺信息\n\t\t\t\tconsole.log(store_info);\n\t\t\t\tobj.storeObjact = store_info;\n\t\t\t\tobj.goodsObjact = goods;\n\t\t\t\tobj.reply = data.reply; //保存评论列表\n\t\t\t\tobj.imgList = goods.slider_image; //保存轮播图\n\t\t\t\tobj.specList = data.productAttr; //保存分类列表\n\t\t\t\tconsole.log(data.productAttr);\n\t\t\t\tobj.productValue = data.productValue; //保存分类查询数据\n\t\t\t\t //保存默认选中商品价格\r\n\t\t\t\tif(obj.userInfo && obj.userInfo.identity == 1) {\r\n\t\t\t\t\tobj.actionPrice = goods.vip_repurchase\r\n\t\t\t\t}else if(obj.userInfo && obj.userInfo.identity == 2) {\r\n\t\t\t\t\tobj.actionPrice = goods.agent_repurchase\r\n\t\t\t\t}else {\r\n\t\t\t\t\tobj.actionPrice = goods.price;\r\n\t\t\t\t}\n\t\t\t\tobj.actionImage = goods.image_base; //保存默认选中商品价格\n\t\t\t\tobj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量\n\t\t\t\tobj.shopId = data.mer_id; //保存商店id\r\n\t\t\t\n\t\t\t\t// 保存默认选中的对象\n\t\t\t\tobj.specSelected = []; //初始化默认选择对象\n\t\t\t\tfor (let i = 0; i < obj.specList.length; i++) {\n\t\t\t\t\t// 设置默认数据\n\t\t\t\t\tlet attrValue = obj.specList[i].attr_value[0];\n\t\t\t\t\tattrValue.check = true;\n\t\t\t\t\tobj.specSelected.push(attrValue.attr);\n\t\t\t\t}\n\n\t\t\t\t//保存默认选中的对象字符串名称\n\t\t\t\tlet str = obj.specSelected.join(',');\n\t\t\t\t// 设置默认值\n\t\t\t\tobj.actionImage = obj.productValue[str].image;\n\t\t\t\tobj.uniqueId = obj.productValue[str].unique;\r\n\t\t\t\tobj.goodIntegral = obj.productValue[str].integral\r\n\t\t\t\tif(obj.is_xf == 1) {\r\n\t\t\t\t\tobj.goodsNumberMax = 1\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log(obj.goodIntegral,'obj.goodIntegral')\n\t\t\t\t// #ifdef H5\n\t\t\t\tobj.shareDate();\n\t\t\t\t// #endif\n\t\t\t});\n\t\t},\n\t\t// #ifdef H5\n\t\t// 加载微信html5页面分享方法\n\t\tshareDate() {\n\t\t\tlet obj = this;\n\t\t\t// 保存分享人id链接\n\t\t\tlet url = window.location.href + '&spread=' + this.userInfo.uid;\n\t\t\t// 判断是否微信浏览器\n\t\t\tlet bool = uni.getStorageSync('weichatBrowser') || '';\n\t\t\tif (bool) {\n\t\t\t\t// 过滤微信强制添加的链接地址\n\t\t\t\turl = url.replace(/[\\?,&]from=singlemessage/g, '');\n\t\t\t\tlet data = {\n\t\t\t\t\tlink: url, // 分享链接\n\t\t\t\t\timgUrl: obj.goodsObjact.image, // 分享图标\n\t\t\t\t\tdesc: obj.goodsObjact.store_info,\n\t\t\t\t\ttitle: obj.goodsObjact.store_name,\n\t\t\t\t\tsuccess: function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tshareLoad(data);\n\t\t\t}\n\t\t},\n\t\t// #endif\n\t\t// 购买数量变化\n\t\tnumberChange(e) {\n\t\t\tthis.goodsNumber = e.number;\n\t\t},\n\t\t//规格弹窗开关\n\t\ttoggleSpec(str) {\n\t\t\tif (this.specClass === 'show') {\n\t\t\t\tthis.specClass = 'hide';\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.specClass = 'none';\n\t\t\t\t}, 250);\n\t\t\t} else if (this.specClass === 'none') {\n\t\t\t\tthis.specClass = 'show';\n\t\t\t}\n\t\t\t// 保存当前购买类型\n\t\t\tthis.type = str;\n\t\t},\n\t\t//选择规格\n\t\tselectSpec(item, arr, ind) {\r\n\t\t\tlet obj = this\n\t\t\tarr.attr_value.forEach(function(e) {\n\t\t\t\te.check = false;\n\t\t\t});\n\t\t\titem.check = true;\n\t\t\tthis.specSelected[ind] = item.attr;\n\t\t\tlet str = this.specSelected.join(',');\n\t\t\tthis.specSelectedName = this.specSelected.join(' ');\n\t\t\tif (this.productValue[str]) {\n\t\t\t\tlet data = this.productValue[str];\r\n\t\t\t\t\n\t\t\t\t// this.actionPrice = data.price;\r\n\t\t\t\tif(obj.userInfo && obj.userInfo.identity == 1) {\r\n\t\t\t\t\tobj.actionPrice = obj.goodsObjact.vip_repurchase\r\n\t\t\t\t}else if(obj.userInfo && obj.userInfo.identity == 2) {\r\n\t\t\t\t\tobj.actionPrice = obj.goodsObjact.agent_repurchase\r\n\t\t\t\t}else {\r\n\t\t\t\t\tobj.actionPrice = obj.goodsObjact.price;\r\n\t\t\t\t}\r\n\t\t\t\t\n\t\t\t\tthis.goodsNumberMax = data.stock;\n\t\t\t\tthis.actionImage = data.image;\n\t\t\t\tthis.uniqueId = data.unique;\r\n\t\t\t\tthis.goodIntegral = data.integral\r\n\t\t\t\tconsole.log(this.goodIntegral,'xuanz')\n\t\t\t}\r\n\t\t\tif(this.is_xf == 1) {\r\n\t\t\t\tthis.goodsNumberMax = 1\r\n\t\t\t}\n\t\t},\n\t\t//分享\n\t\tshare() {\n\t\t\tthis.$refs.share.toggleMask();\n\t\t},\n\t\t//收藏\n\t\ttoFavorite(item) {\n\t\t\tlet obj = this;\n\t\t\titem.userCollect = !item.userCollect;\n\t\t\tif (!item.userCollect) {\n\t\t\t\tcollectDel({ id: obj.goodsid, category: 'product' }).then(function(e) {\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: '成功取消收藏',\n\t\t\t\t\t\ttype: 'top',\n\t\t\t\t\t\tduration: 1500\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tcollectAdd({ id: obj.goodsid, category: 'product' }).then(function(e) {\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: '成功加入收藏',\n\t\t\t\t\t\ttype: 'top',\n\t\t\t\t\t\tduration: 1500\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// 立即购买\n\t\tbuy() {\n\t\t\tlet obj = this;\n\t\t\tlet data = {\n\t\t\t\tcartNum: obj.goodsNumber, //商品数量\n\t\t\t\tuniqueId: obj.uniqueId, //商品标签\n\t\t\t\tnew: '1', //商品是否新增加到购物车1为不加入0为加入\n\t\t\t\tmer_id: obj.shopId\n\t\t\t\t// type: 0,//0为余额支付 1为消费券支付 2为积分支付\n\t\t\t};\n\t\t\tif (obj.type == 2) {\n\t\t\t\tdata.new = 0;\n\t\t\t}\n\t\t\tif (obj.goodsType == 0) {\n\t\t\t\tdata.productId = obj.goodsid; //商品编号\n\t\t\t}\n\t\t\t// 判断是否为秒杀商品\n\t\t\tif (obj.goodsType == 1) {\n\t\t\t\tdata.secKillId = obj.goodsid; //秒杀商品编号\n\t\t\t\tdata.productId = obj.goodsObjact.product_id; //商品编号\n\t\t\t\t// 判断是否秒杀已经结束\n\t\t\t\tif (obj.seckillObj.stop) {\n\t\t\t\t\tuni.showModal({\n\t\t\t\t\t\ttitle: '提示',\n\t\t\t\t\t\tcontent: '当前活动已经结束',\n\t\t\t\t\t\tshowCancel: false\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为拼团商品\n\t\t\tif (obj.goodsType == 2) {\n\t\t\t\tdata.combinationId = obj.goodsid; //拼团编号\n\t\t\t\tdata.productId = obj.goodsObjact.product_id; //商品编号\n\t\t\t}\n\t\t\tcartAdd(data)\n\t\t\t\t.then(function({ data }) {\n\t\t\t\t\tif (obj.type == 1) {\n\t\t\t\t\t\t// 跳转到支付页\n\t\t\t\t\t\tuni.navigateTo({\n\t\t\t\t\t\t\turl: '/pages/order/createOrder?id=' + data.cartId + '&goodsType=' + obj.goodsType + '&is_xf=' + obj.is_xf + '&is_bk=' + obj.is_bk\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (obj.type == 2) {\n\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\ttitle: '成功加入购物车',\n\t\t\t\t\t\t\ttype: 'top',\n\t\t\t\t\t\t\tduration: 2000\n\t\t\t\t\t\t});\n\t\t\t\t\t\tobj.toggleSpec();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t},\n\t\tstopPrevent() {}\n\t}\n};\n</script>\n\n<style lang=\"scss\">\npage {\n\tbackground: $page-color-base;\n}\n//秒杀底部高度\n.seckillBottom {\n\theight: 110rpx;\n}\n// 文章页底部高度撑开\n.contentBottomHeight {\n\theight: 110rpx;\n}\n//默认商品底部高度\n.goodsBottom {\n\theight: 100rpx;\n}\n.iconenter {\n\tfont-size: $font-base + 2rpx;\n\tcolor: #888;\n}\n.carousel {\n\t/* #ifdef APP-PLUS */\n\tpadding-top: var(--status-bar-height);\n\t/* #endif */\n\theight: 722rpx;\n\tposition: relative;\n\tswiper {\n\t\theight: 100%;\n\t}\n\t.image-wrapper {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\t.swiper-item {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-content: center;\n\t\t// height: 750rpx;\n\t\theight: 710rpx;\n\t\toverflow: hidden;\n\t\timage {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t}\n\t}\n}\n// 秒杀\n.seckill-box-title {\n\tbackground: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%) !important;\n\t.price,\n\t.price-tip,\n\t.timeStop,\n\t.m-price {\n\t\tcolor: #ffffff !important;\n\t}\n\t.price-tip {\n\t\tfont-size: $font-base;\n\t}\n\t.price {\n\t\tfont-size: 45rpx !important;\n\t\tfont-weight: bold;\n\t}\n\t.timeStop {\n\t}\n}\n// 底部拼团、秒杀支付按钮\n.goods-pay-box {\n\tposition: fixed;\n\tleft: 0;\n\tbottom: 0;\n\tz-index: 95;\n\twidth: 750rpx;\n\theight: 100rpx;\n\tline-height: 1;\n\tcolor: #ffffff;\n\ttext-align: center;\n\tfont-size: $font-lg;\n\t.bgLine {\n\t\tbackground: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%);\n\t}\n\t// 拼团支付按钮\n\t.goods-pay {\n\t\tdisplay: flex;\n\t\talign-content: center;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: center;\n\t\t.goods-buttom,\n\t\t.goods-buttom-money {\n\t\t\twidth: 100%;\n\t\t}\n\t\t.goods-buttom-money {\n\t\t\tfont-size: $font-base;\n\t\t}\n\t}\n\t.goods-pay-stop,\n\t.goods-pay {\n\t\tpadding: 15rpx 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.goods-pay-stop {\n\t\tbackground: $color-gray;\n\t\tline-height: 70rpx;\n\t}\n}\n/* 标题简介 */\n.introduce-section {\n\tbackground: #fff;\n\tpadding: 20rpx 30rpx;\n\t.title {\n\t\tfont-size: 32rpx;\n\t\tcolor: $font-color-dark;\n\t\theight: 50rpx;\n\t\tline-height: 50rpx;\n\t}\n\t.price-box {\n\t\tdisplay: flex;\n\t\talign-items: baseline;\n\t\theight: 64rpx;\n\t\tpadding: 10rpx 0;\n\t\tfont-size: 26rpx;\n\t\tcolor: #FD3B39;\n\t}\n\t.price {\n\t\tfont-size: $font-lg + 2rpx;\n\t}\n\t.m-price {\n\t\tmargin: 0 12rpx;\n\t\tcolor: $font-color-light;\n\t\ttext-decoration: line-through;\n\t}\r\n\t.pt {\r\n\t\ttext-decoration:none;\r\n\t}\n\t.coupon-tip {\n\t\talign-items: center;\n\t\tpadding: 4rpx 10rpx;\n\t\tbackground: $uni-color-primary;\n\t\tfont-size: $font-sm;\n\t\tcolor: #fff;\n\t\tborder-radius: 6rpx;\n\t\tline-height: 1;\n\t\ttransform: translateY(-4rpx);\n\t}\n\t.bot-row {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 50rpx;\n\t\tfont-size: $font-sm;\n\t\tcolor: $font-color-light;\n\t\ttext {\n\t\t\tflex: 1;\n\t\t}\n\t}\n}\n/* 分享 */\n.share-section {\n\tdisplay: flex;\n\talign-items: center;\n\tcolor: $font-color-base;\n\tbackground: linear-gradient(left, #fdf5f6, #fbebf6);\n\tpadding: 12rpx 30rpx;\n\t.share-icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\twidth: 70rpx;\n\t\theight: 30rpx;\n\t\tline-height: 1;\n\t\tborder: 1px solid $uni-color-primary;\n\t\tborder-radius: 4rpx;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tfont-size: 22rpx;\n\t\tcolor: $uni-color-primary;\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\twidth: 50rpx;\n\t\t\theight: 50rpx;\n\t\t\tborder-radius: 50%;\n\t\t\tleft: -20rpx;\n\t\t\ttop: -12rpx;\n\t\t\tposition: absolute;\n\t\t\tbackground: $uni-color-primary;\n\t\t}\n\t}\n\t.iconfavorfill {\n\t\tposition: relative;\n\t\tz-index: 1;\n\t\tfont-size: 24rpx;\n\t\tmargin-left: 2rpx;\n\t\tmargin-right: 10rpx;\n\t\tcolor: #fff;\n\t\tline-height: 1;\n\t}\n\t.tit {\n\t\tfont-size: $font-base;\n\t\tmargin-left: 10rpx;\n\t}\n\t.iconprompt {\n\t\tpadding: 10rpx;\n\t\tfont-size: 30rpx;\n\t\tline-height: 1;\n\t}\n\t.share-btn {\n\t\tflex: 1;\n\t\ttext-align: right;\n\t\tfont-size: $font-sm;\n\t\tcolor: $uni-color-primary;\n\t}\n\t.iconenter {\n\t\tfont-size: $font-sm;\n\t\tmargin-left: 4rpx;\n\t\tcolor: $uni-color-primary;\n\t}\n}\n\n.c-list {\n\tmargin-top: 20rpx;\n\tfont-size: $font-sm + 2rpx;\n\tcolor: $font-color-base;\n\tbackground: #fff;\n\t.c-row {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tpadding: 20rpx 30rpx;\n\t\tposition: relative;\n\t}\n\t.tit {\n\t\twidth: 140rpx;\n\t}\n\t.con {\n\t\tflex: 1;\n\t\tcolor: $font-color-dark;\n\t\t.selected-text {\n\t\t\tmargin-right: 10rpx;\n\t\t\t.num {\n\t\t\t\tcolor: #FD3B39;\n\t\t\t}\n\t\t}\n\t}\n\t.bz-list {\n\t\theight: 40rpx;\n\t\tfont-size: $font-sm + 2rpx;\n\t\tcolor: $font-color-dark;\n\t\ttext {\n\t\t\tdisplay: inline-block;\n\t\t\tmargin-right: 30rpx;\n\t\t}\n\t}\n\t.con-list {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tcolor: $font-color-dark;\n\t\tline-height: 40rpx;\n\t}\n\t.red {\n\t\tcolor: $uni-color-primary;\n\t}\n}\n\n/* 评价 */\n.eva-section {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 20rpx 30rpx;\n\tbackground: #fff;\n\tmargin-top: 16rpx;\n\t.e-header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 70rpx;\n\t\tfont-size: $font-sm + 2rpx;\n\t\tcolor: $font-color-light;\n\t\t.tit {\n\t\t\tfont-size: $font-base + 2rpx;\n\t\t\tcolor: $font-color-dark;\n\t\t\tmargin-right: 4rpx;\n\t\t}\n\t\t.tip {\n\t\t\tflex: 1;\n\t\t\ttext-align: right;\n\t\t}\n\t\t.iconenter {\n\t\t\tmargin-left: 10rpx;\n\t\t}\n\t}\n}\n.eva-box {\n\tdisplay: flex;\n\tpadding: 20rpx 0;\n\t.portrait {\n\t\tflex-shrink: 0;\n\t\twidth: 80rpx;\n\t\theight: 80rpx;\n\t\tborder-radius: 100px;\n\t}\n\t.right {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tfont-size: $font-base;\n\t\tcolor: $font-color-base;\n\t\tpadding-left: 26rpx;\n\t\t.con {\n\t\t\tfont-size: $font-base;\n\t\t\tcolor: $font-color-dark;\n\t\t\tpadding: 20rpx 0;\n\t\t}\n\t\t.bot {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\tfont-size: $font-sm;\n\t\t\tcolor: $font-color-light;\n\t\t}\n\t}\n}\n\n.eva-boxs {\n\twidth: 100%;\n\toverflow: hidden;\n\tpadding: 10px 28rpx;\n\tbackground: #f4f4f4;\n\tborder-radius: 12rpx;\n\tfont-size: $font-sm + 2rpx;\n\tcolor: #333;\n\t.portrait {\n\t\tflex-shrink: 0;\n\t\twidth: 80rpx;\n\t\theight: 80rpx;\n\t\tborder-radius: 100px;\n\t}\n\t.right {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tfont-size: $font-base;\n\t\tcolor: $font-color-base;\n\t\t.con {\n\t\t\tfont-size: $font-base;\n\t\t\tcolor: $font-color-dark;\n\t\t}\n\t\t.bot {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\tfont-size: $font-sm;\n\t\t\tcolor: $font-color-light;\n\t\t}\n\t}\n}\n/* 详情 */\n.detail-desc {\n\tbackground: #fff;\n\tmargin-top: 16rpx;\n\t/deep/ img {\n\t\tmax-width: 100% !important;\n\t\tdisplay: inline !important;\n\t}\n\t/deep/ div {\n\t\tmax-width: 100% !important;\n\t}\n\t.d-header {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\theight: 80rpx;\n\t\tfont-size: $font-base + 2rpx;\n\t\tcolor: $font-color-dark;\n\t\tposition: relative;\n\n\t\ttext {\n\t\t\tpadding: 0 20rpx;\n\t\t\tbackground: #fff;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t&:after {\n\t\t\tposition: absolute;\n\t\t\tleft: 50%;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t\twidth: 300rpx;\n\t\t\theight: 0;\n\t\t\tcontent: '';\n\t\t\tborder-bottom: 1px solid #ccc;\n\t\t}\n\t}\n}\n\n/* 规格选择弹窗 */\n.attr-content {\n\tpadding: 10rpx 0 0;\n\t.a-t {\n\t\tpadding: 0 30rpx;\n\t\tdisplay: flex;\n\t\timage {\n\t\t\twidth: 170rpx;\n\t\t\theight: 170rpx;\n\t\t\tflex-shrink: 0;\n\t\t\tborder-radius: 8rpx;\n\t\t}\n\t\t.right {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tpadding-left: 24rpx;\n\t\t\tfont-size: $font-sm + 2rpx;\n\t\t\tcolor: $font-color-base;\n\t\t\tline-height: 42rpx;\n\t\t\t.good-name {\n\t\t\t\tpadding-top: 20rpx;\n\t\t\t\tmax-width: 320rpx;\n\t\t\t\tfont-size: 30rpx;\n\t\t\t\tfont-family: PingFang SC;\n\t\t\t\tfont-weight: bold;\n\t\t\t\tcolor: #1d2023;\n\t\t\t\tline-height: 42rpx;\n\t\t\t\tmargin-bottom: 15rpx;\n\t\t\t}\n\t\t\t.price {\n\t\t\t\tfont-size: 60rpx;\n\t\t\t\tfont-family: PingFang SC;\n\t\t\t\tfont-weight: bold;\n\t\t\t\tcolor: #ff6f0f;\n\t\t\t\t// font-size: $font-lg;\n\t\t\t\t// color: $uni-color-primary;\n\t\t\t\t// margin-bottom: 10rpx;\n\t\t\t}\n\t\t\t.selected-text {\n\t\t\t\tmargin-right: 10rpx;\n\t\t\t}\n\t\t}\n\t}\n\t.attr-list {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tfont-size: $font-base + 2rpx;\n\t\tcolor: $font-color-base;\n\t\tpadding-top: 30rpx;\n\t\tpadding-left: 40rpx;\n\t\tpadding-right: 30rpx;\n\t}\n\t.item-list {\n\t\tpadding: 20rpx 0 0;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\t.tit {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbackground: #eee;\n\t\t\t// margin-left: 10rpx;\n\t\t\tmargin-right: 20rpx;\n\t\t\tmargin-bottom: 20rpx;\n\t\t\tborder-radius: 100rpx;\n\t\t\tmin-width: 60rpx;\n\t\t\theight: 60rpx;\n\t\t\tpadding: 0 20rpx;\n\t\t\tfont-size: $font-base;\n\t\t\tcolor: $font-color-dark;\n\t\t}\n\t\t.selected {\n\t\t\tbackground: #fbebee;\n\t\t\tcolor: $uni-color-primary;\n\t\t}\n\t}\n}\n\n/* 弹出层 */\n.popup {\n\tposition: fixed;\n\tleft: 0;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tz-index: 99;\n\n\t&.show {\n\t\tdisplay: block;\n\t\t.mask {\n\t\t\tanimation: showPopup 0.2s linear both;\n\t\t}\n\t\t.layer {\n\t\t\tanimation: showLayer 0.2s linear both;\n\t\t}\n\t}\n\t&.hide {\n\t\t.mask {\n\t\t\tanimation: hidePopup 0.2s linear both;\n\t\t}\n\t\t.layer {\n\t\t\tanimation: hideLayer 0.2s linear both;\n\t\t}\n\t}\n\t&.none {\n\t\tdisplay: none;\n\t}\n\t.mask {\n\t\tposition: fixed;\n\t\ttop: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tz-index: 1;\n\t\tbackground-color: rgba(0, 0, 0, 0.4);\n\t}\n\t.layer {\n\t\tposition: fixed;\n\t\tz-index: 99;\n\t\tbottom: 0;\n\t\twidth: 100%;\n\t\tmin-height: 30vh;\n\t\tborder-radius: 10rpx 10rpx 0 0;\n\t\tbackground-color: #fff;\n\t\t.btn {\n\t\t\tposition: absolute;\n\t\t\tbottom: 0;\n\t\t\twidth: 750rpx;\n\t\t\theight: 98rpx;\n\t\t\tbackground: #FE5B38;\n\t\t\tline-height: 98rpx;\n\t\t\t// background: $uni-color-primary;\n\t\t\tfont-size: $font-base + 2rpx;\n\t\t\tcolor: #fff;\n\t\t}\n\t}\n\t@keyframes showPopup {\n\t\t0% {\n\t\t\topacity: 0;\n\t\t}\n\t\t100% {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\t@keyframes hidePopup {\n\t\t0% {\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\topacity: 0;\n\t\t}\n\t}\n\t@keyframes showLayer {\n\t\t0% {\n\t\t\ttransform: translateY(120%);\n\t\t}\n\t\t100% {\n\t\t\ttransform: translateY(0%);\n\t\t}\n\t}\n\t@keyframes hideLayer {\n\t\t0% {\n\t\t\ttransform: translateY(0);\n\t\t}\n\t\t100% {\n\t\t\ttransform: translateY(120%);\n\t\t}\n\t}\n}\n\n/* 底部操作菜单 */\n.page-bottom {\n\tposition: fixed;\n\tleft: 0rpx;\n\tbottom: 0rpx;\n\tz-index: 95;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\twidth: 750rpx;\n\theight: 98rpx;\n\tbackground: rgba(255, 255, 255, 0.9);\n\tbox-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);\n\t// border-radius: 16rpx;\n\t.p-b-btn {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: $font-sm;\n\t\tcolor: $font-color-base;\n\t\twidth: 100rpx;\n\t\theight: 98rpx;\n\t\t.iconfont {\n\t\t\tfont-size: 40rpx;\n\t\t\tline-height: 48rpx;\n\t\t\tcolor: $font-color-light;\n\t\t}\n\t\t&.active,\n\t\t&.active .iconfont {\n\t\t\tcolor: $uni-color-primary;\n\t\t}\n\t\t.icon-fenxiang2 {\n\t\t\tfont-size: 42rpx;\n\t\t\ttransform: translateY(-2rpx);\n\t\t}\n\t\t.iconlikefill {\n\t\t\tfont-size: 46rpx;\n\t\t}\n\t}\n\t.action-btn-group {\n\t\tdisplay: flex;\n\t\theight: 98rpx;\n\t\toverflow: hidden;\n\t\tposition: relative;\r\n\t\t.shoucang {\r\n\t\t\twidth: 170rpx;\r\n\t\t\theight: 100rpx;\r\n\t\t\tbackground: #FFFFFF;\r\n\t\t\tflex-direction: column;\r\n\t\t\tjustify-content: center;\r\n\t\t\timage {\r\n\t\t\t\twidth: 36rpx;\r\n\t\t\t\theight: 35rpx;\r\n\t\t\t}\r\n\t\t}\r\n\t\t.buy-now {\r\n\t\t\tflex-grow: 1;\r\n\t\t\twidth: 580rpx;\r\n\t\t\tdisplay: flex;\r\n\t\t}\n\t\t.action-btn {\r\n\t\t\tflex-shrink: 0;\r\n\t\t\tflex-grow: 1;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\t// width: 580rpx;\r\n\t\t\tflex-grow: 1;\n\t\t\theight: 100%;\n\t\t\tfont-size: 34rpx;\n\t\t\tpadding: 0;\n\t\t\tborder-radius: 0;\n\t\t\t// background: transparent;\n\t\t\tbackground: #ffb238;\n\t\t\t&.buy-now-btn {\n\t\t\t\tbackground-color: #ffb238;\n\t\t\t}\n\t\t\t&.add-cart-btn {\n\t\t\t\tbackground: #FD3B39;\n\t\t\t}\n\t\t}\n\t}\n}\n// 商店头\n.shop-box {\n\tbackground-color: #ffffff;\n\tmargin-top: 20rpx;\n\tmargin-bottom: 10rpx;\n\tpadding: 20rpx;\n\t.shop-img {\n\t\tborder-radius: 300rpx;\n\t\theight: 80rpx;\n\t\twidth: 80rpx;\n\t\tmargin-right: 20rpx;\n\t}\n\t.shop-button {\n\t\tborder-radius: 100rpx;\n\t\tpadding: 10rpx 20rpx;\n\t\tcolor: $color-red;\n\t\tborder: 1px solid $color-red;\n\t\tfont-size: $font-lg;\n\t\tline-height: 1;\n\t}\n}\r\n.detail-centent {\r\n\timg {\r\n\t\tvertical-align: top;\r\n\t}\r\n}\n</style>\n","import mod from \"-!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./product.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!E:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./product.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1666316405570\n var cssReload = require(\"E:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}