liukangdong
2024-07-10 bdcefd7a9d54a48308ecce327011775db6a92ed6
wxmini
已添加49个文件
已删除1个文件
已修改14个文件
2988 ■■■■■ 文件已修改
wechat_jiaxuan/app.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/app.json 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/app.wxss 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.less 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.wxml 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.wxss 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/navBar/navBar.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/navBar/navBar.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/calculator/index.js 235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/calculator/index.json 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/calculator/index.wxml 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/calculator/index.wxss 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/consult/detail.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/consult/detail.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/design/design.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/discover/discover.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/discover/discover.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/discover/discover.less 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/discover/discover.wxml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/discover/discover.wxss 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/index/index.js 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/index/index.wxml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/info.js 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/info.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/info.less 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/info.wxml 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/info.wxss 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staff.js 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staff.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staff.less 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staff.wxml 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staff.wxss 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staffList.js 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staffList.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staffList.less 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staffList.wxml 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staffList.wxss 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/store.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/store.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/store.less 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/store.wxml 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/store.wxss 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/webView/index.js 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/webView/index.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/webView/index.wxml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/webView/index.wxss 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/project.private.config.json 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/call.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/chanpin_ic_new@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/home_ic_guwen@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/ic_search@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/location.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/mendian_ic_daohang@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/mingpian_bg_kehu@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/mingpian_bg_nianxian@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/mingpian_erweima@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/mingpian_ic_dizhi@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/mingpian_ic_edit@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/mingpian_ic_mendian@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/mingpian_ic_phone@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/images/design_banner.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/images/design_banner@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/app.js
@@ -7,10 +7,8 @@
  onLaunch: function () {
    //获取当前设备信息
    const WindowInfo = wx.getWindowInfo()
    console.log('WindowInfo', WindowInfo);
    if (WindowInfo.safeArea.top > 20) {
      this.globalData.bottomLift = WindowInfo.screenHeight - WindowInfo.safeArea.bottom;
      console.log(this.globalData.bottomLift);
    }
  }
})
wechat_jiaxuan/app.json
@@ -6,7 +6,13 @@
    "pages/consult/detail",
    "pages/mine/mine",
    "pages/auth/auth",
    "pages/design/design"
    "pages/design/design",
    "pages/store/store",
    "pages/store/info",
    "pages/store/staff",
    "pages/store/staffList",
    "pages/calculator/index",
    "pages/webView/index"
  ],
  "window": {
    "navigationBarTitleText": "志邦家选",
wechat_jiaxuan/app.wxss
@@ -5,6 +5,7 @@
page{
  background-color: #fff;
  --themeColor:#B08771;
  color: #111111;
}
image{
  display: flex;
@@ -16,7 +17,7 @@
  font-size: 28rpx;
.primary{
  color: var(--themeColor);
  color: var(--themeColor) !important;
}
.df_sb{
  display: flex;
wechat_jiaxuan/components/disProduct/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
// components/disProduct/index.js
Component({
  /**
   * ç»„件的属性列表
   */
  properties: {
  },
  /**
   * ç»„件的初始数据
   */
  data: {
    showOne: false,
    showTwo: false,
    activeStatus: '0'
  },
  methods: {
    changeOne(){
      const showOne = !this.data.showOne
      this.setData({showOne})
      this.setData({showTwo: false})
    },
    changeTwo(){
      const showTwo = !this.data.showTwo
      this.setData({showTwo})
      this.setData({showOne: false})
    },
    statusChange(e) {
      const activeStatus = e.currentTarget.dataset.status
      this.setData({activeStatus})
    }
  }
})
wechat_jiaxuan/components/disProduct/index.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
{
  "component": true,
  "usingComponents": {}
}
wechat_jiaxuan/components/disProduct/index.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,174 @@
.search_wrap{
  width: 670rpx;
  height: 72rpx;
  margin: 24rpx auto;
  background: #F7F7F7;
  border-radius: 8rpx;
  padding: 0 40rpx;
  display: flex;
  align-items: center;
  background-color: #F7F7F7;
  image{
    width: 28rpx;
    margin-right: 16rpx;
  }
}
.app{
  height: 100%;
  width: 100%;
}
.main_content{
  display: flex;
  height: calc( 100% - 120rpx );
  .main_left{
    width: 160rpx;
    height: 100%;
    overflow-y: auto;
    border-radius: 0rpx 16rpx 16rpx 0rpx;
    .item{
      width: 160rpx;
      height: 100rpx;
      background: #F7F7F7;
      font-weight: 400;
      font-size: 26rpx;
      color: #666666;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .active{
      background-color: #fff;
      font-weight: 500;
      font-size: 30rpx;
      color: #111111;
    }
  }
  .main_right{
    flex: 1;
    position: relative;
    .query_wrap{
      display: flex;
      .item{
        height: 100rpx;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #666666;
        flex: 1;
        .name{
          margin-right: 12rpx;
        }
      }
    }
    .query_form{
      position: absolute;
      background-color: #fff;
      .list{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        padding: 30rpx 40rpx;
        .item{
          width: 154rpx;
          height: 72rpx;
          text-align: center;
          line-height: 70rpx;
          background: #F7F7F7;
          border-radius: 8rpx;
          font-size: 26rpx;
          color: #333333;
          white-space: nowrap;
          overflow: hidden;//文本超出隐藏
          text-overflow: ellipsis;
          margin-right: 24rpx;
          margin-bottom: 24rpx;
          &:nth-of-type(3n){
            margin-right: 0;
          }
        }
        .active{
          color: var(--themeColor);
          background: rgba(176,135,113,0.08);
        }
      }
      .btns{
        display: flex;
        .btn{
          width: 296rpx;
          height: 88rpx;
          background: #E5E5E5;
          color: #666666;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        .sub{
          background: var(--themeColor);
          color: #fff;
        }
      }
    }
    .status{
      display: flex;
      padding: 0rpx 40rpx;
      margin: 20rpx 0;
      align-items: center;
      .active{
        color: var(--themeColor);
      }
      .separate{
        margin: 0 12rpx;
        width: 1rpx;
        height: 28rpx;
        background-color: #333333;
      }
    }
    .goods_list{
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding: 12rpx 40rpx;
      .item{
        flex-shrink: 0;
        margin-bottom: 32rpx;
        .img_wrap{
          width: 242rpx;
          height: 136rpx;
          border-radius: 8rpx;
          overflow: hidden;
          position: relative;
          .img{
            width: 100%;
            height: 100%;
          }
          .new{
            width: 72rpx;
            position: absolute;
            left: 0;
            top: 0;
            z-index: 100;
          }
        }
        .name{
          margin: 12rpx 0 8rpx;
        }
        .info{
          display: flex;
          align-items: center;
          color: #666666;
          .icon{
            width: 28rpx;
            margin-right: 8rpx;
          }
          .num{
            margin-right: 16rpx;
          }
          .primary{
            color: var(--themeColor);
          }
        }
      }
    }
  }
}
wechat_jiaxuan/components/disProduct/index.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,116 @@
<view class="app">
  <view class="search_wrap">
    <image src="../../static/icon/ic_search@2x.png" mode="widthFix"></image>
    <input type="text" placeholder="搜索产品名称" />
  </view>
  <view class="main_content">
    <view class="main_left">
      <view class="item active">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
      <view class="item">全屋定制</view>
    </view>
    <view class="main_right">
      <view class="query_wrap">
        <view class="item" bindtap="changeOne">
          <view class="name">装修风格</view>
          <van-icon name="{{ showOne ? 'arrow-up' : 'arrow-down' }}" />
        </view>
        <view class="item" bindtap="changeTwo">
          <view class="name">空间名称</view>
          <van-icon name="{{ showTwo ? 'arrow-up' : 'arrow-down' }}" />
        </view>
      </view>
      <view wx:if="{{ showOne }}" class="query_form">
        <view class="list">
          <view class="item active">东芝电视</view>
          <view class="item">东芝啊的时撒的代电视</view>
          <view class="item">东芝电视</view>
          <view class="item">东芝电视</view>
          <view class="item">东芝电视</view>
        </view>
        <view class="btns">
          <view class="btn" bindtap="changeOne">取消</view>
          <view class="btn sub">确认</view>
        </view>
      </view>
      <view wx:if="{{ showTwo }}" class="query_form">
        <view class="list">
          <view class="item active">宜家</view>
          <view class="item">宜家</view>
          <view class="item">宜家</view>
          <view class="item">宜家</view>
          <view class="item">宜家</view>
        </view>
        <view class="btns">
          <view class="btn" bindtap="changeTwo">取消</view>
          <view class="btn sub">确认</view>
        </view>
      </view>
      <view class="status">
        <view class="item {{ activeStatus == '0' ? 'active' : '' }}" data-status="0" bindtap="statusChange">默认</view>
        <view class="separate"></view>
        <view class="item {{ activeStatus == '1' ? 'active' : '' }}" data-status="1" bindtap="statusChange">最热</view>
        <view class="separate"></view>
        <view class="item {{ activeStatus == '2' ? 'active' : '' }}" data-status="2" bindtap="statusChange">最新</view>
      </view>
      <view class="goods_list">
        <view class="item">
          <view class="img_wrap">
            <image src="../../static/icon/test.png" class="img"></image>
            <image wx:if="{{ true }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image>
          </view>
          <view class="name">钢琴曲</view>
          <view class="info">
            <image wx:if="{{ false }}" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image>
            <image wx:else="" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image>
            <text class="num {{true ? 'primary' : ''}}">34</text>
            <image class="icon" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image>
            <text>1000</text>
          </view>
        </view>
        <view class="item">
          <view class="img_wrap">
            <image src="../../static/icon/test.png" class="img"></image>
            <image wx:if="{{ true }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image>
          </view>
          <view class="name">钢琴曲</view>
          <view class="info">
            <image wx:if="{{ false }}" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image>
            <image wx:else="" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image>
            <text class="num {{true ? 'primary' : ''}}">34</text>
            <image class="icon" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image>
            <text>1000</text>
          </view>
        </view>
        <view class="item">
          <view class="img_wrap">
            <image src="../../static/icon/test.png" class="img"></image>
            <image wx:if="{{ true }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image>
          </view>
          <view class="name">钢琴曲</view>
          <view class="info">
            <image wx:if="{{ false }}" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image>
            <image wx:else="" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image>
            <text class="num {{true ? 'primary' : ''}}">34</text>
            <image class="icon" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image>
            <text>1000</text>
          </view>
        </view>
      </view>
    </view>
  </view>
</view>
wechat_jiaxuan/components/disProduct/index.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,173 @@
.search_wrap {
  width: 670rpx;
  height: 72rpx;
  margin: 24rpx auto;
  background: #F7F7F7;
  border-radius: 8rpx;
  padding: 0 40rpx;
  display: flex;
  align-items: center;
  background-color: #F7F7F7;
}
.search_wrap image {
  width: 28rpx;
  margin-right: 16rpx;
}
.app {
  height: 100%;
  width: 100%;
}
.main_content {
  display: flex;
  height: calc(100% - 120rpx);
}
.main_content .main_left {
  width: 160rpx;
  height: 100%;
  overflow-y: auto;
  border-radius: 0rpx 16rpx 16rpx 0rpx;
}
.main_content .main_left .item {
  width: 160rpx;
  height: 100rpx;
  background: #F7F7F7;
  font-weight: 400;
  font-size: 26rpx;
  color: #666666;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main_content .main_left .active {
  background-color: #fff;
  font-weight: 500;
  font-size: 30rpx;
  color: #111111;
}
.main_content .main_right {
  flex: 1;
  position: relative;
}
.main_content .main_right .query_wrap {
  display: flex;
}
.main_content .main_right .query_wrap .item {
  height: 100rpx;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666666;
  flex: 1;
}
.main_content .main_right .query_wrap .item .name {
  margin-right: 12rpx;
}
.main_content .main_right .query_form {
  position: absolute;
  background-color: #fff;
}
.main_content .main_right .query_form .list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 30rpx 40rpx;
}
.main_content .main_right .query_form .list .item {
  width: 154rpx;
  height: 72rpx;
  text-align: center;
  line-height: 70rpx;
  background: #F7F7F7;
  border-radius: 8rpx;
  font-size: 26rpx;
  color: #333333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-right: 24rpx;
  margin-bottom: 24rpx;
}
.main_content .main_right .query_form .list .item:nth-of-type(3n) {
  margin-right: 0;
}
.main_content .main_right .query_form .list .active {
  color: var(--themeColor);
  background: rgba(176, 135, 113, 0.08);
}
.main_content .main_right .query_form .btns {
  display: flex;
}
.main_content .main_right .query_form .btns .btn {
  width: 296rpx;
  height: 88rpx;
  background: #E5E5E5;
  color: #666666;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main_content .main_right .query_form .btns .sub {
  background: var(--themeColor);
  color: #fff;
}
.main_content .main_right .status {
  display: flex;
  padding: 0rpx 40rpx;
  margin: 20rpx 0;
  align-items: center;
}
.main_content .main_right .status .active {
  color: var(--themeColor);
}
.main_content .main_right .status .separate {
  margin: 0 12rpx;
  width: 1rpx;
  height: 28rpx;
  background-color: #333333;
}
.main_content .main_right .goods_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 12rpx 40rpx;
}
.main_content .main_right .goods_list .item {
  flex-shrink: 0;
  margin-bottom: 32rpx;
}
.main_content .main_right .goods_list .item .img_wrap {
  width: 242rpx;
  height: 136rpx;
  border-radius: 8rpx;
  overflow: hidden;
  position: relative;
}
.main_content .main_right .goods_list .item .img_wrap .img {
  width: 100%;
  height: 100%;
}
.main_content .main_right .goods_list .item .img_wrap .new {
  width: 72rpx;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
}
.main_content .main_right .goods_list .item .name {
  margin: 12rpx 0 8rpx;
}
.main_content .main_right .goods_list .item .info {
  display: flex;
  align-items: center;
  color: #666666;
}
.main_content .main_right .goods_list .item .info .icon {
  width: 28rpx;
  margin-right: 8rpx;
}
.main_content .main_right .goods_list .item .info .num {
  margin-right: 16rpx;
}
.main_content .main_right .goods_list .item .info .primary {
  color: var(--themeColor);
}
wechat_jiaxuan/components/navBar/navBar.js
@@ -17,7 +17,12 @@
  data: {
  },
  navigateBack () {
    console.log('----');
    wx.navigateBack({
      delta: 1,
    })
  },
  /**
   * ç»„件的方法列表
   */
wechat_jiaxuan/components/navBar/navBar.wxml
@@ -1,5 +1,5 @@
<van-nav-bar title="{{ title }}" border="{{ false }}">
    <view slot="left">
      <van-icon wx:if="{{ showBack }}" name="arrow-left" size="22px" color="#000000" />
      <van-icon wx:if="{{ showBack }}" fixed placeholder bind:click-left="navigateBack" name="arrow-left" size="22px" color="#000000" />
    </view>
  </van-nav-bar>
wechat_jiaxuan/pages/calculator/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,235 @@
// pages/calculator/index.js
// import { imageUrl } from '../../utils/config'
// import { calculatorOption, calculatorSave, decodePhone, bindPhone } from '../../api/index'
// import Ls from '../../utils/storage'
// let ls = new Ls
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    // background: imageUrl + 'calculator/background.jpg',
    userPhone: '',
    type: '',
    info: '',
    area: '',
    money: '',
    typeArray: ['精装', '毛坯'],
    infoArray: [
      '一室一厅', '两室一厅', '两室两厅', '三室两厅',
      '四室两厅', '五室两厅及以上'
    ],
    calculatorOptions: [],
    showPopup: false,
    activePicker: '',
    pickerIndex: 0,
    // å±•示计算结果
    showResultMoney: false,
    containerContentStyle: 'hidden;'
  },
  // è¿”回上一页
  navigateBack () {
    wx.navigateBack({
      delta: 1,
    })
  },
  // picker é€‰æ‹©
  onChange (e) {
    this.setData({ pickerIndex: e.detail.index })
  },
  // input è¾“å…¥
  inputTyping (e) {
    this.setData({ [e.currentTarget.dataset.index]: e.detail.value })
  },
  // é€‰æ‹©æˆ¿å±‹ç±»åž‹ã€æˆ·åž‹ä¿¡æ¯
  toSelectType (e) {
    let index = e.currentTarget.dataset.index
    let { activePicker } = this.data
    if ( activePicker === index) {
      this.setData({ showPopup: true })
    } else {
      this.setData({
        pickerIndex: 0,
        activePicker: index,
        showPopup: true
      })
    }
  },
  // å–消选择
  cancelPicker () {
    this.setData({ showPopup: false })
  },
  // ç¡®è®¤é€‰æ‹©
  confirmPicker () {
    let { activePicker, pickerIndex } = this.data
    this.setData({ [activePicker]: pickerIndex, showPopup: false })
  },
  // èŽ·å–ç”¨æˆ·æ‰‹æœºå·
  getPhoneNumber (e) {
    // console.log(e)
    let that = this
    decodePhone({ code: e.detail.code })
      .then(res => {
        if (res.phone === undefined || res.phone.length === null || !res.phone) {
          wx.showToast({
            title: res.msg,
            icon: 'none'
          })
        } else {
          bindPhone({ phone: res.phone })
            .then(newInfo => {
              ls.set('userInfo', newInfo.member)
              that.setData({ userPhone: res.phone })
              that.submit()
            })
        }
      })
  },
  // ç«‹å³è®¡ç®—
  submit () {
    // console.log('立即计算')
    let { userPhone } = this.data
    ls.get('userInfo').then(res => {
      // console.log(res)
      if (userPhone) {
        let { type, info, area, money, typeArray, infoArray, calculatorOptions: options } = this.data
        let submitData = {}
        submitData.name = res.name
        submitData.phone = res.phone
        if (type === '') {
          wx.showToast({
            title: '请选择房屋类型',
            icon: 'none'
          })
          return false
        }
        if (info === '') {
          wx.showToast({
            title: '请选择户型信息',
            icon: 'none'
          })
          return false
        }
        if (area === '') {
          wx.showToast({
            title: '请输入房屋面积',
            icon: 'none'
          })
          return false
        }
        if (money === '') {
          wx.showToast({
            title: '请输入装修预算',
            icon: 'none'
          })
          return false
        }
        submitData = ['房屋类型:' + typeArray[type], '户型信息:' + infoArray[info], '房屋面积:' + area + '㎡', '装修预算:' + money + '万元'].join('-')
        for (let i in options) {
          options[i].money = (money * options[i].rate / 100).toFixed(2)
          let childList = options[i].childList
          for(let j in childList) {
            childList[j].money = (money * childList[j].rate / 100).toFixed(2)
          }
        }
        this.setData({ calculatorOptions: options, showResultMoney: true, containerContentStyle: 'auto' })
        this.submitCalculatorResult(submitData)
      }
    })
  },
  // æäº¤è®¡ç®—结果
  submitCalculatorResult (data) {
    calculatorSave({ info: data }).then(res => {
      // console.log(res)
      if (res.success) {
        wx.showToast({
          title: '计算成功',
          icon: 'none'
        })
      } else {
        console.log(res.msg)
      }
    })
  },
  // èŽ·å–è®¡ç®—å™¨é…ç½®
  getCalculatorOption () {
    calculatorOption().then(res => {
      this.setData({ calculatorOptions: res.data })
    })
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad: function (options) {
    let that = this
    // this.getCalculatorOption()
    // ls.get('userInfo').then(res => {
    //   if (res.phone) {
    //     that.setData({ userPhone: res.phone })
    //   }
    // })
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
  onReady: function () {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow: function () {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  onHide: function () {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload: function () {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom: function () {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
  onShareAppMessage: function () {
  }
})
wechat_jiaxuan/pages/calculator/index.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
{
  "usingComponents": {
    "van-nav-bar": "@vant/weapp/nav-bar/index",
    "van-picker": "@vant/weapp/picker/index",
    "van-popup": "@vant/weapp/popup/index"
  },
  "navigationStyle": "custom",
  "navigationBarTextStyle": "white"
}
wechat_jiaxuan/pages/calculator/index.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,101 @@
<!--pages/calculator/index.wxml-->
<view class="container" style="background-image: {{ 'url(' + background + ')' }};">
  <view class="container-content" style="overflow-y: {{ containerContentStyle }};">
    <van-nav-bar border="{{ false }}" custom-class="top-head-transparent" bind:click-left="navigateBack" fixed placeholder>
      <van-icon name="arrow-left" class="top-head-icon" slot="left" />
    </van-nav-bar>
    <!-- è®¡ç®—器 -->
    <view class="calculator">
      <view class="title">装修计算器</view>
      <view class="tips">为您计算最优家装分配</view>
      <!-- è®¡ç®—器输入内容 -->
      <view class="form">
        <view class="form-item">
          <view class="label">房屋类型:</view>
          <view class="input-box" data-index="type" bindtap="toSelectType">
            <view class="select">
              <view class="value" wx:if="{{ type !== '' }}">{{ typeArray[type] }}</view>
              <view class="placeholder" wx:else>请选择</view>
            </view>
            <van-icon class="icon" name="arrow-down" />
          </view>
        </view>
        <view class="form-item">
          <view class="label">户型信息:</view>
          <view class="input-box" data-index="info" bindtap="toSelectType">
            <view class="select">
              <view class="value" wx:if="{{ info !== '' }}">{{ infoArray[info] }}</view>
              <view class="placeholder" wx:else>请选择</view>
            </view>
            <van-icon class="icon" name="arrow-down" />
          </view>
        </view>
        <view class="form-item">
          <view class="label">房屋面积:</view>
          <view class="input-box">
            <input class="input" placeholder-class="placeholder" placeholder="0"
              data-index="area" bindinput="inputTyping" value="{{ area }}"/>
            <view class="icon">㎡</view>
          </view>
        </view>
        <view class="form-item">
          <view class="label">装修预算:</view>
          <view class="input-box">
            <input class="input" placeholder-class="placeholder" placeholder="0"
              data-index="money" bindinput="inputTyping" value="{{ money }}"/>
            <view class="icon">万元</view>
          </view>
        </view>
        <view class="form-item">
          <view class="submit-btn" bindtap="submit" wx:if="{{ userPhone != null && userPhone != 'undefined' && userPhone.length === 11 }}">立即计算</view>
          <button class="submit-btn" wx:else
            open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">立即计算</button>
        </view>
      </view>
    </view>
    <!-- è®¡ç®—器 end -->
    <!-- è®¡ç®—结果展示 -->
    <view class="results" style="opacity: {{ showResultMoney ? '1' : '0.2' }};">
      <view class="results-title">最优家装分配表</view>
      <view class="flex thead">
        <view class="td name">详情</view>
        <view class="td rate">参考比例</view>
        <view class="td money">参考价格</view>
      </view>
      <view class="item" wx:for="{{ calculatorOptions }}" wx:key="index"
        hidden="{{ type == item.info }}">
        <view class="flex th">
          <view class="td name">{{ item.name }}</view>
          <view class="td rate">占比{{ item.rate }}%</view>
          <view class="td money">合计{{ item.money }}(万元)</view>
        </view>
        <view class="flex tr" wx:for="{{ item.childList }}" wx:for-item="ite" wx:for-index="idx" wx:key="idx">
          <view class="td name">{{ ite.name }}</view>
          <view class="td rate">{{ ite.rate }}%</view>
          <view class="td money">{{ ite.money }}</view>
        </view>
      </view>
    </view>
  </view>
</view>
<!-- é€‰æ‹©å™¨ -->
<van-popup round show="{{ showPopup }}" position="bottom" custom-style="height: auto;">
  <view class="popup-content">
    <view class="flex-cb buttons">
      <view class="btn btn-cancel" bindtap="cancelPicker">取消</view>
      <view class="btn btn-confirm" bindtap="confirmPicker">确定</view>
    </view>
    <van-picker class="picker" columns="{{ typeArray }}" bind:change="onChange" default-index="{{ type }}" wx:if="{{ activePicker === 'type' }}" />
    <van-picker class="picker" columns="{{ infoArray }}" bind:change="onChange" default-index="{{ info }}" wx:if="{{ activePicker === 'info' }}" />
  </view>
</van-popup>
wechat_jiaxuan/pages/calculator/index.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,164 @@
/* pages/calculator/index.wxss */
.container {
  color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
.container::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255,255,255,0.5);
  position: absolute;
}
.container-content {
  background-color: rgba(0,0,0,0.75);
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  right: 0;
}
.top-head-transparent {
  background-color: transparent!important;
}
.top-head-transparent .van-icon.van-icon-arrow-left {
  font-size: 40rpx!important;
  color: #fff!important;
}
.calculator {
  padding: 40rpx;
}
.calculator .title {
  font-size: 52rpx;
  padding: 60rpx 0 20rpx;
}
.calculator .tips {
  font-size: 28rpx;
  margin-bottom: 70rpx;
  opacity: 0.8;
}
.calculator .form-item {
  display: flex;
  height: 88rpx;
  line-height: 88rpx;
  margin-bottom: 40rpx;
}
.calculator .input-box {
  display: flex;
  flex: 1;
  border: 1px solid #fff;
  background-color: rgba(0,0,0,0.1);
  padding: 0 40rpx;
  border-radius: 8rpx;
}
.calculator .input-box .input,
.calculator .input-box .select {
  flex: 1;
  height: 88rpx;
  line-height: 88rpx;
}
.calculator .input-box .placeholder {
  color: rgba(255,255,255,0.6);
}
.calculator .submit-btn {
  text-align: center;
  line-height: 100rpx;
  height: 100rpx;
  background: linear-gradient(180deg, #E0B49C 0%, #B68B74 100%);
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(176,135,113,0.3000), inset 0rpx 2rpx 2rpx 0rpx rgba(255,255,255,0.3300);
border-radius: 8rpx;
  width: 100%;
  font-size: 32rpx;
  color: #fff;
}
.popup-content .btn {
  padding: 40rpx;
}
.popup-content .btn-cancel {
  color: #999999;
}
.popup-content .btn-confirm {
  color: #222222;
}
.picker {
  height: 100%;
  width: 100%;
}
.results {
  background-color: #f7f7f7;
  color: #222;
  text-align: center;
  margin: 0 30rpx 60rpx;
  border-radius: 8rpx;
  padding: 30rpx;
}
.results-title {
  font-size: 32rpx;
  font-weight: bold;
  margin-bottom: 60rpx;
  margin-top: 30rpx;
}
.results .thead {
  font-size: 26rpx;
  color: #555555;
  margin-bottom: 32rpx;
}
.results .item {
  background-color: #fff;
  margin-bottom: 40rpx;
  border-radius: 8rpx;
  overflow: hidden;
}
.results .item:last-of-type {
  margin-bottom: 0;
}
.results .item .td {
  line-height: 74rpx;
  height: 74rpx;
}
.results .item .th {
  color: #7C4B31;
  background-color: rgba(176, 135, 113, 0.2);
}
.results .name {
  width: 35%;
}
.results .rate {
  width: 30%;
}
.results .money {
  width: 35%;
}
wechat_jiaxuan/pages/consult/detail.js
@@ -5,14 +5,18 @@
   * é¡µé¢çš„初始数据
   */
  data: {
    navTitle: '详情'
    navTitle: '详情',
    bottomLift: 0
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad(options) {
    var app = getApp().globalData
    this.setData({
      bottomLift: app.bottomLift
    })
  },
  /**
wechat_jiaxuan/pages/consult/detail.wxml
@@ -9,7 +9,7 @@
    </view>
  </view>
  <!-- footer -->
  <view class="footer">
  <view class="footer" style="bottom: {{bottomLift}}px;">
    <view class="item">
      <image class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image>
      <view class="name">收藏</view>
wechat_jiaxuan/pages/design/design.wxml
@@ -1,6 +1,6 @@
<view class="container">
  <navBar title="0元免费设计"></navBar>
  <image class="banner" src="../../static/images/design_banner.png"></image>
  <!-- <image class="banner" src="../../static/images/design_banner.png"></image> -->
  <view class="main_content">
    <view class="title">0元定制 | æ‚¨çš„æˆ·åž‹è£…修方案</view>
    <view class="line">
wechat_jiaxuan/pages/discover/discover.js
@@ -5,16 +5,22 @@
   * é¡µé¢çš„初始数据
   */
  data: {
    menuButtonInfo: {},
    activeTabs: '0'
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad(options) {
    let menuButtonInfo = wx.getMenuButtonBoundingClientRect();
    this.setData({menuButtonInfo})
    console.log('WindowInfo', menuButtonInfo);
  },
  tabsClick(e) {
    const activeTabs = e.currentTarget.dataset.tab
    this.setData({activeTabs})
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
wechat_jiaxuan/pages/discover/discover.json
@@ -1,4 +1,7 @@
{
  "usingComponents": {
    "disProduct": "../../components/disProduct"
  },
  "navigationStyle": "custom",
  "navigationBarTextStyle": "white"
}
wechat_jiaxuan/pages/discover/discover.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
.main_tab{
  display: flex;
  align-items: flex-end;
  height: 88rpx;
  padding: 0 40rpx;
  .item{
    width: 76rpx;
    font-size: 32rpx;
    color: #555555;
    margin-right: 60rpx;
    .name{}
    .border{
      width: 60rpx;
      height: 10rpx;
      background: #fff;
    }
  }
  .active{
    font-weight: 600;
    font-size: 38rpx;
    color: #222222;
    .border{
      background: linear-gradient( 270deg, rgba(255,255,255,0.56) 0%, rgba(206,144,111,0.88) 100%);
    }
  }
}
.container{
}
.main_content{
}
wechat_jiaxuan/pages/discover/discover.wxml
@@ -1,2 +1,21 @@
<!--pages/discover/discover.wxml-->
<text>pages/discover/discover.wxml</text>
<view class="container">
  <view style="height: {{ menuButtonInfo.top }}px;"></view>
  <view class="main_tab">
    <view class="item {{ activeTabs == '0' ? 'active' : '' }}" data-tab="0" bindtap="tabsClick">
      <view class="name">产品</view>
      <view class="border"></view>
    </view>
    <view class="item {{ activeTabs == '1' ? 'active' : '' }}" data-tab="1" bindtap="tabsClick">
      <view class="name">案例</view>
      <view class="border"></view>
    </view>
    <view class="item {{ activeTabs == '2' ? 'active' : '' }}" data-tab="2" bindtap="tabsClick">
      <view class="name">实景</view>
      <view class="border"></view>
    </view>
  </view>
  <!--  -->
  <view class="main_content" style="height: calc( 100vh - {{menuButtonInfo.top}}px - 88rpx )">
    <disProduct wx:if="{{ activeTabs == '0' }}" />
  </view>
</view>
wechat_jiaxuan/pages/discover/discover.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
.main_tab {
  display: flex;
  align-items: flex-end;
  height: 88rpx;
  padding: 0 40rpx;
}
.main_tab .item {
  width: 76rpx;
  font-size: 32rpx;
  color: #555555;
  margin-right: 60rpx;
}
.main_tab .item .border {
  width: 60rpx;
  height: 10rpx;
  background: #fff;
}
.main_tab .active {
  font-weight: 600;
  font-size: 38rpx;
  color: #222222;
}
.main_tab .active .border {
  background: linear-gradient(270deg, rgba(255, 255, 255, 0.56) 0%, rgba(206, 144, 111, 0.88) 100%);
}
wechat_jiaxuan/pages/index/index.js
@@ -30,7 +30,45 @@
  onLoad(options) {
  },
  changePath(e) {
    let index = e.currentTarget.dataset.type
    console.log(index);
    switch (index) {
      case '0':
        wx.navigateTo({
          url: '/pages/webView/index',
          success: function (res) {
            // é€šè¿‡eventChannel向被打开页面传送数据
            res.eventChannel.emit('acceptDataFromOpenerPage', { link: 'https://m.zbom.com/mobile/styleTest.html?type=1' })
            saveBehavior({ type: 1 })
          }
        })
        break;
      case '1':
        wx.navigateTo({
          url: '/pages/calculator/index'
        })
        break;
      case '2':
        wx.navigateTo({
          url: '/pages/design/design'
        })
        // wx.navigateTo({
        //   url: '/pages/wonderful_activity/index',
        //   success: function(res) {
        //     // é€šè¿‡eventChannel向被打开页面传送数据
        //     res.eventChannel.emit('acceptDataFromOpenerPage', { type: 1 })
        //   }
        // })
        break;
      default:
        console.log('error')
        break;
    }
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
wechat_jiaxuan/pages/index/index.wxml
@@ -18,17 +18,17 @@
  </swiper>
  <!--  -->
  <view class="function_wrap">
    <view class="item">
    <view class="item" data-type="0" bindtap="changePath">
      <image class="img" src="../../static/icon/test.png"></image>
      <view class="name">需求</view>
      <view class="placeholder9">分析小帮手</view>
    </view>
    <view class="item">
    <view class="item" data-type="2" bindtap="changePath">
      <image class="img" src="../../static/icon/test.png"></image>
      <view class="name">免费量尺</view>
      <view class="placeholder9">分析小帮手</view>
    </view>
    <view class="item">
    <view class="item" data-type="1" bindtap="changePath">
      <image class="img" src="../../static/icon/test.png"></image>
      <view class="name">预算</view>
      <view class="placeholder9">快速获取报价</view>
wechat_jiaxuan/pages/store/info.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
// pages/store/info.js
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    bottomLift: 0
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad(options) {
    var app = getApp().globalData
    this.setData({
      bottomLift: app.bottomLift
    })
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
  onReady() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  onHide() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload() {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
  onShareAppMessage() {
  }
})
wechat_jiaxuan/pages/store/info.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
{
  "usingComponents": {}
}
wechat_jiaxuan/pages/store/info.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,128 @@
.header {
  width: 670rpx;
  margin: 40rpx auto 48rpx;
  height: 224rpx;
  background: #FFFFFF;
  box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(176, 135, 113, 0.2);
  border-radius: 8rpx;
  padding: 30rpx;
  .name {
    font-weight: 500;
    font-size: 36rpx;
  }
  .desc {
    font-size: 26rpx;
    color: #666666;
    margin: 16rpx 0 24rpx;
  }
  .addr {
    font-size: 26rpx;
    color: #888888;
  }
}
.bg_wrap{
  width: 750rpx;
  height: 400rpx;
  background-color: #333333;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.main_content {
  padding: 0 40rpx 40rpx;
  .title {
    font-weight: 600;
    font-size: 36rpx;
    margin-bottom: 38rpx;
  }
  .list {
    .item {
      width: 670rpx;
      height: 148rpx;
      background: rgba(176, 135, 113, 0.05) #FFFFFF;
      box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 0, 0, 0.12);
      border-radius: 8rpx;
      padding: 0 30rpx;
      display: flex;
      align-items: center;
      margin-bottom: 30rpx;
      .content {
        flex: 1;
        .name {
          font-size: 30rpx;
          margin-bottom: 12rpx;
        }
        .desc {
          font-size: 24rpx;
          color: #999999;
        }
      }
      .avatar {
        width: 88rpx;
        height: 88rpx;
        border-radius: 50%;
        border: 1rpx solid #cccccc;
        margin-right: 24rpx;
      }
      .btn {
        width: 118rpx;
        height: 56rpx;
        line-height: 52rpx;
        text-align: center;
        background: #FFFFFF;
        border-radius: 8rpx;
        font-weight: 500;
        font-size: 26rpx;
        color: var(--themeColor);
        border: 1rpx solid var(--themeColor);
      }
    }
  }
}
.footer{
  display: flex;
  align-items: center;
  height: 100rpx;
  position: fixed;
  bottom: 0;
  left: 0rpx;
  width: 750rpx;
  padding: 20rpx 40rpx 0;
  box-shadow: 0rpx -4rpx 8rpx 0rpx rgba(0,0,0,0.14);
  .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    background-color: #fff;
    font-size: 32rpx;
    height: 88rpx;
    border-radius: 8rpx;
    color: var(--themeColor);
    border: 1rpx solid var(--themeColor);
    flex: 1;
    image{
      width: 28rpx;
      margin-right: 12rpx;
    }
  }
  .phone{
    background-color: var(--themeColor);
    color: #fff;
    margin-left: 20rpx;
    image{
      width: 32rpx;
    }
  }
}
wechat_jiaxuan/pages/store/info.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
<view>
  <navBar title=""></navBar>
  <view class="bg_wrap"></view>
  <view class="container">
    <view class="header">
      <view class="name">合肥方林店</view>
      <view class="desc">全屋定制、整体厨房、木门墙板、卫阳定制</view>
      <view class="addr">2.4km|合肥市金寨路琥珀五环国际A座</view>
    </view>
    <view class="main_content">
      <view class="title">门店导购</view>
      <view class="list">
        <view class="item">
          <view class="avatar"></view>
          <view class="content">
            <view class="name">丁梓林</view>
            <view class="desc">导购|5年经验</view>
          </view>
          <view class="btn">联系TA</view>
        </view>
        <view class="item">
          <view class="avatar"></view>
          <view class="content">
            <view class="name">丁梓林</view>
            <view class="desc">导购|5年经验</view>
          </view>
          <view class="btn">联系TA</view>
        </view>
        <view class="item">
          <view class="avatar"></view>
          <view class="content">
            <view class="name">丁梓林</view>
            <view class="desc">导购|5年经验</view>
          </view>
          <view class="btn">联系TA</view>
        </view>
      </view>
    </view>
  </view>
  <!-- footer -->
  <view class="footer" style="bottom: {{bottomLift}}px;">
    <view class="btn">
      <image src="../../static/icon/mendian_ic_daohang@2x.png" mode="widthFix"></image>
      <view>导航</view>
    </view>
    <view class="btn phone">
      <image src="../../static/icon/call.png" mode="widthFix"></image>
      <view>门店电话</view>
    </view>
  </view>
</view>
wechat_jiaxuan/pages/store/info.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,116 @@
.header {
  width: 670rpx;
  margin: 40rpx auto 48rpx;
  height: 224rpx;
  background: #FFFFFF;
  box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(176, 135, 113, 0.2);
  border-radius: 8rpx;
  padding: 30rpx;
}
.header .name {
  font-weight: 500;
  font-size: 36rpx;
}
.header .desc {
  font-size: 26rpx;
  color: #666666;
  margin: 16rpx 0 24rpx;
}
.header .addr {
  font-size: 26rpx;
  color: #888888;
}
.bg_wrap {
  width: 750rpx;
  height: 400rpx;
  background-color: #333333;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.main_content {
  padding: 0 40rpx 40rpx;
}
.main_content .title {
  font-weight: 600;
  font-size: 36rpx;
  margin-bottom: 38rpx;
}
.main_content .list .item {
  width: 670rpx;
  height: 148rpx;
  background: rgba(176, 135, 113, 0.05) #FFFFFF;
  box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 0, 0, 0.12);
  border-radius: 8rpx;
  padding: 0 30rpx;
  display: flex;
  align-items: center;
  margin-bottom: 30rpx;
}
.main_content .list .item .content {
  flex: 1;
}
.main_content .list .item .content .name {
  font-size: 30rpx;
  margin-bottom: 12rpx;
}
.main_content .list .item .content .desc {
  font-size: 24rpx;
  color: #999999;
}
.main_content .list .item .avatar {
  width: 88rpx;
  height: 88rpx;
  border-radius: 50%;
  border: 1rpx solid #cccccc;
  margin-right: 24rpx;
}
.main_content .list .item .btn {
  width: 118rpx;
  height: 56rpx;
  line-height: 52rpx;
  text-align: center;
  background: #FFFFFF;
  border-radius: 8rpx;
  font-weight: 500;
  font-size: 26rpx;
  color: var(--themeColor);
  border: 1rpx solid var(--themeColor);
}
.footer {
  display: flex;
  align-items: center;
  height: 100rpx;
  position: fixed;
  bottom: 0;
  left: 0rpx;
  width: 750rpx;
  padding: 20rpx 40rpx 0;
  box-shadow: 0rpx -4rpx 8rpx 0rpx rgba(0, 0, 0, 0.14);
}
.footer .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  background-color: #fff;
  font-size: 32rpx;
  height: 88rpx;
  border-radius: 8rpx;
  color: var(--themeColor);
  border: 1rpx solid var(--themeColor);
  flex: 1;
}
.footer .btn image {
  width: 28rpx;
  margin-right: 12rpx;
}
.footer .phone {
  background-color: var(--themeColor);
  color: #fff;
  margin-left: 20rpx;
}
.footer .phone image {
  width: 32rpx;
}
wechat_jiaxuan/pages/store/staff.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
// pages/store/staff.js
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    bottomLift: 0,
    isShow: false
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad(options) {
    var app = getApp().globalData
    this.setData({
      bottomLift: app.bottomLift
    })
  },
  openModal() {
    this.setData({isShow: true})
  },
  onClose() {
    this.setData({isShow: false})
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
  onReady() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  onHide() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload() {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
  onShareAppMessage() {
  }
})
wechat_jiaxuan/pages/store/staff.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
{
  "usingComponents": {
    "van-popup": "@vant/weapp/popup/index"
  }
}
wechat_jiaxuan/pages/store/staff.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,181 @@
.bg_wrap {
  width: 750rpx;
  height: 400rpx;
  background-color: #333333;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.container {
  padding: 26rpx 40rpx;
  .avatar {
    margin-top: 260rpx;
    width: 140rpx;
    height: 140rpx;
    border-radius: 50%;
    border: 4rpx solid #FFFFFF;
  }
  .desc {
    display: flex;
    align-items: center;
    padding: 0 30rpx;
    width: 670rpx;
    height: 80rpx;
    background: #F7F7F7;
    margin-bottom: 40rpx;
    color: #333333;
    position: relative;
    .icon{
      position: absolute;
      background: #F7F7F7;
      width: 32rpx;
      height: 32rpx;
      left: 40rpx;
      top: -16rpx;
      transform: rotate(45deg);
    }
    image {
      width: 32rpx;
      margin-right: 20rpx;
    }
  }
}
.name_wrap {
  display: flex;
  margin-bottom: 32rpx;
  .left {
    flex: 1;
    display: flex;
    align-items: flex-end;
    .name {
      font-weight: 600;
      font-size: 36rpx;
    }
    .tag {
      height: 42rpx;
      line-height: 40rpx;
      color: var(--themeColor);
      border: 1rpx solid var(--themeColor);
      border-radius: 8rpx;
      margin-left: 12rpx;
      padding: 0 10rpx;
    }
  }
  .qrcode {
    width: 80rpx;
  }
}
.static {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60rpx;
  .card {
    width: 320rpx;
    height: 156rpx;
    padding: 28rpx 40rpx;
    background-color: #f7f7f7;
    border-radius: 8rpx;
    font-size: 26rpx;
    color: #333333;
    .num {
      color: var(--themeColor);
      margin-top: 8rpx;
      font-weight: 600;
      font-size: 40rpx;
      display: flex;
    }
  }
}
.guide {
  .title {
    font-weight: 500;
    font-size: 32rpx;
    margin-bottom: 40rpx;
  }
  .line {
    display: flex;
    align-items: center;
    font-size: 30rpx;
    margin-bottom: 42rpx;
    .icon {
      width: 30rpx;
    }
    .label {
      color: #777777;
      margin-left: 24rpx;
      margin-right: 44rpx;
    }
  }
}
.footer{
  display: flex;
  align-items: center;
  height: 100rpx;
  position: fixed;
  bottom: 0;
  left: 0rpx;
  width: 750rpx;
  padding: 0rpx 40rpx;
  .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    background-color: var(--themeColor);
    color: #fff;
    font-size: 32rpx;
    height: 88rpx;
    border-radius: 8rpx;
    flex: 1;
    image{
      width: 32rpx;
      margin-right: 12rpx;
    }
  }
}
.modal{
  width: 600rpx;
  height: 720rpx;
  padding: 48rpx 40rpx;
  border-radius: 16rpx;
  .header{
    display: flex;
    .avatar{
      width: 88rpx;
      height: 88rpx;
      border-radius: 50%;
      margin-right: 24rpx;
    }
    .content{
      .name{font-size: 30rpx;}
      .desc{
        font-size: 24rpx;
        color: #999999;
        margin-top: 12rpx;
      }
    }
  }
  .qrcode{
    width: 400rpx;
    height: 400rpx;
    margin: 60rpx auto 40rpx;
  }
  .text{
    font-size: 26rpx;
    color: #999999;
    text-align: center;
  }
}
wechat_jiaxuan/pages/store/staff.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
<view>
  <!-- <navBar></navBar> -->
  <image src="../../static/images/design_banner@2x.png" mode="widthFix" class="bg_wrap"></image>
  <view class="container">
    <image class="avatar" src=""></image>
    <view class="name_wrap">
      <view class="left">
        <view class="name">姓名</view>
        <view class="tag">导购</view>
        <view class="tag">5年经验</view>
      </view>
      <image class="qrcode" src="../../static/icon/mingpian_erweima@2x.png" mode="widthFix"></image>
    </view>
    <view class="desc">
      <image src="../../static/icon/mingpian_ic_edit@2x.png" mode="widthFix"></image>
      <view>用心服务每一位顾客</view>
      <view class="icon"></view>
    </view>
    <view class="static">
      <view class="card">
        <view>从业年限</view>
        <view class="num">5</view>
      </view>
      <view class="card">
        <view>服务客户</view>
        <view class="num">500+</view>
      </view>
    </view>
    <view class="guide">
      <view class="title">导购信息</view>
      <view class="line">
        <image class="icon" src="../../static/icon/mingpian_ic_phone@2x.png" mode="widthFix"></image>
        <text class="label">联系电话</text>
        <text class="val">1888888888888</text>
      </view>
      <view class="line">
        <image class="icon" src="../../static/icon/mingpian_ic_mendian@2x.png" mode="widthFix"></image>
        <text class="label">门店名称</text>
        <text class="val">1888888888888</text>
      </view>
      <view class="line">
        <image class="icon" src="../../static/icon/mingpian_ic_dizhi@2x.png" mode="widthFix"></image>
        <text class="label">门店地址</text>
        <text class="val">1888888888888</text>
      </view>
    </view>
  </view>
  <!-- footer -->
  <view class="footer" style="bottom: {{bottomLift}}px;">
    <view class="btn">
      <image src="../../static/icon/call.png" mode="widthFix"></image>
      <view bindtap="openModal">联系TA</view>
    </view>
  </view>
  <!-- è¯¦æƒ… -->
  <van-popup show="{{ isShow }}"  closeable round bind:close="onClose">
    <view class="modal">
      <view class="header">
        <image class="avatar" src=""></image>
        <view class="content">
            <view class="name">姓名</view>
            <view class="desc">导购 ï½œ 5年经验</view>
        </view>
      </view>
      <image class="qrcode" src=""></image>
      <view class="text">长按图片识别二维码</view>
    </view>
  </van-popup>
</view>
wechat_jiaxuan/pages/store/staff.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,167 @@
.bg_wrap {
  width: 750rpx;
  height: 400rpx;
  background-color: #333333;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.container {
  padding: 26rpx 40rpx;
}
.container .avatar {
  margin-top: 260rpx;
  width: 140rpx;
  height: 140rpx;
  border-radius: 50%;
  border: 4rpx solid #FFFFFF;
}
.container .desc {
  display: flex;
  align-items: center;
  padding: 0 30rpx;
  width: 670rpx;
  height: 80rpx;
  background: #F7F7F7;
  margin-bottom: 40rpx;
  color: #333333;
  position: relative;
}
.container .desc .icon {
  position: absolute;
  background: #F7F7F7;
  width: 32rpx;
  height: 32rpx;
  left: 40rpx;
  top: -16rpx;
  transform: rotate(45deg);
}
.container .desc image {
  width: 32rpx;
  margin-right: 20rpx;
}
.name_wrap {
  display: flex;
  margin-bottom: 32rpx;
}
.name_wrap .left {
  flex: 1;
  display: flex;
  align-items: flex-end;
}
.name_wrap .left .name {
  font-weight: 600;
  font-size: 36rpx;
}
.name_wrap .left .tag {
  height: 42rpx;
  line-height: 40rpx;
  color: var(--themeColor);
  border: 1rpx solid var(--themeColor);
  border-radius: 8rpx;
  margin-left: 12rpx;
  padding: 0 10rpx;
}
.name_wrap .qrcode {
  width: 80rpx;
}
.static {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60rpx;
}
.static .card {
  width: 320rpx;
  height: 156rpx;
  padding: 28rpx 40rpx;
  background-color: #f7f7f7;
  border-radius: 8rpx;
  font-size: 26rpx;
  color: #333333;
}
.static .card .num {
  color: var(--themeColor);
  margin-top: 8rpx;
  font-weight: 600;
  font-size: 40rpx;
  display: flex;
}
.guide .title {
  font-weight: 500;
  font-size: 32rpx;
  margin-bottom: 40rpx;
}
.guide .line {
  display: flex;
  align-items: center;
  font-size: 30rpx;
  margin-bottom: 42rpx;
}
.guide .line .icon {
  width: 30rpx;
}
.guide .line .label {
  color: #777777;
  margin-left: 24rpx;
  margin-right: 44rpx;
}
.footer {
  display: flex;
  align-items: center;
  height: 100rpx;
  position: fixed;
  bottom: 0;
  left: 0rpx;
  width: 750rpx;
  padding: 0rpx 40rpx;
}
.footer .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  background-color: var(--themeColor);
  color: #fff;
  font-size: 32rpx;
  height: 88rpx;
  border-radius: 8rpx;
  flex: 1;
}
.footer .btn image {
  width: 32rpx;
  margin-right: 12rpx;
}
.modal {
  width: 600rpx;
  height: 720rpx;
  padding: 48rpx 40rpx;
  border-radius: 16rpx;
}
.modal .header {
  display: flex;
}
.modal .header .avatar {
  width: 88rpx;
  height: 88rpx;
  border-radius: 50%;
  margin-right: 24rpx;
}
.modal .header .content .name {
  font-size: 30rpx;
}
.modal .header .content .desc {
  font-size: 24rpx;
  color: #999999;
  margin-top: 12rpx;
}
.modal .qrcode {
  width: 400rpx;
  height: 400rpx;
  margin: 60rpx auto 40rpx;
}
.modal .text {
  font-size: 26rpx;
  color: #999999;
  text-align: center;
}
wechat_jiaxuan/pages/store/staffList.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
// pages/store/staffList.js
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad(options) {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
  onReady() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  onHide() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload() {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
  onShareAppMessage() {
  }
})
wechat_jiaxuan/pages/store/staffList.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
{
  "usingComponents": {}
}
wechat_jiaxuan/pages/store/staffList.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
page{
  background-color: #f7f7f7;
}
.header{
  height: 174rpx;
  padding: 36rpx 40rpx;
  .line{
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 36rpx;
    margin-bottom: 10rpx;
    image{
      width: 36rpx;
      margin-right: 16rpx;
    }
  }
  .desc{
    font-size: 26rpx;
    color: #333333;
    font-weight: 300;
  }
}
.list {
  padding: 0 40rpx 40rpx;
  .item {
    width: 670rpx;
    height: 148rpx;
    background: #FFFFFF;
    border-radius: 8rpx;
    padding: 0 30rpx;
    display: flex;
    align-items: center;
    margin-bottom: 30rpx;
    .content {
      flex: 1;
      .name {
        font-size: 30rpx;
        margin-bottom: 12rpx;
      }
      .desc {
        font-size: 24rpx;
        color: #999999;
      }
    }
    .avatar {
      width: 88rpx;
      height: 88rpx;
      border-radius: 50%;
      border: 1rpx solid #cccccc;
      margin-right: 24rpx;
    }
    .btn {
      width: 118rpx;
      height: 56rpx;
      line-height: 52rpx;
      text-align: center;
      background: #FFFFFF;
      border-radius: 8rpx;
      font-weight: 500;
      font-size: 26rpx;
      color: var(--themeColor);
      border: 1rpx solid var(--themeColor);
    }
  }
}
wechat_jiaxuan/pages/store/staffList.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
<view>
  <navBar title="导购列表" />
  <view class="header">
    <view class="line">
      <image src="../../static/icon/home_ic_guwen@2x.png" mode="widthFix"></image>
      <view>你的专属家居顾问</view>
    </view>
    <view class="desc">您身边的全屋设计专家~</view>
  </view>
  <view class="list">
        <view class="item">
          <view class="avatar"></view>
          <view class="content">
            <view class="name">丁梓林</view>
            <view class="desc">导购|5年经验</view>
          </view>
          <view class="btn">联系TA</view>
        </view>
        <view class="item">
          <view class="avatar"></view>
          <view class="content">
            <view class="name">丁梓林</view>
            <view class="desc">导购|5年经验</view>
          </view>
          <view class="btn">联系TA</view>
        </view>
        <view class="item">
          <view class="avatar"></view>
          <view class="content">
            <view class="name">丁梓林</view>
            <view class="desc">导购|5年经验</view>
          </view>
          <view class="btn">联系TA</view>
        </view>
      </view>
</view>
wechat_jiaxuan/pages/store/staffList.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
page {
  background-color: #f7f7f7;
}
.header {
  height: 174rpx;
  padding: 36rpx 40rpx;
}
.header .line {
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: 36rpx;
  margin-bottom: 10rpx;
}
.header .line image {
  width: 36rpx;
  margin-right: 16rpx;
}
.header .desc {
  font-size: 26rpx;
  color: #333333;
  font-weight: 300;
}
.list {
  padding: 0 40rpx 40rpx;
}
.list .item {
  width: 670rpx;
  height: 148rpx;
  background: #FFFFFF;
  border-radius: 8rpx;
  padding: 0 30rpx;
  display: flex;
  align-items: center;
  margin-bottom: 30rpx;
}
.list .item .content {
  flex: 1;
}
.list .item .content .name {
  font-size: 30rpx;
  margin-bottom: 12rpx;
}
.list .item .content .desc {
  font-size: 24rpx;
  color: #999999;
}
.list .item .avatar {
  width: 88rpx;
  height: 88rpx;
  border-radius: 50%;
  border: 1rpx solid #cccccc;
  margin-right: 24rpx;
}
.list .item .btn {
  width: 118rpx;
  height: 56rpx;
  line-height: 52rpx;
  text-align: center;
  background: #FFFFFF;
  border-radius: 8rpx;
  font-weight: 500;
  font-size: 26rpx;
  color: var(--themeColor);
  border: 1rpx solid var(--themeColor);
}
wechat_jiaxuan/pages/store/store.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
// pages/store/store.js
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
  },
  selAddress() {
    console.log('点击了');
    wx.chooseLocation({
      type: 'wgs84',
      success: (res)=> {
        this.setData({
          city: res.name
        })
        console.log('res', res);
      }
    })
  },
  onLoad(options) {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
  onReady() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  onHide() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload() {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
  onShareAppMessage() {
  }
})
wechat_jiaxuan/pages/store/store.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
{
  "usingComponents": {}
}
wechat_jiaxuan/pages/store/store.less
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,126 @@
.app_header {
  display: flex;
  align-items: center;
  height: 100rpx;
  background-color: #fff;
  padding: 0 40rpx;
  .location {
    width: 30rpx;
  }
  .add {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 10rpx;
  }
  .right {
    width: 42rpx;
  }
}
.main_content {
  padding: 40rpx;
  min-height: calc(100vh - 100rpx);
  background-color: #F7F7F7;
  .app_title {
    font-weight: 600;
    font-size: 36rpx;
    margin-bottom: 40rpx;
  }
  .shops {
    .shop {
      width: 670rpx;
      height: 362rpx;
      background: linear-gradient(180deg, #F2E7E1 0%, #FEFEFD 30%, #FFFFFF 100%);
      border-radius: 8rpx;
      margin-bottom: 20rpx;
      padding: 30rpx;
      .header{
        display: flex;
        align-items: center;
        .left{
          flex: 1;
          .title{
            font-weight: 500;
            font-size: 32rpx;
            width: 100%;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            margin-bottom: 16rpx;
          }
          .address{
            display: flex;
            align-items: center;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            font-size: 26rpx;
            color: #888888;
            image{
              width: 13rpx;
              margin-left: 8rpx;
            }
          }
        }
        .right{
          width: 60rpx;
          font-size: 24rpx;
          color: #333333;
          text-align: center;
          margin-left: 80rpx;
          .phone{
            width: 60rpx;
            margin-bottom: 4rpx;
          }
        }
      }
      .user_list{
        display: flex;
        padding: 24rpx 10rpx;
        .item{
          width: 240rpx;
          height: 180rpx;
          padding: 20rpx 0;
          background: #FFFFFF;
          box-shadow: 0rpx 0rpx 10rpx rgba(0,0,0,0.12);
          border-radius: 8rpx;
          margin-right: 20rpx;
          flex-shrink: 0;
          .info{
            display: flex;
            align-items: center;
            padding: 0 20rpx 14rpx;
            border-bottom: 1rpx solid #eeeeee;
            .avatar{
              width: 72rpx;
              height: 72rpx;
              border: 1px solid;
              border-radius: 50%;
              margin-right: 16rpx;
            }
            .ex{
              font-size: 24rpx;
              color: #999999;
              margin-top: 4rpx;
            }
          }
          .btn{
            display: flex;
            justify-content: center;
            align-items: center;
            height: 66rpx;
            font-weight: 500;
            font-size: 26rpx;
            color: var(--themeColor);
          }
        }
      }
    }
  }
}
wechat_jiaxuan/pages/store/store.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
<view>
  <navBar title="推荐门店"></navBar>
  <view class="app_header">
    <image class="location" src="../../static/icon/location.png" mode="widthFix"></image>
    <view bindtap="selAddress" class="add">{{ 111 }}</view>
    <image class="right" src="../../static/icon/home_ar@2x.png" mode="widthFix"></image>
  </view>
  <view class="main_content">
    <view class="app_title">AI为您推荐以下门店:</view>
    <view class="shops">
      <view class="shop">
        <view class="header">
          <view class="left">
            <view class="title">title</view>
            <view class="address">
              <text>1</text>
              <image src="../../static/icon/arrow_right.png" mode="widthFix"></image>
            </view>
          </view>
          <view class="right">
            <image class="phone" src="../../static/icon/phone.png" mode="widthFix"></image>
            <view>电话</view>
          </view>
        </view>
        <scroll-view scroll-x style="width: 640rpx">
          <view class="user_list">
            <view class="item">
              <view class="info">
                <image class="avatar" src="" mode="widthFix"></image>
                <view class="text">
                  <view class="name">name</view>
                  <view class="ex">5年经验</view>
                </view>
              </view>
              <view class="btn">联系TA</view>
            </view>
            <view class="item">
              <view class="info">
                <image class="avatar" src="" mode="widthFix"></image>
                <view class="text">
                  <view class="name">name</view>
                  <view class="ex">5年经验</view>
                </view>
              </view>
              <view class="btn">联系TA</view>
            </view>
            <view class="item">
              <view class="info">
                <image class="avatar" src="" mode="widthFix"></image>
                <view class="text">
                  <view class="name">name</view>
                  <view class="ex">5年经验</view>
                </view>
              </view>
              <view class="btn">联系TA</view>
            </view>
          </view>
        </scroll-view>
      </view>
    </view>
  </view>
</view>
wechat_jiaxuan/pages/store/store.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,119 @@
.app_header {
  display: flex;
  align-items: center;
  height: 100rpx;
  background-color: #fff;
  padding: 0 40rpx;
}
.app_header .location {
  width: 30rpx;
}
.app_header .add {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 10rpx;
}
.app_header .right {
  width: 42rpx;
}
.main_content {
  padding: 40rpx;
  min-height: calc(100vh - 100rpx);
  background-color: #F7F7F7;
}
.main_content .app_title {
  font-weight: 600;
  font-size: 36rpx;
  margin-bottom: 40rpx;
}
.main_content .shops .shop {
  width: 670rpx;
  height: 362rpx;
  background: linear-gradient(180deg, #F2E7E1 0%, #FEFEFD 30%, #FFFFFF 100%);
  border-radius: 8rpx;
  margin-bottom: 20rpx;
  padding: 30rpx;
}
.main_content .shops .shop .header {
  display: flex;
  align-items: center;
}
.main_content .shops .shop .header .left {
  flex: 1;
}
.main_content .shops .shop .header .left .title {
  font-weight: 500;
  font-size: 32rpx;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 16rpx;
}
.main_content .shops .shop .header .left .address {
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 26rpx;
  color: #888888;
}
.main_content .shops .shop .header .left .address image {
  width: 13rpx;
  margin-left: 8rpx;
}
.main_content .shops .shop .header .right {
  width: 60rpx;
  font-size: 24rpx;
  color: #333333;
  text-align: center;
  margin-left: 80rpx;
}
.main_content .shops .shop .header .right .phone {
  width: 60rpx;
  margin-bottom: 4rpx;
}
.main_content .shops .shop .user_list {
  display: flex;
  padding: 24rpx 10rpx;
}
.main_content .shops .shop .user_list .item {
  width: 240rpx;
  height: 180rpx;
  padding: 20rpx 0;
  background: #FFFFFF;
  box-shadow: 0rpx 0rpx 10rpx rgba(0, 0, 0, 0.12);
  border-radius: 8rpx;
  margin-right: 20rpx;
  flex-shrink: 0;
}
.main_content .shops .shop .user_list .item .info {
  display: flex;
  align-items: center;
  padding: 0 20rpx 14rpx;
  border-bottom: 1rpx solid #eeeeee;
}
.main_content .shops .shop .user_list .item .info .avatar {
  width: 72rpx;
  height: 72rpx;
  border: 1px solid;
  border-radius: 50%;
  margin-right: 16rpx;
}
.main_content .shops .shop .user_list .item .info .ex {
  font-size: 24rpx;
  color: #999999;
  margin-top: 4rpx;
}
.main_content .shops .shop .user_list .item .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 66rpx;
  font-weight: 500;
  font-size: 26rpx;
  color: var(--themeColor);
}
wechat_jiaxuan/pages/webView/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,197 @@
// pages/webView/index.js
// import Ls from '../../utils/storage'
// let ls = new Ls()
// import { saveBannerLookNum } from '../../api/index'
// import { decodePhone, bindPhone, memberUpdate } from '../../api/index'
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    hasUserInfo: true,
    userInfo: {},
    id: '',
    link: 'https://m.zbom.com/mobile/styleTest.html?type=1'
  },
  // æ›´æ–°ç”¨æˆ·ä¿¡æ¯
  toLogin() {
    let that = this
    wx.getUserProfile({
      desc: '用于完善会员资料', // å£°æ˜ŽèŽ·å–ç”¨æˆ·ä¸ªäººä¿¡æ¯åŽçš„ç”¨é€”ï¼ŒåŽç»­ä¼šå±•ç¤ºåœ¨å¼¹çª—ä¸­ï¼Œè¯·è°¨æ…Žå¡«å†™
      success: (wxInfo) => {
        // console.log(wxInfo)
        let { nickName: name, avatarUrl: imgurl, gender } = wxInfo.userInfo
        let sex
        switch (gender) {
          case 0:
            sex = ''
            break;
          case 1:
            sex = 0
            break;
          case 2:
            sex = 1
            break;
          default:
            break;
        }
        memberUpdate({ name, imgurl, sex }).then(res => {
          ls.set('userInfo', res.member)
          that.getWxUserInfo()
          that.toSever()
        })
      },
      fail: (err) => {
        console.log(err)
        wx.showToast({
          title: '授权失败',
          icon: 'none'
        })
      }
    })
  },
  // èŽ·å–ç”¨æˆ·id和手机号
  bindgetphonenumber(e) {
    // ç”¨æˆ·æ‹’绝
    let that = this
    // ç”¨æˆ·åŒæ„
    if (e.detail.errMsg === 'getPhoneNumber:ok') {
      decodePhone({ code: e.detail.code }).then(res => {
        if (res.phone === undefined || res.phone.length === null || !res.phone) {
          wx.showToast({
            title: res.msg,
            icon: 'none'
          })
        } else {
          that.setPhoneNumber(res.phone)
        }
      })
    }
  },
  setPhoneNumber(phone) {
    console.log(phone);
    bindPhone({ phone }).then(res => {
      console.log(res)
      ls.set('userInfo', res.member)
      this.setData({ userInfo: res.member })
      this.toSever()
    })
  },
  toSever () {
    try {
      wx.openCustomerServiceChat({
        extInfo: {
          url: "https://work.weixin.qq.com/kfid/kfcfbccadc81cd01c0b?enc_scene=ENC5EhZgjepB9zsutZUQ5AiRnyN7GamomkuWsUA4bwigukSK6w5pVyRzcNDKurjFDNDC7" //客服ID
        },
        corpId: 'ww3686d2bb864ce3e2', //企业微信ID
        success(res) { }
      })
    } catch (error) {
      wx.showToast({
        title: '请更新至微信最新版本',
        icon: 'none'
      })
    }
  },
  // èŽ·å–ç”¨æˆ·å¾®ä¿¡ä¿¡æ¯
  getWxUserInfo() {
    // ä»Žç¼“存中获取用户微信信息
    ls.get('userInfo').then(res => {
      if (res) {
        if (!res.name || !res.imgurl) {
          this.setData({ hasUserInfo: false })
        } else {
          this.setData({ hasUserInfo: true, userInfo: res })
        }
      }
    })
    ls.get('sessionkey').then(res => {
      this.setData({ sessionkey: res })
    })
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad: function (options) {
    return
    let that = this
    const eventChannel = this.getOpenerEventChannel()
    if (options.link) {
      that.setData({ link: options.link, id: options.id })
      saveBannerLookNum({ id: id })
    } else {
      // ç›‘听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
      eventChannel.on('acceptDataFromOpenerPage', function(data) {
        console.log('参数', data)
        if (data.title)  wx.setNavigationBarTitle({ title: data.title })
        that.setData({ link: data.link, id: data.id })
        saveBannerLookNum({ id: data.id })
      })
    }
    // // ç›‘听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
    // eventChannel.on('acceptDataFromOpenerPage', function(data) {
    //   if (data.title)  wx.setNavigationBarTitle({ title: data.title })
    //   that.setData({ link: data.link })
    // })
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
  onReady: function () {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow: function () {
    this.getWxUserInfo()
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  onHide: function () {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload: function () {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom: function () {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
  onShareAppMessage: function () {
    let { link, id } = this.data
    return {
      title: '',
      path: '/pages/index/index?id=' + id + '&link=' + link + '&type=2'
    }
  }
})
wechat_jiaxuan/pages/webView/index.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
{
  "usingComponents": {}
}
wechat_jiaxuan/pages/webView/index.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
<!--pages/webView/index.wxml-->
<web-view src="{{ link }}">
  <!-- <cover-view class="flex-cc bottom-btn-box">
    <cover-view class="btn">
      <button
        plain="true"
        style="background-color: #fff; border: 0; text-align: center;"
        open-type="share"
      >
        <cover-view>
          <cover-image style="margin: 8rpx auto; display: block;" mode="widthFix" src="/static/icon/share.png"></cover-image>
          <cover-view style="height: 14px; line-height: 14px; color: #666; font-size: 10px;">分享</cover-view>
        </cover-view>
      </button>
    </cover-view>
    <cover-view class="reserve-design">
      <button wx:if="{{!hasUserInfo}}" bindtap="toLogin">
        <cover-image src="/static/icon/home_ic_kefu.png" mode="widthFix"></cover-image>
        <cover-view class="title">立即咨询客服</cover-view>
      </button>
      <cover-view wx:else>
        <button
          wx:if="{{userInfo.phone && userInfo.phone != 'undefined' && userInfo.phone != null && userInfo.phone != ''}}"
          bindtap="toSever"
        >
          <cover-image src="/static/icon/home_ic_kefu.png" mode="widthFix"></cover-image>
          <cover-view class="title">立即咨询客服</cover-view>
        </button>
        <button
          wx:else
          open-type="getPhoneNumber"
          bindgetphonenumber="bindgetphonenumber"
        >
          <cover-image src="/static/icon/home_ic_kefu.png" mode="widthFix"></cover-image>
          <cover-view class="title">立即咨询客服</cover-view>
        </button>
      </cover-view>
    </cover-view>
  </cover-view> -->
</web-view>
wechat_jiaxuan/pages/webView/index.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
/* pages/webView/index.wxss */
.duiba-back-btn {
  position: fixed;
  z-index: 999999;
  bottom:0rpx;
  left:0;
  /* width:100rpx;
  height:50rpx; */
}
.bottom-btn-box {
  box-shadow: 0 0 4rpx 0 #ccc;
}
.bottom-btn-box .btn {
  margin-right: 40rpx !important;
}
.bottom-btn-box .reserve-design button {
  flex: 1;
  height: 72rpx;
  line-height: 72rpx;
  background-color: #B68B74;
  box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(176, 135, 113, 0.3000), inset 0rpx 2rpx 2rpx 0rpx rgba(255, 255, 255, 0.3300);
  border-radius: 8rpx;
  color: #fff;
  cursor: pointer;
  text-align: center;
}
.bottom-btn-box .reserve-design button {
  border: 0;
  line-height: 72rpx;
  font-size: 14px;
  color: white;
}
.bottom-btn-box .reserve-design button .title {
  padding: 0 8rpx;
  height: 72rpx;
  line-height: 72rpx;
  display: inline-block;
  vertical-align: middle;
}
.bottom-btn-box .reserve-design button cover-image {
  display: inline-block;
  margin-right: 0 !important;
}
wechat_jiaxuan/project.private.config.json
@@ -10,7 +10,7 @@
      "list": [
        {
          "name": "",
          "pathName": "pages/auth/auth",
          "pathName": "pages/discover/discover",
          "query": "",
          "launchMode": "default",
          "scene": null
@@ -35,6 +35,27 @@
          "query": "",
          "launchMode": "default",
          "scene": null
        },
        {
          "name": "",
          "pathName": "pages/store/store",
          "query": "",
          "launchMode": "default",
          "scene": null
        },
        {
          "name": "",
          "pathName": "pages/store/info",
          "query": "",
          "launchMode": "default",
          "scene": null
        },
        {
          "name": "",
          "pathName": "pages/calculator/index",
          "query": "",
          "launchMode": "default",
          "scene": null
        }
      ]
    }
wechat_jiaxuan/static/icon/call.png
wechat_jiaxuan/static/icon/chanpin_ic_new@2x.png
wechat_jiaxuan/static/icon/home_ic_guwen@2x.png
wechat_jiaxuan/static/icon/ic_search@2x.png
wechat_jiaxuan/static/icon/location.png
wechat_jiaxuan/static/icon/mendian_ic_daohang@2x.png
wechat_jiaxuan/static/icon/mingpian_bg_kehu@2x.png
wechat_jiaxuan/static/icon/mingpian_bg_nianxian@2x.png
wechat_jiaxuan/static/icon/mingpian_erweima@2x.png
wechat_jiaxuan/static/icon/mingpian_ic_dizhi@2x.png
wechat_jiaxuan/static/icon/mingpian_ic_edit@2x.png
wechat_jiaxuan/static/icon/mingpian_ic_mendian@2x.png
wechat_jiaxuan/static/icon/mingpian_ic_phone@2x.png
wechat_jiaxuan/static/images/design_banner.png
Binary files differ
wechat_jiaxuan/static/images/design_banner@2x.png