|
@@ -1,94 +1,96 @@
|
|
|
-<template>
|
|
|
- <view class="container">
|
|
|
- <view class="carousel-section">
|
|
|
- <!-- 背景色区域 -->
|
|
|
- <view class="bg"><image src="../../static/index/index13.png" mode=""></image></view>
|
|
|
- <!-- 标题栏和状态栏占位符 -->
|
|
|
- <view class="titleNview-placing"></view>
|
|
|
- <!-- 搜素栏 -->
|
|
|
- <view class="search flex">
|
|
|
- <image src="../../static/index/index09.png" class="address"></image>
|
|
|
- <!-- <view class="shop-name clamp" @click.stop="canChange == 0?nav('/pages/shoping/list'):''">{{ storeInfo.name }}</view> -->
|
|
|
- <view class="shop-name clamp">椒江区</view>
|
|
|
- <image class="shop-jt" src="../../static/index/index07.png" mode=""></image>
|
|
|
- <view class="input-box flex" @click.stop="clickSearch">
|
|
|
- <view class=" input-content flex">
|
|
|
- <view class="iconfont iconsearch"></view>
|
|
|
- <view class="input"><input type="text" disabled value="输入关键字搜索" /></view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <swiper class="carousel" autoplay="true" duration="400" interval="5000" @change="swiperChange" :indicator-dots="true" indicator-active-color="#FFFFFF">
|
|
|
- <!-- <swiper class="carousel" autoplay="true" duration="400" interval="5000"> -->
|
|
|
- <swiper-item v-for="(item, index) in carouselList" :key="index" class="carousel-item">
|
|
|
- <image :src="item.pic" mode="aspectFill" @click="bannerNavToUrl(item)"></image>
|
|
|
- </swiper-item>
|
|
|
- </swiper>
|
|
|
- </view>
|
|
|
- <view class="navbar">
|
|
|
- <view class="navbar-box flex">
|
|
|
- <view class="navbar-item" @click="navTo('/pages/index/sign')">
|
|
|
- <image class="nitem-image" src="../../static/index/index05.png" mode=""></image>
|
|
|
- <view class="nitem-font">天天领红包</view>
|
|
|
- </view>
|
|
|
- <view class="navbar-item" @click="navTo('')">
|
|
|
- <image class="nitem-image" src="../../static/index/index04.png" mode=""></image>
|
|
|
- <view class="nitem-font">积分商城</view>
|
|
|
- </view>
|
|
|
- <view class="navbar-item" @click="navTo('/pages/product/list')">
|
|
|
- <image class="nitem-image" src="../../static/index/index03.png" mode=""></image>
|
|
|
- <view class="nitem-font">全部商品</view>
|
|
|
- </view>
|
|
|
- <view class="navbar-item" @click="navTo('/pages/user/shareQrCode')">
|
|
|
- <image class="nitem-image" src="../../static/index/index02.png" mode=""></image>
|
|
|
- <view class="nitem-font">邀请有礼</view>
|
|
|
- </view>
|
|
|
- <view class="navbar-item" @click="navTo('')">
|
|
|
- <image class="nitem-image" src="../../static/index/index01.png" mode=""></image>
|
|
|
- <view class="nitem-font">话费充值</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="product-box" v-if="bastList.length != 0">
|
|
|
- <view class="product-title">
|
|
|
- <image class="pt-image" src="../../static/index/index15.png" mode=""></image>
|
|
|
- <view class="pt-title">会员礼包</view>
|
|
|
- </view>
|
|
|
- <view class="hotgoods">
|
|
|
- <view class="hotgoods-item" v-for="item in bastList" :key="item.id" @click="navToDetailPage(item)">
|
|
|
- <view class="image-wrapper"><image :src="item.image" mode="scaleToFill"></image></view>
|
|
|
- <view class="title clamp2">{{ item.store_name }}</view>
|
|
|
- <view class="hot-price">
|
|
|
- <view class="hotPrice-box">会员价</view>
|
|
|
- <view class="price">
|
|
|
- <text class="font-size-sm">¥</text>
|
|
|
- {{ item.price * 1 }}
|
|
|
- </view>
|
|
|
- <view class="yuanPrice">{{ item.ot_price }}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="shop" v-if="shoplist.length != 0">
|
|
|
- <view class="shop-title">
|
|
|
- <view class="shop-item">
|
|
|
- <view class="sitem-font">智能排序</view>
|
|
|
- <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
|
|
|
- </view>
|
|
|
- <view class="shop-item">
|
|
|
- <view class="sitem-font">位置距离</view>
|
|
|
- <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
|
|
|
- </view>
|
|
|
- <view class="shop-item">
|
|
|
- <view class="sitem-font">折扣优惠</view>
|
|
|
- <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
|
|
|
- </view>
|
|
|
- <view class="shop-item">
|
|
|
- <view class="sitem-font">筛选</view>
|
|
|
- <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
+<template>
|
|
|
+ <view class="container">
|
|
|
+ <view class="carousel-section">
|
|
|
+ <!-- 背景色区域 -->
|
|
|
+ <view class="bg"><image src="../../static/index/index13.png" mode=""></image></view>
|
|
|
+ <!-- 标题栏和状态栏占位符 -->
|
|
|
+ <view class="titleNview-placing"></view>
|
|
|
+ <!-- 搜素栏 -->
|
|
|
+ <view class="search flex">
|
|
|
+ <image src="../../static/index/index09.png" class="address"></image>
|
|
|
+ <!-- <view class="shop-name clamp" @click.stop="canChange == 0?nav('/pages/shoping/list'):''">{{ storeInfo.name }}</view> -->
|
|
|
+ <view class="shop-name clamp">椒江区</view>
|
|
|
+ <image class="shop-jt" src="../../static/index/index07.png" mode=""></image>
|
|
|
+ <view class="input-box flex" @click.stop="clickSearch">
|
|
|
+ <view class=" input-content flex">
|
|
|
+ <view class="iconfont iconsearch"></view>
|
|
|
+ <view class="input"><input type="text" disabled value="输入关键字搜索" /></view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <swiper class="carousel" autoplay="true" duration="400" interval="5000" @change="swiperChange" :indicator-dots="true" indicator-active-color="#FFFFFF">
|
|
|
+ <!-- <swiper class="carousel" autoplay="true" duration="400" interval="5000"> -->
|
|
|
+ <swiper-item v-for="(item, index) in carouselList" :key="index" class="carousel-item">
|
|
|
+ <image :src="item.pic" mode="aspectFill" @click="bannerNavToUrl(item)"></image>
|
|
|
+ </swiper-item>
|
|
|
+ </swiper>
|
|
|
+ </view>
|
|
|
+ <view class="navbar">
|
|
|
+ <view class="navbar-box flex">
|
|
|
+ <view class="navbar-item" @click="navTo('/pages/product/list')">
|
|
|
+ <image class="nitem-image" src="../../static/index/index03.png" mode=""></image>
|
|
|
+ <view class="nitem-font">全部商品</view>
|
|
|
+ </view>
|
|
|
+ <view class="navbar-item" @click="navTo('/pages/user/shareQrCode')">
|
|
|
+ <image class="nitem-image" src="../../static/index/index02.png" mode=""></image>
|
|
|
+ <view class="nitem-font">邀请有礼</view>
|
|
|
+ </view>
|
|
|
+ <view class="navbar-item" @click="navTo('/pages/index/sign')">
|
|
|
+ <image class="nitem-image" src="../../static/index/index05.png" mode=""></image>
|
|
|
+ <view class="nitem-font">天天领红包</view>
|
|
|
+ </view>
|
|
|
+ <view class="navbar-item" @click="navTo('')">
|
|
|
+ <image class="nitem-image" src="../../static/index/index04.png" mode=""></image>
|
|
|
+ <view class="nitem-font">积分商城</view>
|
|
|
+ </view>
|
|
|
+ <view class="navbar-item" @click="navTo('')">
|
|
|
+ <image class="nitem-image" src="../../static/index/index01.png" mode=""></image>
|
|
|
+ <view class="nitem-font">话费充值</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="product-box" v-if="bastList.length != 0">
|
|
|
+ <view class="product-title">
|
|
|
+ <image class="pt-image" src="../../static/index/index15.png" mode=""></image>
|
|
|
+ <view class="pt-title">会员礼包</view>
|
|
|
+ </view>
|
|
|
+ <view class="hotgoods">
|
|
|
+ <view class="hotgoods-item" v-for="item in bastList" :key="item.id" @click="navToDetailPage(item)">
|
|
|
+ <view class="image-wrapper">
|
|
|
+ <image class="image-bg" src="../../static/img/libao-bg.png" mode=""></image>
|
|
|
+ <image class="image" :src="item.image" mode="scaleToFill"></image>
|
|
|
+ </view>
|
|
|
+ <view class="title clamp2">{{ item.store_name }}</view>
|
|
|
+ <view class="hot-price">
|
|
|
+ <view class="hotPrice-box">会员价</view>
|
|
|
+ <view class="price">
|
|
|
+ <text class="font-size-sm">¥</text>
|
|
|
+ {{ item.price * 1 }}
|
|
|
+ </view>
|
|
|
+ <view class="yuanPrice">{{ item.ot_price }}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="shop" v-if="shoplist.length != 0">
|
|
|
+ <view class="shop-title">
|
|
|
+ <view class="shop-item">
|
|
|
+ <view class="sitem-font">智能排序</view>
|
|
|
+ <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
|
|
|
+ </view>
|
|
|
+ <view class="shop-item">
|
|
|
+ <view class="sitem-font">位置距离</view>
|
|
|
+ <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
|
|
|
+ </view>
|
|
|
+ <view class="shop-item">
|
|
|
+ <view class="sitem-font">折扣优惠</view>
|
|
|
+ <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
|
|
|
+ </view>
|
|
|
+ <view class="shop-item">
|
|
|
+ <view class="sitem-font">筛选</view>
|
|
|
+ <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view class="shop-main flex" v-for="(item, index) in shoplist" :key="index">
|
|
|
<image class="main-left" src="../../static/index/index13.png" mode=""></image>
|
|
@@ -112,107 +114,107 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <u-tabbar activeColor="#EE0979" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
|
|
|
- </view>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-import { lookSubpoints, lookOneself } from '../../api/user.js';
|
|
|
-import seckill from '../../components/seckill/seckill.vue';
|
|
|
-import { loadIndexs } from '@/api/index.js';
|
|
|
-import { getUserInfo, spread } from '@/api/user.js';
|
|
|
-import { setCoupons } from '@/api/functionalUnit.js';
|
|
|
-import { getBargainList } from '@/api/product.js';
|
|
|
-import { interceptor } from '@/utils/loginUtils';
|
|
|
-import { mapState, mapMutations } from 'vuex';
|
|
|
-import { tabbar } from '@/utils/tabbar.js';
|
|
|
-// #ifdef H5
|
|
|
-import { weixindata, shareLoad } from '@/utils/wxAuthorized';
|
|
|
-// #endif
|
|
|
-export default {
|
|
|
- components: {
|
|
|
- seckill
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- tabbar: tabbar,
|
|
|
- current: 0,
|
|
|
- shareShow: false, //分享海报
|
|
|
- pageProportion: 0, //保存页面基于750宽度的比例
|
|
|
- swiperHeight: 0,
|
|
|
- checkid: 0,
|
|
|
- titleNViewBackground: '',
|
|
|
- longitude: 0, //经度
|
|
|
- latitude: 0, //纬度
|
|
|
- swiperCurrent: 0,
|
|
|
- swiperLength: 0,
|
|
|
- carouselList: [], //轮播列表
|
|
|
- bastList: [], //会员礼包
|
|
|
- shoplist: [], //商店列表
|
|
|
- page: 1,
|
|
|
- limit: 5,
|
|
|
- };
|
|
|
- },
|
|
|
- computed: {
|
|
|
- ...mapState(['loginInterceptor','baseURL']),
|
|
|
- ...mapState('user', ['hasLogin', 'userInfo'])
|
|
|
- },
|
|
|
- onLoad: function(option) {
|
|
|
- this.getaddress();
|
|
|
- // #ifdef MP
|
|
|
- if (option.scene) {
|
|
|
- // 存储小程序邀请人
|
|
|
- uni.setStorage({
|
|
|
- key: 'spread_code',
|
|
|
- data: option.scene
|
|
|
- });
|
|
|
- }
|
|
|
+ </view>
|
|
|
+ <u-tabbar activeColor="#EE0979" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { lookSubpoints, lookOneself } from '../../api/user.js';
|
|
|
+import seckill from '../../components/seckill/seckill.vue';
|
|
|
+import { loadIndexs } from '@/api/index.js';
|
|
|
+import { getUserInfo, spread } from '@/api/user.js';
|
|
|
+import { setCoupons } from '@/api/functionalUnit.js';
|
|
|
+import { getBargainList } from '@/api/product.js';
|
|
|
+import { interceptor } from '@/utils/loginUtils';
|
|
|
+import { mapState, mapMutations } from 'vuex';
|
|
|
+import { tabbar } from '@/utils/tabbar.js';
|
|
|
+// #ifdef H5
|
|
|
+import { weixindata, shareLoad } from '@/utils/wxAuthorized';
|
|
|
+// #endif
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ seckill
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ tabbar: tabbar,
|
|
|
+ current: 0,
|
|
|
+ shareShow: false, //分享海报
|
|
|
+ pageProportion: 0, //保存页面基于750宽度的比例
|
|
|
+ swiperHeight: 0,
|
|
|
+ checkid: 0,
|
|
|
+ titleNViewBackground: '',
|
|
|
+ longitude: 0, //经度
|
|
|
+ latitude: 0, //纬度
|
|
|
+ swiperCurrent: 0,
|
|
|
+ swiperLength: 0,
|
|
|
+ carouselList: [], //轮播列表
|
|
|
+ bastList: [], //会员礼包
|
|
|
+ shoplist: [], //商店列表
|
|
|
+ page: 1,
|
|
|
+ limit: 5
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState(['loginInterceptor', 'baseURL']),
|
|
|
+ ...mapState('user', ['hasLogin', 'userInfo'])
|
|
|
+ },
|
|
|
+ onLoad: function(option) {
|
|
|
+ this.getaddress();
|
|
|
+ // #ifdef MP
|
|
|
+ if (option.scene) {
|
|
|
+ // 存储小程序邀请人
|
|
|
+ uni.setStorage({
|
|
|
+ key: 'spread_code',
|
|
|
+ data: option.scene
|
|
|
+ });
|
|
|
+ }
|
|
|
// #endif
|
|
|
// #ifdef H5
|
|
|
this.IndexShare();
|
|
|
- //#endif
|
|
|
- },
|
|
|
- onShow: function() {
|
|
|
- // 判断是否强制登录
|
|
|
- if (!this.hasLogin) {
|
|
|
- // 登录拦截
|
|
|
- interceptor();
|
|
|
- }
|
|
|
- this.loadData();
|
|
|
- this.getBargainList();
|
|
|
- },
|
|
|
- //下拉刷新
|
|
|
- onPullDownRefresh() {
|
|
|
- this.loadData();
|
|
|
- },
|
|
|
- // #ifndef MP
|
|
|
- // 监听导航栏输入框点击事件
|
|
|
- onNavigationBarSearchInputClicked(e) {
|
|
|
- //跳转到搜索页面
|
|
|
- this.clickSearch();
|
|
|
- },
|
|
|
- //点击导航栏 buttons 时触发
|
|
|
- onNavigationBarButtonTap(e) {
|
|
|
- const index = e.index;
|
|
|
- if (index === 0) {
|
|
|
- this.$api.msg('点击了扫描');
|
|
|
- } else if (index === 1) {
|
|
|
- // #ifdef APP-PLUS
|
|
|
- const pages = getCurrentPages();
|
|
|
- const page = pages[pages.length - 1];
|
|
|
- const currentWebview = page.$getAppWebview();
|
|
|
- currentWebview.hideTitleNViewButtonRedDot({
|
|
|
- index
|
|
|
- });
|
|
|
- // #endif
|
|
|
- uni.navigateTo({
|
|
|
- url: '/pages/user/notice'
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- // #endif
|
|
|
- methods: {
|
|
|
+ //#endif
|
|
|
+ },
|
|
|
+ onShow: function() {
|
|
|
+ // 判断是否强制登录
|
|
|
+ if (!this.hasLogin) {
|
|
|
+ // 登录拦截
|
|
|
+ interceptor();
|
|
|
+ }
|
|
|
+ this.loadData();
|
|
|
+ this.getBargainList();
|
|
|
+ },
|
|
|
+ //下拉刷新
|
|
|
+ onPullDownRefresh() {
|
|
|
+ this.loadData();
|
|
|
+ },
|
|
|
+ // #ifndef MP
|
|
|
+ // 监听导航栏输入框点击事件
|
|
|
+ onNavigationBarSearchInputClicked(e) {
|
|
|
+ //跳转到搜索页面
|
|
|
+ this.clickSearch();
|
|
|
+ },
|
|
|
+ //点击导航栏 buttons 时触发
|
|
|
+ onNavigationBarButtonTap(e) {
|
|
|
+ const index = e.index;
|
|
|
+ if (index === 0) {
|
|
|
+ this.$api.msg('点击了扫描');
|
|
|
+ } else if (index === 1) {
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ const pages = getCurrentPages();
|
|
|
+ const page = pages[pages.length - 1];
|
|
|
+ const currentWebview = page.$getAppWebview();
|
|
|
+ currentWebview.hideTitleNViewButtonRedDot({
|
|
|
+ index
|
|
|
+ });
|
|
|
+ // #endif
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/user/notice'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // #endif
|
|
|
+ methods: {
|
|
|
...mapMutations(['setLat', 'setLon']),
|
|
|
// #ifdef H5
|
|
|
IndexShare() {
|
|
@@ -225,584 +227,597 @@ export default {
|
|
|
for (let i in page.options) {
|
|
|
path += i + '=' + page.options[i] + '&';
|
|
|
}
|
|
|
- console.log(obj.Path)
|
|
|
+ console.log(obj.Path);
|
|
|
// 保存邀请人
|
|
|
path += 'spread=' + this.userInfo.uid;
|
|
|
let data = {
|
|
|
link: this.baseURL + '/index/' + path,
|
|
|
title: this.userInfo.nickname + '邀请您进入响亮商城',
|
|
|
- desc:'欢迎加入响亮商城',
|
|
|
+ desc: '欢迎加入响亮商城',
|
|
|
imgUrl: 'https://xl.liuniu946.com/index/static/img/logo.jpg'
|
|
|
};
|
|
|
- console.log(data,'分享数据');
|
|
|
+ console.log(data, '分享数据');
|
|
|
shareLoad(data);
|
|
|
},
|
|
|
- // #endif
|
|
|
- getaddress() {
|
|
|
- console.log('dizhi+++++++++++');
|
|
|
- let obj = this;
|
|
|
- // uni.getLocation({
|
|
|
- // type: 'gcj02',
|
|
|
- // success: res => {
|
|
|
- // console.log(res, 123456);
|
|
|
- // obj.setLat(res.latitude);
|
|
|
- // obj.setLon(res.longitude);
|
|
|
- // },
|
|
|
- // fail: err => {
|
|
|
- // console.log(err, 'shi+++++++++++++++');
|
|
|
- // openMap().then(e => {
|
|
|
- // this.getaddress();
|
|
|
- // });
|
|
|
- // }
|
|
|
- // });
|
|
|
- weixindata().then(wxOjb => {
|
|
|
- console.log(wxOjb,'获取微信');
|
|
|
- wxOjb.getLocation({
|
|
|
- type: 'gcj02',
|
|
|
- success: res => {
|
|
|
- console.log(res, 123456);
|
|
|
- obj.setLat(res.latitude);
|
|
|
- obj.setLon(res.longitude);
|
|
|
- },
|
|
|
- fail: err => {
|
|
|
- console.log(err, 'shi+++++++++++++++');
|
|
|
- openMap().then(e => {
|
|
|
- this.getaddress();
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- //砍价商品推荐详情页
|
|
|
- navToDetailPages(item) {
|
|
|
- let id = item.product_id;
|
|
|
- //let type = 2;
|
|
|
-
|
|
|
- uni.navigateTo({
|
|
|
- url: '/pages/product/product?id=' + id
|
|
|
- });
|
|
|
- },
|
|
|
- navTo(url) {
|
|
|
- if (url == '') {
|
|
|
- this.$api.msg('暂未开通,敬请期待');
|
|
|
- } else {
|
|
|
- uni.navigateTo({
|
|
|
- url
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- openSubscribe: function(e) {
|
|
|
- let page = e;
|
|
|
- // #ifndef MP
|
|
|
- uni.navigateTo({
|
|
|
- url: page
|
|
|
- });
|
|
|
- // #endif
|
|
|
- // #ifdef MP
|
|
|
- uni.showLoading({
|
|
|
- title: '正在加载'
|
|
|
- });
|
|
|
- openBargainSubscribe()
|
|
|
- .then(res => {
|
|
|
- uni.hideLoading();
|
|
|
- uni.navigateTo({
|
|
|
- url: page
|
|
|
- });
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- uni.hideLoading();
|
|
|
- });
|
|
|
- // #endif
|
|
|
- },
|
|
|
- getBargainList() {
|
|
|
- let that = this;
|
|
|
-
|
|
|
- getBargainList({
|
|
|
- page: that.page,
|
|
|
- limit: that.limit
|
|
|
- })
|
|
|
- .then(function(res) {
|
|
|
- that.$set(that, 'bargainlist', res.data.slice(0, 2));
|
|
|
- })
|
|
|
- .catch(res => {
|
|
|
- console.log(res, 'getBargainList');
|
|
|
- });
|
|
|
- },
|
|
|
- Mask() {
|
|
|
- this.MaskShow = false;
|
|
|
- this.shareShow = true;
|
|
|
- uni.setStorage({
|
|
|
- key: 'FirstEntry',
|
|
|
- data: true,
|
|
|
- success: function() {
|
|
|
- console.log(uni.getStorageSync('FirstEntry'), 'Mask');
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- Toshare() {
|
|
|
- if (this.userInfo == '') {
|
|
|
- getUserInfo({})
|
|
|
- .then(({ data }) => {
|
|
|
- this.setUserInfo(data);
|
|
|
- this.userInfo = data;
|
|
|
- })
|
|
|
- .catch(e => {});
|
|
|
- } else {
|
|
|
- this.shareShow = false;
|
|
|
- uni.navigateTo({
|
|
|
- url: '/pages/user/shareQrCode?spread=' + this.userInfo.uid
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- Tocancel() {
|
|
|
- this.shareShow = false;
|
|
|
- },
|
|
|
- // 监听切换事件
|
|
|
- listChange(e) {
|
|
|
- this.checkid = e.detail.current;
|
|
|
- },
|
|
|
- // 點擊搜索框
|
|
|
- clickSearch() {
|
|
|
- uni.navigateTo({
|
|
|
- url: '/pages/product/search'
|
|
|
- });
|
|
|
- },
|
|
|
- // 点击触发领取优惠券
|
|
|
- setCoupons(item) {
|
|
|
- // 判断是否已经领取了优惠券
|
|
|
- let obj = this;
|
|
|
- uni.showModal({
|
|
|
- title: '领取提示',
|
|
|
- content: '是否领取优惠券',
|
|
|
- success(e) {
|
|
|
- if (e.confirm) {
|
|
|
- setCoupons({
|
|
|
- couponId: item.id
|
|
|
- }).then(e => {
|
|
|
- item.is_use = true;
|
|
|
- uni.showToast({
|
|
|
- title: '领取成功',
|
|
|
- type: 'top',
|
|
|
- duration: 2000
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- //商品种类切换
|
|
|
- change(item) {
|
|
|
- let id = item;
|
|
|
- this.checkid = id;
|
|
|
- if (this.checkid == 1) {
|
|
|
- // console.log(1);
|
|
|
- this.detail = this.selected_detail;
|
|
|
- } else if (this.checkid == 2) {
|
|
|
- // console.log(2);
|
|
|
- this.detail = this.new_product;
|
|
|
- } else {
|
|
|
- this.detail = this.cheap_good;
|
|
|
- }
|
|
|
- },
|
|
|
- // 监听图片加载完成
|
|
|
- onImageError(key, index) {
|
|
|
- this[key][index].image = '/static/error/errorImage.jpg';
|
|
|
- },
|
|
|
- // 请求载入数据
|
|
|
- async loadData() {
|
|
|
- loadIndexs({})
|
|
|
- .then(({ data }) => {
|
|
|
- let goods = data.info;
|
|
|
- this.carouselList = data.banner;
|
|
|
- this.swiperLength = this.carouselList.length;
|
|
|
- this.bastList = data.giftInfo; //会员礼包
|
|
|
- uni.stopPullDownRefresh();
|
|
|
- })
|
|
|
- .catch(e => {
|
|
|
- uni.stopPullDownRefresh();
|
|
|
- });
|
|
|
- },
|
|
|
- //轮播图切换修改背景色
|
|
|
- swiperChange(e) {
|
|
|
- const index = e.detail.current;
|
|
|
- this.swiperCurrent = index;
|
|
|
- this.titleNViewBackground = this.carouselList[index].background;
|
|
|
- },
|
|
|
- //详情页
|
|
|
- navToDetailPage(item) {
|
|
|
- let id = item.id;
|
|
|
- uni.navigateTo({
|
|
|
- url: '/pages/product/product?id=' + id + '&isVip=1'
|
|
|
- });
|
|
|
- },
|
|
|
-
|
|
|
- // 轮播图跳转
|
|
|
- bannerNavToUrl(item) {
|
|
|
- // #ifdef H5
|
|
|
- if (item.wap_url.indexOf('http') > 0) {
|
|
|
- window.location.href = item.wap_url;
|
|
|
- }
|
|
|
- // #endif
|
|
|
- //测试数据没有写id,用title代替
|
|
|
- uni.navigateTo({
|
|
|
- url: item.wap_url
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-};
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="scss">
|
|
|
-.carousel-section {
|
|
|
- position: relative;
|
|
|
- padding-top: 10px;
|
|
|
- .bg {
|
|
|
- position: absolute;
|
|
|
- top: 0;
|
|
|
- left: 0;
|
|
|
- width: 750rpx;
|
|
|
- height: 378rpx;
|
|
|
- image {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- }
|
|
|
- }
|
|
|
- .titleNview-placing {
|
|
|
- height: var(--status-bar-height);
|
|
|
- box-sizing: content-box;
|
|
|
- }
|
|
|
- .search {
|
|
|
- justify-content: flex-start;
|
|
|
- padding: 10rpx 32rpx 20rpx;
|
|
|
- align-items: center;
|
|
|
- .address {
|
|
|
- width: 32rpx;
|
|
|
- height: 38rpx;
|
|
|
- }
|
|
|
- .shop-name {
|
|
|
- height: 38rpx;
|
|
|
- position: relative;
|
|
|
- top: -4rpx;
|
|
|
- z-index: 100;
|
|
|
- font-size: 30rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: 500;
|
|
|
- color: #ffffff;
|
|
|
- padding-left: 10rpx;
|
|
|
- }
|
|
|
- .shop-jt {
|
|
|
- margin-left: 8rpx;
|
|
|
- width: 16rpx;
|
|
|
- height: 10rpx;
|
|
|
- }
|
|
|
- .input-box {
|
|
|
- margin-left: 10rpx;
|
|
|
- position: relative;
|
|
|
- z-index: 99;
|
|
|
- width: 520rpx;
|
|
|
- height: 60rpx;
|
|
|
- background: rgba(255, 255, 255, 0.4);
|
|
|
- border-radius: 30rpx;
|
|
|
- .input-content {
|
|
|
- position: relative;
|
|
|
- z-index: 11;
|
|
|
- border-radius: 99rpx;
|
|
|
- flex-grow: 1;
|
|
|
- padding: 5rpx 30rpx;
|
|
|
- background: rgba(255, 255, 255, 0.4);
|
|
|
- .iconsearch {
|
|
|
- font-size: 50rpx;
|
|
|
- color: #ffffff;
|
|
|
- }
|
|
|
- .input {
|
|
|
- margin-left: 19rpx;
|
|
|
- flex-grow: 1;
|
|
|
- color: #ffffff;
|
|
|
- input {
|
|
|
- font-size: 28rpx;
|
|
|
-
|
|
|
- color: #ffffff;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .input-button {
|
|
|
- padding-left: 20rpx;
|
|
|
- font-size: $font-base;
|
|
|
- height: 100%;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-.carousel {
|
|
|
- position: relative;
|
|
|
- z-index: 3;
|
|
|
- width: 100%;
|
|
|
- height: 360rpx;
|
|
|
- .carousel-item {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- padding: 0 28rpx;
|
|
|
- overflow: hidden;
|
|
|
- }
|
|
|
- image {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- border-radius: $border-radius-sm;
|
|
|
- }
|
|
|
-}
|
|
|
-.navbar {
|
|
|
- position: relative;
|
|
|
- z-index: 2;
|
|
|
- margin-top: -200rpx;
|
|
|
- width: 750rpx;
|
|
|
- height: 462rpx;
|
|
|
- background: #ffffff;
|
|
|
- border-radius: 40rpx;
|
|
|
- .navbar-box {
|
|
|
- padding-top: 250rpx;
|
|
|
- .navbar-item {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- width: 20%;
|
|
|
- .nitem-image {
|
|
|
- width: 98rpx;
|
|
|
- height: 98rpx;
|
|
|
- }
|
|
|
- .nitem-font {
|
|
|
- margin-top: 22rpx;
|
|
|
- font-size: 26rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: 500;
|
|
|
- color: #000000;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-.product-box {
|
|
|
- margin-top: 20rpx;
|
|
|
- background: #ffffff;
|
|
|
- padding: 26rpx 30rpx 20rpx;
|
|
|
- .product-title {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- .pt-image {
|
|
|
- width: 36rpx;
|
|
|
- height: 36rpx;
|
|
|
- }
|
|
|
- .pt-title {
|
|
|
- margin-left: 8rpx;
|
|
|
- font-size: 32rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: bold;
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
- .pt-tip {
|
|
|
- margin-left: 16rpx;
|
|
|
- font-size: 20rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: bold;
|
|
|
- color: #95a0b1;
|
|
|
- }
|
|
|
- }
|
|
|
- .hotgoods {
|
|
|
- margin-top: 38rpx;
|
|
|
- width: 100%;
|
|
|
- display: flex;
|
|
|
- flex-wrap: wrap;
|
|
|
- padding: 0 0 30rpx;
|
|
|
-
|
|
|
- .hotgoods-item {
|
|
|
- width: 48%;
|
|
|
- background-color: #ffffff;
|
|
|
- border-radius: 12rpx;
|
|
|
- &:nth-child(2n + 1) {
|
|
|
- margin-right: 24rpx;
|
|
|
- }
|
|
|
- .image-wrapper {
|
|
|
- width: 100%;
|
|
|
- height: 330rpx;
|
|
|
- border-radius: 3px;
|
|
|
- overflow: hidden;
|
|
|
- image {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- opacity: 1;
|
|
|
- border-radius: 12rpx 12rpx 0 0;
|
|
|
- }
|
|
|
- }
|
|
|
- .title {
|
|
|
- margin-top: 24rpx;
|
|
|
- font-size: 28rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: 500;
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
- .hot-price {
|
|
|
- display: flex;
|
|
|
- justify-content: flex-start;
|
|
|
- align-items: center;
|
|
|
- padding: 14rpx 0 30rpx;
|
|
|
- .hotPrice-box {
|
|
|
- width: 70rpx;
|
|
|
- height: 28rpx;
|
|
|
- background: linear-gradient(90deg, #c79a4c, #f9df7f);
|
|
|
- border-radius: 5rpx;
|
|
|
- text-align: center;
|
|
|
- line-height: 28rpx;
|
|
|
- font-size: 20rpx;
|
|
|
- font-family: Source Han Sans CN;
|
|
|
- font-weight: 400;
|
|
|
- color: #ffffff;
|
|
|
- }
|
|
|
- .price {
|
|
|
- margin-left: 10rpx;
|
|
|
- font-size: 40rpx;
|
|
|
- color: #ff0000;
|
|
|
- font-weight: 500;
|
|
|
- }
|
|
|
- .yuanPrice {
|
|
|
- margin-left: 10rpx;
|
|
|
- font-size: 20rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: 500;
|
|
|
- text-decoration: line-through;
|
|
|
- color: #999999;
|
|
|
- }
|
|
|
- .cart-icon {
|
|
|
- image {
|
|
|
- width: 44rpx;
|
|
|
- height: 44rpx;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-.shop {
|
|
|
- margin-top: 20rpx;
|
|
|
- background: #ffffff;
|
|
|
- padding: 0 12rpx;
|
|
|
- .shop-title {
|
|
|
- padding: 30rpx 0 20rpx;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- border-bottom: 1px solid #e3e6e7;
|
|
|
- .shop-item {
|
|
|
- width: 25%;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- .sitem-font {
|
|
|
- font-size: 26rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: bold;
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
- .jt-down {
|
|
|
- width: 10rpx;
|
|
|
- height: 8rpx;
|
|
|
- margin-left: 12rpx;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ // #endif
|
|
|
+ getaddress() {
|
|
|
+ console.log('dizhi+++++++++++');
|
|
|
+ let obj = this;
|
|
|
+ // uni.getLocation({
|
|
|
+ // type: 'gcj02',
|
|
|
+ // success: res => {
|
|
|
+ // console.log(res, 123456);
|
|
|
+ // obj.setLat(res.latitude);
|
|
|
+ // obj.setLon(res.longitude);
|
|
|
+ // },
|
|
|
+ // fail: err => {
|
|
|
+ // console.log(err, 'shi+++++++++++++++');
|
|
|
+ // openMap().then(e => {
|
|
|
+ // this.getaddress();
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ weixindata().then(wxOjb => {
|
|
|
+ console.log(wxOjb, '获取微信');
|
|
|
+ wxOjb.getLocation({
|
|
|
+ type: 'gcj02',
|
|
|
+ success: res => {
|
|
|
+ console.log(res, 123456);
|
|
|
+ obj.setLat(res.latitude);
|
|
|
+ obj.setLon(res.longitude);
|
|
|
+ },
|
|
|
+ fail: err => {
|
|
|
+ console.log(err, 'shi+++++++++++++++');
|
|
|
+ openMap().then(e => {
|
|
|
+ this.getaddress();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //砍价商品推荐详情页
|
|
|
+ navToDetailPages(item) {
|
|
|
+ let id = item.product_id;
|
|
|
+ //let type = 2;
|
|
|
+
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/product/product?id=' + id
|
|
|
+ });
|
|
|
+ },
|
|
|
+ navTo(url) {
|
|
|
+ if (url == '') {
|
|
|
+ this.$api.msg('暂未开通,敬请期待');
|
|
|
+ } else {
|
|
|
+ uni.navigateTo({
|
|
|
+ url
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ openSubscribe: function(e) {
|
|
|
+ let page = e;
|
|
|
+ // #ifndef MP
|
|
|
+ uni.navigateTo({
|
|
|
+ url: page
|
|
|
+ });
|
|
|
+ // #endif
|
|
|
+ // #ifdef MP
|
|
|
+ uni.showLoading({
|
|
|
+ title: '正在加载'
|
|
|
+ });
|
|
|
+ openBargainSubscribe()
|
|
|
+ .then(res => {
|
|
|
+ uni.hideLoading();
|
|
|
+ uni.navigateTo({
|
|
|
+ url: page
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ uni.hideLoading();
|
|
|
+ });
|
|
|
+ // #endif
|
|
|
+ },
|
|
|
+ getBargainList() {
|
|
|
+ let that = this;
|
|
|
+
|
|
|
+ getBargainList({
|
|
|
+ page: that.page,
|
|
|
+ limit: that.limit
|
|
|
+ })
|
|
|
+ .then(function(res) {
|
|
|
+ that.$set(that, 'bargainlist', res.data.slice(0, 2));
|
|
|
+ })
|
|
|
+ .catch(res => {
|
|
|
+ console.log(res, 'getBargainList');
|
|
|
+ });
|
|
|
+ },
|
|
|
+ Mask() {
|
|
|
+ this.MaskShow = false;
|
|
|
+ this.shareShow = true;
|
|
|
+ uni.setStorage({
|
|
|
+ key: 'FirstEntry',
|
|
|
+ data: true,
|
|
|
+ success: function() {
|
|
|
+ console.log(uni.getStorageSync('FirstEntry'), 'Mask');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ Toshare() {
|
|
|
+ if (this.userInfo == '') {
|
|
|
+ getUserInfo({})
|
|
|
+ .then(({ data }) => {
|
|
|
+ this.setUserInfo(data);
|
|
|
+ this.userInfo = data;
|
|
|
+ })
|
|
|
+ .catch(e => {});
|
|
|
+ } else {
|
|
|
+ this.shareShow = false;
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/user/shareQrCode?spread=' + this.userInfo.uid
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ Tocancel() {
|
|
|
+ this.shareShow = false;
|
|
|
+ },
|
|
|
+ // 监听切换事件
|
|
|
+ listChange(e) {
|
|
|
+ this.checkid = e.detail.current;
|
|
|
+ },
|
|
|
+ // 點擊搜索框
|
|
|
+ clickSearch() {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/product/search'
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 点击触发领取优惠券
|
|
|
+ setCoupons(item) {
|
|
|
+ // 判断是否已经领取了优惠券
|
|
|
+ let obj = this;
|
|
|
+ uni.showModal({
|
|
|
+ title: '领取提示',
|
|
|
+ content: '是否领取优惠券',
|
|
|
+ success(e) {
|
|
|
+ if (e.confirm) {
|
|
|
+ setCoupons({
|
|
|
+ couponId: item.id
|
|
|
+ }).then(e => {
|
|
|
+ item.is_use = true;
|
|
|
+ uni.showToast({
|
|
|
+ title: '领取成功',
|
|
|
+ type: 'top',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //商品种类切换
|
|
|
+ change(item) {
|
|
|
+ let id = item;
|
|
|
+ this.checkid = id;
|
|
|
+ if (this.checkid == 1) {
|
|
|
+ // console.log(1);
|
|
|
+ this.detail = this.selected_detail;
|
|
|
+ } else if (this.checkid == 2) {
|
|
|
+ // console.log(2);
|
|
|
+ this.detail = this.new_product;
|
|
|
+ } else {
|
|
|
+ this.detail = this.cheap_good;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 监听图片加载完成
|
|
|
+ onImageError(key, index) {
|
|
|
+ this[key][index].image = '/static/error/errorImage.jpg';
|
|
|
+ },
|
|
|
+ // 请求载入数据
|
|
|
+ async loadData() {
|
|
|
+ loadIndexs({})
|
|
|
+ .then(({ data }) => {
|
|
|
+ let goods = data.info;
|
|
|
+ this.carouselList = data.banner;
|
|
|
+ this.swiperLength = this.carouselList.length;
|
|
|
+ this.bastList = data.giftInfo; //会员礼包
|
|
|
+ uni.stopPullDownRefresh();
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ uni.stopPullDownRefresh();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //轮播图切换修改背景色
|
|
|
+ swiperChange(e) {
|
|
|
+ const index = e.detail.current;
|
|
|
+ this.swiperCurrent = index;
|
|
|
+ this.titleNViewBackground = this.carouselList[index].background;
|
|
|
+ },
|
|
|
+ //详情页
|
|
|
+ navToDetailPage(item) {
|
|
|
+ let id = item.id;
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/product/product?id=' + id + '&isVip=1'
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 轮播图跳转
|
|
|
+ bannerNavToUrl(item) {
|
|
|
+ // #ifdef H5
|
|
|
+ console.log(item.wap_url.indexOf('http'), 'banner');
|
|
|
+ if (item.wap_url.indexOf('http') >= 0) {
|
|
|
+ window.location.href = item.wap_url;
|
|
|
+ }
|
|
|
+ // #endif
|
|
|
+ //测试数据没有写id,用title代替
|
|
|
+ uni.navigateTo({
|
|
|
+ url: item.wap_url
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+.carousel-section {
|
|
|
+ position: relative;
|
|
|
+ padding-top: 10px;
|
|
|
+ .bg {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 750rpx;
|
|
|
+ height: 378rpx;
|
|
|
+ image {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .titleNview-placing {
|
|
|
+ height: var(--status-bar-height);
|
|
|
+ box-sizing: content-box;
|
|
|
+ }
|
|
|
+ .search {
|
|
|
+ justify-content: flex-start;
|
|
|
+ padding: 10rpx 32rpx 20rpx;
|
|
|
+ align-items: center;
|
|
|
+ .address {
|
|
|
+ width: 32rpx;
|
|
|
+ height: 38rpx;
|
|
|
+ }
|
|
|
+ .shop-name {
|
|
|
+ height: 38rpx;
|
|
|
+ position: relative;
|
|
|
+ top: -4rpx;
|
|
|
+ z-index: 100;
|
|
|
+ font-size: 30rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #ffffff;
|
|
|
+ padding-left: 10rpx;
|
|
|
+ }
|
|
|
+ .shop-jt {
|
|
|
+ margin-left: 8rpx;
|
|
|
+ width: 16rpx;
|
|
|
+ height: 10rpx;
|
|
|
+ }
|
|
|
+ .input-box {
|
|
|
+ margin-left: 10rpx;
|
|
|
+ position: relative;
|
|
|
+ z-index: 99;
|
|
|
+ width: 520rpx;
|
|
|
+ height: 60rpx;
|
|
|
+ background: rgba(255, 255, 255, 0.4);
|
|
|
+ border-radius: 30rpx;
|
|
|
+ .input-content {
|
|
|
+ position: relative;
|
|
|
+ z-index: 11;
|
|
|
+ border-radius: 99rpx;
|
|
|
+ flex-grow: 1;
|
|
|
+ padding: 5rpx 30rpx;
|
|
|
+ background: rgba(255, 255, 255, 0.4);
|
|
|
+ .iconsearch {
|
|
|
+ font-size: 50rpx;
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
+ .input {
|
|
|
+ margin-left: 19rpx;
|
|
|
+ flex-grow: 1;
|
|
|
+ color: #ffffff;
|
|
|
+ input {
|
|
|
+ font-size: 28rpx;
|
|
|
+
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .input-button {
|
|
|
+ padding-left: 20rpx;
|
|
|
+ font-size: $font-base;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.carousel {
|
|
|
+ position: relative;
|
|
|
+ z-index: 3;
|
|
|
+ width: 100%;
|
|
|
+ height: 360rpx;
|
|
|
+ .carousel-item {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ padding: 0 28rpx;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+ image {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ border-radius: $border-radius-sm;
|
|
|
+ }
|
|
|
+}
|
|
|
+.navbar {
|
|
|
+ position: relative;
|
|
|
+ z-index: 2;
|
|
|
+ margin-top: -200rpx;
|
|
|
+ width: 750rpx;
|
|
|
+ height: 462rpx;
|
|
|
+ background: #ffffff;
|
|
|
+ border-radius: 40rpx;
|
|
|
+ .navbar-box {
|
|
|
+ padding-top: 250rpx;
|
|
|
+ .navbar-item {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ width: 20%;
|
|
|
+ .nitem-image {
|
|
|
+ width: 98rpx;
|
|
|
+ height: 98rpx;
|
|
|
+ }
|
|
|
+ .nitem-font {
|
|
|
+ margin-top: 22rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #000000;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.product-box {
|
|
|
+ margin-top: 20rpx;
|
|
|
+ background: #ffffff;
|
|
|
+ padding: 26rpx 30rpx 20rpx;
|
|
|
+ .product-title {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ .pt-image {
|
|
|
+ width: 36rpx;
|
|
|
+ height: 36rpx;
|
|
|
+ }
|
|
|
+ .pt-title {
|
|
|
+ margin-left: 8rpx;
|
|
|
+ font-size: 32rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ .pt-tip {
|
|
|
+ margin-left: 16rpx;
|
|
|
+ font-size: 20rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #95a0b1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .hotgoods {
|
|
|
+ margin-top: 38rpx;
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ padding: 0 0 30rpx;
|
|
|
+
|
|
|
+ .hotgoods-item {
|
|
|
+ width: 48%;
|
|
|
+ background-color: #ffffff;
|
|
|
+ border-radius: 12rpx;
|
|
|
+ &:nth-child(2n + 1) {
|
|
|
+ margin-right: 24rpx;
|
|
|
+ }
|
|
|
+ .image-wrapper {
|
|
|
+ width: 100%;
|
|
|
+ height: 330rpx;
|
|
|
+ border-radius: 3px;
|
|
|
+ overflow: hidden;
|
|
|
+ position: relative;
|
|
|
+ .image-bg {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ opacity: 1;
|
|
|
+ border-radius: 12rpx 12rpx 0 0;
|
|
|
+ z-index: 2;
|
|
|
+ }
|
|
|
+ .image {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ opacity: 1;
|
|
|
+ border-radius: 12rpx 12rpx 0 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .title {
|
|
|
+ margin-top: 24rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ .hot-price {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
+ padding: 14rpx 0 30rpx;
|
|
|
+ .hotPrice-box {
|
|
|
+ width: 70rpx;
|
|
|
+ height: 28rpx;
|
|
|
+ background: linear-gradient(90deg, #c79a4c, #f9df7f);
|
|
|
+ border-radius: 5rpx;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 28rpx;
|
|
|
+ font-size: 20rpx;
|
|
|
+ font-family: Source Han Sans CN;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
+ .price {
|
|
|
+ margin-left: 10rpx;
|
|
|
+ font-size: 40rpx;
|
|
|
+ color: #ff0000;
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+ .yuanPrice {
|
|
|
+ margin-left: 10rpx;
|
|
|
+ font-size: 20rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ text-decoration: line-through;
|
|
|
+ color: #999999;
|
|
|
+ }
|
|
|
+ .cart-icon {
|
|
|
+ image {
|
|
|
+ width: 44rpx;
|
|
|
+ height: 44rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.shop {
|
|
|
+ margin-top: 20rpx;
|
|
|
+ background: #ffffff;
|
|
|
+ padding: 0 12rpx;
|
|
|
+ .shop-title {
|
|
|
+ padding: 30rpx 0 20rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ border-bottom: 1px solid #e3e6e7;
|
|
|
+ .shop-item {
|
|
|
+ width: 25%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ .sitem-font {
|
|
|
+ font-size: 26rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ .jt-down {
|
|
|
+ width: 10rpx;
|
|
|
+ height: 8rpx;
|
|
|
+ margin-left: 12rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.shop-main {
|
|
|
+ padding: 32rpx 18rpx 0 12rpx;
|
|
|
+ align-items: flex-start;
|
|
|
+ justify-content: flex-start;
|
|
|
+ .main-left {
|
|
|
+ width: 180rpx;
|
|
|
+ height: 180rpx;
|
|
|
+ border-radius: 10rpx;
|
|
|
+ }
|
|
|
+ .main-right {
|
|
|
+ width: 500rpx;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: flex-start;
|
|
|
+ margin-left: 20rpx;
|
|
|
+ padding: 13rpx 0 35rpx;
|
|
|
+ border-bottom: 1px solid #eaeced;
|
|
|
+ .shopm-info {
|
|
|
+ max-width: 60%;
|
|
|
+ line-height: 1;
|
|
|
+ .shopm-title {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-start;
|
|
|
+ .shopmt-font {
|
|
|
+ font-size: 34rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ .shopmt-good {
|
|
|
+ margin-left: 6rpx;
|
|
|
+ width: 30rpx;
|
|
|
+ height: 30rpx;
|
|
|
+ border: 1px solid #ff4c4c;
|
|
|
+ border-radius: 5rpx;
|
|
|
+ font-size: 20rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #ff4c4c;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 30rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .address {
|
|
|
+ margin-top: 16rpx;
|
|
|
+ font-size: 24rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #666666;
|
|
|
+ }
|
|
|
+ .shopmt-tip {
|
|
|
+ position: relative;
|
|
|
+ display: inline-block;
|
|
|
+ flex-grow: 0;
|
|
|
+ margin-top: 52rpx;
|
|
|
+ padding: 8rpx;
|
|
|
+ background: #fcf3f0;
|
|
|
+ border-radius: 16rpx 16rpx 16rpx 0px;
|
|
|
+ font-size: 20rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #ff440d;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .right {
|
|
|
+ height: 100%;
|
|
|
+ margin-top: 5rpx;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .mright-top {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ align-items: center;
|
|
|
+ .mrt-image {
|
|
|
+ width: 20rpx;
|
|
|
+ height: 28rpx;
|
|
|
+ }
|
|
|
+ .mrt-font {
|
|
|
+ margin-left: 8rpx;
|
|
|
+ font-size: 22rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #666666;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .mright-bottom {
|
|
|
+ margin-top: 80rpx;
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ .mrb-item {
|
|
|
+ width: 46rpx;
|
|
|
+ height: 46rpx;
|
|
|
+ margin-left: 14rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
-.shop-main {
|
|
|
- padding: 32rpx 18rpx 0 12rpx;
|
|
|
- align-items: flex-start;
|
|
|
- justify-content: flex-start;
|
|
|
- .main-left {
|
|
|
- width: 180rpx;
|
|
|
- height: 180rpx;
|
|
|
- border-radius: 10rpx;
|
|
|
- }
|
|
|
- .main-right {
|
|
|
- width: 500rpx;
|
|
|
- justify-content: space-between;
|
|
|
- align-items: flex-start;
|
|
|
- margin-left: 20rpx;
|
|
|
- padding: 13rpx 0 35rpx;
|
|
|
- border-bottom: 1px solid #eaeced;
|
|
|
- .shopm-info {
|
|
|
- max-width: 60%;
|
|
|
- line-height: 1;
|
|
|
- .shopm-title {
|
|
|
- display: flex;
|
|
|
- justify-content: flex-start;
|
|
|
- .shopmt-font {
|
|
|
- font-size: 34rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: bold;
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
- .shopmt-good {
|
|
|
- margin-left: 6rpx;
|
|
|
- width: 30rpx;
|
|
|
- height: 30rpx;
|
|
|
- border: 1px solid #ff4c4c;
|
|
|
- border-radius: 5rpx;
|
|
|
- font-size: 20rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: 500;
|
|
|
- color: #ff4c4c;
|
|
|
- text-align: center;
|
|
|
- line-height: 30rpx;
|
|
|
- }
|
|
|
- }
|
|
|
- .address {
|
|
|
- margin-top: 16rpx;
|
|
|
- font-size: 24rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: 500;
|
|
|
- color: #666666;
|
|
|
- }
|
|
|
- .shopmt-tip {
|
|
|
- position: relative;
|
|
|
- display: inline-block;
|
|
|
- flex-grow: 0;
|
|
|
- margin-top: 52rpx;
|
|
|
- padding: 8rpx;
|
|
|
- background: #fcf3f0;
|
|
|
- border-radius: 16rpx 16rpx 16rpx 0px;
|
|
|
- font-size: 20rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: 500;
|
|
|
- color: #ff440d;
|
|
|
- }
|
|
|
- }
|
|
|
- .right {
|
|
|
- height: 100%;
|
|
|
- margin-top: 5rpx;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- .mright-top {
|
|
|
- display: flex;
|
|
|
- justify-content: flex-end;
|
|
|
- align-items: center;
|
|
|
- .mrt-image {
|
|
|
- width: 20rpx;
|
|
|
- height: 28rpx;
|
|
|
- }
|
|
|
- .mrt-font {
|
|
|
- margin-left: 8rpx;
|
|
|
- font-size: 22rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- font-weight: 500;
|
|
|
- color: #666666;
|
|
|
- }
|
|
|
- }
|
|
|
- .mright-bottom {
|
|
|
- margin-top: 80rpx;
|
|
|
- display: flex;
|
|
|
- justify-content: flex-end;
|
|
|
- .mrb-item {
|
|
|
- width: 46rpx;
|
|
|
- height: 46rpx;
|
|
|
- margin-left: 14rpx;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
</style>
|