| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395 |
- <template>
- <view>
- <view class="page-index" :class="{'bgf':navIndex >0}">
- <!-- #ifdef H5||APP||MP-WEIXIN -->
- <view class="header">
- <view class="serch-wrapper flex">
- <view class="logo">
- <image :src="logoUrl" mode=""></image>
- </view>
- <navigator url="/pages/goods_search/index" class="input" hover-class="none"><text
- class="iconfont icon-xiazai5"></text>
- 搜索商品</navigator>
- </view>
- </view>
- <!-- #endif -->
- <!-- 首页展示 -->
- <view class="page_content" :style="'margin-top:'+(marTop)+'px;'" v-if="navIndex == 0">
- <view class="mp-bg"></view>
- <!-- banner -->
- <view class="swiper" v-if="imgUrls.length">
- <swiper indicator-dots="true" :autoplay="true" :circular="circular" :interval="interval"
- :duration="duration" indicator-color="rgba(255,255,255,0.6)" indicator-active-color="#fff">
- <block v-for="(item,index) in imgUrls" :key="index">
- <swiper-item>
- <navigator :url='item.url' class='slide-navigator acea-row row-between-wrapper'
- hover-class='none'>
- <image :src="item.pic" class="slide-image" lazy-load></image>
- </navigator>
- </swiper-item>
- </block>
- </swiper>
- </view>
- <!-- 新闻简报 -->
- <!-- <view class='notice acea-row row-middle row-between' v-if="roll.length">
- <view class="pic">
- <image src="/static/images/xinjian.png"></image>
- </view>
- <text class='line'>|</text>
- <view class='swipers'>
- <swiper :indicator-dots="indicatorDots" :autoplay="autoplay" interval="2500" duration="500"
- vertical="true" circular="true">
- <block v-for="(item,index) in roll" :key='index'>
- <swiper-item>
- <navigator class='item' :url='item.url' hover-class='none'>
- <view class='line1'>{{item.info}}</view>
- </navigator>
- </swiper-item>
- </block>
- </swiper>
- </view>
- <view class="iconfont icon-xiangyou"></view>
- </view> -->
- <!-- menu -->
- <!-- <view class='nav acea-row' v-if="menus.length">
- <block v-for="(item,index) in menus" :key="index">
- <navigator class='item' v-if="item.show == '1'" :url='item.url' open-type='switchTab'
- hover-class='none'>
- <view class='pictrue'>
- <image :src='item.pic'></image>
- </view>
- <view class="menu-txt">{{item.name}}</view>
- </navigator>
- <navigator class='item' v-else :url='item.url' hover-class='none'>
- <view class='pictrue'>
- <image :src='item.pic'></image>
- </view>
- <view class="menu-txt">{{item.name}}</view>
- </navigator>
- </block>
- </view> -->
- <!-- 优惠券 -->
- <!-- <view class="couponIndex" v-if="couponList.length>0">
- <view class="acea-row" style="height: 100%;">
- <view class="titBox">
- <view class="tit1">领取优惠券</view>
- <view class="tit2">福利大礼包,省了又省</view>
- <navigator class='item' url='/pages/users/user_get_coupon/index' hover-class='none'>
- <view class="tit3">查看全部 <text class="iconfont icon-xiangyou"></text></view>
- </navigator>
- </view>
- <view class="listBox acea-row">
- <view class="list" :class='item.isUse ? "listHui" : "listActive" '
- v-for="(item, index) in couponList.slice(0,2)" :key="index">
- <view class="tit line1" :class='item.isUse ? "pricehui" : "titActive" '>{{item.name}}
- </view>
- <view class="price" :class='item.isUse ? "pricehui" : "icon-color" '>
- {{item.money?Number(item.money):''}}<text class="yuan">元</text>
- </view>
- <view class="ling" v-if="!item.isUse" :class='item.isUse ? "pricehui" : "icon-color" '
- @click="getCoupon(item.id,index)">领取</view>
- <view class="ling" v-else :class='item.isUse ? "pricehui fonthui" : "icon-color" '>已领取
- </view>
- <view class="priceM">满{{item.minPrice?Number(item.minPrice):''}}元可用</view>
- </view>
- </view>
- </view>
- </view> -->
- <!-- 活动-->
- <!-- <a_seckill></a_seckill>
- <b_combination></b_combination>
- <c_bargain></c_bargain> -->
- <!-- 首页推荐 -->
- <!-- :class="iSshowH?'on':''" -->
- <view class="sticky-box" :style="'top:'+(marTop)+'px;'">
- <scroll-view class="scroll-view_H" style="width: 100%;" scroll-x="true" scroll-with-animation
- :scroll-left="tabsScrollLeft" @scroll="scroll">
- <view class="tab nav-bd" id="tab_list">
- <view id="tab_item" :class="{ 'active': listActive == index}" class="item"
- v-for="(item, index) in explosiveMoney" :key="index" @click="ProductNavTab(item,index)">
- <view class="txt">{{item.name}}</view>
- <view class="label">{{item.info}}</view>
- </view>
- </view>
- </scroll-view>
- </view>
- <!-- 首发新品 -->
- <view class="index-product-wrapper" :class="iSshowH?'on':''">
- <view class="list-box animated" :class='tempArr.length > 0?"fadeIn on":""'>
- <view class="item" v-for="(item,index) in tempArr" :key="index" @click="goDetail(item)">
- <view class="pictrue">
- <span class="pictrue_log pictrue_log_class"
- v-if="item.activityH5 && item.activityH5.type === '1'">秒杀</span>
- <span class="pictrue_log pictrue_log_class"
- v-if="item.activityH5 && item.activityH5.type === '2'">砍价</span>
- <span class="pictrue_log pictrue_log_class"
- v-if="item.activityH5 && item.activityH5.type === '3'">拼团</span>
- <image :src="item.image" mode=""></image>
- </view>
- <view class="text-info">
- <view class="title line1">{{item.storeName}}</view>
- <view class="old-price"><text>¥{{item.otPrice}}</text></view>
- <view class="price">
- <text>¥</text>{{item.price}}
- <view class="txt" v-if="item.checkCoupon">券</view>
- </view>
- </view>
- </view>
- </view>
- <view class='loadingicon acea-row row-center-wrapper' v-if="goodScroll">
- <text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>
- </view>
- <view class="mores-txt flex" v-if="!goodScroll">
- <text>我是有底线的</text>
- </view>
- </view>
- </view>
- </view>
- </view>
- </template>
- <script>
- import Auth from '@/libs/wechat';
- import Cache from '../../utils/cache';
- var statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px';
- let app = getApp();
- import {
- getIndexData,
- getCoupons,
- setCouponReceive
- } from '@/api/api.js';
- // #ifdef MP-WEIXIN
- import {
- getTemlIds
- } from '@/api/api.js';
- // import {
- // SUBSCRIBE_MESSAGE,
- // TIPS_KEY
- // } from '@/config/cache';
- // #endif
- // #ifdef H5
- import {
- follow
- } from '@/api/public.js';
- // #endif
- import {
- getShare
- } from '@/api/public.js';
- import a_seckill from './components/a_seckill';
- import b_combination from './components/b_combination';
- import c_bargain from './components/c_bargain';
- import goodList from '@/components/goodList';
- import promotionGood from '@/components/promotionGood';
- import couponWindow from '@/components/couponWindow';
- import ClipboardJS from "@/plugin/clipboard/clipboard.js";
- import {
- goShopDetail
- } from '@/libs/order.js'
- import {
- mapGetters
- } from "vuex";
- import tabNav from '@/components/tabNav.vue'
- import countDown from '@/components/countDown';
- import {
- getCategoryList,
- getProductslist,
- getProductHot,
- getGroomList
- } from '@/api/store.js';
- // import {
- // setVisit
- // } from '@/api/user.js'
- import recommend from '@/components/recommend';
- // #ifdef MP
- import authorize from '@/components/Authorize';
- // #endif
- import {
- silenceBindingSpread
- } from '@/utils';
- // #ifndef MP
- import {
- kefuConfig
- } from "@/api/public";
- import {
- getWechatConfig
- } from "@/api/public";
- // #endif
- import Loading from '@/components/Loading/index.vue';
- const arrTemp = ["beforePay", "afterPay", "refundApply", "beforeRecharge", "createBargain", "pink"];
- export default {
- computed: mapGetters(['isLogin', 'uid']),
- components: {
- tabNav,
- goodList,
- promotionGood,
- couponWindow,
- countDown,
- a_seckill,
- b_combination,
- c_bargain,
- recommend,
- // #ifdef MP
- authorize,
- // #endif
- Loading
- },
- data() {
- return {
- pageHeight: 0,
- loaded: false,
- loading: false,
- isAuto: false, //没有授权的不会自动授权
- isShowAuth: false, //是否隐藏授权
- statusBarHeight: statusBarHeight,
- navIndex: 0,
- navTop: [],
- followUrl: "",
- followHid: true,
- followCode: false,
- logoUrl: "",
- imgUrls: [],
- itemNew: [],
- menus: [],
- bastInfo: '',
- fastInfo: '',
- fastList: [],
- firstInfo: '',
- salesInfo: '',
- indicatorDots: false,
- circular: true,
- autoplay: true,
- interval: 3000,
- duration: 500,
- window: false,
- iShidden: false,
- navH: "",
- newGoodsBananr: '',
- couponList: [],
- liveList: [],
- hotList: [{
- pic: '/static/images/hot_001.png'
- }, {
- pic: '/static/images/hot_002.png'
- }, {
- pic: '/static/images/hot_003.png'
- }],
- ProductNavindex: 0,
- marTop: 0,
- childID: 0,
- loadend: false,
- loadTitle: '加载更多',
- sortProduct: [],
- where: {
- cid: 0,
- page: 1,
- limit: 10,
- },
- is_switch: true,
- hotPage: 1,
- hotLimit: 10,
- hotScroll: false,
- explosiveMoney: [],
- prodeuctTop: 0,
- searchH: 0,
- isFixed: false,
- goodType: 0, //精品推荐Type
- goodScroll: true, //精品推荐开关
- params: { //精品推荐分页
- page: 1,
- limit: 10,
- },
- tempArr: [], //精品推荐临时数组
- roll: [], // 新闻简报
- site_name: '', //首页title
- iSshowH: false,
- configApi: {}, //分享类容配置
- spikeList: [], // 秒杀
- point: '',
- privacyStatus: false, // 隐私政策是否同意过
- tabsScrollLeft: 0, // tabs当前偏移量
- scrollLeft: 0,
- lineColor: 'red',
- lineStyle: {}, // 下划线位置--动态甲酸
- listActive: 0, // 当前选中项
- duration: 0.2 // 下划线动画时长
- }
- },
- watch: {
- ProductNavindex(newVal) { // 监听当前选中项
- this.setTabList()
- },
- listActive(newVal) { // 监听当前选中项
- this.setTabList()
- }
- },
- mounted() {
- this.setTabList()
- },
- onLoad() {
- var that = this;
- // 获取系统信息
- uni.getSystemInfo({
- success(res) {
- that.$store.commit("SYSTEM_PLATFORM", res.platform);
- }
- });
- uni.getLocation({
- type: 'gcj02',
- altitude: true,
- geocode: true,
- success: function(res) {
- try {
- uni.setStorageSync('user_latitude', res.latitude);
- uni.setStorageSync('user_longitude', res.longitude);
- } catch {}
- }
- });
- let self = this
- // #ifdef MP
- // 获取小程序头部高度
- this.navH = app.globalData.navHeight;
- let info = uni.createSelectorQuery().select(".mp-header");
- info.boundingClientRect(function(data) {
- self.marTop = data.height
- self.poTop = Number(data.height) + 84
- }).exec()
- // #endif
- // #ifndef MP
- this.navH = 0;
- // #endif
- this.isLogin && silenceBindingSpread();
- // Promise.all([this.getAllCategory(), this.getIndexConfig()
- // // , this.setVisit()
- // ]);
- this.getIndexConfig();
- // #ifdef MP
- this.getTemlIds()
- // #endif
- },
- onShow() {
- let self = this
- uni.setNavigationBarTitle({
- title: self.site_name
- })
- },
- methods: {
- getCoupon: function(id, index) {
- let that = this;
- //领取优惠券
- setCouponReceive(id).then(function(res) {
- that.$set(that.couponList[index], 'isUse', true);
- that.$util.Tips({
- title: '领取成功'
- });
- }, function(res) {
- return that.$util.Tips({
- title: res
- });
- })
- },
- clickSort(index) {
- this.listActive = index
- },
- // scroll-view滑动事件
- scroll(e) {
- this.scrollLeft = e.detail.scrollLeft;
- },
- setTabList() {
- this.$nextTick(() => {
- //this.setLine()
- this.scrollIntoView()
- })
- },
- // 计算tabs位置
- scrollIntoView() { // item滚动
- let lineLeft = 0;
- this.getElementData('#tab_list', (data) => {
- let list = data[0]
- this.getElementData(`#tab_item`, (data) => {
- let el = data[this.listActive]
- lineLeft = el.width / 2 + (-list.left) + el.left - list.width / 2 - this.scrollLeft
- this.tabsScrollLeft = this.scrollLeft + lineLeft
- })
- })
- },
- // 计算下划线位置
- setLine() {
- let lineWidth = 0,
- lineLeft = 0
- this.getElementData(`#tab_item`, (data) => {
- let el = data[this.listActive]
- lineWidth = el.width / 2
- // lineLeft = el.width * (this.currentIndex + 0.5) // 此种只能针对每个item长度一致的
- lineLeft = el.width / 2 + (-data[0].left) + el.left
- this.lineStyle = {
- width: `${lineWidth}px`,
- transform: `translateX(${lineLeft}px) translateX(-50%)`,
- transitionDuration: `${this.duration}s`
- };
- })
- },
- getElementData(el, callback) {
- uni.createSelectorQuery().in(this).selectAll(el).boundingClientRect().exec((data) => {
- callback(data[0]);
- });
- },
- xieyiApp() {
- // uni.navigateTo({
- // url: '/pages/users/web_page/index?webUel=https://admin.java.crmeb.net/useragreement/xieyi.html&title=协议内容'
- // })
- },
- // #ifdef MP
- getTemlIds() {
- for (var i in arrTemp) {
- this.getTem(arrTemp[i]);
- }
- },
- getTem(data) {
- getTemlIds({
- type: data
- }).then(res => {
- if (res.data) {
- let arr = res.data.map((item) => {
- return item.tempId
- })
- wx.setStorageSync('tempID' + data, arr);
- }
- })
- },
- // #endif
- // 首页数据
- getIndexConfig: function() {
- let that = this;
- getIndexData().then(res => {
- uni.setNavigationBarTitle({
- title: '首页'
- })
- that.$set(that, "logoUrl", res.data.logoUrl);
- that.$set(that, "site_name", '首页');
- that.$set(that, "imgUrls", res.data.banner);
- that.$set(that, "menus", res.data.menus);
- that.$set(that, "roll", res.data.roll ? res.data.roll : []);
- // #ifdef H5
- that.$store.commit("SET_CHATURL", res.data.yzfUrl);
- Cache.set('chatUrl', res.data.yzfUrl);
- // #endif
- that.$set(that, "explosiveMoney", res.data.explosiveMoney);
- that.goodType = res.data.explosiveMoney[0].type
- this.getGroomList();
- this.shareApi();
- this.getcouponList();
- // #ifdef H5
- // that.subscribe = res.data.subscribe;
- // #endif
- })
- },
- getcouponList() {
- let that = this;
- getCoupons({
- page: 1,
- limit: 6
- }).then(res => {
- that.$set(that, "couponList", res.data);
- // 小程序判断用户是否授权;
- // #ifdef MP
- uni.getSetting({
- success(res) {
- if (!res.authSetting['scope.userInfo']) {
- that.window = that.couponList.length ? true : false;
- } else {
- that.window = false;
- that.iShidden = true;
- }
- }
- });
- // #endif
- // #ifndef MP
- if (that.isLogin) {
- that.window = false;
- } else {
- that.window = res.data.length ? true : false;
- }
- // #endif
- }).catch(err => {
- return this.$util.Tips({
- title: err
- });
- });
- },
- shareApi: function() {
- getShare().then(res => {
- this.$set(this, 'configApi', res.data);
- // #ifdef H5
- this.setOpenShare(res.data);
- // #endif
- })
- },
- getChatUrL() {
- kefuConfig().then(res => {
- let data = res.data;
- this.$store.commit("SET_CHATURL", data.yzfUrl);
- Cache.set('chatUrl', data.yzfUrl);
- })
- },
- // 微信分享;
- setOpenShare: function(data) {
- let that = this;
- if (that.$wechat.isWeixin()) {
- let configAppMessage = {
- desc: data.synopsis,
- title: data.title,
- link: location.href,
- imgUrl: data.img
- };
- that.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"],
- configAppMessage);
- }
- },
- // 授权关闭
- authColse: function(e) {
- this.isShowAuth = e
- },
- // 授权回调
- onLoadFun() {
- },
- // 首发新品切换
- ProductNavTab(item, index) {
- this.listActive = index
- this.goodType = item.type
- this.listActive = index
- this.ProductNavindex = index
- this.tempArr = []
- this.params.page = 1
- this.goodScroll = true
- let onloadH = true
- this.getGroomList(onloadH)
- },
- // 首发新品详情
- goDetail(item) {
- if (item.activityH5 && item.activityH5.type === "2" && !this.isLogin) {
- toLogin();
- } else {
- goShopDetail(item, this.uid).then(res => {
- uni.navigateTo({
- url: `/pages/goods_details/index?id=${item.id}`
- })
- })
- }
- },
- // 分类详情
- godDetail(item) {
- goShopDetail(item, this.uid).then(res => {
- uni.navigateTo({
- url: `/pages/goods_details/index?id=${item.id}`
- })
- })
- },
- // 精品推荐
- getGroomList(onloadH) {
- this.loading = true
- let type = this.goodType;
- if (!this.goodScroll) return
- if (onloadH) {
- this.iSshowH = true
- }
- getGroomList(type, this.params).then(({
- data
- }) => {
- this.iSshowH = false
- this.loading = false
- this.goodScroll = data.list.length >= this.params.limit
- this.params.page++
- this.tempArr = this.tempArr.concat(data.list)
- })
- },
- /**
- * 获取我的推荐
- */
- get_host_product: function() {
- let that = this;
- that.loading = true;
- if (that.hotScroll) return
- getProductHot(
- that.hotPage,
- that.hotLimit,
- ).then(res => {
- that.hotPage++
- that.hotScroll = res.data.list.length < that.hotLimit
- that.hostProduct = that.hostProduct.concat(res.data.list)
- });
- },
- },
- mounted() {
- let self = this
- // #ifdef H5
- //self.getChatUrL();
- // 获取H5 搜索框高度
- let appSearchH = uni.createSelectorQuery().select(".serch-wrapper");
- appSearchH.boundingClientRect(function(data) {
- self.searchH = data.height
- }).exec()
- // #endif
- },
- /**
- * 用户点击右上角分享
- */
- // #ifdef MP
- onShareAppMessage: function() {
- return {
- title: this.configApi.title,
- imageUrl: this.configApi.img,
- desc: this.configApi.synopsis,
- path: '/pages/index/index'
- };
- },
- // #endif
- onReachBottom() {
- if (this.navIndex == 0) {
- // 首页加载更多
- if (this.params.page != 1) {
- this.getGroomList();
- }
- } else {
- // 分类栏目加载更多
- if (this.sortProduct.length > 0) {
- //this.get_product_list();
- } else {
- this.get_host_product();
- }
- }
- },
- }
- </script>
- <style>
- page {
- display: flex;
- flex-direction: column;
- height: 100%;
- /* #ifdef H5 */
- background-color: #fff;
- /* #endif */
- }
- </style>
- <style lang="scss">
- .notice {
- width: 100%;
- height: 70rpx;
- border-radius: 10rpx;
- background-color: #fff;
- margin-bottom: 25rpx;
- line-height: 70rpx;
- padding: 0 14rpx;
- .line {
- color: #CCCCCC;
- }
- .pic {
- width: 130rpx;
- height: 36rpx;
- image {
- width: 100%;
- height: 100%;
- display: block !important;
- }
- }
- .swipers {
- height: 100%;
- width: 444rpx;
- overflow: hidden;
- swiper {
- height: 100%;
- width: 100%;
- overflow: hidden;
- font-size: 22rpx;
- color: #333333;
- }
- }
- .iconfont {
- color: #999999;
- font-size: 20rpx;
- }
- }
- .couponIndex {
- width: auto;
- height: 238rpx;
- background-image: url('~@/static/images/yhjsy.png');
- background-size: 100% 100%;
- padding-left: 42rpx;
- margin-bottom: 30rpx;
- .titBox {
- padding: 47rpx 0;
- text-align: center;
- height: 100%;
- .tit1 {
- color: #FFEBD2;
- font-size: 34rpx;
- font-weight: 600;
- }
- .tit2 {
- color: #FFEBD2;
- font-size: 22rpx;
- margin: 10rpx 0 26rpx 0;
- }
- .tit3 {
- color: #FFDAAF;
- font-size: 24rpx;
- .iconfont {
- font-size: 20rpx;
- }
- }
- }
- .listBox {
- padding: 14rpx 0;
- .listActive {
- background-image: url('~@/static/images/lingyhj.png');
- background-size: 100% 100%;
- }
- .listHui {
- background-image: url('~@/static/images/weiling.png');
- background-size: 100% 100%;
- }
- .list {
- width: 170rpx;
- height: 210rpx;
- padding: 16rpx 0;
- text-align: center;
- margin-left: 24rpx;
- .tit {
- font-size: 18rpx;
- padding: 0 26rpx;
- }
- .titActive {
- color: #C99959;
- }
- .price {
- font-size: 46rpx;
- font-weight: 900;
- margin-top: 4rpx;
- }
- .pricehui {
- color: #B2B2B2;
- }
- .fonthui {
- background-color: #F5F5F5 !important;
- }
- .yuan {
- font-size: 24rpx;
- }
- .ling {
- font-size: 24rpx;
- margin-top: 9.5rpx;
- width: 102rpx;
- height: 36rpx;
- line-height: 36rpx;
- background-color: #FFE5C7;
- border-radius: 28rpx;
- margin: auto;
- }
- .priceM {
- color: #FFDAAF;
- font-size: 22rpx;
- margin-top: 14rpx;
- }
- }
- }
- }
- .sticky-box {
- /* #ifndef APP-PLUS-NVUE */
- display: flex;
- position: -webkit-sticky;
- /* #endif */
- position: sticky;
- /* #ifdef H5*/
- top: var(--window-top);
- /* #endif */
- z-index: 99;
- flex-direction: row;
- margin: 0px;
- background: #f5f5f5;
- padding: 30rpx 0;
- }
- .listAll {
- width: 20%;
- text-indent: 62rpx;
- font-size: 30rpx;
- border-left: 1px #eee solid;
- margin: 1% 0;
- padding: 5rpx;
- position: relative;
- image {
- position: absolute;
- left: 20rpx;
- top: 8rpx;
- }
- }
- .tab {
- position: relative;
- display: flex;
- font-size: 28rpx;
- white-space: nowrap;
- &__item {
- flex: 1;
- padding: 0 20rpx;
- text-align: center;
- height: 60rpx;
- line-height: 60rpx;
- color: #666;
- &.active {
- color: #09C2C9;
- }
- }
- }
- .tab__line {
- display: block;
- height: 6rpx;
- position: absolute;
- bottom: 0;
- left: 0;
- z-index: 1;
- border-radius: 3rpx;
- position: relative;
- background: #2FC6CD;
- }
- .scroll-view_H {
- /* 文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。 */
- white-space: nowrap;
- width: 100%;
- }
- .privacy-wrapper {
- z-index: 999;
- position: fixed;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- background: #7F7F7F;
- .privacy-box {
- position: absolute;
- left: 50%;
- top: 50%;
- transform: translate(-50%, -50%);
- width: 560rpx;
- padding: 50rpx 45rpx 0;
- background: #fff;
- border-radius: 20rpx;
- .title {
- text-align: center;
- font-size: 32rpx;
- text-align: center;
- color: #333;
- font-weight: 700;
- }
- .content {
- margin-top: 20rpx;
- line-height: 1.5;
- font-size: 26rpx;
- color: #666;
- text-indent: 54rpx;
- i {
- font-style: normal;
- color: $theme-color;
- }
- }
- .btn-box {
- margin-top: 40rpx;
- text-align: center;
- font-size: 30rpx;
- .btn-item {
- height: 82rpx;
- line-height: 82rpx;
- background: linear-gradient(90deg, #F67A38 0%, #F11B09 100%);
- color: #fff;
- border-radius: 41rpx;
- }
- .btn {
- padding: 30rpx 0;
- }
- }
- }
- }
- .page-index {
- display: flex;
- flex-direction: column;
- min-height: 100%;
- background: linear-gradient(180deg, #fff 0%, #f5f5f5 100%);
- .header {
- position: sticky;
- top: 0;
- z-index: 200000;
- width: 100%;
- background-color: $theme-color;
- padding: 28rpx 30rpx;
- .serch-wrapper {
- margin-top: var(--status-bar-height);
- align-items: center;
- /* #ifdef MP-WEIXIN */
- width: 75%;
- /* #endif */
- .logo {
- width: 118rpx;
- height: 42rpx;
- margin-right: 24rpx;
- }
- image {
- width: 118rpx;
- height: 42rpx;
- }
- .input {
- display: flex;
- align-items: center;
- width: 546rpx;
- height: 58rpx;
- padding: 0 0 0 30rpx;
- background: rgba(247, 247, 247, 1);
- border: 1px solid rgba(241, 241, 241, 1);
- border-radius: 29rpx;
- color: #BBBBBB;
- font-size: 26rpx;
- .iconfont {
- margin-right: 20rpx;
- font-size: 26rpx;
- color: #666666;
- }
- }
- }
- .tabNav {
- padding-top: 24rpx;
- }
- }
- /* #ifdef MP||APP */
- .mp-header {
- z-index: 999;
- position: fixed;
- left: 0;
- top: 0;
- width: 100%;
- /* #ifdef H5||APP */
- padding-bottom: 20rpx;
- /* #endif */
- background-color: $theme-color;
- .serch-wrapper {
- height: 100%;
- align-items: center;
- padding: 0 50rpx 0 53rpx;
- image {
- width: 118rpx;
- height: 42rpx;
- margin-right: 30rpx;
- }
- .input {
- display: flex;
- align-items: center;
- /* #ifdef MP||APP */
- width: 305rpx;
- /* #endif */
- height: 50rpx;
- padding: 0 0 0 30rpx;
- background: rgba(247, 247, 247, 1);
- border: 1px solid rgba(241, 241, 241, 1);
- border-radius: 29rpx;
- color: #BBBBBB;
- font-size: 28rpx;
- .iconfont {
- margin-right: 20rpx;
- }
- }
- }
- }
- /* #endif */
- .page_content {
- background-color: #f5f5f5;
- /* #ifdef H5 */
- // margin-top: 20rpx !important;
- /* #endif */
- padding: 0 30rpx;
- .swiper {
- position: relative;
- width: 100%;
- height: 280rpx;
- margin: 0 auto;
- border-radius: 10rpx;
- overflow: hidden;
- margin-bottom: 25rpx;
- /* #ifdef MP */
- z-index: 10;
- margin-top: 20rpx;
- /* #endif */
- swiper,
- .swiper-item,
- image {
- width: 100%;
- height: 280rpx;
- border-radius: 10rpx;
- }
- }
- .nav {
- padding-bottom: 26rpx;
- background: #fff;
- opacity: 1;
- border-radius: 14rpx;
- width: 100%;
- margin-bottom: 30rpx;
- .item {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- width: 20%;
- margin-top: 30rpx;
- image {
- width: 82rpx;
- height: 82rpx;
- }
- }
- }
- .nav-bd {
- display: flex;
- align-items: center;
- justify-content: space-between;
- .item {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- .txt {
- font-size: 32rpx;
- color: #282828;
- }
- .label {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 124rpx;
- height: 32rpx;
- margin-top: 5rpx;
- font-size: 24rpx;
- color: #999;
- }
- &.active {
- color: $theme-color;
- .txt {
- color: $theme-color;
- }
- .label {
- background: linear-gradient(90deg, $bg-star 0%, $bg-end 100%);
- border-radius: 16rpx;
- color: #fff;
- }
- }
- }
- }
- .index-product-wrapper {
- margin-bottom: 110rpx;
- &.on {
- min-height: 1500rpx;
- }
- .list-box {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- .item {
- width: 335rpx;
- margin-bottom: 20rpx;
- background-color: #fff;
- border-radius: 10rpx;
- overflow: hidden;
- image {
- width: 100%;
- height: 330rpx;
- }
- .text-info {
- padding: 10rpx 20rpx 15rpx;
- .title {
- color: #222222;
- }
- .old-price {
- margin-top: 8rpx;
- font-size: 26rpx;
- color: #AAAAAA;
- text-decoration: line-through;
- text {
- margin-right: 2px;
- font-size: 20rpx;
- }
- }
- .price {
- display: flex;
- align-items: flex-end;
- color: $theme-color;
- font-size: 34rpx;
- font-weight: 800;
- text {
- padding-bottom: 4rpx;
- font-size: 24rpx;
- font-weight: 800;
- }
- .txt {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 28rpx;
- height: 28rpx;
- margin-left: 15rpx;
- margin-bottom: 10rpx;
- border: 1px solid $theme-color;
- border-radius: 4rpx;
- font-size: 22rpx;
- font-weight: normal;
- }
- }
- }
- }
- &.on {
- display: flex;
- }
- }
- }
- }
- }
- .productList {
- /* #ifdef H5 */
- padding-bottom: 140rpx;
- /* #endif */
- }
- .productList .list {
- padding: 0 20rpx;
- }
- .productList .list.on {
- background-color: #fff;
- border-top: 1px solid #f6f6f6;
- }
- .productList .list .item {
- width: 345rpx;
- margin-top: 20rpx;
- background-color: #fff;
- border-radius: 10rpx;
- }
- .productList .list .item.on {
- width: 100%;
- display: flex;
- border-bottom: 1rpx solid #f6f6f6;
- padding: 30rpx 0;
- margin: 0;
- }
- .productList .list .item .pictrue {
- position: relative;
- width: 100%;
- height: 345rpx;
- }
- .productList .list .item .pictrue.on {
- width: 180rpx;
- height: 180rpx;
- }
- .productList .list .item .pictrue image {
- width: 100%;
- height: 100%;
- border-radius: 20rpx 20rpx 0 0;
- }
- .productList .list .item .pictrue image.on {
- border-radius: 6rpx;
- }
- .productList .list .item .text {
- padding: 20rpx 17rpx 26rpx 17rpx;
- font-size: 30rpx;
- color: #222;
- }
- .productList .list .item .text.on {
- width: 508rpx;
- padding: 0 0 0 22rpx;
- }
- .productList .list .item .text .money {
- font-size: 26rpx;
- font-weight: bold;
- margin-top: 8rpx;
- }
- .productList .list .item .text .money.on {
- margin-top: 50rpx;
- }
- .productList .list .item .text .money .num {
- font-size: 34rpx;
- }
- .productList .list .item .text .vip {
- font-size: 22rpx;
- color: #aaa;
- margin-top: 7rpx;
- }
- .productList .list .item .text .vip.on {
- margin-top: 12rpx;
- }
- .productList .list .item .text .vip .vip-money {
- font-size: 24rpx;
- color: #282828;
- font-weight: bold;
- }
- .productList .list .item .text .vip .vip-money image {
- width: 46rpx;
- height: 21rpx;
- margin-left: 4rpx;
- }
- .pictrue {
- position: relative;
- }
- .fixed {
- z-index: 100;
- position: fixed;
- left: 0;
- top: 0;
- background: linear-gradient(90deg, red 50%, #ff5400 100%);
- }
- .mores-txt {
- width: 100%;
- align-items: center;
- justify-content: center;
- height: 70rpx;
- color: #999;
- font-size: 24rpx;
- .iconfont {
- margin-top: 2rpx;
- font-size: 20rpx;
- }
- }
- .menu-txt {
- font-size: 24rpx;
- color: #454545;
- }
- .mp-bg {
- position: absolute;
- left: 0;
- /* #ifdef H5 */
- top: 98rpx;
- /* #endif */
- width: 100%;
- height: 304rpx;
- background: linear-gradient(180deg, #E93323 0%, #F5F5F5 100%, #751A12 100%);
- // border-radius: 0 0 30rpx 30rpx;
- }
- .stats {
- position: absolute;
- left: 0px;
- top: 0px;
- z-index: 2000000;
- width: 750rpx;
- height: var(--status-bar-height);
- background: #ffffff;
- }
- </style>
|