Browse Source

详情页面,tabBar修改

zhashaonan 6 năm trước cách đây
mục cha
commit
de8839eca3

+ 8 - 13
app.json

@@ -20,37 +20,31 @@
   ],
   "window": {
     "backgroundTextStyle": "dark",
-    "navigationBarBackgroundColor": "#eb4e4f",
+    "navigationBarBackgroundColor": "#2B2B2B",
     "navigationBarTitleText": "熊猫美妆",
     "navigationBarTextStyle": "white",
     "onReachBottomDistance": 200
   },
   "tabBar": {
-    "selectedColor": "#FF6760",
+    "selectedColor": "#2B2B2B",
     "backgroundColor": "#ffffff",
     "borderStyle": "black",
     "list": [
       {
-        "iconPath": "./image/tabbar/tabbar_home_default@2x.png",
+        "iconPath": "./image/tabbar/tabbar_default_index.png",
         "selectedIconPath": "./image/tabbar/tabbar_home_hight@2x.png",
         "pagePath": "pages/index/index",
         "text": "首页"
-      },
-      {
-        "iconPath": "./image/tabbar/tabbar_shopguide_default@2x.png",
-        "selectedIconPath": "./image/tabbar/tabbar_shopguide_hight@2x.png",
-        "pagePath": "pages/discover/discover",
-        "text": "发现"
-      },
+      },   
       {
-        "iconPath": "./image/tabbar/tabbar_shopcar_default@2x.png",
+        "iconPath": "./image/tabbar/tabbar_default_shopcart.png",
         "selectedIconPath": "./image/tabbar/tabbar_shopcar_hight@2x.png",
         "pagePath": "pages/shopCart/shopCart",
         "text": "购物车"
       },
       {
         "iconPath": "./image/tabbar/tabbar_set_default@2x.png",
-        "selectedIconPath": "./image/tabbar/tabbar_set_hight@2x.png",
+        "selectedIconPath": "./image/tabbar/tabbar_person_selected.png",
         "pagePath": "pages/person/person",
         "text": "我"
       }
@@ -59,4 +53,5 @@
   "networkTimeout": {
     "request": 20000
   }
-}
+}
+

+ 44 - 1
app.wxss

@@ -36,11 +36,18 @@ page {
   text-overflow: ellipsis;
   overflow: hidden;
 }
+.line-through {
+  text-decoration: line-through;
+}
 
 .padLR30 {
   padding-left: 30px;
   padding-right: 30px;
 }
+
+.ft_bold {
+  font-weight: bold;
+}
 .f0 {
   font-size: 0;
 }
@@ -54,15 +61,33 @@ page {
 .f30 {
   font-size: 30rpx;
 }
+.f34 {
+  font-size: 34rpx;
+}
 .ml8 {
   margin-left: 8rpx;
 }
+.ml10 {
+  margin-left: 10rpx;
+}
 .ml16 {
   margin-left: 16rpx;
 }
-mr16 {
+.ml20 {
+  margin-left: 20rpx;
+}
+.mr6{
+  margin-right: 6rpx;
+}
+.mr10 {
+  margin-right: 10rpx;
+}
+.mr16 {
   margin-right: 16rpx;
 }
+.mt4 {
+  margin-top: 4rpx;
+}
 .mt8 {
   margin-top: 8rpx;
 }
@@ -72,12 +97,24 @@ mr16 {
 .mt20 {
   margin-top: 20rpx;
 }
+.mb20 {
+  margin-bottom: 20rpx;
+}
 .cola7 {
   color: #a7a7a7;
 }
 .col333 {
   color: #333;
 }
+.col666 {
+  color: #666;
+}
+.col999 {
+  color: #999;
+}
+.col2B2B2B {
+  color: #2B2B2B;
+}
 .coleb4e4f {
   color: #EB4E4F
 }
@@ -90,6 +127,12 @@ mr16 {
 .bacfff {
   background: #fff;
 }
+.l_height34 {
+  line-height: 34rpx;
+}
+
+
+
 .f_left {
   float: left;
 }

+ 1 - 0
config.js

@@ -1,5 +1,6 @@
 
 let api = "https://passport.lrlz.com/mobile/index.php";
+// let api = "http://a.lrlz.com/mobile/index.php";
 // let api = "http://121.43.114.153/mobile/index.php"
 // let api = "http://192.168.0.200/mobile/index.php";
 

BIN
image/back.png


BIN
image/basic_star.png


BIN
image/details_customer.png


BIN
image/half_star.png


BIN
image/home-icon.png


BIN
image/lrlz.png


BIN
image/shopcart-icon.png


BIN
image/star.png


BIN
image/tabbar/tabbar_default_index.png


BIN
image/tabbar/tabbar_default_shopcart.png


BIN
image/tabbar/tabbar_person_selected.png


BIN
image/zg.png


+ 45 - 4
pages/comments/comments.js

@@ -13,7 +13,10 @@ Page({
     addtimes: [],
     show_carousel: false,
     carouselImgs: [],
-    current: 0
+    current: 0,
+    basicStar: './../image/basic_star.png',
+    activeStar: '../../image/star.png',
+    halfStar: '../../image/half_star.png',
   },
 
   /**
@@ -24,6 +27,7 @@ Page({
       common_id: options.common_id
     })
     this.getDatas(options.common_id, this.data.curpage)
+    // this.getDatas(2684, this.data.curpage)
   },
   getDatas(common_id, curpage) {
     wx.showLoading({
@@ -39,9 +43,12 @@ Page({
     }, function (res) {
       if (res.code == 200) {
         wx.hideLoading()
-        self.getAddTimes(res.datas.comments)
+        // self.getAddTimes(res.datas.comments)
+     
+        let comments = self.createComments(res.datas.comments)
+        console.log(comments);
         self.setData({
-          comments: self.data.comments.concat(res.datas.comments),
+          comments: self.data.comments.concat(comments),
           hasmore: res.datas.mobile_page.hasmore
         })
       }
@@ -63,7 +70,7 @@ Page({
         let year = date.getFullYear();
         let month = date.getMonth() + 1;
         let day = date.getDate();
-        addtime = `${year}.${month}.${day}`
+        addtime = `${year}-${month}-${day}`
       }
       arr.push(addtime)
     })
@@ -71,6 +78,40 @@ Page({
       addtimes: this.data.addtimes.concat(arr)
     })
   },
+  createComments(basicComments) {
+    let self = this
+    let comments = []
+    comments = basicComments.map(item => {
+      let addtime = item.addtime || ''
+      if (addtime) {
+        let date = new Date(addtime * 1000);
+        let year = date.getFullYear();
+        let month = date.getMonth() + 1;
+        let day = date.getDate();
+        let transform_addtime = `${year}-${month}-${day}`
+        item['transform_addtime'] = transform_addtime
+      }
+      let starSrcs = self.createStars(item.scores)
+      item['starSrcs'] = starSrcs
+      return item
+    })
+    return comments
+  },
+  createStars(rate) {
+    let starSrcs = []
+    for(let i = 0; i < 5; i++) {
+      if(i < Math.floor(rate)) {
+        starSrcs.push(this.data.activeStar)
+        continue
+      }
+      if(i < Math.round(rate)) {
+        starSrcs.push(this.data.halfStar)
+        continue
+      }
+      starSrcs.push(this.data.basicStar)
+    } 
+    return starSrcs
+  },
   showCarousel(e) {
     let carouselImgs = e.currentTarget.dataset.images
     let current = e.currentTarget.dataset.current

+ 47 - 4
pages/comments/comments.wxml

@@ -1,7 +1,49 @@
 <!--pages/comments/comments.wxml-->
 <view>
-  <!-- <view wx:if="{{show_carousel}}" style="position:fixed;z-index:99;left: 0;right: 0;top: 0;">123456</view> -->
-  <view class="comment comment-1px-b" wx:for="{{comments}}" wx:for-index="index" wx:key="index">
+  <!-- <block wx:for="{{comments}}" wx:key="*this" wx:for-index="index">
+    <view class="comments_item">
+      <view>
+        <view class="align_center member_avatar">
+          <image src="{{item.member_avatar}}"></image>
+          <view class="f28 col333 ml20">{{item.nickname}}</view>
+        </view>
+      </view>
+      <view class="f24 col333 l_height34 mt20">{{item.content}}</view>
+      <view class="f24 col999 l_height34 mt10" wx:if="{{item['transform_addtime']}}">{{item['transform_addtime']}}</view>
+    </view>
+    <view class="place-bacd9" wx:if="{{index < comments.length - 1}}"></view>
+  </block> -->
+
+  <!-- <view class="comment comment-1px-b" wx:for="{{comments}}" wx:for-index="index" wx:key="index"> -->
+  <block wx:for="{{comments}}" wx:for-index="index" wx:key="index">
+    <view class="comment">
+      <view class="comments_item pos_rel">
+        <view>
+          <view class="align_center member_avatar">
+            <image src="{{item.member_avatar}}"></image>
+            <view class="f28 col333 ml20">{{item.nickname}}</view>
+          </view>
+        </view>
+        <view class="scores">
+          <view class="align_center">
+            <image wx:for="{{item.starSrcs}}" wx:for-index="idx" wx:key="idx" wx:for-item="calcSrc" class="star" src="{{calcSrc}}"></image>
+          </view>
+          <view class="comment_time mr6 mt10" wx:if="{{item['transform_addtime']}}">{{item['transform_addtime']}}</view>
+        </view>
+        <view class="f24 col333 l_height34 mt20">{{item.content}}</view>
+        <view class="f24 col333 l_height34 mt20">规格:{{item.goods_spec}}</view>
+        <view wx:if="{{item.images.length}}">
+          <image bindtap='showCarousel' mode="widthFix" data-images="{{item.images}}" data-current="{{imgIndex}}" class="content_img"
+            src="{{imgItem}}" wx:for-item="imgItem" wx:for="{{item.images}}" wx:for-index="imgIndex" wx:key="imgIndex"></image>
+        </view>
+        <view class="content" wx:if="{{item.explain}}">{{item.explain}}</view>
+      </view>
+    </view>
+    <view class="place-bacd9" wx:if="{{index < comments.length - 1}}"></view>
+  </block>
+
+
+  <!-- <view class="comment comment-1px-b" wx:for="{{comments}}" wx:for-index="index" wx:key="index">
     <view class="user">
       <view class="member_avatar f_left">
         <image src="{{item.member_avatar}}">
@@ -21,6 +63,7 @@
       <image bindtap='showCarousel' mode="widthFix" data-images="{{item.images}}" data-current="{{imgIndex}}" class="content_img" src="{{imgItem}}" wx:for-item="imgItem" wx:for="{{item.images}}" wx:for-index="imgIndex" wx:key="imgIndex"></image>
     </view>
     <view class="content" wx:if="{{item.explain}}">{{item.explain}}</view>
-  </view>
-  <commentsCarousel wx:if="{{show_carousel}}" bind:hideCarousel="hideCarousel" current="{{current}}" carouselImgs="{{carouselImgs}}"> </commentsCarousel>
+  </view> -->
+  <commentsCarousel wx:if="{{show_carousel}}" bind:hideCarousel="hideCarousel" current="{{current}}" carouselImgs="{{carouselImgs}}">
+  </commentsCarousel>
 </view>

+ 5 - 0
pages/comments/comments.wxss

@@ -6,4 +6,9 @@
   margin-left: 24rpx;
   margin-bottom: 24rpx;
   vertical-align: middle
+}
+.scores {
+  position: absolute;
+  right: 0;
+  top: 45rpx;
 }

+ 69 - 7
pages/details/details.js

@@ -23,25 +23,42 @@ Page({
     goodsNumber: 1,
     cartOrBuy: '',
     getgift: '',
-    options_goods_id: ''
+    options_goods_id: '',
+    countTime: 50, /// 测试倒计时
+    basicStar: './../image/basic_star.png',
+    activeStar: '../../image/star.png',
+    halfStar: '../../image/half_star.png',
+    starSrcs: [],
+    comments: []
   },
 
   /**
    * 生命周期函数--监听页面加载
    */
   onLoad: function (options) {
-    let webViewUrl = `https://passport.lrlz.com/mobile/index.php?act=goods_common&op=detail&goods_id=${options.goods_id}&client_type=ios`
-    this.setData({
-      webViewUrl,
-      options_goods_id: options.goods_id
-    })
+    // let webViewUrl = `https://passport.lrlz.com/mobile/index.php?act=goods_common&op=detail&goods_id=${options.goods_id}&client_type=ios`
+    // this.setData({
+    //   webViewUrl,
+    //   options_goods_id: options.goods_id
+    // })
+    setInterval(() => {
+      this.setData({
+        countTime: --this.data.countTime
+      })
+    }, 1000);
+    
+
+    // console.log(options.goods_id);
     this.getDatas(options.goods_id)
     // this.getDatas(7636)
+    // this.getDatas(4569) // a.lrlz.com 有多条评论
     var that = this;
     getReq({
       act: 'goods_common',
       op: 'detail',
       goods_id: options.goods_id
+      // goods_id: 7636
+      // goods_id: 4569
     }, function(res) {
       var str = res.split(/<[\/]?body>/gi)[1];
        WxParse.wxParse('article', 'html', str, that);
@@ -60,6 +77,9 @@ Page({
     }, function (res) {
       wx.hideLoading()
       if (res.code == 200) {
+        console.log(res);
+        self.createStars(res.datas.common_info.comments_rate)
+        self.createComments(res.datas.comments)
         let oneSummary = self.getOneSummary(res.datas.summary, goods_id)
         let getgift = self.getgift(res.datas.summary, goods_id)
         let differencePrice = (oneSummary.goods_price - oneSummary.bonus_price).toFixed(2)
@@ -70,9 +90,9 @@ Page({
           imgUrls: res.datas.common_info.images,
           getgift
         })
-
       }
       else {
+        console.log('error:', res.message);
         wx.showToast({
           icon: 'none',
           title: res.message,
@@ -236,6 +256,48 @@ Page({
     })
     return arr
   },
+  createStars(rate) {
+    let starSrcs = []
+    for(let i = 0; i < 5; i++) {
+      if(i < Math.floor(rate)) {
+        starSrcs.push(this.data.activeStar)
+        continue
+      }
+      if(i < Math.round(rate)) {
+        starSrcs.push(this.data.halfStar)
+        continue
+      }
+      starSrcs.push(this.data.basicStar)
+    } 
+    this.setData({
+      starSrcs
+    })
+  },
+  createComments(basicComments) {
+    let comments = []
+    comments = basicComments.map(item => {
+      let addtime = item.addtime || ''
+      if (addtime) {
+        let date = new Date(addtime * 1000);
+        let year = date.getFullYear();
+        let month = date.getMonth() + 1;
+        let day = date.getDate();
+        let transform_addtime = `${year}-${month}-${day}`
+        item['transform_addtime'] = transform_addtime
+      }
+      return item
+    })
+    console.log(comments);
+    this.setData({
+      comments
+    })
+  },
+  allComments() {
+    wx.navigateTo({
+      url: `/pages/comments/comments?common_id=${this.data.datas.comment.common_id}`
+    });
+    return;
+  },
 
   /**
    * 生命周期函数--监听页面初次渲染完成

+ 101 - 52
pages/details/details.wxml

@@ -2,25 +2,62 @@
 <import src="../../wxParse/wxParse.wxml" />
 <view class="bacfff">
   <view class="pos_rel">
-    <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" indicator-color="rgba(208, 205, 209, 1)" circular="true" indicator-active-color="#eb4e4f" style="height:750rpx">
+    <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" indicator-color="#E8E8E8"
+      circular="true" indicator-active-color="##2B2B2B" style="height:750rpx">
       <block wx:for="{{imgUrls}}" wx:key="*this">
         <swiper-item>
           <image src="{{item}}" class="slide-image" mode="widthFix" style="width: 100%;" />
         </swiper-item>
       </block>
     </swiper>
-    <view class="comment_swiper" wx:if="{{datas.comment.content}}">
+    <!-- <view class="comment_swiper" wx:if="{{datas.comment.content}}">
       <navigator class="f0" url="/pages/comments/comments?common_id={{datas.comment.common_id}}">
         <image src="{{datas.comment.member_avatar}}"></image>
          <text class="comment_content one_line_hidden" decode="{{true}}">&nbsp;&nbsp;{{datas.comment.nickname}}:{{datas.comment.content}}</text> 
-         <!-- <text class="nickname" decode="{{true}}">&nbsp;&nbsp;{{datas.comment.nickname}}:</text>
-        <text class="comment_content one_line_hidden">{{datas.comment.content}}</text>  -->
       </navigator>
     </view>
-    <view class="details_collection flex_center">已收藏人数 {{getOneSummary.goods_collect}}</view>
+    <view class="details_collection flex_center">已收藏人数 {{getOneSummary.goods_collect}}</view> -->
   </view>
+  <view class="place-bacd9"></view>
+  <!-- <text decode="{{true}}">¥{{getOneSummary['act_type'] == 0?getOneSummary.bonus_price:getOneSummary['goods_promotion_price']}}&nbsp;&nbsp;</text> -->
+  <view class="n_goods_content">
+    <view class="n_price_content align_center">
+      <text class="f24 col333" wx:if="{{getOneSummary['act_type'] == 0}}">红包价:</text>
+      <text class="f34 col2B2B2B ft_bold">¥{{getOneSummary['act_type'] == 0?getOneSummary.bonus_price:getOneSummary['goods_promotion_price']}}</text>
+      <text class="f24 col999 ml10 line-through">专柜价:¥{{getOneSummary.goods_price}}</text>
+    </view>
+    <view class="f24 col666 l_height34 mt4">库存:{{getOneSummary.goods_storage}}件</view>
+    <view class="n_goods_title">
+      <view class="brand_auth">{{getOneSummary.brand_author_desc}}</view>
+      <text decode="{{true}}">{{getOneSummary.goods_mobile_name}}&nbsp;&nbsp;{{getOneSummary.goods_jingle}}</text>
+    </view>
+  </view>
+
+  <view class="place-bacd9"></view>
 
-  <view class="goods_content">
+  <view class="ensure_desc">
+    <view class="stamps_list">
+      <view class="n_stamps_item" wx:if="{{getOneSummary.brand_country_logo}}">
+        <image class="stamp_pic" src="{{getOneSummary.brand_country_logo}}"></image>
+        {{getOneSummary.brand_country}}品牌
+      </view>
+      <view class="n_stamps_item">
+        <image class="stamp_pic" src="../../image/lrlz.png"></image>
+        丽妆自营
+      </view>
+      <view class="n_stamps_item">
+        <image class="stamp_pic zg" src="../../image/zg.png"></image>
+        线上专柜
+      </view>
+    </view>
+    <view class="ensure_desc_text" wx:if="{{datas.common_info.brand_tip}}">{{datas.common_info.brand_tip}} </view>
+    <view class="see_ensure_wrap">
+      <image class="see_ensure_desc" src="../../image/back.png"></image>
+    </view>
+  </view>
+  <view class="place-bac247"></view>
+
+  <!-- <view class="goods_content">
     <view class="padLR30">
       <view class="one_line_hidden goods_name_title">{{getOneSummary.goods_mobile_name}}</view>
       <view class="one_line_hidden col333 f28">{{getOneSummary.goods_jingle}}</view>
@@ -34,10 +71,10 @@
       <text wx:if="{{getOneSummary['act_type'] == 0}}" decode="{{true}}">红包抵{{getOneSummary.differencePrice}}元&nbsp;/</text>
       <text decode="{{true}}">已售{{getOneSummary.goods_salenum}}件&nbsp;/&nbsp;库存{{getOneSummary.goods_storage}}件</text>
     </view>
-  </view>
+  </view> -->
 
-  <view wx:if="{{getOneSummary['act_type'] == 0}}" class="congratulation_text one_line_hidden">{{getOneSummary.gap_desc}}</view>
-  <navigator url="/pages/special/special?title=F码专区&special_id=905" wx:if="{{getOneSummary['is_fcode']}}">
+  <!-- <view wx:if="{{getOneSummary['act_type'] == 0}}" class="congratulation_text one_line_hidden">{{getOneSummary.gap_desc}}</view> -->
+  <!-- <navigator url="/pages/special/special?title=F码专区&special_id=905" wx:if="{{getOneSummary['is_fcode']}}">
     <view class="congratulation_text one_line_hidden colef524d">F码购买
       <view class="tospecial">去看看 ></view>
     </view>
@@ -61,70 +98,82 @@
     </view>
   </view>
 
-  <view class="place-bac247"></view>
-
-  <navigator url="/pages/special/special?title=N元任选&special_id=869&is_special=true" wx:if="{{getOneSummary.is_opgoods}}">
+  <view class="place-bac247"></view> -->
+  <!-- <view>{{countTime}}</view> -->
+  <!-- <navigator url="/pages/special/special?title=N元任选&special_id=869&is_special=true" wx:if="{{getOneSummary.is_opgoods}}">
     <view class="congratulation_text one_line_hidden">{{getOneSummary.opgoods_desc}}
       <view class="tospecial">去看看 ></view>
     </view>
-  </navigator>
+  </navigator> -->
   <block wx:if="{{datas.comment}}">
-    <view class="comments_block">
-      <view>用户评价
-        <text class="colef524d">({{datas.common_info.comments}})</text>
+    <view class="comments_box">
+      <view class="comments_header">
+        -商品评价-
+        <!-- <navigator url="/pages/comments/comments?common_id={{datas.comment.common_id}}"></navigator> -->
+        <view class="all_comments" catchtap="allComments">
+          查看全部
+          <image class="all_comments_icon" src="../../image/back.png"></image>
+        </view>
       </view>
-      <navigator url="/pages/comments/comments?common_id={{datas.comment.common_id}}">
-        <view class="f24">查看全部评论 > </view>
-      </navigator>
-    </view>
 
-    <view class="comment">
-      <view class="user">
-        <view class="member_avatar f_left">
-          <image src="{{datas.comment.member_avatar}}">
-          </image>
+      <view class="comments_basic_info">
+        <view class="f30 col333">商品评论
+          <text class="ft_bold ml8">({{datas.common_info.comments}})</text>
         </view>
-        <view class="f28 f_left">{{datas.comment.nickname}}</view>
-        <view class="scores f_right">
-          <view class="flex-stars">
-            <image class="star" src="../../image/star.png" wx:for="{{datas.comment.scores}}" wx:index="starindex" wx:key="starindex"></image>
-          </view>
-          <view class="comment_time">{{datas.comment.comment_time}}</view>
+        <view class="align_center">
+          <text class="f24 col333 mr10">{{datas.common_info.comments_rate}}</text>
+          <block wx:for="{{starSrcs}}" wx:key="*this">
+            <image class="star" src="{{item}}"></image>
+          </block>
         </view>
       </view>
-      <view class="spec">规格:{{datas.comment.goods_spec}}</view>
-      <view class="content">{{datas.comment.content}}</view>
-      <view class="content_img"></view>
+
+      <block wx:for="{{comments}}" wx:key="*this" wx:for-index="index">
+        <view class="comments_item">
+          <view>
+            <view class="align_center member_avatar">
+              <image src="{{item.member_avatar}}"></image>
+              <view class="f28 col333 ml20">{{item.nickname}}</view>
+            </view>
+          </view>
+          <view class="f24 col333 l_height34 mt20">{{item.content}}</view>
+          <view class="f24 col999 l_height34 mt10" wx:if="{{item['transform_addtime']}}">{{item['transform_addtime']}}</view>
+        </view>
+        <view class="place-bacd9" wx:if="{{index < comments.length - 1}}"></view>
+      </block>
     </view>
   </block>
-
   <view class="place-bac247"></view>
 
-  <view class="comments_block">
-    <view>产品参数</view>
+  <view class="comments_box">
+    <view class="comments_header mb20">-图文详情-</view>
+    <template is="wxParse" data="{{wxParseData:article.nodes}}" />
   </view>
 
-  <view class="vux-1px-b">
-    <view class="attr_list_item" wx:for="{{datas.common_info.attrs}}" wx:index="attrindex" wx:key="attrindex">
-      <text>{{item.name}}</text>
-      <text class="col333">{{item.value}}</text>
-    </view>
-  </view>
 
-  <view class="place-bac247"></view>
-  <template is="wxParse" data="{{wxParseData:article.nodes}}"/>
-<!-- <view class="see_more_details" bindtap="toWebView">查看更多详情</view> -->
+  <!-- <view class="see_more_details" bindtap="toWebView">查看更多详情</view> -->
   <view class="place_details_tabbar"></view>
 
   <view class="details_tabbar">
-    <navigator class="details_tabbar_item" url="/pages/index/index" open-type="switchTab">
-      <image class="details_tabbar_icon" src="../../image/home-icon.png"></image>
+    <navigator class="details_tabbar_item right_line" url="/pages/index/index" open-type="switchTab">
+      <view class="tabbar_icon_wrap flex_center">
+        <image class="home_icon" src="../../image/home-icon.png"></image>
+      </view>
       <view class="details_tabbar_label">首页</view>
     </navigator>
-    <navigator class="details_tabbar_item" url="/pages/shopCart/shopCart" open-type="switchTab">
-      <image class="details_tabbar_icon" src="../../image/shopcart-icon.png"></image>
+    <navigator class="details_tabbar_item right_line" url="/pages/shopCart/shopCart" open-type="switchTab">
+      <view class="tabbar_icon_wrap flex_center">
+        <image class="shopcart_icon" src="../../image/shopcart-icon.png"></image>
+      </view>
       <view class="details_tabbar_label">购物车</view>
     </navigator>
+    <view class="details_tabbar_item" session-from="weapp">
+      <contact-button session-from="weapp" style="opacity:0;position: absolute;left: 0;right:0;top: 0;bottom: 0;z-index:2;"></contact-button>
+      <view class="tabbar_icon_wrap flex_center">
+        <image class="shopcart_icon" src="../../image/details_customer.png"></image>
+      </view>
+      <view class="details_tabbar_label">客服</view>
+    </view>
     <view class="details_tabbar_simple" bindtap='animation_flag' data-flag="true" data-cartorbuy="isCart">加入购物车</view>
     <view class="details_tabbar_simple buy" bindtap='animation_flag' data-flag="true" data-cartorbuy="isBuy">立即购买</view>
   </view>
@@ -157,7 +206,8 @@
     <view class="simple_goods_spec vux-1px-b">
       <view class="f24">选择{{datas.common_info.spec_name}}</view>
       <view class="simple_sec_content">
-        <view class="sec_content_btn {{sec_index==idx?'sec_active':''}}" wx:for="{{datas.common_info.skus}}" wx:for-index="idx" wx:key="idx" bindtap='secSku' data-secindex="{{idx}}" data-goodsid="{{item.goods_id}}">{{item.spv_name}}</view>
+        <view class="sec_content_btn {{sec_index==idx?'sec_active':''}}" wx:for="{{datas.common_info.skus}}" wx:for-index="idx" wx:key="idx"
+          bindtap='secSku' data-secindex="{{idx}}" data-goodsid="{{item.goods_id}}">{{item.spv_name}}</view>
       </view>
     </view>
 
@@ -171,6 +221,5 @@
     </view>
     <view class="close_btn" bindtap='animation_flag' data-flag="false"></view>
     <view class="simple_goods_buy" bindtap="checkSubmit">确定</view>
-
   </view>
 </view>

+ 200 - 29
pages/details/details.wxss

@@ -164,6 +164,53 @@
   background: rgb(247, 247, 247);
   height: 20rpx;
 }
+.place-bacd9 {
+  background: #D9D9D9;
+  height: 1px;
+  transform: scaleY(.5);
+}
+
+/* 评论 */
+.comments_box {
+  padding: 30rpx 30rpx 0;
+}
+.comments_header {
+  position: relative;
+  text-align: center;
+  height: 42rpx;
+  font-size: 30rpx;
+  color: #333333;
+}
+.all_comments {
+  position: absolute;
+  top: 0;
+  right: 0;
+  display: flex;
+  align-items: center;
+  width: 140rpx;
+  height: 42rpx;
+  font-size: 24rpx;
+  color: #333333;
+}
+.all_comments_icon {
+  position: absolute;
+  right: 0;
+  margin-left: 10rpx;
+  width: 16rpx;
+  height: 30rpx;
+}
+.comments_basic_info {
+  margin: 20rpx 0 0;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  height: 42rpx;
+}
+
+
+
+
+
 
 .comments_block {
   position: relative;
@@ -194,10 +241,14 @@
 .comment {
   position: relative;
   color: #a7a7a7;
-  padding-top: 28rpx;
-  padding-bottom: 20rpx;
+  padding: 0 30rpx;
+  /* padding-top: 28rpx;
+  padding-bottom: 20rpx; */
+}
+.comments_item {
+  padding-top: 30rpx;
+  padding-bottom: 30rpx;
 }
-
 .user {
   overflow: hidden;
   margin-bottom: 18rpx;
@@ -205,14 +256,11 @@
   line-height: 1.6;
 }
 
-.member_avatar {
-  margin-right: 20rpx;
-}
 
 .member_avatar image {
-  width: 72rpx;
-  height: 72rpx;
-  border-radius: 50%;
+  width: 60rpx;
+  height: 60rpx;
+  border-radius: 10rpx;
   display: block;
 }
 
@@ -223,11 +271,12 @@
 }
 
 .star {
-  display: inline-block;
-  width: 24rpx;
-  height: 24rpx;
-  margin-left: 4rpx;
-  vertical-align: middle;
+  /* display: inline-block; */
+  float: left;
+  width: 30rpx;
+  height: 30rpx;
+  margin-right: 5rpx;
+  /* vertical-align: middle; */
 }
 
 .comment_time {
@@ -269,9 +318,10 @@
   right: 0;
   bottom: 0;
   background: #fff;
+  box-shadow: 0 -2rpx 4rpx 0 rgba(0,0,0,0.09);
 }
 
-.details_tabbar:before {
+/* .details_tabbar:before {
   content: " ";
   position: absolute;
   left: 0;
@@ -284,32 +334,57 @@
   transform-origin: 0 0;
   -webkit-transform: scaleY(0.5);
   transform: scaleY(0.5);
+} */
+
+.right_line {
+  position: relative;
+}
+.right_line::after {
+  content: '';
+  position: absolute;
+  bottom: 0;
+  top: 0;
+  right: 0;
+  width: 1px;
+  transform: scaleX(.5);
+  transform-origin: 0 0;
+  pointer-events: none;
+  background: #D1D1D1;
 }
 
 .details_tabbar_item {
+  position: relative;
   display: block;
-  -webkit-box-flex: 1;
-  -webkit-flex: 1;
-  flex: 1;
+  -webkit-box-flex: 4;
+  -webkit-flex: 4;
+  flex: 4;
   font-size: 0;
   color: #999;
   text-align: center;
   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-  padding: 8rpx 0 0;
+  padding: 18rpx 0 0;
 }
 
-.details_tabbar_icon {
-  display: block;
-  margin: auto;
-  width: 50rpx;
-  height: 50rpx;
+.tabbar_icon_wrap {
+  width: 40rpx;
+  height: 40rpx;
+  margin: 0 auto 4rpx;
+}
+
+.home_icon {
+  width: 34rpx;
+  height: 30rpx;
+}
+.shopcart_icon {
+  width: 36rpx;
+  height: 36rpx;
 }
 
 .details_tabbar_label {
   text-align: center;
-  line-height: 1.8;
+  line-height: 28rpx;
   font-size: 20rpx;
-  color: #000;
+  color: #666;
 }
 
 .place_details_tabbar {
@@ -329,8 +404,8 @@
 
 .details_tabbar_simple {
   text-align: center;
-  background: rgb(0, 0, 0);
-  flex: 2 1 0%;
+  background: #D3BB7E;
+  flex: 10 1 0%;
   padding: 0;
   height: 100rpx;
   line-height: 100rpx;
@@ -339,7 +414,7 @@
 }
 
 .details_tabbar_simple.buy {
-  background: rgb(255, 78, 78);
+  background: #2B2B2B;
 }
 
 .details_tabbar_simple.buy.soldout {
@@ -535,3 +610,99 @@
 .gift_underline {
   text-decoration: underline;
 }
+
+
+
+/* 新版 */
+.align_center {
+  display: flex;
+  align-items: center;
+}
+.n_goods_content {
+  padding: 20rpx 48rpx 20rpx 30rpx;
+}
+.n_price_content {
+  height: 48rpx;
+}
+.n_goods_title {
+  margin-top: 20rpx;
+  line-height: 50rpx;
+  font-size: 34rpx;
+  font-weight: bold;
+  color: #333333;
+}
+.brand_auth {
+  position: relative;
+  float: left;
+  margin-top: 7rpx;
+  margin-right: 10rpx;
+  padding: 10rpx 10rpx 6rpx;
+  height: 20rpx;
+  line-height: 20rpx;
+  font-size: 20rpx;
+  color: #2B2B2B;
+}
+
+.brand_auth::after {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 200%;
+  height: 200%;
+  transform: scale(.5);
+  transform-origin: 0 0;
+  pointer-events: none;
+  box-sizing: border-box;
+  border: 0 solid #2b2b2b;
+  border-radius: 40rpx;
+  border-width: 1px;
+}
+
+.ensure_desc {
+  position: relative;
+  padding: 30rpx 50rpx 30rpx 30rpx;
+}
+.see_ensure_wrap {
+  position: absolute;
+  display: flex;
+  align-items: center;
+  width: 100rpx;
+  right: 0rpx;
+  top: 0;
+  bottom: 0;
+}
+.see_ensure_desc {
+  width: 16rpx;
+  height: 30rpx;
+  position: absolute;
+  right: 30rpx;
+}
+.ensure_desc_text {
+  margin-top: 10rpx;
+  line-height: 34rpx;
+  font-size: 24rpx;
+  color: #666666;
+}
+.stamps_list {
+  display: flex;
+}
+.n_stamps_item {
+  display: flex;
+  /* flex: 0 1 auto; */
+  align-items: center;
+  margin-right: 50rpx;
+  color: #666;
+  font-size: 24rpx;
+  height: 40rpx;
+  box-sizing: border-box;
+}
+.stamp_pic {
+  width: 40rpx;
+  height: 40rpx;
+  margin-right: 10rpx;
+}
+.stamp_pic.zg {
+  width: 35rpx;
+}
+

+ 1 - 0
pages/login/login.js

@@ -74,6 +74,7 @@ Page({
           client_type: "ios"
         },
         success: function (res) {
+          console.log('res:', res)
           wx.setStorageSync('session_id', res.data.datas.HPHPSESSID);
           if (res.statusCode == 200) {
             app.globalData.backLogin = true;

+ 11 - 0
pages/webView/webView.js

@@ -14,6 +14,7 @@ Page({
   onLoad: function (options) {
     let url = decodeURIComponent(options.url);
     let targetUrl = jsUrlHelper.delUrlParam(url,'title');
+    console.log(targetUrl)
     this.setData({
       webViewUrl: targetUrl
     })
@@ -59,5 +60,15 @@ Page({
    */
   onReachBottom: function () {
   
+  },
+  onShareAppMessage: function () {
+    let imageUrl = '../../image/address-icon.jpeg';
+    let url = encodeURIComponent('https://passport.lrlz.com/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn=62271535460005940763&relay_id=36487');
+
+    return {
+      title: `您推荐`,
+      path: `/pages/webView/webView?url=${url}`,
+      imageUrl: imageUrl
+    }
   }
 })