1 line
31 KiB
Plaintext
1 line
31 KiB
Plaintext
{"version":3,"sources":["uni-app:///main.js","webpack:////Users/yovinchen/Desktop/project/xlcs/xlcs-user/pages/index/index.vue?3b4c","webpack:////Users/yovinchen/Desktop/project/xlcs/xlcs-user/pages/index/index.vue?22ff","webpack:////Users/yovinchen/Desktop/project/xlcs/xlcs-user/pages/index/index.vue?2894","webpack:////Users/yovinchen/Desktop/project/xlcs/xlcs-user/pages/index/index.vue?adf4","uni-app:///pages/index/index.vue","webpack:////Users/yovinchen/Desktop/project/xlcs/xlcs-user/pages/index/index.vue?46bf","webpack:////Users/yovinchen/Desktop/project/xlcs/xlcs-user/pages/index/index.vue?3001"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","list","ggNoticeSearchBarRightBtnCustomStyle","borderRadius","showRulePopup","windowWidth","categorySVPercent","token","onLoad","uni","success","computed","methods","scrollMove","pickUpLocation","gotoProductItem","skuId","gotoSeckill","watch","handler","url","deep","onShow","console","mounted"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8H;AAC9H;AACyD;AACL;AACsC;;;AAG1F;AACmN;AACnN,gBAAgB,iNAAU;AAC1B,EAAE,2EAAM;AACR,EAAE,4FAAM;AACR,EAAE,qGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,gGAAU;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,2OAEN;AACP,KAAK;AACL;AACA,aAAa,+NAEN;AACP,KAAK;AACL;AACA,aAAa,mQAEN;AACP,KAAK;AACL;AACA,aAAa,2OAEN;AACP,KAAK;AACL;AACA,aAAa,0MAEN;AACP,KAAK;AACL;AACA,aAAa,8LAEN;AACP,KAAK;AACL;AACA,aAAa,qOAEN;AACP,KAAK;AACL;AACA,aAAa,qRAEN;AACP,KAAK;AACL;AACA,aAAa,yNAEN;AACP,KAAK;AACL;AACA,aAAa,qOAEN;AACP,KAAK;AACL;AACA,aAAa,qOAEN;AACP,KAAK;AACL;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACxGA;AAAA;AAAA;AAAA;AAAk1B,CAAgB,myBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;AC8Nt2B;AAAA;AAAA;AAEA;AAAA,eACA;EACAC;IACA;MACAC;MACA;MACAC;QACAC;MACA;MACAC;MACAC;MAAA;MACAC;MAAA;MACAC;IACA;EACA;EACAC;IAAA;IACAC;MACAC;QACA;MACA;IACA;EACA;EACAC,0CACA,+CACA,mJACA;EACAC,yCACA;IACAC;MAAA;MACA;MACA;MACA;MACA;;MAEA;MACA;QACA;MACA;IACA;IACA;IACAC;MACA;IACA;IACA;IACAC;MACA;QAAAC;MAAA;IACA;IACA;IACAC;MACA;IACA;EAAA,EACA;EACAC;IACA;AACA;AACA;AACA;AACA;AACA;IACA;IACA;IACA;IACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;AACA;AACA;AACA;AACA;IACA;MACAC;QACA;UACAV;YACAW;UACA;QACA;MACA;MACAC;IACA;EACA;EACAC;IACA;AACA;AACA;AACA;AACA;AACA;IACAC;EACA;EACAC;IAAA;IAAA;MAAA;MAAA;QAAA;UAAA;YAAA;cACAD;cAAA;cAAA,OACAd;YAAA;cAAAF;cAAA,KACA;gBAAA;gBAAA;cAAA;cACAE;gBACAW;cACA;cAAA;YAAA;cAIA;cAAA;cAAA,OACA;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;AC3VA;AAAA;AAAA;AAAA;AAAqlD,CAAgB,07CAAG,EAAC,C;;;;;;;;;;;ACAzmD;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/index/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/index/index.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./index.vue?vue&type=template&id=57280228&scoped=true&\"\nvar renderjs\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=57280228&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../Applications/HBuilderX.app/Contents/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 \"57280228\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/index.vue\"\nexport default component.exports","export * from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=template&id=57280228&scoped=true&\"","var components\ntry {\n components = {\n uNavbar: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-navbar/u-navbar\" */ \"uview-ui/components/u-navbar/u-navbar.vue\"\n )\n },\n uIcon: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-icon/u-icon\" */ \"uview-ui/components/u-icon/u-icon.vue\"\n )\n },\n uNoticeBar: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-notice-bar/u-notice-bar\" */ \"uview-ui/components/u-notice-bar/u-notice-bar.vue\"\n )\n },\n uButton: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-button/u-button\" */ \"uview-ui/components/u-button/u-button.vue\"\n )\n },\n ListImgItem: function () {\n return import(\n /* webpackChunkName: \"components/ListImgItem/ListImgItem\" */ \"@/components/ListImgItem/ListImgItem.vue\"\n )\n },\n AddToCart: function () {\n return import(\n /* webpackChunkName: \"components/AddToCart/AddToCart\" */ \"@/components/AddToCart/AddToCart.vue\"\n )\n },\n uImage: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-image/u-image\" */ \"uview-ui/components/u-image/u-image.vue\"\n )\n },\n uLineProgress: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-line-progress/u-line-progress\" */ \"uview-ui/components/u-line-progress/u-line-progress.vue\"\n )\n },\n uGap: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-gap/u-gap\" */ \"uview-ui/components/u-gap/u-gap.vue\"\n )\n },\n uPopup: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-popup/u-popup\" */ \"uview-ui/components/u-popup/u-popup.vue\"\n )\n },\n uEmpty: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-empty/u-empty\" */ \"uview-ui/components/u-empty/u-empty.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 var a0 = _vm.token\n ? {\n \"background-image\":\n \"linear-gradient(to right, rgb(255,180,61), rgb(255, 101, 0))\",\n }\n : null\n var g0 = _vm.token ? _vm.seckillSkuVoList.length : null\n if (!_vm._isMounted) {\n _vm.e0 = function ($event) {\n _vm.showRulePopup = true\n }\n }\n _vm.$mp.data = Object.assign(\n {},\n {\n $root: {\n a0: a0,\n g0: g0,\n },\n }\n )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js&\"","<template>\n <view v-if=\"token\" class=\"gg\">\n <!-- 利用background-image设置导航的线形渐变色彩 -->\n <u-navbar :background=\"{ 'background-image': 'linear-gradient(to right, rgb(255,180,61), rgb(255, 101, 0))' }\" :border-bottom=\"false\"\n :is-back=\"false\">\n <view class=\"gg-map-slot-wrap u-font-xs u-m-l-20 u-p-l-10 u-p-r-10 u-p-t-5 u-p-b-5\" @click=\"pickUpLocation\">\n <u-icon name=\"map\" size=\"24\"></u-icon>\n <text class=\"u-p-l-10 u-p-r-10\">{{\n leaderAddressVo.takeName ? leaderAddressVo.takeName : '请设置提货点'\n }}\n </text>\n <u-icon name=\"arrow-right\" size=\"20\"></u-icon>\n </view>\n </u-navbar>\n\n <!-- 主内容区域-Begin -->\n <view class=\"gg-content\">\n <!-- 头部区域 -->\n <view class=\"gg-header u-p-l-20 u-p-r-20\">\n <!--\n 头部滚动提示搜索区\n 1.搜索图标\n 2.滚动提示条\n 3.搜索按钮(自定义样式)\n -->\n <view class=\"gg-notice-search-bar\">\n <u-icon class=\"gg-notice-search-bar-left-icon\" name=\"search\"></u-icon>\n <u-notice-bar\n :border-radius=\"30\"\n :is-circular=\"false\"\n :list=\"list\"\n :more-icon=\"false\"\n :volume-icon=\"false\"\n class=\"gg-notice-search-bar-u-notice-bar\"\n mode=\"vertical\"\n type=\"none\"\n ></u-notice-bar>\n <u-button :custom-style=\"ggNoticeSearchBarRightBtnCustomStyle\" class=\"u-m-r-20\" shape=\"square\" size=\"mini\"\n type=\"error\">搜索\n </u-button>\n </view>\n\n <!-- 新人专享低价好物sv滚动区 -->\n <view class=\"gg-new-vip u-p-20 u-m-t-20\">\n <view class=\"u-font-lg u-content-color\">新人专享低价好物</view>\n <scroll-view class=\"gg-new-vip-sv\" enable-flex scroll-x>\n <view class=\"u-flex u-m-t-10\">\n <view v-for=\"(item, index) in newPersonSkuInfoList\" :key=\"item.id\" class=\"gg-new-vip-sv-item u-p-r-20\"\n @click=\"gotoProductItem(item.id)\">\n <ListImgItem\n :showBottom=\"item.skuType === 0 && item.isNewPerson === 1\"\n :showLeft=\"item.skuType === 1\"\n :showRight=\"false\"\n :src=\"item.imgUrl\"\n height=\"200rpx\"\n width=\"200rpx\"\n ></ListImgItem>\n <text class=\"u-type-error\">¥ {{ item.price }}</text>\n <AddToCart :shopDetail=\"item\" :skuId=\"item.id\"></AddToCart>\n </view>\n </view>\n </scroll-view>\n </view>\n </view>\n <!-- 头部区域底部左右圆角区 -->\n <view class=\"gg-header-bottom\"></view>\n\n <!-- 小鹿超市规则 -->\n <view class=\"u-flex u-row-between u-p-20 u-m-20 gg-border\" @click=\"showRulePopup = true\">\n <u-image height=\"30rpx\" src=\"/static/logo.png\" width=\"30rpx\"></u-image>\n <view>平台资质、法律条款、规则及投诉入口</view>\n </view>\n\n <!-- 商品分类 -->\n <view class=\"u-m-20 u-p-20 gg-border\">\n <scroll-view enable-flex scroll-x @scroll=\"scrollMove\">\n <view class=\"u-flex u-p-r-20 u-p-t-20\">\n <!-- 循环滚动内容 -->\n <view v-for=\"item in categoryList\" :key=\"item.id\" class=\"u-p-l-20 u-p-r-20\">\n <u-image :src=\"item.imgUrl\" border-radius=\"30rpx\" height=\"100rpx\" width=\"100rpx\"></u-image>\n <text class=\"u-font-xs\">{{ item.name }}</text>\n </view>\n </view>\n </scroll-view>\n <view class=\"gg-category\">\n <u-line-progress :percent=\"categorySVPercent\" :show-percent=\"false\" class=\"gg-category-progress\"\n height=\"5\"></u-line-progress>\n </view>\n </view>\n\n <!-- 限时秒杀 -->\n <block v-if=\"seckillSkuVoList.length > 0\">\n <!-- 秒杀 -->\n <view class=\"u-m-l-20 u-m-r-20 u-flex\">\n <view class=\"u-flex u-flex-1\">\n <view class=\"u-font-lg u-type-error\">\n 秒杀抢购:\n <text class=\"u-font-sm\">{{ seckillTime.name }}场 {{ seckillTime.startTime }}-{{\n seckillTime.endTime\n }}\n </text>\n </view>\n </view>\n <u-button :plain=\"true\" size=\"mini\" @click=\"gotoSeckill\">查看全部 ></u-button>\n </view>\n <view class=\"u-m-20 u-p-20 gg-border\">\n <scroll-view enable-flex scroll-x>\n <view class=\"u-flex u-p-r-20 u-p-t-20\">\n <!-- 循环滚动内容 -->\n <view v-for=\"item in seckillSkuVoList\" :key=\"item.skuId\" class=\"u-p-l-20 u-p-r-20 u-text-center\"\n @click=\"gotoProductItem(item.skuId)\">\n <text class=\"u-font-sm u-m-b-5\">{{ item.timeName }}</text>\n <u-image :src=\"item.imgUrl\" border-radius=\"30rpx\" height=\"200rpx\" width=\"200rpx\"></u-image>\n <text class=\"u-font-sm u-m-t-5\">{{ item.skuName }}</text>\n <AddToCart :shopDetail=\"item\" :skuId=\"item.skuId\"></AddToCart>\n </view>\n </view>\n </scroll-view>\n </view>\n </block>\n\n <!-- 如何购买商品 -->\n <view class=\"u-p-20 u-m-20 gg-border u-font-xs\">\n <view class=\"u-m-b-20\">如何在[小鹿超市]购买商品</view>\n <view class=\"u-flex\">\n <view class=\"gg-number u-m-r-10\">1</view>\n 挑商品\n <u-icon name=\"arrow-right-double u-m-l-10 u-tips-color\"></u-icon>\n <u-icon class=\"u-content-color\" name=\"arrow-right-double\"></u-icon>\n <view class=\"gg-number gg-number-gray u-m-r-10 u-m-l-10\">2</view>\n 选提货点\n <u-icon name=\"arrow-right-double u-m-l-10 u-tips-color\"></u-icon>\n <u-icon class=\"u-content-color\" name=\"arrow-right-double\"></u-icon>\n <view class=\"gg-number gg-number-gray u-m-r-10 u-m-l-10\">3</view>\n 次日16点提货点取货\n </view>\n </view>\n\n <!-- 热销好货 -->\n <view class=\"u-font-xl u-type-error u-m-20\">热销好货</view>\n <view v-for=\"(item, index) in hotSkuList\" :key=\"item.id\" class=\"u-p-20 u-m-20 gg-border\"\n @click=\"gotoProductItem(item.id)\">\n <view class=\"u-m-b-10 u-m-l-20 u-m-r-20 u-flex gg-product-item\">\n <ListImgItem\n :showBottom=\"item.skuType === 0 && item.isNewPerson === 1\"\n :showLeft=\"item.skuType === 1\"\n :showRight=\"false\"\n :src=\"item.imgUrl\"\n height=\"250rpx\"\n width=\"250rpx\"\n ></ListImgItem>\n <view class=\"gg-product-item-msg u-border-bottom u-p-b-20 u-m-l-20\">\n <view class=\"gg-product-item-msg-title\">\n <view class=\"u-font-lg\">{{ item.title }}</view>\n <view class=\"u-type-info u-font-sm\">已售{{ item.sale }}/剩余{{ item.stock }}</view>\n <block v-if=\"item.ruleList\">\n <view v-for=\"(rule, ruleIndex) in item.ruleList\" :key=\"ruleIndex\" class=\"u-font-xs u-type-error-dark\">\n {{ rule }}\n </view>\n </block>\n </view>\n <view class=\"u-flex u-row-between\">\n <view class=\"u-type-error gg-product-item-msg-price\">\n <text>¥</text>\n <text class=\"gg-product-item-msg-price-value\">{{ item.price }}</text>\n </view>\n <AddToCart :shopDetail=\"item\"></AddToCart>\n </view>\n </view>\n </view>\n </view>\n\n <u-gap height=\"20\"></u-gap>\n </view>\n <!-- 主内容区域-End -->\n\n <!-- 平台资质、法律条款、规则及投诉入口弹出框 -->\n <u-popup v-model=\"showRulePopup\" :closeable=\"true\" border-radius=\"20\" mode=\"bottom\">\n <view class=\"u-p-t-20 u-p-b-20\">\n <view class=\"u-m-20\">\n <view class=\"u-font-xl u-m-b-10\">\n <u-icon class=\"u-m-r-10\" color=\"#dd6161\" name=\"checkmark-circle\" size=\"28\"></u-icon>\n 品质保障\n </view>\n <view class=\"u-light-color u-font-xs\">\n 全场商品均经过品质检验,若收货时发现商品有变质、腐烂、损坏等情况,可申请退款\n </view>\n </view>\n\n <view class=\"u-m-20\">\n <view class=\"u-font-xl u-m-b-10\">\n <u-icon class=\"u-m-r-10\" color=\"#dd6161\" name=\"kefu-ermai\" size=\"28\"></u-icon>\n 极速退款\n </view>\n <view class=\"u-light-color u-font-xs\">根据平台的规则,在一定条件下,可享受极速退款到账服务</view>\n </view>\n\n <view class=\"u-m-20\">\n <view class=\"u-font-xl u-m-b-10\">\n <u-icon class=\"u-m-r-10\" color=\"#dd6161\" name=\"bag\" size=\"28\"></u-icon>\n 次日自提\n </view>\n <view class=\"u-light-color u-font-xs\">每日23点前下单,次日16点可到下单门店自提</view>\n </view>\n\n <view class=\"u-m-20\">\n <view class=\"u-font-xl u-m-b-10\">\n <u-icon class=\"u-m-r-10\" color=\"#dd6161\" name=\"integral\" size=\"28\"></u-icon>\n 资质规则\n </view>\n <view class=\"u-light-color u-font-xs\">平台资质、法律条款、规则及投诉入口,点击查看详情</view>\n </view>\n </view>\n </u-popup>\n </view>\n\n <view v-else class=\"emptyPage\">\n <u-empty mode=\"page\"></u-empty>\n </view>\n</template>\n\n<script>\nimport {mapState, mapGetters, mapActions} from 'vuex';\n\nlet watchTimes = 0;\nexport default {\n data() {\n return {\n list: ['寒雨连江夜入吴', '平明送客楚山孤', '洛阳亲友如相问', '一片冰心在玉壶'],\n // 滚动提示搜索区右侧按钮自定义样式\n ggNoticeSearchBarRightBtnCustomStyle: {\n borderRadius: '30rpx'\n },\n showRulePopup: false,\n windowWidth: 0, // 设备宽度\n categorySVPercent: 0, // 精选进度百分比\n token: null\n };\n },\n onLoad() {\n uni.getSystemInfo({\n success: res => {\n this.windowWidth = res.windowWidth;\n }\n });\n },\n computed: {\n ...mapState('indexModule', ['home']),\n ...mapGetters('indexModule', ['categoryList', 'hotSkuList', 'newPersonSkuInfoList', 'seckillTime', 'seckillSkuVoList', 'leaderAddressVo'])\n },\n methods: {\n ...mapActions('indexModule', ['getHomeIndexAction']),\n scrollMove(e) {\n // 计算滚动的进度百分比\n let scrollLeft = e.detail.scrollLeft;\n let scrollWidth = e.detail.scrollWidth - this.windowWidth;\n let percent = parseInt((scrollLeft / scrollWidth) * 100);\n\n // 利用防抖进行性能的优化\n this.$u.debounce(() => {\n this.categorySVPercent = percent;\n }, 100);\n },\n // 跳转至设置提货点\n pickUpLocation() {\n this.$u.route('/pagesLocation/myPickUpLocation/myPickUpLocation');\n },\n // 跳转至商品详情页\n gotoProductItem(skuId) {\n this.$u.route('/pages/homeItem/homeItem', {skuId});\n },\n // 跳转至秒杀页\n gotoSeckill() {\n this.$u.route('/pagesSeckill/seckill/seckill');\n }\n },\n watch: {\n /* ------------------------------------------------------------\n watch监控第一部分,函数式监控\n 1.只能监控单层数据,不能立即监控,只有数据变化的时候才可以\n 2.深度监控无法实现\n 3.函数不可以使用箭头函数,否则this对象无法找到\n ------------------------------------------------------------ */\n // leaderAddressVo: function() {\n // \tconsole.log('normal watch', this.leaderAddressVo);\n // }\n /* ------------------------------------------------------------\n watch监控第二部分,对象式监控\n 1.immediate立即监控的触发次数,无论如何先会触发一次,监控数据变化\n 2.深度监控的作用,直接监控对象属性值的变化\n 3.监控次数的判断\n 1)因为立即监控,所以页面初始会触发一次\n 2)可以设置全局变量进行判断条件依据\n 3)利用监控次数确认路由的跳转\n ------------------------------------------------------------ */\n // 'leaderAddressVo.userId': {\n // \thandler(newVal) {\n // \t\twatchTimes++;\n // \t\tif (watchTimes > 1) {\n // \t\t\twatchTimes = 0;\n // \t\t\tif (!newVal) {\n // \t\t\t\tconsole.log('immediate deep watch');\n // \t\t\t}\n // \t\t}\n // \t},\n // \timmediate: true,\n // \tdeep: true\n // }\n /* ------------------------------------------------------------\n watch监控第三部分,对象式监控\n 1.immediate的去除\n 2.等mounted请求结束,数据设置完毕以后再进行数据变化的监控\n 3.不需要进行监控次数的判断\n ------------------------------------------------------------ */\n 'leaderAddressVo.userId': {\n handler(newVal) {\n if (!newVal) {\n uni.redirectTo({\n url: '/pagesLocation/myPickUpLocation/myPickUpLocation'\n });\n }\n },\n deep: true\n }\n },\n onShow() {\n /*\n onShow比mounted先执行\n mounted中有获取数据的异步请求,本身是异步,还需要再进行数据设置获取\n onShow已经执行完毕,是否能确认leaderAddressVo对象的内容变化?不能\n 是否能在onShow中利用leaderAddressVo进行条件判断?不能\n */\n console.log('leaderAddressVo:', this.leaderAddressVo);\n },\n async mounted() {\n console.log('mounted');\n const token = await uni.getStorageSync('token');\n if (this.$u.test.isEmpty(token)) {\n uni.reLaunch({\n url: '/pages/login/login'\n });\n return;\n }\n\n this.token = token;\n await this.getHomeIndexAction();\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n/*\n利用scss中&-的方式实现层级样式的拼接\n*/\n.gg {\n /* navbar 导航中进行地图位置的获取设置 */\n &-map-slot-wrap {\n display: flex;\n align-items: center;\n background-color: rgba(240, 240, 240, 0.35);\n color: #fff;\n border-radius: 100rpx;\n }\n\n /* 内容区域 */\n &-content {\n background-color: $u-bg-color;\n }\n\n /*\n notice-bar头部滚动信息搜索区域\n 利用background-image的linear-gradient保持与导航一致的线形渐变色彩\n */\n &-header {\n background-image: linear-gradient(to right, rgb(255, 180, 61), rgb(255, 101, 0));\n height: 500rpx;\n }\n\n /* 滚动信息搜索框 */\n &-notice-search-bar {\n display: flex;\n align-items: center;\n background-color: white;\n border-radius: 30rpx;\n\n /* 滚动信息搜索框左侧图标 */\n &-left-icon {\n position: relative;\n left: 20rpx;\n color: $u-light-color;\n }\n\n /* 滚动信息搜索框中的字体设置 */\n &-u-notice-bar {\n flex: 1;\n /* 深层穿透修改子组件字体颜色样式 */\n ::v-deep .u-news-item {\n color: $u-light-color !important;\n }\n }\n }\n\n /* 头部区域底部左右圆角区域 */\n &-header-bottom {\n background-image: linear-gradient(to right, rgb(255, 180, 61), rgb(255, 101, 0));\n height: 25rpx;\n border-bottom-left-radius: 25rpx;\n border-bottom-right-radius: 25rpx;\n }\n\n /* 新人专享 */\n &-new-vip {\n background-color: white;\n border-radius: 20rpx;\n\n &-sv {\n height: 320rpx;\n\n &-item {\n display: flex;\n flex-direction: column;\n }\n }\n }\n\n /* 小鹿超市规则 */\n &-border {\n border-radius: 20rpx;\n border-bottom: 1rpx solid #f5f5f5;\n box-shadow: 0px 1px 20px 0px rgba(0, 0, 0, 0.1); /*下边阴影 */\n }\n\n /* 商品分类 */\n &-category {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 5rpx;\n\n &-progress {\n width: 10vw;\n }\n }\n\n /* 如何购买商品 */\n &-number {\n border-radius: 50%;\n background-color: $u-type-warning;\n width: 30rpx;\n height: 30rpx;\n text-align: center;\n font-size: 20rpx;\n color: white;\n\n &-gray {\n background-color: gray;\n }\n }\n\n /* 热销好货 */\n &-product-item {\n height: 250rpx;\n\n &-msg {\n height: 100%;\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n &-price {\n &-value {\n font-size: 50rpx;\n }\n }\n }\n }\n}\n\n.emptyPage {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 100vh;\n}\n</style>\n","import mod from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=style&index=0&id=57280228&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=style&index=0&id=57280228&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1706061732653\n var cssReload = require(\"/Applications/HBuilderX.app/Contents/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":""} |