mobile/pages/shop/shop.vue
@@ -1,360 +1,64 @@
<template>
   <view>
      <!-- #ifdef MP-WEIXIN || APP-PLUS -->
      <view class="shop_top" :class="{'topbg':scrollViewTop>10}">
      <view class="shop_top" :class="{'topbg':scrollViewTop>10}" :style="'background-color: '+bgcolor+';'">
         <view class="ww100" :style="'height:'+topBarTop()+'px;'"></view>
         <view class="tc d-s-c head_top_box" :style="topBarHeight() == 0 ? '': 'height:'+topBarHeight()+'px;'">
            <view class="reg180" @click="goback"><text class="icon iconfont icon-jiantou"></text></view>
            <view class="d-s-c ml20 flex-1">
               <view class="index-search-cate flex-1" :style="'height:'+topBarHeight()+' px;'"
                  @click="gotoSearch">
               <view class="index-search-cate flex-1" :style="'height:'+topBarHeight()+' px;'" @click="gotoSearch">
                  <text class="icon iconfont icon-sousuo"></text>搜索店内商品
               </view>
            </view>
            <view class="wx-top-right"></view>
         </view>
      </view>
      <view class="top_head pr" :style="'background-color: '+bgcolor+';'">
         <!-- #ifndef MP-WEIXIN-->
         <view class="state_top"></view>
         <!-- #endif -->
         <view class="head_top" :style="'height:'+topBarTop()+'px;'"></view>
         <view class="d-b-c" :class="index_open_city==1?'open_city':''" :style="topBarHeight() == 0 ? '': 'height:'+topBarHeight()+'px;'">
         </view>
         <view class="nuter" v-if="openCategory.open">
            <navBar style="width: 100%;" :color='openCategory.color' @currentIndex="setIndex" :currentI="thisindex"
               :navList="category_list">
            </navBar>
         </view>
         <view style="height: 20rpx;" v-else></view>
      </view>
      <view class="top_bg" :style="'background-color: '+bgcolor+';'">
      </view>
      <!-- #endif -->
      <scroll-view v-if="" scroll-y="true" :style="'height:' + scrollviewHigh + 'px;'" class="scroll-Y pr bg-f2"
       lower-threshold="50" @scrolltolower="scrolltolowerFunc" @scroll="scrollChnage">
         <view class="shop_head">
            <!-- #ifdef MP-WEIXIN || APP-PLUS -->
            <view class="ww100" :style="'height:'+topBarTop()+'px;'"></view>
            <view class="ww100" :style="'height:'+topBarHeight()+'px;'"></view>
            <!-- #endif -->
            <image class="bg_topimg" src="../../static/background_top.png" mode=""></image>
            <view class="shop_head_info">
               <view class="shop_list_body_item_shop">
                  <view class="shop_list_body_item_shop_logo">
                     <image :src="shop_info.logos" mode=""></image>
                  </view>
                  <view class="shop_list_body_item_shop_info">
                     <view class="f34 white fb title">{{shop_info.store_name}}</view>
                     <view class="f24 white d-s-c">
                        <!-- <view>主营:{{shop_info.category_name}}</view> -->
                        <view class="pr20">
                           <text class="icon iconfont icon-htmal5icon24"></text> {{shop_info.server_score}}分
                        </view>
                        <view v-if="shop_info.fav_count>0">{{shop_info.fav_count}}人关注</view>
                     </view>
                     <!-- <view class="f26 d-s-c">
                        <view class="flex-1">
                           <text class="icon iconfont icon-dizhi"></text>
                           {{shop_info.address}}
                        </view>
                     </view> -->
                  </view>
                  <view class="shop_list_body_item_shop_others">
                     <view v-if="isfollow == 0" class="collect_btn" @click="guanzhu()"><text class="icon iconfont icon-guanzhu1 mr10"></text>关注</view>
                     <view v-if="isfollow == 1" class="collect_btn collected" @click="guanzhu()">已关注</view>
                  </view>
               </view>
               <view class="shop-notice gray mt10 text-ellipsis">公告:{{shop_info.notice}}</view>
            </view>
         </view>
         <view :class="{'tab-fixed':isFixed}" :style="isFixed?'top:' + topHeight + 'px;':''">
            <!-- 导航栏 -->
            <view class="inner-tab tab-top">
               <view :class="nav_type==99?'item active':'item'" @click="changeNavType(99)">
                  <view class="box">精选</view>
               </view>
               <view :class="nav_type==0?'item active':'item'" @click="changeNavType(0)">
                  <view class="box">商品</view>
               </view>
               <view :class="nav_type==2?'item active':'item'" @click="changeNavType(2)">
                  <view class="box">优惠券</view>
               </view>
               <view :class="nav_type==1?'item active':'item'" @click="changeNavType(1)" v-if="is_record==1&&is_open==1">
                  <view class="box">直播</view>
               </view>
               <view :class="nav_type==3?'item active':'item'" @click="changeNavType(3)">
                  <view class="box">商家</view>
               </view>
            </view>
            <!-- 导航栏 -->
         </view>
         <view class="ww100" style="height: 80rpx;" v-if="isFixed"></view>
         <view class="shop" :class="nav_type==0?'shop-product':''" v-if="shop_info!=''" :style="'min-height:' + scrollviewHigh + 'px;'">
            <!-- 精选 -->
            <view v-if="nav_type==99">
               <!-- <view class="bg-white pt30">
                  <view class="card-box d-b-c" v-if="card_num" @click.stop="gotoPage('/pages/user/card/list')">
                     <view class="d-s-c"><image class="v-log" src="/static/icon/log-vip.png" mode=""></image>领取会员卡,各种优惠享不停</view>
                     <view class="btn-card-box">立即领取<text class="icon iconfont icon-jiantou"></text></view>
                  </view>
               </view> -->
               <view class="shop-coupon bg-white" v-if="listData.length > 0">
                  <scroll-view scroll-x="true">
                     <view class="swiper swiper-list">
                        <view class="" v-for="(item, index) in listData" :key="index" v-if="index<=5">
                           <view class="coupon-item" :class="'bg-' + item.color.text">
                              <view class="side-line left-side-line"><text class="round" v-for="(round, num) in 8" :key="num"></text></view>
                              <view class="side-line right-side-line"><text class="round" v-for="(round, num) in 8" :key="num"></text></view>
                              <view class="left-type d-s-c">
                                 <template v-if="item.coupon_type.value == 10">
                                    <text class="f20">¥</text>
                                    <text class="f26 fb">{{ item.reduce_price }}</text>
                                 </template>
                                 <template v-if="item.coupon_type.value == 20">
                                    <text class="f24 fb">{{ item.discount }}</text>
                                    <text class="f20">折</text>
                                 </template>
                              </view>
                              <view class="center-content pr">
                                 <view class="content-top">
                                    <text class="f22 text-ellipsis">{{ item.name }}</text>
                                 </view>
                                 <view class="content-bottom f20">
                                    {{item.price_text}}
                                 </view>
                              </view>
                              <!--领取-->
                              <view v-if="item.is_get == 0" class="right-receive d-c-c" @click="receiveCoupon(index)">
                                 领
                              </view>
                              <view v-else class="right-receive no-receive d-c-c">
                                 已领
                              </view>
                           </view>
                        </view>
                     </view>
                  </scroll-view>
               </view>
               <view class="shop_head_banner pr bg-white" v-if="adList!= ''">
                  <swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000">
                     <swiper-item class="swiper-item" v-for="(item,index) in adList" :key="index">
                        <image :src="item.image.file_path" mode=""></image>
                     </swiper-item>
                  </swiper>
               </view>
               <!-- 商品导航栏 -->
               <view class="inner-tab tab-product tab-index" :style="tabIndexFixed?'position:fixed;width:100%;top:' + (topHeight*1+34) + 'px;':''">
                  <view :class="type_active=='all'?'item active':'item'" @click="tabTypeFunc('all')">
                     <view class="box">推荐</view>
                  </view>
                  <view :class="type_active=='sales'?'item active':'item'" @click="tabTypeFunc('sales')">
                     <view class="box">销量</view>
                  </view>
                  <view :class="type_active=='new'?'item active':'item'" @click="tabTypeFunc('new')">
                     <view class="box">新品</view>
                  </view>
                  <view :class="type_active=='price'?'item active':'item'" @click="tabTypeFunc('price')">
                     <view class="box">
                        <text>价格</text>
                     </view>
                  </view>
               </view>
               <view class="ww100" style="height: 80rpx;" v-if="tabIndexFixed"></view>
               <!-- 商品导航栏 -->
               <view class="shop_body2">
                  <view class="shop_body_t_item" v-for="(item,index) in product_list" :key="index" @click="goto_product(item.product_id)">
                     <image :src="item.product_image" mode=""></image>
                     <view class="shop_body_t_item_info">
                        <view class="shop_body_t_item_info_title h1">{{item.product_name}}</view>
                        <view class="shop_body_t_item_info_price">
                           <view class="f24 redF6">¥<text class="h1">{{item.product_price}}</text></view>
                           <view class="f24 huaxianjia">¥<text class="h3">{{item.line_price}}</text></view>
                        </view>
                        <view class="shop_body_t_item_info_others h3">
                           <view class="shop_body_t_item_info_others_sales">累计成交:{{item.product_sales}}笔</view>
                        </view>
                     </view>
                  </view>
               </view>
            </view>
            <!-- 商品导航栏 -->
            <view class="inner-tab tab-product tab-product-list" v-if="nav_type==0" :style="tabProductFixed?'position:fixed;width:100%;top:' + (topHeight*1+34) + 'px;':''">
               <view :class="type_active=='all'?'item active':'item'" @click="tabTypeFunc('all')">
                  <view class="box">综合</view>
               </view>
               <view :class="type_active=='sales'?'item active':'item'" @click="tabTypeFunc('sales')">
                  <view class="box">销量</view>
               </view>
               <view :class="type_active=='price'?'item active':'item'" @click="tabTypeFunc('price')">
                  <view class="box">
                     <text>价格</text>
                  </view>
               </view>
               <view class="item">
                  <view class="box">
                     <image @click="select_type()" :src="isLieBiao == true?'/static/shop/liebiao.png':'/static/shop/tubiao.png'"></image>
                  </view>
               </view>
            </view>
            <view class="ww100" style="height: 80rpx;" v-if="tabProductFixed"></view>
            <!-- 商品导航栏 -->
            <view class="shop_body" v-if="isLieBiao ==true&&nav_type==0">
               <view class="shop_body_l_item" :class="index==listData.length-1?'noborder':''" v-for="(item,index) in product_list"
                :key="index" @click="goto_product(item.product_id)">
                  <view>
                     <image :src="item.product_image" mode=""></image>
                  </view>
                  <view class="shop_body_l_item_info">
                     <view class="shop_body_l_item_info_title gray3 f32">{{item.product_name}}</view>
                     <view class="d-b-c pb10">
                        <view class="shop_body_l_item_info_price">
                           <view class="f24 shop_red">¥<text class="f32 fb">{{item.product_price}}</text></view>
                           <!-- <view class="h4 huaxianjia">¥<text class="h3">{{item.line_price}}</text></view> -->
                        </view>
                        <view class="shop_body_l_item_info_others f22">
                           <!-- <view class="shop_body_l_item_info_others_sales">累计成交:{{item.product_sales}}笔</view> -->
                        </view>
                     </view>
                  </view>
               </view>
            </view>
            <view class="shop_body2" v-if="isLieBiao ==false&&nav_type==0">
               <view class="shop_body_t_item" v-for="(item,index) in product_list" :key="index" @click="goto_product(item.product_id)">
                  <image :src="item.product_image" mode=""></image>
                  <view class="shop_body_t_item_info">
                     <view class="shop_body_t_item_info_title h1">{{item.product_name}}</view>
                     <view class="shop_body_t_item_info_price">
                        <view class="f24 redF6">¥<text class="h1">{{item.product_price}}</text></view>
                        <view class="f24 huaxianjia">¥<text class="h3">{{item.line_price}}</text></view>
                     </view>
                     <view class="shop_body_t_item_info_others h3">
                        <view class="shop_body_t_item_info_others_sales">累计成交:{{item.product_sales}}笔</view>
                     </view>
                  </view>
               </view>
            </view>
            <!-- 直播 -->
            <view v-if="nav_type==1">
               <view class="live_list" v-if="liveList.length>0">
                  <view v-for="(liveitem,liveindex) in liveList" :key="liveindex" class="live_item" @click="toRoom(liveitem)">
                     <view v-if="liveitem.record_url!=''" class="record">可回放</view>
                     <view v-if="liveitem.record_url==''" class="record_off">回放生成中</view>
                     <view class="live_img">
                        <image :src="liveitem.share.file_path" mode=""></image>
                     </view>
                  </view>
               </view>
               <view class="ww100" v-else>
                  <view class="f30 gray6 tc mt50 pt20">暂无直播间</view>
               </view>
            </view>
            <!-- 客服 -->
            <view v-if="nav_type==3">
               <view class="d-s-s d-c p-0-30 mt20 mpservice-wrap" v-if="!isloding">
                  <view class="noDatamodel" v-if="dataModel==null||(dataModel.qq==''&&dataModel.wechat==''&&dataModel.phone=='')">该商家尚未设置客服</view>
                  <template v-if="dataModel!=null">
                     <view v-if="dataModel.qq!=''" class="d-b-c p-20-0 f30 ww100 border-b" @click="copyQQ(dataModel.qq)">
                        <text class="gray9" style="width: 140rpx;"><text class='icon iconfont icon-qq'></text></text>
                        <text class="p-0-30 flex-1">{{dataModel.qq}}</text>
                        <text class="blue">复制</text>
                     </view>
                     <view v-if="dataModel.wechat!=''" class="d-b-c p-20-0 f30 ww100 border-b" @click="copyQQ(dataModel.qq)">
                        <text class="gray9" style="width: 140rpx;"><text class='icon iconfont icon-weixin'></text></text>
                        <text class="p-0-30 flex-1">{{dataModel.wechat}}</text>
                        <text class="blue">复制</text>
                     </view>
                     <view v-if="dataModel.phone!=''" class="d-b-c p-20-0 f30 ww100" @click="callPhone(dataModel.phone)">
                        <text class="gray9" style="width: 140rpx;"><text class='icon iconfont icon-002dianhua'></text></text>
                        <text class="p-0-30 flex-1">{{dataModel.phone}}</text>
                        <text class="blue">拨打</text>
                     </view>
                  </template>
               </view>
            </view>
            <!-- 优惠券 -->
            <view class="coupon" v-if="listData.length>=1&&nav_type==2">
               <view class="diy-coupon">
                  <view class=" mt20 mb20" v-for="(item, index) in listData" :key="index">
                     <view class="coupon-item" :class="'bg-' + item.color.text">
                        <view class="side-line left-side-line"><text class="round" v-for="(round, num) in 8" :key="num"></text></view>
                        <view class="side-line right-side-line"><text class="round" v-for="(round, num) in 8" :key="num"></text></view>
                        <view class="left-type d-c-c">{{ item.coupon_type.text }}</view>
                        <view class="center-content pr">
                           <view class="content-top">
                              <template v-if="item.coupon_type.value == 10">
                                 <text class="f22">¥</text>
                                 <text class="f50 fb">{{ item.reduce_price }}</text>
                                 <template v-if="item.total_num >= 0">
                                    <text class="ml10">仅剩{{ item.total_num }}张</text>
                                 </template>
                                 <template v-else>
                                    <text class="ml10">不限数量</text>
                                 </template>
                              </template>
                              <template v-if="item.coupon_type.value == 20">
                                 <text class="f50 fb">{{ item.discount }}</text>
                                 <text>折</text>
                              </template>
                           </view>
                           <view class="content-bottom">
                              <text class="f24">{{ item.name }}</text>
                           </view>
                           <view class="content-datatime">
                              <template v-if="item.expire_type == 20">
                                 有效期:{{ item.start_time.text }} 至 {{ item.end_time.text }}
                              </template>
                              <template v-if="item.expire_type == 10">
                                 有效期:领取后{{ item.expire_day }}天有效
                              </template>
                           </view>
                        </view>
                        <!--领取-->
                        <view v-if="item.is_get == 0" class="right-receive d-c-c" @click="receiveCoupon(index)">
                           立即领取
                        </view>
                        <view v-else class="right-receive no-receive d-c-c">
                           已领取
                        </view>
                     </view>
                     <view class="range_item d-b-c" v-if="item.apply_range == 20" @click.stop="gotoPage('/pages/coupon/detail?coupon_id='+ item.coupon_id)">
                        <view>限购店铺部分商品</view>
                        <view><text class="icon iconfont icon-jiantou" style="color: #999999; font-size: 24rpx;"></text></view>
                     </view>
                  </view>
               </view>
            </view>
            <!-- 优惠券 -->
         </view>
         <!-- 商品列表 -->
         <view v-if="nav_type==0 || nav_type==99">
            <view class="d-c-c p30" v-if="product_list.length==0 && !loading">
               <text class="iconfont icon-wushuju"></text>
               <text class="cont">亲,暂无相关记录哦</text>
            </view>
            <uni-load-more v-else :loadingType="loadingType"></uni-load-more>
            <view class="" style="width: 100%;height: 100rpx;">
            </view>
         </view>
      </scroll-view>
      <!-- 底部导航 -->
      <!-- <view class="d-a-c nav_bottom">
         <view :class="nav_type==0?'active':''" @click="nav_type=0">
            <view class="icon iconfont icon-Homehomepagemenu"></view>
            <view>首页</view>
         </view>
         <view v-if="is_record==1&&is_open==1" :class="nav_type==1?'active':''" @click="nav_type=1">
            <view class="icon iconfont icon-dianpu1"></view>
            <view>直播</view>
         </view>
         <view v-if="listData.length>0" :class="nav_type==2?'active':''" @click="nav_type=2">
            <view class="icon iconfont icon-quan"></view>
            <view>优惠券</view>
         </view>
         <view v-if="service_open" :class="nav_type==3?'active':''" @click="toSevice">
            <view class="icon iconfont icon-kefu2"></view>
            <view>客服</view>
         </view>
      </view> -->
      <diy style="position: relative;" :diyItems="items" :city_supplier_ids="city_supplier_ids"
         :index_open_city="index_open_city"></diy>
      <tabBar :vars="vars"></tabBar>
   </view>
</template>
<script>
   import uniLoadMore from "@/components/uni-load-more.vue";
   import diy from '@/components/diy/diy.vue';
   import tabBar from "@/components/shoptabbar/footTabbar.vue"
   export default {
      components: {
         uniLoadMore
         uniLoadMore,
         tabBar
      },
      data() {
         return {
            bgcolor:'',
            longitude:'',
            latitude:'',
            isLieBiao: true,
            shop_info: '', //店铺信息
            articlelistData: [],
            /*是否有更多*/
            no_more: null,
            /*一页多少条*/
            list_rows: 10,
            /*当前第几页*/
            page: 1,
            product_list: '', //商品列表
            adList: '', //banner列表
            dataList: '',
@@ -390,7 +94,7 @@
            last_page: 0,
            /*可滚动视图区域高度*/
            scrollviewHigh: 0,
            nav_type: 99,
            nav_type: 4,
            is_open: 0,
            is_record: 0,
            liveList: [],
@@ -408,11 +112,24 @@
            headHight: 0,
            topHeight: 0,
            tabIndexTop: 0,
            tabIndexFixed : false,
            tabIndexFixed: false,
            tabProductTop: 0,
            tabProductFixed : false,
            tabProductFixed: false,
            card_num: 0,
            store_id:''
            store_id: '',
            category_list: [],
            product_list: [],
            city_supplier_ids:[],
            index_cityname:'',
            index_open_city:0,
            openCategory: {
               color: "#000000",
               open: 0
            },
            items: [],
            url:'',
            toplogo:'',
            vars:{}
         }
      },
      computed: {
@@ -432,10 +149,18 @@
      onLoad(option) {
         let self = this;
         self.GetStatusBarHeight();
         self.shop_supplier_id = option.shop_supplier_id;
         if( option.shop_supplier_id){
            uni.setStorageSync('shop_supplier_id',option.shop_supplier_id)
         }
         self.shop_supplier_id = option.shop_supplier_id||uni.getStorageSync('shop_supplier_id');
         //#ifdef H5
         if (this.isWeixin()) {
            this.url = window.location.href;
         }
         //#endif
      },
      onShow() {
         if(this.store_id > 0){
         if (this.store_id > 0) {
            uni.navigateBack({});
         }
      },
@@ -447,13 +172,16 @@
         /*下拉到顶,页面值还原初始化*/
         this.restoreData();
         this.getData();
      this.getProduct(this.type_active);
         this.getProduct(this.type_active);
      },
      methods: {
         changeNavType(e) {
            this.nav_type = e;
            this.page = 1;
            if (e == 0) {
               this.initTabProduct();
            } else if (e == 6) {
               this.articleGetData();
            }
         },
         initTabProduct() {
@@ -582,14 +310,14 @@
         },
         //获取数据列表
         getData() {
         /* getData() {
            let self = this;
            self.loading = true;
            self._post('supplier.index/index', {
               shop_supplier_id: self.shop_supplier_id,
               visitcode: self.getVisitcode()
            }, (res) => {
               if(res.data.store_id){
               if (res.data.store_id) {
                  self.gotoPage('/pages2/goodstore/detail?store_id=' + res.data.store_id);
                  self.store_id = res.data.store_id;
                  return;
@@ -617,7 +345,7 @@
               })
               self.getservice();
            })
         },
         }, */
         //选择图标模式或者列表模式    true 为列表模式  false 为图表模式
         select_type() {
@@ -720,8 +448,9 @@
            if (this.service_type == 10 || this.shop_info.user_id == uni.getStorageInfoSync('user_id')) {
               this.nav_type = 3;
            } else if (this.service_type == 20) {
               this.gotoPage('/pages/plus/chat/chat?user_id=' + this.shop_info.supplier_user_id + '&shop_supplier_id=' + this.shop_info.shop_supplier_id +
                     '&nickName=' + this.shop_info.store_name);
               this.gotoPage('/pages/plus/chat/chat?user_id=' + this.shop_info.supplier_user_id +
                  '&shop_supplier_id=' + this.shop_info.shop_supplier_id +
                  '&nickName=' + this.shop_info.store_name);
            }
         },
         goback() {
@@ -732,6 +461,127 @@
         /*跳转搜索页面*/
         gotoSearch() {
            this.gotoPage('/pages/shop/search?shop_supplier_id=' + this.shop_supplier_id);
         },
         /*获取数据*/
         articleGetData() {
            let self = this;
            let page = self.page;
            let list_rows = self.list_rows;
            self.loading = true;
            uni.showLoading({
               title: '加载中'
            });
            self._get(
               'plus.article.article/index', {
                  page: page || 1,
                  list_rows: list_rows,
                  category_id: self.type_active,
                  shop_supplier_id: self.shop_supplier_id
               },
               function(res) {
                  self.articlelistData = self.listData.concat(res.data.list.data);
                  self.last_page = res.data.list.last_page;
                  if (res.data.list.last_page <= 1) {
                     self.no_more = true;
                  }
                  self.loading = false;
                  uni.hideLoading();
               }
            );
         },
         /*可滚动视图区域到底触发*/
         scrolltolowerFunc() {
            let self = this;
            self.bottomRefresh = true;
            self.page++;
            self.loading = true;
            if (self.page > self.last_page) {
               self.loading = false;
               self.no_more = true;
               return;
            }
            self.getData();
         },
         /*跳转文章详情*/
         gotoDetail(e) {
            this.gotoPage('/pages/article/detail/detail?article_id=' + e);
         },
         /*获取首页分类*/
         getData() {
            let self = this;
            uni.showLoading({
               title: '加载中'
            });
            self._get('supplier.page/index', {
               url: self.url,
               longitude:self.longitude,
               latitude:self.latitude,
               shop_supplier_id: self.shop_supplier_id,
            }, function(res) {
               self.listData = res.data.list;
               self.background = res.data.background;
               self.items = res.data.items;
               self.title_name = res.data.page.params.title;
               self.bgcolor = res.data.page.style.titleBackgroundColor;
               self.msgNum = res.data.msgNum;
               self.toplogo = res.data.page.style.toplogo;
               self.setPage(res.data.page);
               self.title_type = res.data.page.params.title_type;
               self.titleTextColor = res.data.page.style.titleTextColor;
               self.openCategory = res.data.page.category;
               self.vars = res.data.vars;
               console.log(self.vars);
               self.index_open_city=res.data.setting.store.index_open_city;
               self.underline_price_show=res.data.setting.store.underline_price_show;
               if(res.data.setting.store.index_open_city==1){
                  self.getAddress();
               }
               //弹出收藏
               // #ifdef  MP-WEIXIN
               let isFirst = uni.getStorageSync('isFirst');
               if (isFirst == '' && res.data.setting.collection.status == '1') {
                  self.is_collection = true;
                  uni.setStorageSync('isFirst', 1);
               }
               self.is_follow = res.data.setting.officia.status;
               // #endif
               // 首页推送
               let homepush_name = uni.getStorageSync('homepush_name');
               if (res.data.setting.homepush.is_open && homepush_name != res.data.setting.homepush.name) {
                  self.homepush_data = res.data.setting.homepush;
                  self.is_homepush = true;
                  self.is_homepush = true;
               }
               // 配置微信扫一扫参数
               //#ifdef H5
               if (self.url != '') {
                  self.jweixin = self.configWxScan(res.data.signPackage);
               }
               //#endif
               uni.hideLoading();
               self.loadding = false;
               uni.stopPullDownRefresh();
            });
         },
         /*设置页面*/
         setPage(page) {
            uni.setNavigationBarTitle({
               title: page.params.name
            });
            let colors = '#000000';
            if (page.style.titleTextColor == 'white') {
               //字母要小写
               colors = '#ffffff'
            }
            uni.setNavigationBarColor({
               frontColor: colors,
               backgroundColor: page.style.titleBackgroundColor
            })
            uni.setStorageSync('page',page);
         },
      }
   }
@@ -906,7 +756,7 @@
      box-sizing: border-box;
      border-top: 1rpx solid #eeeeee;
   }
   .shop_body .shop_body_l_item:first-child {
      border-top: 0;
   }
@@ -1419,7 +1269,7 @@
      font-size: 26rpx;
      padding: 0 24rpx;
   }
   .shop_list_body_item_shop_others .collected {
      border: 1rpx solid #FFFFFF;
      color: #FFFFFF;
@@ -1429,24 +1279,28 @@
   .noborder {
      border: none;
   }
   .range_item{
   .range_item {
      border: 1rpx solid #D9D9D9;
      border-top: none;
      padding: 8rpx;
      border-bottom-left-radius:10rpx ;
      border-bottom-right-radius:10rpx ;
      border-bottom-left-radius: 10rpx;
      border-bottom-right-radius: 10rpx;
      color: #666666;
      box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.1);
   }
   .top_search_right {
      font-size: 20rpx;
      line-height: normal;
   }
   .top_search_right .icon {
   }
   .top_search_right .icon {}
   .top_search_right .icon-31guanzhu1xuanzhong {
      color: #F6220C;
   }
   .shop_top {
      position: fixed;
      width: 100%;
@@ -1454,23 +1308,27 @@
      padding-bottom: 16rpx;
      transition: 500ms;
   }
   .head_top_box {
      color: #FFFFFF;
   }
   .shop_list_body_item_shop_info .icon-htmal5icon24 {
      color: #F6220C;
   }
   /* ***************************************** */
   /* ***************************************** */
   /* ***************************************** */
   .swiper-list {
      display: flex;
   }
   .shop-coupon {
      padding: 30rpx 20rpx;
      position: relative;
   }
   .shop-coupon scroll-view {
      height: 94rpx;
   }
@@ -1595,63 +1453,79 @@
      background: #acacac;
      color: #787878;
   }
   /* ***************************** */
   .topbg {
      background-color: #333648;
      transition: 500ms;
   }
   .topbg-white .icon-jiantou {
      color: #333333;
   }
   .topbg-white .top_search_right {
      color: #555555;
   }
   .topbg-white .index-search-cate {
      background: #E5E5E5;
   }
   .tab-product {
      display: flex;
      margin-top: 16rpx;
      border-bottom: 1rpx solid #eeeeee;
      background-color: #FFFFFF;
   }
   .tab-product .item {
      color: #999999;
      font-size: 28rpx;
   }
   .shop-product {
      margin-top: 0;
   }
   .tab-product .item.active {
      font-weight: normal;
   }
   .tab-product .item.active::after {
      width: 30rpx;
   }
   .tab-fixed{
   .tab-fixed {
      position: fixed;
      top: 0;
      width: 100%;
      background-color: #333648;
      z-index: 99;
   }
   .tab-top .item, .tab-top .item.active {
   .tab-top .item,
   .tab-top .item.active {
      color: #FFFFFF;
   }
   .tab-top .item.active:after {
      background: #FFFFFF;
      height: 6rpx;
   }
   .head_top_box .index-search-cate {
      background: rgba(255, 255, 255, .4);
      border: 0;
      color: #eeeeee;
   }
   .head_top_box .index-search-cate text {
      color: #eeeeee;
   }
   /* 会员卡 */
   .card-box{
   .card-box {
      pposition: relative;
      margin: 0 20rpx;
      // height: 114rpx;
@@ -1663,7 +1537,8 @@
      background: linear-gradient(to right, #2F2F2F, #776047);
      border-radius: 16rpx;
   }
   .btn-card-box{
   .btn-card-box {
      width: 164rpx;
      height: 52rpx;
      line-height: 52rpx;
@@ -1674,13 +1549,87 @@
      text-align: center;
      font-weight: 600;
   }
   .btn-card-box .icon.iconfont.icon-jiantou{
   .btn-card-box .icon.iconfont.icon-jiantou {
      font-size: 22rpx;
      color:  #54412c;
      color: #54412c;
   }
   .v-log{
   .v-log {
      width: 31rpx;
      height: 28rpx;
      margin-right: 8rpx;
   }
</style>
   .shop_info_description {
      padding: 20rpx;
      font-size: 28rpx;
      line-height: 2;
   }
   .article-list-wrap .type-list .tab-item {
      padding: 0 30rpx;
      font-size: 34rpx;
      height: 86rpx;
      line-height: 86rpx;
      white-space: nowrap;
      border-bottom: 4rpx solid #FFFFFF;
   }
   .article-list-wrap .type-list .tab-item.active {
      border-bottom: 4rpx solid;
      @include border_color('border_color');
      margin-bottom: 0;
   }
   .article-list {
      background: #ffffff;
   }
   .article-list .item {
      padding: 30rpx;
      display: flex;
      justify-content: center;
      align-items: center;
      border-bottom: 1px solid #e3e3e3;
   }
   .article-list .item .info {
      flex: 1;
      overflow: hidden;
   }
   .article-list .item .title {
      font-size: 36rpx;
   }
   .article-list .item .summary {
      margin-top: 20rpx;
      font-size: 28rpx;
      color: #999999;
   }
   .article-list .item .title,
   .article-list .item .summary {
      display: -webkit-box;
      overflow: hidden;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
   }
   .article-list .item .pic {
      padding-left: 30rpx;
   }
   .article-list .item .pic,
   .article-list .item .pic image {
      width: 160rpx;
      height: 160rpx;
   }
   .article-list .item .datatime {
      margin-top: 20rpx;
      font-size: 24rpx;
      color: #999999;
   }
</style>