''
liukangdong
2024-07-19 73c3507d82c06066d592d626ccd1a9a0961e0c5f
''
已添加5个文件
已修改61个文件
1827 ■■■■■ 文件已修改
wechat_jiaxuan/api/index.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/app.js 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/app.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/app.wxss 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disCase/index.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disCase/index.wxml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.js 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.less 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.wxml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.wxss 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disRealpic/index.js 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disRealpic/index.less 105 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disRealpic/index.wxml 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disRealpic/index.wxss 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/consult/consult.js 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/consult/consult.wxml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/consult/detail.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/consult/detail.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/consult/detail.wxml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/design/design.js 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/design/design.wxml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/case.js 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/case.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/case.less 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/case.wxml 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/case.wxss 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/product.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/realpic.js 106 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/realpic.less 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/realpic.wxml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/detailDis/realpic.wxss 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/discover/discover.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/discover/discover.less 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/discover/discover.wxml 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/discover/discover.wxss 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/homeId/index.js 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/homeId/index.less 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/homeId/index.wxml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/homeId/index.wxss 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/index/index.js 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/index/index.less 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/index/index.wxml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/index/index.wxss 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/mine/mine.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/mine/mine.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/richText/index.js 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/richText/index.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/richText/index.wxml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/richText/index.wxss 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/staff.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/store.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/store.less 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/store.wxml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/store/store.wxss 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/userinfo/collect.js 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/userinfo/collect.wxml 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/userinfo/index.js 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/userinfo/index.wxml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/userinfo/mysub.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/userinfo/mysub.wxml 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/webView/index.js 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/webView/index.wxml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/project.private.config.json 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/static/icon/ic_720.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/utils/config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/utils/request.js 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/api/index.js
@@ -160,6 +160,28 @@
    data
  })
}
// åˆ†ç±»æ¡ˆä¾‹ è¯¦æƒ…
export const getWholecaseInfo = (data) => {
  return request({
    url: '/web/customer/getWholecaseInfo',
    data
  })
}
// åˆ†ç±»å®žæ™¯ åˆ†é¡µåˆ—表 ä¸­å°
export const getZhongTaiRealcasePage = (data) => {
  return request({
    url: '/web/customer/getZhongTaiRealcasePage',
    method: 'POST',
    data
  })
}
// åˆ†ç±»å®žæ™¯ è¯¦æƒ…
export const getRealcaseInfo = (data) => {
  return request({
    url: '/web/customer/getRealcaseInfo',
    data
  })
}
// æˆ‘的家 åˆ†é¡µåˆ—表 ä¸­å°
export const getZhongTaiVideoPage = (data) => {
  return request({
@@ -199,6 +221,14 @@
    data
  })
}
// æˆ‘çš„ æ”¶è—/喜欢列表
export const collectLikePage = (data) => {
  return request({
    url: '/web/customer/collectLikePage',
    method: 'POST',
    data
  })
}
// å†…容 å–œæ¬¢
export const likeContent = (data) => {
  return request({
wechat_jiaxuan/app.js
@@ -1,4 +1,6 @@
import { wxLoginCustomer } from './api/index'
import {
  wxLoginCustomer
} from './api/index'
App({
  globalData: {
    primary: '#B08771',
@@ -10,32 +12,39 @@
    if (WindowInfo.safeArea.top > 20) {
      this.globalData.bottomLift = WindowInfo.screenHeight - WindowInfo.safeArea.bottom;
    }
    //
    wx.login({
      timeout: 5000,
      success(res) {
        if (res.code) {
          //发起网络请求
          wxLoginCustomer({
            code: res.code
          }).then(res => {
            console.log(res)
            if (res && res.data.member) {
              wx.setStorageSync('member', res.data.member)
              wx.setStorageSync('openid', res.data.member.openid)
              wx.setStorageSync('sessionKey', res.data.sessionKey)
              wx.setStorageSync('token', res.data.token)
            } else {
              console.log('登录失败!')
            }
          })
        } else {
          console.log('登录失败!' + res)
    // æŽˆæƒç™»å½•
    const member = wx.getStorageSync('member')
    if (member) {
    } else {
      wx.login({
        timeout: 5000,
        success(res) {
          if (res.code) {
            //发起网络请求
            wxLoginCustomer({
              code: res.code
            }).then(res => {
              console.log(res)
              if (res && res.data.member) {
                wx.setStorageSync('member', res.data.member)
                wx.setStorageSync('openid', res.data.member.openid)
                wx.setStorageSync('sessionKey', res.data.sessionKey)
                wx.setStorageSync('token', res.data.token)
              } else {
                console.log('登录失败!')
              }
            })
          } else {
            console.log('登录失败!' + res)
          }
        },
        fail(err) {
          console.log(err)
        }
      },
      fail(err) {
        console.log(err)
      }
    })
      })
    }
  }
})
wechat_jiaxuan/app.json
@@ -25,7 +25,8 @@
    "pages/userinfo/collect",
    "pages/userinfo/favorite",
    "pages/sets/index",
    "pages/sets/protocol"
    "pages/sets/protocol",
    "pages/richText/index"
  ],
  "window": {
    "navigationBarTitleText": "志邦家选",
wechat_jiaxuan/app.wxss
@@ -76,7 +76,9 @@
button:after {
  content: none;
}
::-webkit-scrollbar {
  display: none;
}
button::after {
  border: none;
}
wechat_jiaxuan/components/disCase/index.js
@@ -17,7 +17,7 @@
    dataList: [],
    pageNum: 1,
    pageSize: 10,
    search: '',
    query: '',
    sortType: 'NORMAL',
    catalogCode: 'whole_case'
  },
@@ -28,7 +28,7 @@
    getCatelist(){
      const { catalogCode } = this.data
      getCataLogTagList({
        catalogCode: 'real_case'
        catalogCode
      }).then(res => {
        if(res.data && res.data.length > 0){
          this.setData({
@@ -41,11 +41,13 @@
      })
    },
    getList() {
      const { sortType, search, tagCodes, pageNum, pageSize } = this.data
      const { sortType, query, tagCodes, pageNum, pageSize,catalogCode } = this.data
      getZhongTaiWholecasePage({
        catalogCode: 'whole_case',tagCodes,pageNum,pageSize, sortType,search
        catalogCode,pageNum,pageSize,tagCodes, sortType,query
      }).then(res => {
        this.setData({ dataList: res.data.records })
        if(res.data){
          this.setData({ dataList: res.data.records })
        }
      })
    },
    statusChange(e) {
@@ -64,8 +66,9 @@
      })
    },
    handleDetail(e) {
      const id = e.currentTarget.dataset.id
      wx.navigateTo({
        url: '/pages/detailDis/case',
        url: '/pages/detailDis/case?id=' + id,
      })
    },
    tagClick(e) {
wechat_jiaxuan/components/disCase/index.wxml
@@ -1,7 +1,7 @@
<view class="app">
  <view class="search_wrap">
    <image src="../../static/icon/ic_search@2x.png" mode="widthFix"></image>
    <input bindblur="bindblur" model:value="{{ search }}" type="text" placeholder="搜索案例名称" />
    <input bindblur="bindblur" model:value="{{ query }}" type="text" placeholder="搜索案例名称" />
  </view>
  <!--  -->
  <view class="main_content">
@@ -32,7 +32,7 @@
    </view>
    <!-- goods_list -->
    <view class="goods_list">
      <view wx:for="{{ dataList }}" class="item" bindtap="handleDetail">
      <view wx:for="{{ dataList }}" data-id="{{ item.id }}" class="item" bindtap="handleDetail">
        <view class="img_wrap">
          <image src="{{ item.coverImage }}" class="img"></image>
          <image wx:if="{{ false }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image>
wechat_jiaxuan/components/disProduct/index.js
@@ -4,7 +4,6 @@
   * ç»„件的属性列表
   */
  properties: {
  },
  /**
@@ -18,12 +17,21 @@
    datalist: [],
    pageNum: 1,
    pageSize: 10,
    search: '',
    query: '',
    sortType: 'NORMAL',
    catalogCode: ""
  },
  attached() {
    this.getCatelist()
    var app = getApp()
    console.log('globalData', app.globalData);
    if(app.globalData.catalogCode){
      this.setData({ catalogCode: app.globalData.catalogCode })
      setTimeout(() => {
        console.log('catalogCode', this.data.catalogCode);
        getApp().globalData.catalogCode = ''
      }, 2000)
    }
  },
  methods: {
    getCatelist(){
@@ -32,22 +40,29 @@
      }).then(res => {
        if(res.data && res.data.length > 0){
          this.setData({
            catalogCode: res.data[0].code,
            catalogCode: this.data.catalogCode || res.data[0].code,
            cateList: res.data
          })
          this.getTag()
          setTimeout(() => {
            this.getList()
          }, 300)
        }
      })
    },
    getTag() {
      const catalogCode = this.data.catalogCode
      getCatalogList({
        catalogCode
      })
    },
    bindblur() {
      this.getList()
    },
    getList() {
      const { catalogCode, pageNum, pageSize, sortType, search } = this.data
      const { catalogCode, pageNum, pageSize, sortType, query } = this.data
      getZhongTaiProductPage({
        catalogCode,pageNum,pageSize,sortType,search
        catalogCode,pageNum,pageSize,sortType,query
      }).then(res => {
        this.setData({
          datalist: [...this.data.datalist, ...res.data.records],
wechat_jiaxuan/components/disProduct/index.less
@@ -1,3 +1,10 @@
.home_top{
  // position: fixed;
  z-index: 9999;
  width: 100%;
  background-color: #fff;
  // border: 1px solid red;
}
.search_wrap{
  width: 670rpx;
  height: 72rpx;
@@ -13,7 +20,6 @@
    margin-right: 16rpx;
  }
}
.app{
  height: 100%;
  width: 100%;
wechat_jiaxuan/components/disProduct/index.wxml
@@ -1,7 +1,9 @@
<view class="app">
  <view class="search_wrap">
    <image src="../../static/icon/ic_search@2x.png" mode="widthFix"></image>
    <input bindblur="bindblur" model:value="{{ search }}" type="text" placeholder="搜索产品名称" />
  <view class="home_top">
    <view class="search_wrap">
      <image src="../../static/icon/ic_search@2x.png" mode="widthFix"></image>
      <input bindblur="bindblur" model:value="{{ query }}" type="text" placeholder="搜索产品名称" />
    </view>
  </view>
  <view class="main_content">
    <view class="main_left">
@@ -55,15 +57,15 @@
        <view wx:for="{{ datalist }}" data-id="{{item.id}}" class="item" bindtap="handleDetail">
          <view class="img_wrap">
            <image src="{{ item.coverImage }}" class="img" mode="widthFix"></image>
            <image wx:if="{{ true }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image>
            <image wx:if="{{ false }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image>
          </view>
          <view class="name">{{ item.title }}</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' : ''}}">{{ item.favoriteCount     }}</text>
            <image wx:if="{{ !item.isCollection }}" 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 {{item.isCollection ? 'primary' : ''}}">{{ item.collectCount || 0 }}</text>
            <image class="icon" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image>
            <text>{{ item.readCount }}</text>
            <text>{{ item.viewCount || 0 }}</text>
          </view>
        </view>
      </view>
wechat_jiaxuan/components/disProduct/index.wxss
@@ -1,3 +1,8 @@
.home_top {
  z-index: 9999;
  width: 100%;
  background-color: #fff;
}
.search_wrap {
  width: 670rpx;
  height: 72rpx;
wechat_jiaxuan/components/disRealpic/index.js
@@ -1,4 +1,4 @@
// components/disCase/index.js
import { getCataLogTagList, getZhongTaiRealcasePage, actionDo } from '../../api/index'
Component({
  /**
   * ç»„件的属性列表
@@ -7,18 +7,143 @@
  },
  data: {
    showParams: false,
    activeStatus: '0'
    activeIndex: -1,
    activeParam: [],
    selParam: '',
    tagCodes: [],
    cateList: [],
    dataList: [],
    pageNum: 1,
    pageSize: 10,
    query: '',
    sortType: 'NORMAL',
    catalogCode: 'real_case'
  },
  attached() {
    this.getCatelist()
  },
  methods: {
    handleDetail(e) {
      wx.navigateTo({
        url: '/pages/detailDis/realpic',
    getCatelist(){
      const { catalogCode } = this.data
      getCataLogTagList({
        catalogCode
      }).then(res => {
        if(res.data && res.data.length > 0){
          this.setData({
            cateList: res.data
          })
          setTimeout(() => {
            this.getList()
          }, 300)
        }
      })
    },
    changeShowParams(){
      const showParams = !this.data.showParams
      this.setData({showParams})
    getList() {
      const { sortType, query, tagCodes, pageNum, pageSize,catalogCode } = this.data
      getZhongTaiRealcasePage({
        catalogCode,tagCodes,pageNum,pageSize, sortType,query
      }).then(res => {
        this.setData({ dataList: res.data.records })
      })
    },
    videoClick(e) {
      const { videourl } = e.currentTarget.dataset
      wx.previewMedia({
        sources: [{ url: videourl, type: 'video' }]
      })
    },
    priviewFull(e){
      const item = e.currentTarget.dataset.item
      console.log('item', item);
      wx.navigateTo({
        url: '/pages/webView/index?link=' + item.openContent,
        success: function(res) {
          // é€šè¿‡eventChannel向被打开页面传送数据
          res.eventChannel.emit('acceptDataFromOpenerPage', { link: item.openContent, title: item.title })
        }
      })
    },
    statusChange(e) {
      const sortType = e.currentTarget.dataset.status
      this.setData({sortType})
      this.getList()
    },
    handleAction(e){
      const actionType = e.currentTarget.dataset.code
      const id = e.currentTarget.dataset.id
      actionDo({
        actionType,
        id
      }).then(res => {
        this.getList()
      })
    },
    handleDetail(e) {
      const item = e.currentTarget.dataset.item
      console.log('item', item);
      if(item.openType == 'video'){
        wx.previewMedia({
          sources: [{ url: item.openContent, type: 'video' }]
        })
      }
      if(item.openType == 'link'){
        wx.navigateTo({
          url: '/pages/webView/index?link=' + item.openContent,
        })
      }
      if(item.openType == 'page'){
        wx.navigateTo({
          url: '/pages/detailDis/realpic?id=' + item.id,
        })
      }
    },
    tagClick(e) {
      const code = e.currentTarget.dataset.code
      const paramIndex = e.currentTarget.dataset.index
      const { cateList, tagCodes, activeParam, activeIndex } = this.data
      const index = tagCodes.indexOf(code)
      if(index === -1){
        tagCodes.push(code)
        cateList[activeIndex].paramIndex = paramIndex
        cateList[activeIndex].paramName = activeParam[paramIndex].labelValueName
      }else{
        tagCodes.splice(index, 1)
        cateList[activeIndex].paramIndex = -1
        cateList[activeIndex].paramName = ''
      }
      this.setData({ tagCodes, cateList })
      console.log('tagCodes', tagCodes);
    },
    cancelParam() {
      const { cateList } = this.data
      cateList.forEach(item => {
        item.paramIndex = -1
        item.paramName = ''
      })
      this.setData({ tagCodes: [],activeParam: [],cateList,activeIndex: -1 })
    },
    bindblur() {
      this.getList()
    },
    subParam() {
      this.setData({ activeParam: [] })
      this.getList()
    },
    changeShowParams(e){
      const { cateList } = this.data
      const activeIndex = e.currentTarget.dataset.index
      if(activeIndex === this.data.activeIndex){
        this.setData({ activeIndex: -1, activeParam: [], selParam: '' })
      }else{
        this.setData({
          activeIndex,
          activeParam: cateList[activeIndex].valueVos
        })
      }
      // this.setData({showTwo: false})
    },
    changeTwo(){
@@ -26,9 +151,5 @@
      this.setData({showTwo})
      this.setData({showOne: false})
    },
    statusChange(e) {
      const activeStatus = e.currentTarget.dataset.status
      this.setData({activeStatus})
    }
  }
})
wechat_jiaxuan/components/disRealpic/index.less
@@ -22,31 +22,42 @@
.main_content {
  height: calc(100% - 120rpx);
  .query_wrap_scroll {
    width: 670rpx;
    padding: 0 40rpx;
  }
  .query_wrap {
    display: flex;
    padding: 0 16rpx;
    .item {
      margin-right: 36rpx;
      height: 88rpx;
      display: flex;
      flex-shrink: 0;
      align-items: center;
      justify-content: center;
      color: #666666;
      flex: 1;
      .name {
        margin-right: 6rpx;
      }
    }
  }
  .query_param {
    position: absolute;
    z-index: 99;
    background-color: #fff;
    width: 100%;
    .list {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      padding: 30rpx 40rpx;
      .item {
        width: 202rpx;
        height: 72rpx;
@@ -66,13 +77,16 @@
          margin-right: 0;
        }
      }
      .active {
        color: var(--themeColor);
        background: rgba(176, 135, 113, 0.08);
      }
    }
    .btns {
      display: flex;
      .btn {
        flex: 1;
        height: 88rpx;
@@ -107,59 +121,94 @@
      background-color: #333333;
    }
  }
  .goods_list{
  .goods_list {
    padding: 12rpx 40rpx;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    .item{
      width: 324rpx;
      margin-bottom: 60rpx;
      .img_wrap{
    .item {
      width: 100%;
      margin-bottom: 32rpx;
      .img_wrap {
        width: 100%;
        height: 182rpx;
        height: 376rpx;
        border-radius: 8rpx;
        overflow: hidden;
        position: relative;
        .img{
        .play {
          width: 60rpx;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          z-index: 1;
        }
        .full {
          position: absolute;
          top: 32rpx;
          right: 32rpx;
          font-size: 20rpx;
          color: rgba(255, 255, 255, 0.8);
          width: 112rpx;
          height: 42rpx;
          background: rgba(0, 0, 0, 0.54);
          border-radius: 30rpx;
          display: flex;
          align-items: center;
          justify-content: center;
          .icon {
            width: 24rpx;
            margin-right: 4rpx;
          }
        }
        .img {
          width: 100%;
          height: 100%;
        }
        .tag{
          padding: 0 10rpx;
          height: 46rpx;
          line-height: 46rpx;
          text-align: center;
          background: rgba(0,0,0,0.4);
          border-radius: 8rpx;
        .new {
          width: 72rpx;
          position: absolute;
          left: 12rpx;
          top: 16rpx;
          color: #fff;
          font-size: 24rpx;
          left: 0;
          top: 0;
          z-index: 10;
        }
      }
      .name{
      .content {
        display: flex;
        justify-content: space-between;
        padding: 0 10rpx;
      }
      .name {
        margin: 12rpx 0 8rpx;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex: 1;
      }
      .info{
      .info {
        display: flex;
        align-items: center;
        color: #666666;
        margin-left: 12rpx;
        .icon{
        .icon {
          width: 28rpx;
          margin-right: 8rpx;
        }
        .num{
        .num {
          margin-right: 28rpx;
        }
        .primary{
        .primary {
          color: var(--themeColor);
        }
      }
wechat_jiaxuan/components/disRealpic/index.wxml
@@ -1,115 +1,55 @@
<view class="app">
  <view class="search_wrap">
    <image src="../../static/icon/ic_search@2x.png" mode="widthFix"></image>
    <input type="text" placeholder="搜索产品名称" />
    <input bindblur="bindblur" model:value="{{ query }}" type="text" placeholder="搜索实景名称" />
  </view>
  <!--  -->
  <view class="main_content">
    <view class="query_wrap">
      <view class="item" bindtap="changeShowParams">
        <view class="name">风格</view>
        <van-icon name="{{ showParams ? 'arrow-up' : 'arrow-down' }}" />
    <scroll-view class="query_wrap_scroll" scroll-x>
      <view class="query_wrap">
        <view data-index="{{ index }}" wx:for="{{ cateList }}" class="item" bindtap="changeShowParams">
          <view class="name">{{ item.paramName || item.labelName }}</view>
          <van-icon name="{{ activeIndex === index ? 'arrow-up' : 'arrow-down' }}" />
        </view>
      </view>
      <view class="item" bindtap="changeShowParams">
        <view class="name">空间</view>
        <van-icon name="{{ showParams ? 'arrow-up' : 'arrow-down' }}" />
      </view>
      <view class="item" bindtap="changeShowParams">
        <view class="name">间名</view>
        <van-icon name="{{ showParams ? 'arrow-up' : 'arrow-down' }}" />
      </view>
      <view class="item" bindtap="changeShowParams">
        <view class="name">间称</view>
        <van-icon name="{{ showParams ? 'arrow-up' : 'arrow-down' }}" />
      </view>
      <view class="item" bindtap="changeShowParams">
        <view class="name">空称</view>
        <van-icon name="{{ showParams ? 'arrow-up' : 'arrow-down' }}" />
      </view>
    </view>
    <view wx:if="{{ showParams }}" class="query_param">
    </scroll-view>
    <!--  param -->
    <view wx:if="{{ activeParam && activeParam.length > 0 }}" class="query_param">
      <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 data-index="{{index}}" data-code="{{ item.labelValueCode }}" bindtap="tagClick" wx:for="{{ activeParam }}" class="item {{ cateList[activeIndex].paramIndex === index ? 'active' : '' }}">{{ item.labelValueName }}</view>
      </view>
      <view class="btns">
        <view class="btn" bindtap="changeShowParams">取消</view>
        <view class="btn sub">确认</view>
        <view class="btn" bindtap="cancelParam">取消</view>
        <view bindtap="subParam" class="btn sub">确认</view>
      </view>
    </view>
    <view class="status">
      <view class="item {{ activeStatus == '0' ? 'active' : '' }}" data-status="0" bindtap="statusChange">默认</view>
      <view class="item {{ sortType == 'NORMAL' ? 'active' : '' }}" data-status="NORMAL" bindtap="statusChange">默认</view>
      <view class="separate"></view>
      <view class="item {{ activeStatus == '1' ? 'active' : '' }}" data-status="1" bindtap="statusChange">最热</view>
      <view class="item {{ sortType == 'HOT' ? 'active' : '' }}" data-status="HOT" bindtap="statusChange">最热</view>
      <view class="separate"></view>
      <view class="item {{ activeStatus == '2' ? 'active' : '' }}" data-status="2" bindtap="statusChange">最新</view>
      <view class="item {{ sortType == 'LATEST' ? 'active' : '' }}" data-status="LATEST" bindtap="statusChange">最新</view>
    </view>
    <!-- goods_list -->
    <view class="goods_list">
      <view class="item" bindtap="handleDetail">
      <view wx:for="{{ dataList }}" data-item="{{item}}" class="item" bindtap="handleDetail">
        <view class="img_wrap">
          <image src="../../static/icon/test.png" class="img"></image>
          <view class="tag">实拍</view>
        </view>
        <view class="content">
          <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>
          <image src="{{ item.coverImage }}" class="img"></image>
          <view wx:if="{{ item.openType == 'link' }}" data-item="{{item}}" bindtap="priviewFull" class="full">
            <image class="icon" src="../../static/icon/ic_720.png" mode="widthFix"></image>
            <text>全景</text>
          </view>
        </view>
      </view>
      <view class="item">
        <view class="img_wrap">
          <image src="../../static/icon/test.png" class="img"></image>
          <image wx:if="{{ item.openType == 'video' }}" bindtap="videoClick" data-videourl="{{ item.openContent }}" class="play" src="../../static/icon/ic_play.png" mode="widthFix"></image>
          <image wx:if="{{ false }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image>
        </view>
        <view class="content">
          <view class="name">钢琴曲钢琴曲钢琴曲钢琴曲钢琴曲钢琴曲钢琴曲钢琴曲</view>
          <view class="name">{{ item.title }}</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 wx:if="{{ !item.isCollection }}" data-code="like" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image>
            <image wx:else data-code="like_cancel" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image>
            <text class="num {{true ? 'primary' : ''}}">{{ item.collectCount }}</text>
            <image class="icon" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image>
            <text>1000</text>
          </view>
        </view>
      </view>
      <view class="item">
        <view class="img_wrap">
          <image src="../../static/icon/test.png" class="img"></image>
          <image wx:if="{{ false }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image>
        </view>
        <view class="content">
          <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 class="item">
        <view class="img_wrap">
          <image src="../../static/icon/test.png" class="img"></image>
          <image wx:if="{{ false }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image>
        </view>
        <view class="content">
          <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>
            <text>{{ item.viewCount }}</text>
          </view>
        </view>
      </view>
wechat_jiaxuan/components/disRealpic/index.wxss
@@ -20,17 +20,21 @@
.main_content {
  height: calc(100% - 120rpx);
}
.main_content .query_wrap_scroll {
  width: 670rpx;
  padding: 0 40rpx;
}
.main_content .query_wrap {
  display: flex;
  padding: 0 16rpx;
}
.main_content .query_wrap .item {
  margin-right: 36rpx;
  height: 88rpx;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: #666666;
  flex: 1;
}
.main_content .query_wrap .item .name {
  margin-right: 6rpx;
@@ -102,39 +106,60 @@
}
.main_content .goods_list {
  padding: 12rpx 40rpx;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.main_content .goods_list .item {
  width: 324rpx;
  margin-bottom: 60rpx;
  width: 100%;
  margin-bottom: 32rpx;
}
.main_content .goods_list .item .img_wrap {
  width: 100%;
  height: 182rpx;
  height: 376rpx;
  border-radius: 8rpx;
  overflow: hidden;
  position: relative;
}
.main_content .goods_list .item .img_wrap .play {
  width: 60rpx;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.main_content .goods_list .item .img_wrap .full {
  position: absolute;
  top: 32rpx;
  right: 32rpx;
  font-size: 20rpx;
  color: rgba(255, 255, 255, 0.8);
  width: 112rpx;
  height: 42rpx;
  background: rgba(0, 0, 0, 0.54);
  border-radius: 30rpx;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main_content .goods_list .item .img_wrap .full .icon {
  width: 24rpx;
  margin-right: 4rpx;
}
.main_content .goods_list .item .img_wrap .img {
  width: 100%;
  height: 100%;
}
.main_content .goods_list .item .img_wrap .tag {
  padding: 0 10rpx;
  height: 46rpx;
  line-height: 46rpx;
  text-align: center;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 8rpx;
.main_content .goods_list .item .img_wrap .new {
  width: 72rpx;
  position: absolute;
  left: 12rpx;
  top: 16rpx;
  color: #fff;
  font-size: 24rpx;
  left: 0;
  top: 0;
  z-index: 10;
}
.main_content .goods_list .item .content {
  display: flex;
  justify-content: space-between;
  padding: 0 10rpx;
}
.main_content .goods_list .item .name {
  margin: 12rpx 0 8rpx;
  white-space: nowrap;
wechat_jiaxuan/pages/consult/consult.js
@@ -1,4 +1,4 @@
import { getZhongTaiProductNewsPage, getCatalogList } from '../../api/index'
import { getZhongTaiProductNewsPage, getCatalogList, getCataLogTagList } from '../../api/index'
Page({
  /**
@@ -6,10 +6,11 @@
   */
  data: {
    category: [],
    secondCategory: ['级分类','级分类','级分类','级分类','级分类','级分类'],
    activeCate: '',
    seActiveCate: '',
    secondCategory: [],
    catalogCode: '',
    tagCode: '',
    search: '',
    dataList: [],
    total: 0,
    pageNum: 1,
@@ -17,23 +18,47 @@
  },
  onLoad(options) {
    this.getCate()
    this.getList()
  },
  getCate() {
    getCatalogList({catalogCode: 'product_info'}).then(res => {
      this.setData({ category: res.data })
      if(res.data && res.data.length > 0){
        this.setData({catalogCode: res.data[0].code})
        this.gettag()
        this.getList()
      }
    })
  },
  gettag() {
    const { catalogCode } = this.data
    getCatalogList({
      catalogCode
    }).then(res => {
      if(res.data && res.data.length > 0){
        this.setData({ secondCategory: res.data })
      }
    })
  },
  itemClick(e) {
    const { id } = e.currentTarget.dataset
    wx.navigateTo({
      url: '/pages/consult/detail?id='+id,
    })
    const item = e.currentTarget.dataset.item
    if(item.contentType == 'link'){
      wx.navigateTo({
        url: '/pages/webView/index?link=' + item.content,
        success: function(res) {
          // é€šè¿‡eventChannel向被打开页面传送数据
          res.eventChannel.emit('acceptDataFromOpenerPage', { link: item.openContent, title: item.title })
        }
      })
    }else{
      wx.navigateTo({
        url: '/pages/consult/detail?id='+item.id,
      })
    }
  },
  getList() {
    const { pageNum, pageSize, activeCate } = this.data
    const { pageNum, pageSize, catalogCode, tagCode, search } = this.data
    getZhongTaiProductNewsPage({
      pageNum, pageSize, catalogCode: activeCate
      pageNum, pageSize, search, catalogCode: tagCode || catalogCode
    }).then(res => {
      if(res.data){
        this.setData({ dataList: res.data.records,total: res.data.records.total })
@@ -43,13 +68,26 @@
  },
  cateClick(e) {
    const { code } = e.currentTarget.dataset
    this.setData({ activeCate: code })
    this.setData({ catalogCode: code,secondCategory: [], tagCode: ''  })
    this.gettag()
    this.getList()
    console.log('e', e.currentTarget.dataset);
    console.log('catalogCode', this.data.catalogCode);
  },
  seCateClick(e) {
    const { index } = e.currentTarget.dataset
    console.log(index);
    const { code } = e.currentTarget.dataset
    if(this.data.tagCode == code){
      this.setData({ tagCode: '' })
    }else{
      this.setData({ tagCode: code })
    }
    this.getList()
  },
  priviewFull(e){
      const item = e.currentTarget.dataset.item
      console.log('item', item);
    },
  onReady() {
  },
wechat_jiaxuan/pages/consult/consult.wxml
@@ -1,24 +1,24 @@
<view class="container">
  <view class="search_wrap">
    <image src="../../static/icon/ic_search@2x.png" mode="widthFix"></image>
    <input type="text" placeholder="搜索咨询标题" />
    <image  src="../../static/icon/ic_search@2x.png" mode="widthFix"></image>
    <input  bindblur="getList" model:value="{{ search }}" type="text" placeholder="搜索资讯标题" />
  </view>
  <!-- åˆ†ç±» -->
  <view>
    <scroll-view scroll-x="true" style="weight: 710rpx;margin-bottom: 30rpx;">
      <view class="scroll_cate">
        <view bindtap="cateClick" data-code="{{item.code}}" wx:for="{{ category }}" class="item {{ activeCate == item.code ? 'active': '' }}">{{ item.name }}</view>
        <view bindtap="cateClick" data-code="{{item.code}}" wx:for="{{ category }}" class="item {{ catalogCode == item.code ? 'active': '' }}">{{ item.name }}</view>
      </view>
    </scroll-view>
    <scroll-view scroll-x="true" style="weight: 710rpx;margin-bottom: 28rpx;">
      <view class="scroll_cate second_list">
        <view bindtap="seCateClick" data-index="{{index}}" wx:for="{{ secondCategory }}" class="item {{ index == 0 ? 'active': '' }}">{{ index }}{{ item }}</view>
        <view bindtap="seCateClick" data-code="{{item.code}}" wx:for="{{ secondCategory }}" class="item {{ tagCode == item.code ? 'active': '' }}">{{ item.name }}</view>
      </view>
    </scroll-view>
  </view>
  <!-- content -->
  <view class="content">
    <view wx:for="{{ dataList }}" class="item" bindtap="itemClick" data-id="{{item.id}}">
    <view wx:for="{{ dataList }}" class="item" bindtap="itemClick" data-item="{{item}}">
      <image class="img" src="{{ item.coverImage }}" mode="widthFix"></image>
      <view class="title">{{ item.title }}</view>
      <view class="df_sb static">
wechat_jiaxuan/pages/consult/detail.js
@@ -7,6 +7,7 @@
  data: {
    bottomLift: 0,
    info: {},
    detail: {},
    showShare: false
  },
@@ -23,7 +24,7 @@
  },
  getDetail(id) {
    getProductNewsInfo({ id }).then(res => {
      this.setData({ detail: res.data })
      this.setData({ info: res.data })
    })
  },
  openShare() {
wechat_jiaxuan/pages/consult/detail.json
@@ -1,6 +1,7 @@
{
  "usingComponents": {
    "van-popup": "@vant/weapp/popup/index"
    "van-popup": "@vant/weapp/popup/index",
    "mp-html": "mp-html"
  },
  "navigationBarTitleText": "详情"
}
wechat_jiaxuan/pages/consult/detail.wxml
@@ -1,13 +1,12 @@
<view>
  <!-- <navBar title="{{ navTitle }}"></navBar> -->
  <view class="main_content">
    <view class="main_title">三种美好玄关,进屋瞬间卸载疲惫</view>
    <view class="datetime">发布时间:2021-08-21 10:0</view>
    <view class="content">
      å®¢åŽ…ã€é¤åŽ…ã€å§å®¤ã€åŽ¨æˆ¿ã€é˜³å°â€¦â€¦å®¶ä¸­ç©ºé—´çš„ç§°è°“ï¼Œå¤§å¤šæœ´å®žæ— åŽï¼Œå”¯ç‹¬â€œçŽ„å…³â€ä¸€è¯æ ¼å¤–åŽä¸½æŠ½è±¡ã€‚
      è¿™ä¸ªä¸å¤ªèµ·çœ¼çš„小空间,取词来自道教:“玄关”指修炼内丹过程中,体内的气绕巡全身时,最先通过的地方,也有“夫玄关者,至玄至妙之机关也”的说法。
    </view>
    <view class="main_title">{{ info.title }}</view>
    <view class="datetime">发布时间:{{ info.publishDt }}</view>
    <mp-html content="{{info.content}}"></mp-html>
  </view>
  <!-- footer -->
  <view class="footer" style="padding-bottom: {{bottomLift}}px;">
    <view class="btns">
wechat_jiaxuan/pages/design/design.js
@@ -11,10 +11,15 @@
  data: {
    name: '',
    phone: '',
    city: '',
    showAreaList: false,
    areaList: [],
    addr: {},
    fieldNames: {
      text: 'name',
      value: 'id',
      children: 'children',
    },
    cascaderValue: '',
    DESIGN_BANNER: '',
@@ -27,7 +32,8 @@
  onSubmit() {
    const {
      name,
      phone
      phone,
      addr
    } = this.data
    if (!name) return wx.showToast({
      title: '请输入姓名',
@@ -37,40 +43,58 @@
      title: '请输入联系电话',
      icon: 'none'
    })
    if (phone.length !== 11) return wx.showToast({
      title: '请输入正确的联系电话',
      icon: 'none'
    })
    if (!addr.areaCode || !addr.cityCode) return wx.showToast({
      title: '请选择城市',
      icon: 'none'
    })
    saveFreeCustomizationApply({
      name,
      phone
      phone,
      ...addr
    }).then(res => {
      wx.showToast({
        title: '报名成功'
      })
    })
  },
  // æ˜¾ç¤ºåˆ‡æ¢åŸŽå¸‚弹窗
  // æ˜¾ç¤ºåŸŽå¸‚弹窗
  chooseCity () {
    this.setData({ showAreaList: !this.data.showAreaList })
    console.log('chooseCity', chooseCity);
    console.log('chooseCity', this.data.showAreaList);
  },
  // åˆ‡æ¢åŸŽå¸‚
  confirmChange(e) {
    let {
      values
    } = e.detail
    let region = []
    for (let i in values) {
      region.push(values[i].name)
  onFinish(e) {
    const { selectedOptions, value } = e.detail;
    const addr = {
      provinceCode: selectedOptions[0].id,
      provinceName: selectedOptions[0].name,
      cityCode: selectedOptions[1].id,
      cityName: selectedOptions[1].name,
      areaCode: selectedOptions[2].id,
      areaName: selectedOptions[2].name,
    }
    this.setData({
      region,
      cityCode: values[1].code
    })
    this.getShopList()
    this.chooseCity()
    this.setData({ addr, showAreaList: false })
    console.log('selectedOptions', addr);
  },
  onFinish() {
  },
    // åˆ‡æ¢åŸŽå¸‚
  // confirmChange(e) {
  //   let {
  //     values
  //   } = e.detail
  //   let region = []
  //   for (let i in values) {
  //     region.push(values[i].name)
  //   }
  //   this.setData({
  //     region,
  //     cityCode: values[1].code
  //   })
  //   this.getShopList()
  //   this.chooseCity()
  // },
  onClose() {
    this.setData({ showAreaList: false })
  },
wechat_jiaxuan/pages/design/design.wxml
@@ -12,12 +12,16 @@
    </view>
    <view class="line" bindtap="chooseCity">
      <image class="icon" src="../../static/icon/design_ic_city.png" mode="widthFix"></image>
      <view class="city">{{ city }}</view>
      <view wx:if="{{addr.areaCode}}" class="city">{{addr.provinceName}}{{addr.cityName}}{{addr.areaName}}</view>
      <view wx:else class="placeholder9 city">请选择地区</view>
      <image class="arrow_right" src="../../static/icon/arrow_right.png" mode="widthFix"></image>
    </view>
    <view class="btn" bindtap="onSubmit">立即报名</view>
  </view>
  <image class="banner" src="{{ WechatIMG558 }}" mode="widthFix"></image>
  <!--  -->
  <van-cascader wx:if="{{ showAreaList }}" value="{{ cascaderValue }}" title="请选择所在地区" options="{{ areaList }}" bind:close="onClose" bind:finish="onFinish" />
  <van-popup show="{{ showAreaList }}" bind:close="onClose" round position="bottom">
    <van-cascader field-names="{{ fieldNames }}" value="{{ cascaderValue }}" title="请选择所在地区" options="{{ areaList }}" bind:close="onClose" bind:finish="onFinish" />
  </van-popup>
</view>
wechat_jiaxuan/pages/detailDis/case.js
@@ -1,4 +1,4 @@
import { shareContent } from '../../api/index'
import { actionDo, getWholecaseInfo } from '../../api/index'
Page({
  /**
@@ -17,8 +17,24 @@
    this.setData({
      bottomLift: app.bottomLift
    })
    this.getDetail(options.id)
    // actionDo({
    //   actionType: 'view',
    //   id: options.id
    // })
    const member = wx.getStorageSync('member')
    this.setData({id: options.id, member})
  },
  priviewFull(){
    let { panorama: link, title } = this.data.info
    wx.navigateTo({
      url: '/pages/webView/index',
      success: function(res) {
        // é€šè¿‡eventChannel向被打开页面传送数据
        res.eventChannel.emit('acceptDataFromOpenerPage', { link, title })
      }
    })
  },
  openShare() {
    this.setData({showShare: true})
  },
@@ -33,6 +49,35 @@
  //     path: '/pages/index/index?id=' + productDetail.id + '&shareuserid=' + userInfo.id + '&type=0'
  //   }
  // },
  handleAction(e){
    const actionType = e.currentTarget.dataset.code
    const { info } = this.data
    actionDo({
      actionType,
      id: this.data.info.id
    }).then(res => {
      info.isCollection = !info.isCollection
      this.setData({info})
    })
  },
  getDetail(id) {
    getWholecaseInfo({id}).then(res => {
      this.setData({ info: res.data })
      wx.setNavigationBarTitle({
        title: res.data.title
     })
    })
  },
  handleDesign() {
    wx.navigateTo({
      url: '/pages/design/design',
    })
  },
  playVideo() {
    wx.previewMedia({
      sources: [{ url: this.data.info.video, type: 'video' }]
    })
  },
  onClose() {
    this.setData({showShare: false})
  },
wechat_jiaxuan/pages/detailDis/case.json
@@ -1,6 +1,7 @@
{
  "usingComponents": {
    "van-popup": "@vant/weapp/popup/index"
    "van-popup": "@vant/weapp/popup/index",
    "mp-html": "mp-html"
  },
  "navigationBarTitleText": ""
}
wechat_jiaxuan/pages/detailDis/case.less
@@ -15,9 +15,28 @@
  }
  .fullview_wrap {
    position: relative;
    .banner {
      width: 100%;
      border-radius: 8rpx;
    }
    .full{
      position: absolute;
      top: 32rpx;
      right: 32rpx;
      font-size: 20rpx;
      color: rgba(255,255,255,0.8);
      width: 112rpx;
      height: 42rpx;
      background: rgba(0,0,0,0.54);
      border-radius: 30rpx;
      display: flex;
      align-items: center;
      justify-content: center;
      .icon{
        width: 24rpx;
        margin-right: 4rpx;
      }
    }
  }
@@ -50,10 +69,14 @@
  .list{
    .item{
      .content{
        margin-top: 20rpx;
        font-weight: 300;
        font-size: 28rpx;
        color: #333333;
      }
      .img{
        width: 100%;
      }
    }
  }
wechat_jiaxuan/pages/detailDis/case.wxml
@@ -1,44 +1,39 @@
<view class="container">
  <view class="main_title">简欧风格70m²两居室</view>
  <view class="time">发布时间:2021-08-21 10:0</view>
  <view class="main_title">{{ info.title }}</view>
  <view class="time">发布时间:{{ info.publishDt }}</view>
  <view class="fullview_wrap">
    <image class="banner" src="../../static/icon/test.png" mode="widthFix"></image>
    <view bindtap="priviewFull" wx:if="{{ info.panorama }}" class="full">
      <image class="icon" src="../../static/icon/ic_720.png" mode="widthFix"></image>
      <text>全景</text>
    </view>
    <image class="banner" src="{{ info.coverImage }}" mode="widthFix"></image>
  </view>
  <view class="h1">布置图</view>
  <image class="img" src="../../static/icon/test.png"  mode="widthFix"></image>
  <image class="img" src="{{ info.layoutUlr }}"  mode="widthFix"></image>
  <view class="analysis">
    <view class="h2">案例解析</view>
    <view class="text">为保留入户的储纳空间,将卫生间的门移动一段距离,方便了入户贵的设置,储物间封闭做主卧衣帽间,增加空间使用率和房屋整体性。客厅的格局设计增加了空间的层次感。</view>
    <view class="text">{{ info.caseInfo }}</view>
  </view>
  <view class="list">
    <view class="item">
      <view class="h1">01.客厅</view>
      <image src="" mode="widthFix" />
      <view class="content">看惯了整齐划一的玻璃吊柜,金色框型玻门吊柜又是不一样的审美,边框微斜切入,左右对称分布,灯光映衬下,美味绚丽多姿</view>
    </view>
    <view class="item">
      <view class="h1">01.客厅</view>
      <image src="" mode="widthFix" />
      <view class="content">看惯了整齐划一的玻璃吊柜,金色框型玻门吊柜又是不一样的审美,边框微斜切入,左右对称分布,灯光映衬下,美味绚丽多姿</view>
    </view>
    <view class="item">
      <view class="h1">01.客厅</view>
      <image src="" mode="widthFix" />
      <view class="content">看惯了整齐划一的玻璃吊柜,金色框型玻门吊柜又是不一样的审美,边框微斜切入,左右对称分布,灯光映衬下,美味绚丽多姿</view>
    <view wx:for="{{ info.apiSpaceCaseVos }}" class="item">
      <view class="h1">{{ item.spaceName }}</view>
      <image class="img" wx:for="{{ item.imgList }}" wx:for-item="img" src="{{ img }}" mode="widthFix" />
      <view class="content">{{ item.spaceDesc }}</view>
    </view>
  </view>
  <!-- footer -->
  <view class="footer" style="padding-bottom: {{bottomLift}}px;">
    <view class="btns">
      <view class="item">
        <image class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image>
      <button class="item btn">
        <image data-code="like_cancel" bindtap="handleAction" wx:if="{{ info.isCollection }}" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image>
        <image wx:else data-code="like" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image>
        <view class="name">收藏</view>
      </view>
      <view class="item" bindtap="openShare">
      </button>
      <button open-type="share" class="item btn" bindtap="handleShare">
        <image class="icon" src="../../static/icon/detail_nav_share.png" mode="widthFix"></image>
        <view class="name">分享</view>
      </view>
      <view class="sub_btn">
      </button>
      <view class="sub_btn" bindtap="handleDesign">
        <image class="sheji" src="../../static/icon/ic_sheji.png" mode="widthFix"></image>
        <view>免费预约专属设计</view>
      </view>
wechat_jiaxuan/pages/detailDis/case.wxss
@@ -12,9 +12,30 @@
  color: #999999;
  margin-bottom: 48rpx;
}
.container .fullview_wrap {
  position: relative;
}
.container .fullview_wrap .banner {
  width: 100%;
  border-radius: 8rpx;
}
.container .fullview_wrap .full {
  position: absolute;
  top: 32rpx;
  right: 32rpx;
  font-size: 20rpx;
  color: rgba(255, 255, 255, 0.8);
  width: 112rpx;
  height: 42rpx;
  background: rgba(0, 0, 0, 0.54);
  border-radius: 30rpx;
  display: flex;
  align-items: center;
  justify-content: center;
}
.container .fullview_wrap .full .icon {
  width: 24rpx;
  margin-right: 4rpx;
}
.container .img {
  width: 100%;
@@ -41,10 +62,14 @@
  color: #333333;
}
.container .list .item .content {
  margin-top: 20rpx;
  font-weight: 300;
  font-size: 28rpx;
  color: #333333;
}
.container .list .item .img {
  width: 100%;
}
.spaceList .item {
  margin-bottom: 60rpx;
}
wechat_jiaxuan/pages/detailDis/product.js
@@ -35,7 +35,7 @@
      actionType,
      id: this.data.info.id
    }).then(res => {
      info.isCollection = info.isCollection || info.isCollection == 'true' ? 'false' : 'true'
      info.isCollection = !info.isCollection
      this.setData({info})
    })
  },
wechat_jiaxuan/pages/detailDis/realpic.js
@@ -1,4 +1,4 @@
import { shareContent } from '../../api/index'
import { getRealcaseInfo, actionDo } from '../../api/index'
Page({
  /**
@@ -6,6 +6,9 @@
   */
  data: {
    bottomLift: 0,
    id: '',
    info: {},
    member: {},
    showShare: false
  },
@@ -17,13 +20,59 @@
    this.setData({
      bottomLift: app.bottomLift
    })
    this.getDetail(options.id)
    actionDo({
      actionType: 'view',
      id: options.id
    })
    const member = wx.getStorageSync('member')
    this.setData({id: options.id, member})
  },
  handleAction(e){
    const actionType = e.currentTarget.dataset.code
    const { info } = this.data
    actionDo({
      actionType,
      id: this.data.info.id
    }).then(res => {
      info.isCollection = !info.isCollection
      this.setData({info})
    })
  },
  getDetail(id) {
    getRealcaseInfo({id}).then(res => {
      this.setData({ info: res.data })
      wx.setNavigationBarTitle({
        title: res.data.title
     })
    })
  },
  playVideo() {
    wx.previewMedia({
      sources: [{ url: this.data.info.video, type: 'video' }]
    })
  },
  bannerbindload(e) {
    const { height, width } = e.detail
    let activeHeight = height * 670 / width
    this.setData({
      bannerHeight: activeHeight
    })
  },
  handleDesign() {
    wx.navigateTo({
      url: '/pages/design/design',
    })
  },
  openShare() {
    this.setData({showShare: true})
  },
  handleShare() {
    console.log('点击了分享');
    shareContent(this.data.info.id)
    actionDo({ actionType: 'share', id: this.data.info.id })
    // shareContent({id: this.data.info.id || this.data.id}).then(res => {
    //   this.setData({showShare: false})
    // })
  },
  // onShareAppMessage: function () {
  //   // let { productDetail, userInfo } = this.data
@@ -35,31 +84,52 @@
  onClose() {
    this.setData({showShare: false})
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  handleDown() {
    let { info } = this.data
    wx.showToast({
      title: '下载中',
      icon: 'loading'
    })
    console.log('info.picUrls', info)
    wx.downloadFile({
      url: info.picUrls,
      success (res) {
        // console.log(res)
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath,
          success(data) {
            that.toSaveCaseShare()
            wx.showToast({
              title: '下载成功',
            })
          },
          fail(error) {
            console.log(error)
            wx.showToast({
              title: '下载失败',
              icon: 'error'
            })
          }
        })
      },
      fail (err) {
        console.log(err.errMsg)
        wx.showToast({
          title: '下载失败',
          icon: 'error'
        })
      }
    })
  },
  onHide() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload() {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
wechat_jiaxuan/pages/detailDis/realpic.less
@@ -1,6 +1,8 @@
.container {
  padding: 0 40rpx 220rpx;
  .info_item{
    width: 100%;
  }
  .main_title {
    font-weight: 500;
    font-size: 44rpx;
wechat_jiaxuan/pages/detailDis/realpic.wxml
@@ -1,32 +1,27 @@
<view class="container">
  <view class="main_title">简欧风格70m²两居室</view>
  <view class="time">发布时间:2021-08-21 10:0</view>
  <view class="list">
  <view class="main_title">{{ info.title }}</view>
  <view class="time">发布时间:{{ info.publishDt }}</view>
  <image class="info_item" wx:for="{{ info.contentImgList }}" src="{{ item }}" mode="widthFix"></image>
  <view>{{ info.contentText || '' }}</view>
  <!-- <view class="list">
    <view class="item">
      <image src="" mode="widthFix" />
      <view class="content">看惯了整齐划一的玻璃吊柜,金色框型玻门吊柜又是不一样的审美,边框微斜切入,左右对称分布,灯光映衬下,美味绚丽多姿</view>
    </view>
    <view class="item">
      <image src="" mode="widthFix" />
      <view class="content">看惯了整齐划一的玻璃吊柜,金色框型玻门吊柜又是不一样的审美,边框微斜切入,左右对称分布,灯光映衬下,美味绚丽多姿</view>
    </view>
    <view class="item">
      <image src="" mode="widthFix" />
      <view class="content">看惯了整齐划一的玻璃吊柜,金色框型玻门吊柜又是不一样的审美,边框微斜切入,左右对称分布,灯光映衬下,美味绚丽多姿</view>
    </view>
  </view>
  </view> -->
  <!-- footer -->
  <view class="footer" style="padding-bottom: {{bottomLift}}px;">
    <view class="btns">
      <view class="item">
        <image class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image>
      <button class="item btn">
        <image data-code="like_cancel" bindtap="handleAction" wx:if="{{ info.isCollection }}" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image>
        <image wx:else data-code="like" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image>
        <view class="name">收藏</view>
      </view>
      <view class="item" bindtap="openShare">
      </button>
      <button open-type="share" class="item btn" bindtap="handleShare">
        <image class="icon" src="../../static/icon/detail_nav_share.png" mode="widthFix"></image>
        <view class="name">分享</view>
      </view>
      <view class="sub_btn">
      </button>
      <view class="sub_btn" bindtap="handleDesign">
        <image class="sheji" src="../../static/icon/ic_sheji.png" mode="widthFix"></image>
        <view>免费预约专属设计</view>
      </view>
wechat_jiaxuan/pages/detailDis/realpic.wxss
@@ -1,6 +1,9 @@
.container {
  padding: 0 40rpx 220rpx;
}
.container .info_item {
  width: 100%;
}
.container .main_title {
  font-weight: 500;
  font-size: 44rpx;
wechat_jiaxuan/pages/discover/discover.js
@@ -6,7 +6,8 @@
   */
  data: {
    menuButtonInfo: {},
    catalogCode: "whole_case"
    catalogCode: "product_intro",
    activeCate: ''
  },
  onLoad(options) {
    let menuButtonInfo = wx.getMenuButtonBoundingClientRect();
wechat_jiaxuan/pages/discover/discover.less
@@ -1,4 +1,5 @@
.main_tab{
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 88rpx;
@@ -24,7 +25,14 @@
    }
  }
}
.home_tab{
  position: fixed;
  z-index: 999;
  width: 100%;
  background-color: #fff;
}
.container{
}
.main_content{
  padding-top: 200rpx;
}
wechat_jiaxuan/pages/discover/discover.wxml
@@ -1,22 +1,24 @@
<view class="container">
  <view style="height: {{ menuButtonInfo.top }}px;"></view>
  <view class="main_tab">
    <view class="item {{ catalogCode == 'product_intro' ? 'active' : '' }}" data-code="product_intro" bindtap="tabsClick">
      <view class="name">产品</view>
      <view class="border"></view>
    </view>
    <view class="item {{ catalogCode == 'whole_case' ? 'active' : '' }}" data-code="whole_case" bindtap="tabsClick">
      <view class="name">案例</view>
      <view class="border"></view>
    </view>
    <view class="item {{ catalogCode == 'real_case' ? 'active' : '' }}" data-code="real_case" bindtap="tabsClick">
      <view class="name">实景</view>
      <view class="border"></view>
  <view class="home_tab">
    <view style="height: {{ menuButtonInfo.top }}px;"></view>
    <view class="main_tab">
      <view class="item {{ catalogCode == 'product_intro' ? 'active' : '' }}" data-code="product_intro" bindtap="tabsClick">
        <view class="name">产品</view>
        <view class="border"></view>
      </view>
      <view class="item {{ catalogCode == 'whole_case' ? 'active' : '' }}" data-code="whole_case" bindtap="tabsClick">
        <view class="name">案例</view>
        <view class="border"></view>
      </view>
      <view class="item {{ catalogCode == 'real_case' ? 'active' : '' }}" data-code="real_case" bindtap="tabsClick">
        <view class="name">实景</view>
        <view class="border"></view>
      </view>
    </view>
  </view>
  <!--  -->
  <view class="main_content" style="height: calc( 100vh - {{menuButtonInfo.top}}px - 88rpx )">
    <disProduct wx:if="{{ catalogCode == 'product_intro' }}" />
    <disProduct catalogCode="{{activeCate}}" wx:if="{{ catalogCode == 'product_intro' }}" />
    <disCase wx:if="{{ catalogCode == 'whole_case' }}" />
    <disRealpic wx:if="{{ catalogCode == 'real_case' }}" />
  </view>
wechat_jiaxuan/pages/discover/discover.wxss
@@ -1,4 +1,5 @@
.main_tab {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 88rpx;
@@ -23,3 +24,12 @@
.main_tab .active .border {
  background: linear-gradient(270deg, rgba(255, 255, 255, 0.56) 0%, rgba(206, 144, 111, 0.88) 100%);
}
.home_tab {
  position: fixed;
  z-index: 999;
  width: 100%;
  background-color: #fff;
}
.main_content {
  padding-top: 200rpx;
}
wechat_jiaxuan/pages/homeId/index.js
@@ -23,11 +23,24 @@
    this.getList()
  },
  itemClick(e) {
    const { id } = e.target.dataset
    console.log(e.target.dataset);
    wx.navigateTo({
      url: '/pages/consult/detail',
    })
    const item = e.currentTarget.dataset.item
    console.log('item', item);
    if(item.contentType == 'video'){
      wx.previewMedia({
        sources: [{ url: item.content, type: 'video' }]
      })
    }
    if(item.contentType == 'link'){
      wx.navigateTo({
        url: '/pages/webView/index?link=' + item.content,
      })
    }
    if(item.contentType == 'page'){
      getApp().globalData.catalogCode=item.content
      wx.switchTab({
        url: '/pages/discover/discover'
      })
    }
  },
  cateClick(e) {
    const { code } = e.target.dataset
@@ -54,7 +67,7 @@
    const { code, tagCodes, pageSize, pageNum } = this.data
    pageZSZXContentList({
      catalogCode: code,
      tagCodes,
      tagCodes: tagCodes ? [tagCodes] : [],
      pageSize,
      pageNum
    }).then(res => {
wechat_jiaxuan/pages/homeId/index.less
@@ -1,6 +1,11 @@
.container {
  background-color: #fff;
}
.home_tabs{
  height: 80rpx;
  position: fixed;
  background-color: #fff;
}
.search_wrap{
  width: 670rpx;
  height: 72rpx;
@@ -54,7 +59,7 @@
  }
}
.content{
  padding: 0 40rpx 40rpx;
  padding: 80rpx 40rpx 40rpx;
  .item{
    margin-bottom: 60rpx;
    .img{
wechat_jiaxuan/pages/homeId/index.wxml
@@ -1,7 +1,7 @@
<view class="container">
  <!-- åˆ†ç±» -->
  <view>
  <view class="home_tabs">
    <scroll-view scroll-x="true" style="weight: 710rpx;margin-bottom: 30rpx;">
      <view class="scroll_cate">
        <view bindtap="cateClick" data-code="{{item.labelValueCode}}" wx:for="{{ tagList }}" class="item {{ tagCodes == item.labelValueCode ? 'active': '' }}">{{ item.labelValueName }}</view>
@@ -10,7 +10,7 @@
  </view>
  <!-- content -->
  <view class="content">
    <view wx:for="{{ dataList }}" class="item" bindtap="itemClick" data-abg="qwe">
    <view wx:for="{{ dataList }}" class="item" bindtap="itemClick" data-item="{{item}}">
      <image class="img" src="{{ item.coverImage }}" mode="widthFix"></image>
      <view class="title">{{ item.title }}</view>
      <view class="df_sb static">
wechat_jiaxuan/pages/homeId/index.wxss
@@ -1,6 +1,11 @@
.container {
  background-color: #fff;
}
.home_tabs {
  height: 80rpx;
  position: fixed;
  background-color: #fff;
}
.search_wrap {
  width: 670rpx;
  height: 72rpx;
@@ -50,7 +55,7 @@
  font-weight: 400;
}
.content {
  padding: 0 40rpx 40rpx;
  padding: 80rpx 40rpx 40rpx;
}
.content .item {
  margin-bottom: 60rpx;
wechat_jiaxuan/pages/index/index.js
@@ -59,14 +59,14 @@
  },
  changePath(e) {
    let index = e.currentTarget.dataset.type
    let that = this
    switch (index) {
      case '0':
        wx.navigateTo({
          url: '/pages/webView/index',
          success: function (res) {
            // é€šè¿‡eventChannel向被打开页面传送数据
            res.eventChannel.emit('acceptDataFromOpenerPage', { link: this.data.testUrl })
            // saveBehavior({ type: 1 })
            res.eventChannel.emit('acceptDataFromOpenerPage', { link: that.data.testUrl })
          }
        })
        break;
@@ -120,7 +120,7 @@
    // èµ„讯
    getZhongTaiProductNewsPage({
      catalogCode: 'product_info',
      pageSize: 5, pageNum: 1
      pageSize: 6, pageNum: 1
    }).then(res => {
      if(res.data){
        this.setData({ consultList: res.data.records })
@@ -193,7 +193,25 @@
  },
  bannerClick(e) {
    const { id } = e.currentTarget.dataset
    getHomeBannerDetail({id})
    const item = e.currentTarget.dataset.item
    console.log('item', item);
    if(item.openType == 'video'){
      wx.previewMedia({
        sources: [{ url: item.openContent, type: 'video' }]
      })
    }
    if(item.openType == 'link'){
      wx.navigateTo({
        url: '/pages/webView/index?link=' + item.openContent,
      })
    }
    if(item.openType == 'page'){
      getApp().globalData.catalogCode=item.openContent
      wx.switchTab({
        url: '/pages/discover/discover'
      })
    }
    // getHomeBannerDetail({id})
  },
  seriveClick(e) {
    const { id, title } = e.currentTarget.dataset
wechat_jiaxuan/pages/index/index.less
@@ -82,7 +82,7 @@
  // äº§å“è§†é¢‘
  .product_video {
    padding: 72rpx 40rpx;
    padding: 40rpx 40rpx;
    background-color: #fff;
    .video_wrap {
@@ -106,7 +106,7 @@
  }
  .strategy {
    padding: 80rpx 40rpx;
    padding: 40rpx 40rpx;
    background: #F7F7F7;
    .item {
@@ -158,7 +158,7 @@
  // å’¨è¯¢
  .consult {
    padding: 80rpx 40rpx 60rpx;
    padding: 40rpx 40rpx 60rpx;
    background: #fff;
  }
@@ -206,6 +206,13 @@
  }
}
.auth{
  background-color: #fff;
}
.home_title{
  font-weight: 600;
  font-size: 38rpx;
}
.top-head-transparent {
  background-color: transparent !important;
wechat_jiaxuan/pages/index/index.wxml
@@ -2,7 +2,7 @@
<view class="container">
  <van-nav-bar wx:if="{{ showWhiteHead }}" border="{{ topHeadBorder }}" custom-class="top-head" fixed custom-style="opacity: {{ topHeadStyle }}">
    <view slot="left" class="flex-cc search">
      <text  style="color: {{font_color}};">志邦家选</text>
      <text class="home_title" style="color: {{font_color}};">志邦家选</text>
      <van-icon name="search" size="23px" color="#fff" />
      <!-- <image src="/static/icon/home_ic_search_black.png" mode="widthFix"></image> -->
      <!-- <text>搜索</text> -->
@@ -10,14 +10,14 @@
  </van-nav-bar>
  <van-nav-bar wx:else border="{{ topHeadBorder }}" custom-class="top-head-transparent" fixed>
    <view slot="left" class="flex-cc search">
      <text style="color: {{font_color}};">志邦家选</text>
      <text class="home_title" style="color: {{font_color}};">志邦家选</text>
    </view>
  </van-nav-bar>
  <!-- banner轮播 -->
  <swiper class="banner_swiper" circular indicator-dots="{{ bannerSwiperOption.indicatorDots }}" autoplay="{{ bannerSwiperOption.autoplay }}" interval="{{ bannerSwiperOption.interval }}" style="height:{{bannerImgHeight}}rpx" duration="{{ bannerSwiperOption.duration }}">
    <block wx:for="{{ bannerList }}" wx:key="index">
      <swiper-item>
        <image data-id="{{ item.id }}" bindtap="bannerClick" bindload="bannerbindload" mode="widthFix" src="{{ item.coverImage }}"></image>
        <image data-item="{{ item }}" data-id="{{ item.id }}" bindtap="bannerClick" bindload="bannerbindload" mode="widthFix" src="{{ item.coverImage }}"></image>
      </swiper-item>
    </block>
  </swiper>
@@ -40,7 +40,9 @@
    </view>
  </view>
  <!--  -->
  <authCard type="{{ member.authStatus }}" />
  <view class="auth">
    <authCard type="{{ member.authStatus }}" />
  </view>
  <!-- <authCard type="1" /> -->
  <!-- äº§å“è§†é¢‘  -->
  <view class="product_video">
@@ -71,9 +73,9 @@
      </view>
    </view>
    <view class="line">
      <view class="line_left item" data-item="{{ ZSZXCata.jdId }}" bindtap="changeStrategy">
      <view class="line_left item" data-item="{{ ZSZXCata.qwsj }}" bindtap="changeStrategy">
        <image src="{{HOME_CLASS_A}}"></image>
        <text>{{ ZSZXCata.jdId.name }}</text>
        <text>{{ ZSZXCata.qwsj.name }}</text>
      </view>
      <view class="line_right">
        <view class="item" data-item="{{ ZSZXCata.cfsj }}" bindtap="changeStrategy">
@@ -86,9 +88,9 @@
        </view>
      </view>
    </view>
    <view data-item="{{ ZSZXCata.qwsj.code }}" bindtap="changeStrategy" class="home_id item">
    <view data-item="{{ ZSZXCata.jdId }}" bindtap="changeStrategy" class="home_id item">
      <image src="{{HOME_CLASS_C}}"></image>
      <text>{{ ZSZXCata.qwsj.name }}</text>
      <text>{{ ZSZXCata.jdId.name }}</text>
    </view>
  </view>
  <!-- å’¨è¯¢ -->
@@ -107,6 +109,7 @@
    <block wx:for="{{ consultList }}" wx:key="index">
      <swiper-item>
        <image bindload="consultbindload"  mode="widthFix" src="{{ item.coverImage }}"></image>
      </swiper-item>
    </block>
  </swiper>
wechat_jiaxuan/pages/index/index.wxss
@@ -69,7 +69,7 @@
  color: #666666;
}
.container .product_video {
  padding: 72rpx 40rpx;
  padding: 40rpx 40rpx;
  background-color: #fff;
}
.container .product_video .video_wrap {
@@ -88,7 +88,7 @@
  width: 100%;
}
.container .strategy {
  padding: 80rpx 40rpx;
  padding: 40rpx 40rpx;
  background: #F7F7F7;
}
.container .strategy .item {
@@ -128,7 +128,7 @@
  margin-top: 24rpx;
}
.container .consult {
  padding: 80rpx 40rpx 60rpx;
  padding: 40rpx 40rpx 60rpx;
  background: #fff;
}
.container .service {
@@ -167,6 +167,13 @@
  width: 44rpx;
  height: 44rpx;
}
.auth {
  background-color: #fff;
}
.home_title {
  font-weight: 600;
  font-size: 38rpx;
}
.top-head-transparent {
  background-color: transparent !important;
}
wechat_jiaxuan/pages/mine/mine.js
@@ -20,7 +20,8 @@
    const res = wx.getMenuButtonBoundingClientRect()
    this.setData({clientHeight: res.height})
    this.setData({clientTop: res.top})
  },
  onShow(){
    this.initData()
  },
  initData() {
@@ -71,13 +72,6 @@
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
  onReady() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow() {
  },
wechat_jiaxuan/pages/mine/mine.wxml
@@ -2,7 +2,7 @@
  <view class="navbar" style="padding-top: {{ clientTop }}px;height: {{clientHeight + clientTop}}px;">我的家</view>
  <image class="mine_bg" src="{{ MINE_BG }}" mode="widthFix"></image>
  <view class="userinfo">
    <image class="avatar" src="{{ imgurlFull ? imgurlFull : '../../static/images/default_avatar.png' }}"></image>
    <image class="avatar" src="{{ member.imgurl ? member.prefix + member.imgurl : '../../static/images/default_avatar.png' }}"></image>
    <view class="content">
      <view class="header">
        <view class="name">{{ member.nickname }}</view>
wechat_jiaxuan/pages/richText/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
import { getProductNewsInfo } from '../../api/index'
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    info: {}
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad(options) {
    this.getDetail(options.id)
  },
  getDetail(id) {
    getProductNewsInfo({id}).then(res => {
      this.setData({ info: res.data })
    })
  },
  onReady() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  onHide() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload() {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
  onShareAppMessage() {
  }
})
wechat_jiaxuan/pages/richText/index.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
{
  "usingComponents": {},
  "mp-html": "mp-html"
}
wechat_jiaxuan/pages/richText/index.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
<view>
  <mp-html content="{{info.content}}"></mp-html>
</view>
wechat_jiaxuan/pages/richText/index.wxss
wechat_jiaxuan/pages/store/staff.js
@@ -6,7 +6,7 @@
   */
  data: {
    bottomLift: 0,
    isShow: false,
    isShow: true,
    info: {}
  },
wechat_jiaxuan/pages/store/store.js
@@ -70,6 +70,12 @@
      url: `/pages/store/info?id=${id}`,
    })
  },
  userDetail(e) {
    const iamId =  e.currentTarget.dataset.id
    wx.navigateTo({
      url: `/pages/store/staff?id=${iamId}`,
    })
  },
  makePhone(e) {
    console.log('e', e);
    const phoneNumber = e.currentTarget.dataset.phone
wechat_jiaxuan/pages/store/store.less
@@ -56,19 +56,20 @@
        .left{
          flex: 1;
          .title{
            width: 520rpx;
            font-weight: 500;
            font-size: 32rpx; 
            width: 100%;
            white-space: nowrap;
            overflow: hidden;
            overflow: hidden;//文本超出隐藏
            text-overflow: ellipsis;
            margin-bottom: 16rpx;
          }
          .address{
            width: 520rpx;
            display: flex;
            align-items: center;
            white-space: nowrap;
            overflow: hidden;
            overflow: hidden;//文本超出隐藏
            text-overflow: ellipsis;
            font-size: 26rpx;
            color: #888888;
@@ -83,7 +84,7 @@
          font-size: 24rpx;
          color: #333333;
          text-align: center;
          margin-left: 80rpx;
          margin-left: 20rpx;
          .phone{
            width: 60rpx;
            margin-bottom: 4rpx;
wechat_jiaxuan/pages/store/store.wxml
@@ -15,7 +15,7 @@
          <view class="left">
            <view class="title" data-id="{{ item.id }}" bindtap="handleDetail">{{ item.name }}</view>
            <view class="address" data-id="{{ item.id }}" bindtap="handleDetail">
              <text wx:if="{{ item.distanceStr }}">{{ item.distanceStr }} | {{ item.address || '' }}</text>
              <text wx:if="{{ item.distanceStr }}">啊dasd飒飒安德森啊实打实的{{ item.distanceStr }} | {{ item.address || '' }}</text>
              <text wx:else>--</text>
              <image src="../../static/icon/arrow_right.png" mode="widthFix"></image>
            </view>
@@ -27,7 +27,7 @@
        </view>
        <scroll-view scroll-x style="width: 640rpx">
          <view class="user_list">
            <view class="item" wx:for="{{ item.usersList }}" wx:for-item="user">
            <view bindtap="userDetail" data-id="{{ item.iamId }}" class="item" wx:for="{{ item.usersList }}" wx:for-item="user">
              <view class="info">
                <image class="avatar" src="{{ user.imgurlFull }}" mode="widthFix"></image>
                <view class="text">
wechat_jiaxuan/pages/store/store.wxss
@@ -54,15 +54,16 @@
  flex: 1;
}
.main_content .shops .shop .header .left .title {
  width: 520rpx;
  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 {
  width: 520rpx;
  display: flex;
  align-items: center;
  white-space: nowrap;
@@ -80,7 +81,7 @@
  font-size: 24rpx;
  color: #333333;
  text-align: center;
  margin-left: 80rpx;
  margin-left: 20rpx;
}
.main_content .shops .shop .header .right .phone {
  width: 60rpx;
wechat_jiaxuan/pages/userinfo/collect.js
@@ -1,24 +1,71 @@
// pages/userinfo/collect.js
import {
  collectLikePage
} from '../../api/index'
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    activeTabs: '0'
  },
    activeTabs: 'product_intro',
  tabsChange(e) {
    const activeTabs = e.currentTarget.dataset.val
    this.setData({ activeTabs })
  },
  handleDetail(e) {
    wx.navigateTo({
      url: '/pages/detailDis/product',
    })
    dataList: [],
    total: 0,
    pageNum: 1,
    pageSize: 10,
  },
  onLoad(options) {
    this.getList()
  },
  onReachBottom() {
    if(this.data.total > this.data.dataset.length){
      this.setData({ pageNum: this.data.pageNum + 1 })
      this.getList()
    }
    // this.pageN
  },
  tabsChange(e) {
    const activeTabs = e.currentTarget.dataset.val
    this.setData({
      activeTabs,
      dataList: [],total: 0,pageNum: 1
    })
    this.getList()
  },
  handleDetail(e) {
    const id = e.currentTarget.dataset.id
    const { activeTabs } = this.data
    let url = ''
    if(activeTabs == 'product_intro'){
        url =  '/pages/detailDis/product'
    }else if(activeTabs == 'whole_case'){
      url =  '/pages/detailDis/case'
    }else{
      url =  '/pages/detailDis/realpic'
    }
    wx.navigateTo({
      url: `${url}?id=${id}`,
    })
  },
  getList() {
    const {
      pageSize,
      pageNum,
      activeTabs
    } = this.data
    collectLikePage({
      businessCategory: 'collect',
      businessType: activeTabs,
      pageSize,
      pageNum
    }).then(res => {
      if (res.data) {
        this.setData({
          dataList: [...this.data.dataset, ...res.data.records || []],
          total: res.data.total
        })
      }
    })
  },
  /**
@@ -59,9 +106,6 @@
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
wechat_jiaxuan/pages/userinfo/collect.wxml
@@ -1,53 +1,25 @@
<view class="container">
  <view class="tabs">
    <view class="item {{ activeTabs == '0' ? 'active' : '' }}" data-val="0" bindtap="tabsChange">
    <view class="item {{ activeTabs == 'product_intro' ? 'active' : '' }}" data-val="product_intro" bindtap="tabsChange">
      <view class="name">产品</view>
      <view class="border"></view>
    </view>
    <view class="item {{ activeTabs == '1' ? 'active' : '' }}" data-val="1" bindtap="tabsChange">
    <view class="item {{ activeTabs == 'whole_case' ? 'active' : '' }}" data-val="whole_case" bindtap="tabsChange">
      <view class="name">案例</view>
      <view class="border"></view>
    </view>
    <view class="item {{ activeTabs == '2' ? 'active' : '' }}" data-val="2" bindtap="tabsChange">
    <view class="item {{ activeTabs == 'real_case' ? 'active' : '' }}" data-val="real_case" bindtap="tabsChange">
      <view class="name">实景</view>
      <view class="border"></view>
    </view>
  </view>
  <view class="list">
    <view class="item" bindtap="handleDetail">
    <view data-id="{{ item.id }}" wx:for="{{ dataList }}" class="item" bindtap="handleDetail">
      <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>
        <image src="{{ item.thumbnailUrl }}" class="img"></image>
        <image wx:if="{{ false }}" 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" bindtap="handleDetail">
      <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" bindtap="handleDetail">
      <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="name">{{ item.displayName }}</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>
wechat_jiaxuan/pages/userinfo/index.js
@@ -1,7 +1,8 @@
import {
  uploadUrl,
  editMember,
  getMemberInfo
  getMemberInfo,
  getArea
} from '../../api/index'
Page({
@@ -19,8 +20,9 @@
    longitude: '',
    district: '',
    housearea: '',
    // åŸŽå¸‚。地址
    region: [],
    addr: {},
    areaData: [],
    showHouseType: false,
    houseType: {
@@ -45,13 +47,15 @@
      longitude,
      district,
      housearea,
      houseType
      houseType,
      addr
    } = this.data
    if (!nickname) return wx.showToast({
      title: '请输入昵称',
      icon: 'none'
    })
    editMember({
      ...addr,
      imgurl: imgurl || '',
      name: name || '',
      nickname: nickname || '',
@@ -93,7 +97,40 @@
        longitude: res.data.longitude || '',
        district: res.data.district || '',
        housearea: res.data.housearea || '',
        addr: {
          provinceCode: res.data.provinceCode,
          provinceName: res.data.provinceName,
          cityCode: res.data.cityCode,
          cityName: res.data.cityName,
          areaCode: res.data.areaCode,
          areaName: res.data.areaName,
        }
      })
    })
    getArea().then(res => {
      this.setData({ areaData: res.data })
    })
  },
  positionChange (e) {
    console.log(e.detail.value)
    const names = e.detail.value
    const codes = e.detail.code
    let addr = {
      provinceCode: codes[0] + '00',
      provinceName: names[0],
      cityCode: codes[1] + '00',
      cityName: names[1],
      areaCode: codes[2] + '00',
      areaName: names[2],
    }
    this.setData({ addr })
  },
  bindRegionChange(e) {
    console.log('picker发送选择改变,携带值为', e.detail.value)
    const temp = e.detail.value
    this.setData({
      region: e.detail.value
    })
  },
  changeAddr() {
@@ -107,12 +144,6 @@
          address: res.address,
        })
      }
    })
  },
  bindRegionChange(e) {
    console.log('picker发送选择改变,携带值为', e.detail.value)
    this.setData({
      region: e.detail.value
    })
  },
  openHouse() {
wechat_jiaxuan/pages/userinfo/index.wxml
@@ -18,9 +18,10 @@
      <view class="label">城市</view>
      <view class="val">
        <view class="df_ac">
          <picker mode="region" bindchange="bindRegionChange" value="{{region}}">
            <view class="picker {{ region.length > 0 ? '' : 'placeholder9' }}">
              {{ region.length == 0 ? '选择城市' : '' }}{{region[0]}}{{region[1]}}{{region[2]}}
          <picker mode="region" value="{{ addr }}" bindchange="bindRegionChange" bindchange="positionChange">
            <view class="placeholder9" hidden="{{ addr.cityName }}">请选择地址</view>
            <view class="picker" hidden="{{ !addr.cityName }}">
              {{ addr.provinceName }}{{ addr.cityName }}{{ addr.areaName }}
            </view>
          </picker>
        </view>
wechat_jiaxuan/pages/userinfo/mysub.js
@@ -5,7 +5,7 @@
   * é¡µé¢çš„初始数据
   */
  data: {
    activeTabs: '0',
    activeTabs: '1',
    dataList: [],
    total: 0,
@@ -20,16 +20,19 @@
    this.getList()
  },
  getList() {
    const { page,  capacity} = this.data
    const { page,  capacity, activeTabs} = this.data
    customerLogPage({
      model: {},page,capacity
      model: {
        type: activeTabs
      },page,capacity
    }).then(res => {
      this.setData({ dataList: res.data.records })
    })
  },
  tabsChange(e) {
    const activeTabs = e.currentTarget.dataset.val
    this.setData({ activeTabs })
    this.setData({ activeTabs, dataList: [], total: 0, page: 0,  })
    this.getList()
  },
  /**
wechat_jiaxuan/pages/userinfo/mysub.wxml
@@ -4,106 +4,55 @@
      <view class="name">需求</view>
      <view class="border"></view>
    </view> -->
    <view class="item {{ activeTabs == '0' ? 'active' : '' }}" data-val="1" bindtap="tabsChange">
    <view class="item {{ activeTabs == '1' ? 'active' : '' }}" data-val="1" bindtap="tabsChange">
      <view class="name">预约量尺</view>
      <view class="border"></view>
    </view>
    <view class="item {{ activeTabs == '1' ? 'active' : '' }}" data-val="2" bindtap="tabsChange">
    <view class="item {{ activeTabs == '2' ? 'active' : '' }}" data-val="2" bindtap="tabsChange">
      <view class="name">预算</view>
      <view class="border"></view>
    </view>
  </view>
  <view class="list">
    <view class="item">
    <view class="item" wx:for="{{ dataList }}">
      <view class="header">
        <view class="name">name</view>
        <view class="phone">198898</view>
        <view class="name">{{ item.name }}</view>
        <view class="phone">{{ item.phone }}</view>
      </view>
      <block wx:if="{{ false }}">
        <view class="line">
          <view class="label"><text class="spe">性</text>别</view>
          <view class="val">男</view>
        </view>
        <view class="line">
          <view class="label"><text class="spe">å¹´</text>龄</view>
          <view class="val">男</view>
        </view>
      <block wx:if="{{ activeTabs == '1' }}">
        <view class="line">
          <view class="label">所在城市</view>
          <view class="val">男</view>
        </view>
        <view class="line">
          <view class="label">户型信息</view>
          <view class="val">男</view>
          <view class="val">
            <text>{{ item.provinceName }}{{ item.cityName }}{{ item.areaName || '' }}</text>
          </view>
        </view>
      </block>
      <!-- é¢„ç®— -->
      <block wx:if="{{ true }}">
      <block wx:else>
        <view class="line">
          <view class="label">房屋类型</view>
          <view class="val">男</view>
          <view class="val">{{ item.houseStatus == '0' ? '精装' : '毛坯' }}</view>
        </view>
        <view class="line">
          <view class="label">户型信息</view>
          <view class="val">男</view>
          <view wx:if="{{ item.houseType == '0' }}" class="val">一室一厅</view>
          <view wx:if="{{ item.houseType == '1' }}" class="val">二室一厅</view>
          <view wx:if="{{ item.houseType == '2' }}" class="val">两室两厅</view>
          <view wx:if="{{ item.houseType == '3' }}" class="val">三室一厅</view>
          <view wx:if="{{ item.houseType == '4' }}" class="val">四室一厅</view>
          <view wx:if="{{ item.houseType == '5' }}" class="val">五室两厅及以上</view>
        </view>
        <view class="line">
          <view class="label">房屋面积</view>
          <view class="val">男</view>
          <view class="val">{{ item.area }}</view>
        </view>
        <view class="line">
          <view class="label">装修预算</view>
          <view class="label">{{ item.budget }}</view>
          <view class="val">男</view>
        </view>
      </block>
      <view class="time">
        <view>提交时间:123213</view>
      </view>
    </view>
    <view class="item">
      <view class="header">
        <view class="name">name</view>
        <view class="phone">198898</view>
      </view>
      <block wx:if="{{ false }}">
        <view class="line">
          <view class="label"><text class="spe">性</text>别</view>
          <view class="val">男</view>
        </view>
        <view class="line">
          <view class="label"><text class="spe">å¹´</text>龄</view>
          <view class="val">男</view>
        </view>
        <view class="line">
          <view class="label">所在城市</view>
          <view class="val">男</view>
        </view>
        <view class="line">
          <view class="label">户型信息</view>
          <view class="val">男</view>
        </view>
      </block>
      <!-- é¢„ç®— -->
      <block wx:if="{{ true }}">
        <view class="line">
          <view class="label">房屋类型</view>
          <view class="val">男</view>
        </view>
        <view class="line">
          <view class="label">户型信息</view>
          <view class="val">男</view>
        </view>
        <view class="line">
          <view class="label">房屋面积</view>
          <view class="val">男</view>
        </view>
        <view class="line">
          <view class="label">装修预算</view>
          <view class="val">男</view>
        </view>
      </block>
      <view class="time">
        <view>提交时间:123213</view>
        <view>提交时间:{{ item.crmDate }}</view>
      </view>
    </view>
  </view>
wechat_jiaxuan/pages/webView/index.js
@@ -1,8 +1,5 @@
// 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({
  /**
@@ -12,134 +9,23 @@
    hasUserInfo: true,
    userInfo: {},
    id: '',
    link: 'https://m.zbom.com/mobile/styleTest.html?type=1'
    link: ''
  },
  // æ›´æ–°ç”¨æˆ·ä¿¡æ¯
  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 })
        // saveBannerLookNum({ id: data.id })
      })
    }
    // // ç›‘听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
    // eventChannel.on('acceptDataFromOpenerPage', function(data) {
    //   if (data.title)  wx.setNavigationBarTitle({ title: data.title })
    //   that.setData({ link: data.link })
    // })
  },
  /**
@@ -149,12 +35,6 @@
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow: function () {
    this.getWxUserInfo()
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
wechat_jiaxuan/pages/webView/index.wxml
@@ -1,42 +1,5 @@
<!--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/project.private.config.json
@@ -5,7 +5,7 @@
    "urlCheck": false
  },
  "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json ä¸­çš„相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
  "libVersion": "3.4.10",
  "libVersion": "3.5.0",
  "condition": {
    "miniprogram": {
      "list": [
@@ -53,8 +53,8 @@
        },
        {
          "name": "",
          "pathName": "pages/store/store",
          "query": "code=zb_deco_jdid&name=家的iD",
          "pathName": "pages/homeId/index",
          "query": "code=zb_deco_jdid&name=%E5%AE%B6%E7%9A%84iD",
          "launchMode": "default",
          "scene": null
        }
wechat_jiaxuan/static/icon/ic_720.png
wechat_jiaxuan/utils/config.js
@@ -1,8 +1,8 @@
// export const baseUrl = 'https://jiaxuan.zbom.com/jx/wechat/' //正式服务器
export const baseUrl = 'http://192.168.0.135:10027' // æœ¬åœ°
// export const baseUrl = 'http://zbtest.ahapp.net/zbom_interface/jx/wechat/' //测试服务器
// export const baseUrl = 'http://192.168.0.135:10027' // æœ¬åœ°
export const baseUrl = 'https://dmtest.ahapp.net/web_interface' //测试服务器
// export const imageUrl = 'https://osswebcdn.zbom.com/jiaxuan/images/'
wechat_jiaxuan/utils/request.js
@@ -1,4 +1,5 @@
import { baseUrl } from "./config"
import { wxLoginCustomer } from '../api/index'
export function request(options){
  let loading = options.loading || '1' // é»˜è®¤å€¼1显示,否则不显示
@@ -19,9 +20,37 @@
        if (res.data.code === 200) {
          resolve(res.data || true)
        } else {
          if(res.data.code == 5111 && res.data.code == 5112){
            wx.navigateTo({
              url: '/pages/auth/auth',
          // if(res.data.code == 5112){
          //   wx.navigateTo({
          //     url: '/pages/auth/auth ',
          //   })
          // }
          if(res.data.code == 5111 || res.data.code == 5112){
            wx.login({
              timeout: 5000,
              success(res) {
                if (res.code) {
                  //发起网络请求
                  wxLoginCustomer({
                    code: res.code
                  }).then(res => {
                    console.log(res)
                    if (res && res.data.member) {
                      wx.setStorageSync('member', res.data.member)
                      wx.setStorageSync('openid', res.data.member.openid)
                      wx.setStorageSync('sessionKey', res.data.sessionKey)
                      wx.setStorageSync('token', res.data.token)
                    } else {
                      console.log('登录失败!')
                    }
                  })
                } else {
                  console.log('登录失败!' + res)
                }
              },
              fail(err) {
                console.log(err)
              }
            })
          }
          res.data.message && wx.showToast({