k94314517
2024-07-24 a924e3906a3b77f04ac4fedcff9e76ebe0c997a2
Merge remote-tracking branch 'origin/master'
已修改23个文件
719 ■■■■ 文件已修改
wechat_jiaxuan/app.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/components/detailFooter/index.js 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/components/detailFooter/index.json 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/components/detailFooter/index.less 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/components/detailFooter/index.wxml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/components/detailFooter/index.wxss 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/detailDis/case.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/detailDis/case.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/detailDis/case.wxml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/detailDis/product.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/detailDis/product.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/detailDis/realpic.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/detailDis/realpic.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/detailDis/realpic.wxml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/download/index.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/fond.js 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/fond.json 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/fond.less 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/fond.wxml 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/fond.wxss 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/store/staff.wxml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/work/index.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/app.js
@@ -6,7 +6,15 @@
    primary: '#B08771',
    bottomLift: ''
  },
  onLaunch: function () {
  onLaunch: function (op) {
    console.log('options', op.query.scene);
    let pathMap = [
      '/pages/detailDis/product',
      '/pages/detailDis/case',
      '/pages/detailDis/realpic',
      '/pages/consult/detail',
      '/pages/productVideo/index',
    ]
    //获取当前设备信息
    const WindowInfo = wx.getWindowInfo()
    if (WindowInfo.safeArea.top > 20) {
@@ -27,6 +35,12 @@
              wx.setStorageSync('openid', res.data.member.openid)
              wx.setStorageSync('sessionKey', res.data.sessionKey)
              wx.setStorageSync('token', res.data.token)
              if(op.query.scene){
                let temp = op.query.scene.split('&')
                wx.navigateTo({
                  url: `${pathMap[temp[1]]}?id=${temp[0]}`,
                })
              }
            } else {
              console.log('登录失败!')
            }
wechat_jiaxuan/components/disProduct/index.js
@@ -138,7 +138,6 @@
        secondCateList[activeIndex].paramIndex = -1
        secondCateList[activeIndex].paramName = ''
      }
      this.setData({ pageNum: 1,datalist: [],total: 0})
      this.setData({ tagCodes, secondCateList })
    },
    changeShowParams(e){
@@ -154,7 +153,6 @@
          activeParam: secondCateList[activeIndex].valueVos
        })
      }
      console.log('activeParam', this.data.activeParam);
      // this.setData({showTwo: false})
    },
    cancelParam() {
wechat_staff/components/detailFooter/index.js
@@ -1,4 +1,8 @@
import { getContentShareImg } from '../../api/index'
import {
  getContentShareImg
} from '../../api/index'
const { HYEventBus } = require('hy-event-store')
const eventBus = new HYEventBus()
Component({
  /**
   * 组件的属性列表
@@ -13,7 +17,12 @@
   */
  data: {
    bottomLift: 0,
    showShare: false
    showShare: false,
    isShowPoster: false,
    posterUrl: '',
    leftIcon: '<<',
    rightIcon: '>>',
  },
  attached() {
    var app = getApp().globalData
@@ -23,34 +32,90 @@
  },
  methods: {
    handleEnjoy() {
      const { info } = this.data
      const {
        info
      } = this.data
      this.triggerEvent('enjoy', {
        type: 'enjoy', flag: !info.isEnjoy
        type: 'enjoy',
        flag: !info.isEnjoy
      })
    },
    handleCollec() {
      const { info } = this.data
      const {
        info
      } = this.data
      this.triggerEvent('enjoy', {
        type: 'collec', flag: !info.isCollection
        type: 'collec',
        flag: !info.isCollection
      })
    },
    handleDown() {
      const { info, path } = this.data
      const {
        info,
        path
      } = this.data
      let that = this
      getContentShareImg({
        articleId: info.id,
        articleId: path + '&' + info.id,
        type: '1',
        pageUrl: path,
        // pageUrl: path,
        imgurl: info.coverImage,
      }).then(res => {
        this.setData({
          isShowPoster: true,
          showShare: false,
          posterUrl: res.data
        })
      })
    },
    saveCard() {
      let that = this
      const posterUrl = this.data.posterUrl
      wx.downloadFile({
        url: posterUrl,
        success: function (res) {
          console.log('下载成功', res);
          wx.saveImageToPhotosAlbum({
            filePath: res.tempFilePath,
            success(result) {
              console.log(result)
              that.setData({
                isShowPoster: false
              })
              wx.showToast({
                title: '保存成功',
                icon: 'success',
                duration: 2000
              })
            }
          })
        }
      })
    },
    batchDown() {
      setTimeout(() => {
        eventBus.emit('batchDown', [1,2,3])
      }, 1000)
      wx.navigateTo({
        url: '/pages/download/index',
      })
    },
    closeCard() {
      this.setData({ isShowPoster: false })
    },
    openShare() {
      console.log('点击打开');
      this.setData({ showShare: true })
      this.setData({
        showShare: true
      })
    },
    onClose() {
      console.log('点击关闭');
      this.setData({ showShare: false })
      this.setData({
        showShare: false
      })
    },
  }
})
})
wechat_staff/components/detailFooter/index.json
@@ -1,4 +1,6 @@
{
  "component": true,
  "usingComponents": {}
  "usingComponents": {
    "van-overlay": "@vant/weapp/overlay/index"
  }
}
wechat_staff/components/detailFooter/index.less
@@ -98,4 +98,61 @@
  height: 100%;
  z-index: 1000;
  background-color: rgba(0,0,0,.5);
}
.card_wrap{
  position: fixed;
  border-radius: 8rpx;
  top: 50%;
  left: 75rpx;
  transform: translate(0, -50%);
  width: 600rpx;
  background-color: rgba(0, 0, 0, .2);
  z-index: 99999;
  .img1{
    image{
      width: 600rpx;
      border-radius: 8rpx ;
    }
  }
  .content{
    width: 600rpx;
    height: 308rpx;
    padding: 26rpx 0 40rpx;
    background: rgba(255,255,255,0.8);
    border-radius: 16rpx;
    margin-top: 24rpx;
    text-align: center;
    .title{
      font-weight: 500;
      font-size: 30rpx;
      margin-bottom: 20rpx;
    }
    .line{
      font-size: 26rpx;
      color: #333333;
      line-height: 36rpx;
    }
  }
  .btns{
    margin-top: 30rpx;
    display: flex;
    justify-content: space-between;
    width: 100%;
    .btn{
      width: 160rpx;
      height: 88rpx;
      border-radius: 8rpx;
      border: 2rpx solid #FFFFFF;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
    }
    .save{
      width: 420rpx;
      margin-left: 20rpx;
      border: none;
      background: linear-gradient( 180deg, #E0B49C 0%, #B68B74 100%);
    }
  }
}
wechat_staff/components/detailFooter/index.wxml
@@ -12,7 +12,7 @@
          <image wx:else src="../../static/icon/detail_nav_collect.png"></image>
          <text>收藏</text>
        </view>
        <view bindtap="handleDown" class="item">
        <view bindtap="batchDown" class="item">
          <image src="../../static/icon/detail_nav_download@2x.png"></image>
          <text>下载</text>
        </view>
@@ -35,4 +35,24 @@
    <view bindtap="onClose" class="cancel">取消</view>
  </view>
  <view wx:if="{{ showShare }}" class="shade" bindtap="onClose"></view>
  <!--  -->
  <view wx:if="{{ isShowPoster }}" class="card_wrap">
    <view class="img1">
      <image mode="widthFix" src="{{posterUrl}}"></image>
    </view>
    <view class="content">
      <view class="title">—— 分享话术 ——</view>
      <view class="line">{{ rightIcon }}精品案例{{ leftIcon }}</view>
      <view class="line">🥇精益求精,品质生活🥇</view>
      <view class="line">汇集全国优秀设计师获奖案例</view>
      <view class="line">👉各种风格灵感案例上万套👈</view>
      <view class="line">总有一套能打动您,适合您</view>
    </view>
    <view class="btns">
      <view class="btn" bind:tap="closeCard">取消</view>
      <view class="btn save" bind:tap="saveCard">复制话术并保存海报</view>
    </view>
  </view>
  <van-overlay z-index="99998" show="{{ isShowPoster }}" bind:click="onClickHide" />
</view>
wechat_staff/components/detailFooter/index.wxss
@@ -95,3 +95,58 @@
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.5);
}
.card_wrap {
  position: fixed;
  border-radius: 8rpx;
  top: 50%;
  left: 75rpx;
  transform: translate(0, -50%);
  width: 600rpx;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 99999;
}
.card_wrap .img1 image {
  width: 600rpx;
  border-radius: 8rpx ;
}
.card_wrap .content {
  width: 600rpx;
  height: 308rpx;
  padding: 26rpx 0 40rpx;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 16rpx;
  margin-top: 24rpx;
  text-align: center;
}
.card_wrap .content .title {
  font-weight: 500;
  font-size: 30rpx;
  margin-bottom: 20rpx;
}
.card_wrap .content .line {
  font-size: 26rpx;
  color: #333333;
  line-height: 36rpx;
}
.card_wrap .btns {
  margin-top: 30rpx;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.card_wrap .btns .btn {
  width: 160rpx;
  height: 88rpx;
  border-radius: 8rpx;
  border: 2rpx solid #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}
.card_wrap .btns .save {
  width: 420rpx;
  margin-left: 20rpx;
  border: none;
  background: linear-gradient(180deg, #E0B49C 0%, #B68B74 100%);
}
wechat_staff/pages/detailDis/case.js
@@ -49,6 +49,42 @@
  //     path: '/pages/index/index?id=' + productDetail.id + '&shareuserid=' + userInfo.id + '&type=0'
  //   }
  // },
  handleEnjoy(e) {
    const enjoyList = wx.getStorageSync('enjoyList') || []
    const { type, flag } = e.detail
    console.log('type', type);
    console.log('flag', flag);
    const info = this.data.info
    if(type == 'enjoy'){
      // 点击了喜欢
      const index = enjoyList.findIndex( i => i.id === info.id )
      if(index === -1){
        info.isEnjoy = true
        this.setData({ info })
        enjoyList.push({
          ...info,
          joinType: 'product',
          timestamp: new Date().getTime()
        })
      }else{
        info.isEnjoy = false
        this.setData({ info })
        enjoyList.splice(index, 1)
      }
      wx.setStorageSync('enjoyList', enjoyList)
    }else{
      actionDo({
        id: info.id,
        actionType: flag ? 'collect' : 'collect_cancel'
      }).then(res => {
        info.isCollection = flag
        wx.showToast({title: flag ? '收藏成功' : '取消收藏'})
        this.setData({
          info
        })
      })
    }
  },
  handleAction(e){
    const actionType = e.currentTarget.dataset.code
    const { info } = this.data
wechat_staff/pages/detailDis/case.json
@@ -2,7 +2,8 @@
  "usingComponents": {
    "van-popup": "@vant/weapp/popup/index",
    "mp-html": "mp-html",
    "buoyClient": "../../components/buoyClient/index"
    "buoyClient": "../../components/buoyClient/index",
    "detailFooter": "../../components/detailFooter/index"
  },
  "navigationBarTitleText": ""
}
wechat_staff/pages/detailDis/case.wxml
@@ -1,5 +1,6 @@
<view class="container">
  <buoyClient showPurpose="1" />
  <detailFooter bindenjoy="handleEnjoy" path="1" info="{{info}}" />
  <view class="main_title">{{ info.title }}</view>
  <view class="time">发布时间:{{ info.publishDt }}</view>
  <view class="fullview_wrap">
wechat_staff/pages/detailDis/product.js
@@ -71,24 +71,6 @@
      })
    }
  },
  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
      })
      wx.showToast({
        title: actionType == 'collect' ? '收藏成功' : '取消收藏',
      })
    })
  },
  onShareAppMessage() {
    console.log('用户点击了分享');
  },
@@ -211,10 +193,4 @@
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
  }
})
wechat_staff/pages/detailDis/product.wxml
@@ -1,6 +1,6 @@
<view class="main_app">
  <buoyClient showPurpose="1" />
  <detailFooter bindenjoy="handleEnjoy" path="/pages/detailDis/product" info="{{info}}" />
  <detailFooter bindenjoy="handleEnjoy" path="0" info="{{info}}" />
  <!-- banner轮播 -->
  <swiper class="banner_swiper" circular indicator-dots autoplay style="height:{{bannerHeight}}rpx" duration>
    <block wx:for="{{ info.bannerImgList }}">
wechat_staff/pages/detailDis/realpic.js
@@ -42,6 +42,42 @@
      this.setData({info})
    })
  },
  handleEnjoy(e) {
    const enjoyList = wx.getStorageSync('enjoyList') || []
    const { type, flag } = e.detail
    console.log('type', type);
    console.log('flag', flag);
    const info = this.data.info
    if(type == 'enjoy'){
      // 点击了喜欢
      const index = enjoyList.findIndex( i => i.id === info.id )
      if(index === -1){
        info.isEnjoy = true
        this.setData({ info })
        enjoyList.push({
          ...info,
          joinType: 'product',
          timestamp: new Date().getTime()
        })
      }else{
        info.isEnjoy = false
        this.setData({ info })
        enjoyList.splice(index, 1)
      }
      wx.setStorageSync('enjoyList', enjoyList)
    }else{
      actionDo({
        id: info.id,
        actionType: flag ? 'collect' : 'collect_cancel'
      }).then(res => {
        info.isCollection = flag
        wx.showToast({title: flag ? '收藏成功' : '取消收藏'})
        this.setData({
          info
        })
      })
    }
  },
  getDetail(id) {
    getRealcaseInfo({id}).then(res => {
      this.setData({ info: res.data })
wechat_staff/pages/detailDis/realpic.json
@@ -1,7 +1,8 @@
{
  "usingComponents": {
    "van-popup": "@vant/weapp/popup/index",
    "buoyClient": "../../components/buoyClient/index"
    "buoyClient": "../../components/buoyClient/index",
    "detailFooter": "../../components/detailFooter/index"
  },
  "navigationBarTitleText": ""
}
wechat_staff/pages/detailDis/realpic.wxml
@@ -1,5 +1,7 @@
<view class="container">
  <buoyClient showPurpose="1" />
  <detailFooter bindenjoy="handleEnjoy" path="2" info="{{info}}" />
  <!--  -->
  <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>
wechat_staff/pages/download/index.js
@@ -1,4 +1,6 @@
// pages/download/index.js
const { HYEventBus } = require('hy-event-store')
const eventBus = new HYEventBus()
Page({
  /**
@@ -22,14 +24,15 @@
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    eventBus.on('batchDown', val => {
      console.log('val', val);
    })
  },
  /**
wechat_staff/pages/kefu/fond.js
@@ -46,49 +46,78 @@
    console.log('enjoyList', temp);
  },
  onReady() {
  itemCheck(e){
    const { enjoyList } = this.data
    const { index, inde } = e.currentTarget.dataset
    enjoyList[index].list[inde].check = !enjoyList[index].list[inde].check
    this.setData({ enjoyList })
  },
  handleDown() {
    const {
      info,
      path
    } = this.data
    let that = this
    getContentShareImg({
      articleId: path + '&' + info.id,
      type: '1',
      // pageUrl: path,
      imgurl: info.coverImage,
    }).then(res => {
      this.setData({
        isShowPoster: true,
        showShare: false,
        posterUrl: res.data
      })
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    })
  },
  saveCard() {
    let that = this
    const posterUrl = this.data.posterUrl
    wx.downloadFile({
      url: posterUrl,
      success: function (res) {
        console.log('下载成功', res);
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath,
          success(result) {
            console.log(result)
            that.setData({
              isShowPoster: false
            })
            wx.showToast({
              title: '保存成功',
              icon: 'success',
              duration: 2000
            })
          }
        })
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
      }
    })
  },
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
  batchDown() {
    setTimeout(() => {
      eventBus.emit('batchDown', [1,2,3])
    }, 800)
    wx.navigateTo({
      url: '/pages/download/index',
    })
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  closeCard() {
    this.setData({ isShowPoster: false })
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  openShare() {
    console.log('点击打开');
    this.setData({
      showShare: true
    })
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
  }
  onClose() {
    console.log('点击关闭');
    this.setData({
      showShare: false
    })
  },
})
wechat_staff/pages/kefu/fond.json
@@ -1,4 +1,6 @@
{
  "usingComponents": {},
  "usingComponents": {
    "van-overlay": "@vant/weapp/overlay/index"
  },
  "navigationBarTitleText": "客户喜欢"
}
wechat_staff/pages/kefu/fond.less
@@ -23,6 +23,7 @@
    margin-bottom: 30rpx;
    .icon{
      width: 40rpx;
      height: 40rpx;
    }
    .content{
      flex: 1;
@@ -101,4 +102,105 @@
      }
    }
  }
}
.shade_modal{
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 9999;
  background-color: #fff;
  border-radius: 24rpx 24rpx 0rpx 0rpx;
  .btns{
    display: flex;
    height: 264rpx;
    display: flex;
    align-items: center;
    padding: 0 40rpx;
    .item{
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      flex: 1;
      font-size: 26rpx;
      background-color: #fff;
      image{
        width: 80rpx;
        height: 80rpx;
        margin-bottom: 10rpx;
      }
    }
  }
  .cancel{
    height: 100rpx;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1rpx solid #e5e5e5;
  }
}
.shade{
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: rgba(0,0,0,.5);
}
.card_wrap{
  position: fixed;
  border-radius: 8rpx;
  top: 50%;
  left: 75rpx;
  transform: translate(0, -50%);
  width: 600rpx;
  background-color: rgba(0, 0, 0, .2);
  z-index: 99999;
  .img1{
    image{
      width: 600rpx;
      border-radius: 8rpx ;
    }
  }
  .content{
    width: 600rpx;
    height: 308rpx;
    padding: 26rpx 0 40rpx;
    background: rgba(255,255,255,0.8);
    border-radius: 16rpx;
    margin-top: 24rpx;
    text-align: center;
    .title{
      font-weight: 500;
      font-size: 30rpx;
      margin-bottom: 20rpx;
    }
    .line{
      font-size: 26rpx;
      color: #333333;
      line-height: 36rpx;
    }
  }
  .btns{
    margin-top: 30rpx;
    display: flex;
    justify-content: space-between;
    width: 100%;
    .btn{
      width: 160rpx;
      height: 88rpx;
      border-radius: 8rpx;
      border: 2rpx solid #FFFFFF;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
    }
    .save{
      width: 420rpx;
      margin-left: 20rpx;
      border: none;
      background: linear-gradient( 180deg, #E0B49C 0%, #B68B74 100%);
    }
  }
}
wechat_staff/pages/kefu/fond.wxml
@@ -1,10 +1,10 @@
<view class="container">
  <view wx:for="{{ enjoyList }}" wx:for-item="day" class="date_item">
  <view wx:for="{{ enjoyList }}" wx:for-item="day" wx:for-index="index" class="date_item">
    <view class="date">{{ day.joinDate }}</view>
    <view class="list">
      <view class="line" wx:for="{{ day.list }}" wx:for-item="item">
        <image wx:if="{{ item.check }}" class="icon" src="../../static/icon/ic_select_sel@2x.png" mode="widthFix"></image>
        <image wx:else class="icon" src="../../static/icon/ic_select@2x.png" mode="widthFix"></image>
      <view class="line" wx:for="{{ day.list }}" wx:for-index="inde" wx:for-item="item">
        <image data-index="{{index}}" data-inde="{{inde}}" bindtap="itemCheck" wx:if="{{ item.check }}" class="icon" src="../../static/icon/ic_select_sel@2x.png"></image>
        <image data-index="{{index}}" data-inde="{{inde}}" bindtap="itemCheck" wx:else class="icon" src="../../static/icon/ic_select@2x.png"></image>
        <image class="img" src="{{ item.coverImage }}" mode="aspectFill"></image>
        <view class="content">
          <view class="name">{{ item.title }}</view>
@@ -23,8 +23,44 @@
      <view class="list">
        <view class="item">删除</view>
        <view class="item paina">关联</view>
        <view class="item primary">分享</view>
        <view bindtap="openShare" class="item primary">分享</view>
      </view>
    </view>
  </view>
  <!--  -->
  <!--  -->
  <view wx:if="{{ showShare }}" class="shade_modal" style="padding-bottom: {{bottomLift}}px;">
    <view class="btns">
      <button open-type="share" class="item" bindtap="handleShare">
        <image src="../../static/icon/wechat.png"></image>
        <view>小程序分享</view>
      </button>
      <button class="item" bindtap="handleDown">
        <image src="../../static/icon/download.png"></image>
        <view>下载海报</view>
      </button>
    </view>
    <view bindtap="onClose" class="cancel">取消</view>
  </view>
  <view wx:if="{{ showShare }}" class="shade" bindtap="onClose"></view>
  <!--  -->
  <view wx:if="{{ isShowPoster }}" class="card_wrap">
    <view class="img1">
      <image mode="widthFix" src="{{posterUrl}}"></image>
    </view>
    <view class="content">
      <view class="title">—— 分享话术 ——</view>
      <view class="line">{{ rightIcon }}精品案例{{ leftIcon }}</view>
      <view class="line">🥇精益求精,品质生活🥇</view>
      <view class="line">汇集全国优秀设计师获奖案例</view>
      <view class="line">👉各种风格灵感案例上万套👈</view>
      <view class="line">总有一套能打动您,适合您</view>
    </view>
    <view class="btns">
      <view class="btn" bind:tap="closeCard">取消</view>
      <view class="btn save" bind:tap="saveCard">复制话术并保存海报</view>
    </view>
  </view>
  <van-overlay z-index="99998" show="{{ isShowPoster }}" bind:click="onClickHide" />
</view>
wechat_staff/pages/kefu/fond.wxss
@@ -23,6 +23,7 @@
}
.date_item .line .icon {
  width: 40rpx;
  height: 40rpx;
}
.date_item .line .content {
  flex: 1;
@@ -100,3 +101,101 @@
  border: 1rpx solid var(--themeColor);
  background-color: var(--themeColor);
}
.shade_modal {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 9999;
  background-color: #fff;
  border-radius: 24rpx 24rpx 0rpx 0rpx;
}
.shade_modal .btns {
  height: 264rpx;
  display: flex;
  align-items: center;
  padding: 0 40rpx;
}
.shade_modal .btns .item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1;
  font-size: 26rpx;
  background-color: #fff;
}
.shade_modal .btns .item image {
  width: 80rpx;
  height: 80rpx;
  margin-bottom: 10rpx;
}
.shade_modal .cancel {
  height: 100rpx;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1rpx solid #e5e5e5;
}
.shade {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.5);
}
.card_wrap {
  position: fixed;
  border-radius: 8rpx;
  top: 50%;
  left: 75rpx;
  transform: translate(0, -50%);
  width: 600rpx;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 99999;
}
.card_wrap .img1 image {
  width: 600rpx;
  border-radius: 8rpx ;
}
.card_wrap .content {
  width: 600rpx;
  height: 308rpx;
  padding: 26rpx 0 40rpx;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 16rpx;
  margin-top: 24rpx;
  text-align: center;
}
.card_wrap .content .title {
  font-weight: 500;
  font-size: 30rpx;
  margin-bottom: 20rpx;
}
.card_wrap .content .line {
  font-size: 26rpx;
  color: #333333;
  line-height: 36rpx;
}
.card_wrap .btns {
  margin-top: 30rpx;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.card_wrap .btns .btn {
  width: 160rpx;
  height: 88rpx;
  border-radius: 8rpx;
  border: 2rpx solid #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}
.card_wrap .btns .save {
  width: 420rpx;
  margin-left: 20rpx;
  border: none;
  background: linear-gradient(180deg, #E0B49C 0%, #B68B74 100%);
}
wechat_staff/pages/store/staff.wxml
@@ -2,7 +2,7 @@
  <back />
  <image src="../../static/images/design_banner@2x.png" mode="widthFix" class="bg_wrap"></image>
  <view class="container">
    <image class="avatar" src="{{userInfo.imgurlFull}}"></image>
    <image class="avatar" src="{{userInfo.imgurlFull ? userInfo.imgurlFull : '../../static/images/default_avatar.png'}}"></image>
    <view class="name_wrap">
      <view class="left">
        <view class="name">{{userInfo.name}}</view>
@@ -56,7 +56,7 @@
  <van-popup show="{{ isShow }}" closeable round bind:close="onClose">
    <view class="modal">
      <view class="header">
        <image class="avatar" src="{{userInfo.imgurlFull}}"></image>
        <image class="avatar" src="{{userInfo.imgurlFull ? userInfo.imgurlFull : '../../static/images/default_avatar.png'}}"></image>
        <view class="content">
          <view class="name">{{userInfo.name}}</view>
          <view class="desc">导购 | {{userInfo.jobDate ||'0'}}年经验</view>
wechat_staff/pages/work/index.wxml
@@ -2,7 +2,7 @@
<view class="topbg" style="background-image:url('{{topimg}}');background-color: aquamarine;">
  <view class="navbar" style="padding-top: {{ clientTop }}px;height: {{clientHeight + clientTop}}px;">工作台</view>
  <view class="userinfo" data-index="0" bindtap="changePath">
    <image class="avatar" src="{{userInfo.imgurlFull}}"></image>
    <image class="avatar" src="{{userInfo.imgurlFull ? userInfo.imgurlFull : '../../static/images/default_avatar.png'}}"></image>
    <view class="content" >
      <view class="header">
        <view class="name">{{userInfo.name}}</view>