liukangdong
2024-07-23 67691fedbabb03a2c5997da4951763ba5a8f4a9f
‘’
已添加9个文件
已修改37个文件
887 ■■■■ 文件已修改
wechat_jiaxuan/api/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disCase/index.less 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disCase/index.wxml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disCase/index.wxss 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.less 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.wxml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disProduct/index.wxss 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disRealpic/index.less 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disRealpic/index.wxml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/disRealpic/index.wxss 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/index/index.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/kefu/index.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/kefu/index.less 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/kefu/index.wxml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/api/index.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/app.json 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/app.wxss 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/homeId/index.js 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/homeId/index.less 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/homeId/index.wxml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/homeId/index.wxss 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/index/index.js 105 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/index/index.less 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/index/index.wxml 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/index/index.wxss 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/index.js 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/index.json 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/index.less 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/index.wxml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/index.wxss 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/service.js 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/service.json 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/service.wxml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/kefu/service.wxss 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/productVideo/index.js 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/productVideo/index.less 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/productVideo/index.wxml 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/productVideo/index.wxss 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/userinfo/index.js 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/webView/index.js 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/webView/index.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/webView/index.wxml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/pages/webView/index.wxss 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/project.config.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/project.private.config.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_staff/static/icon/ic_play.png 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/api/index.js
@@ -166,7 +166,7 @@
    url: '/web/customer/getWholecaseInfo',
    data
  })
}
}
// åˆ†ç±»å®žæ™¯ åˆ†é¡µåˆ—表 ä¸­å°
export const getZhongTaiRealcasePage = (data) => {
  return request({
wechat_jiaxuan/components/disCase/index.less
@@ -51,7 +51,7 @@
  }
  .query_param {
    position: absolute;
    z-index: 99;
    z-index: 999;
    background-color: #fff;
    width: 100%;
    .list {
@@ -103,6 +103,13 @@
      }
    }
  }
  .shade{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.5);
    z-index: 99;
  }
  .status {
    display: flex;
wechat_jiaxuan/components/disCase/index.wxml
@@ -26,6 +26,7 @@
          <view bindtap="subParam" class="btn sub">确认</view>
        </view>
      </view>
      <view wx:if="{{ activeParam.length > 0 }}" class="shade"></view>
      <view class="status">
        <view class="item {{ sortType == 'NORMAL' ? 'active' : '' }}" data-status="NORMAL" bindtap="statusChange">默认</view>
        <view class="separate"></view>
wechat_jiaxuan/components/disCase/index.wxss
@@ -51,7 +51,7 @@
}
.main_content .query_param {
  position: absolute;
  z-index: 99;
  z-index: 999;
  background-color: #fff;
  width: 100%;
}
@@ -101,6 +101,13 @@
  background: var(--themeColor);
  color: #fff;
}
.main_content .shade {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 99;
}
.main_content .status {
  display: flex;
  padding: 0rpx 40rpx;
wechat_jiaxuan/components/disProduct/index.less
@@ -83,7 +83,7 @@
    .query_form {
      position: absolute;
      z-index: 99;
      z-index: 999;
      background-color: #fff;
      .list {
@@ -138,6 +138,13 @@
        }
      }
    }
    .shade{
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,.5);
      z-index: 99;
    }
    .status {
      display: flex;
wechat_jiaxuan/components/disProduct/index.wxml
@@ -28,6 +28,7 @@
            <view class="btn sub" bindtap="subParam">确认</view>
          </view>
        </view>
        <view wx:if="{{ activeParam.length > 0 }}" class="shade"></view>
        <view class="status">
          <view class="item {{ sortType == 'NORMAL' ? 'active' : '' }}" data-status="NORMAL" bindtap="statusChange">默认</view>
          <view class="separate"></view>
wechat_jiaxuan/components/disProduct/index.wxss
@@ -75,7 +75,7 @@
}
.main_content .main_right .query_form {
  position: absolute;
  z-index: 99;
  z-index: 999;
  background-color: #fff;
}
.main_content .main_right .query_form .list {
@@ -124,6 +124,13 @@
  background: var(--themeColor);
  color: #fff;
}
.main_content .main_right .shade {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 99;
}
.main_content .main_right .status {
  display: flex;
  padding: 0rpx 40rpx;
wechat_jiaxuan/components/disRealpic/index.less
@@ -57,7 +57,7 @@
  .query_param {
    position: absolute;
    z-index: 99;
    z-index: 999;
    background-color: #fff;
    width: 100%;
@@ -113,6 +113,13 @@
      }
    }
  }
  .shade{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.5);
    z-index: 99;
  }
  .status {
    display: flex;
wechat_jiaxuan/components/disRealpic/index.wxml
@@ -27,6 +27,7 @@
          <view bindtap="subParam" class="btn sub">确认</view>
        </view>
      </view>
      <view wx:if="{{ activeParam.length > 0 }}" class="shade"></view>
      <view class="status">
        <view class="item {{ sortType == 'NORMAL' ? 'active' : '' }}" data-status="NORMAL" bindtap="statusChange">默认</view>
        <view class="separate"></view>
wechat_jiaxuan/components/disRealpic/index.wxss
@@ -51,7 +51,7 @@
}
.main_content .query_param {
  position: absolute;
  z-index: 99;
  z-index: 999;
  background-color: #fff;
  width: 100%;
}
@@ -101,6 +101,13 @@
  background: var(--themeColor);
  color: #fff;
}
.main_content .shade {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 99;
}
.main_content .status {
  display: flex;
  padding: 0rpx 40rpx;
wechat_jiaxuan/pages/index/index.js
@@ -294,7 +294,6 @@
        url: `/pages/kefu/service?title=${title}&id=${id}`,
      })
    }
  },
  jumpProConsult() {
    wx.switchTab({
wechat_jiaxuan/pages/kefu/index.js
@@ -21,6 +21,25 @@
      this.getDetail(options.id)
    }
  },
  toSever () {
    console.log('客服');
    try {
      wx.openCustomerServiceChat({
        extInfo: {
          url: "https://work.weixin.qq.com/kfid/kfcfbccadc81cd01c0b?enc_scene=ENC5EhZgjepB9zsutZUQ5AiRnyN7GamomkuWsUA4bwigukSK6w5pVyRzcNDKurjFDNDC7" //客服ID
        },
        corpId: 'ww3686d2bb864ce3e2', //企业微信ID
        success(res) {
          console.log('连接客服成功');
        }
      })
    } catch (error) {
      wx.showToast({
        title: '请更新至微信最新版本',
        icon: 'none'
      })
    }
  },
  getDetail(id) {
    getCustomizedNewsDetail({id}).then(res => {
      this.setData({
wechat_jiaxuan/pages/kefu/index.less
@@ -10,6 +10,9 @@
    align-items: center;
    height: 100rpx;
    padding: 12rpx 40rpx;
    .btn{
      padding-top: 20rpx;
    }
  }
  .sub_btn {
    flex: 1;
@@ -42,4 +45,4 @@
      width: 44rpx;
    }
  }
}
}
wechat_jiaxuan/pages/kefu/index.wxml
@@ -6,11 +6,11 @@
  <!-- footer -->
  <view class="footer" style="padding-bottom: {{bottomLift}}px;">
    <view class="btns">
        <view class="item">
          <image class="icon" src="../../static/icon/detail_nav_share.png" mode="widthFix"></image>
          <view class="name">分享</view>
        </view>
      <view class="sub_btn">
      <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>
      </button>
      <view class="sub_btn" bindtap="toSever">
        <image class="icon" src="../../static/icon/home_ic_kefu.png" mode="widthFix"></image>
        <view>立即咨询客服</view>
      </view>
wechat_staff/api/index.js
@@ -67,6 +67,28 @@
    data
  })
}
// äº§å“è§†é¢‘
export const getZhongTaiVideoPage = (data) => {
  return request({
    url: '/web/customer/getZhongTaiVideoPage',
    method: 'POST',
    data
  })
}
// é¦–页 å®šåˆ¶æœåŠ¡ åˆ—表
export const getCustomizedNewsList = (data) => {
  return request({
    url: '/web/customer/getCustomizedNewsList',
    data
  })
}
//  å®šåˆ¶æœåŠ¡ è¯¦æƒ…
export const getCustomizedNewsDetail = (data) => {
  return request({
    url: '/web/customer/getCustomizedNewsDetail',
    data
  })
}
// é¦–页  æŽ¨å¹¿å’¨è¯¢åˆ†é¡µ
export const newsPage = (data) => {
  return request({
@@ -98,7 +120,13 @@
    data
  })
}
// æ“ä½œ è¡Œä¸ºå†…容
export const actionDo = (data) => {
  return request({
    url: '/web/customer/actionDo',
    data
  })
}
export const getUserCard = (data) => {
  return request({
    url: '/web/personnel/getUserCard',
@@ -116,7 +144,7 @@
// å¿—说装修 å†…容
export const pageZSZXContentList = (data) => {
  return request({
    url: '/web/customer/pageContentList',
    url: '/web/customer/getZhongTaiZbDecoPage',
    method: "POST",
    data
  })
wechat_staff/app.json
@@ -12,12 +12,14 @@
    "pages/kefu/index",
    "pages/kefu/fond",
    "pages/kefu/select",
    "pages/kefu/service",
    "pages/userinfo/index",
    "pages/userinfo/collect",
    "pages/store/index",
    "pages/store/info",
    "pages/store/staff",
    "pages/sets/index",
    "pages/webView/index",
    "pages/sets/protocol",
    "pages/consult/detail",
    "pages/detailDis/product",
wechat_staff/app.wxss
@@ -1,15 +1,22 @@
page {
  color: #333333;
  height: 100%;
  font-size: 28rpx;
  --themeColor:#B08771;
}
view,text{
view,text,scroll-view,image{
  box-sizing: border-box;
}
page{
  background-color: #fff;
  --themeColor:#B08771;
  color: #111111;
}
image{
  display: flex;
  border-radius: 8rpx;
}
.container {
  min-height: 100vh;
  padding: 0;
  box-sizing: border-box;
  font-size: 28rpx;
}
::-webkit-scrollbar {
  display:none;
  width:0;
@@ -27,6 +34,22 @@
.placeholder9{
  color: #999999;
}
button {
  margin: 0;
  padding: 0;
  background-color: inherit;
  position: static;
}
button:after {
  content: none;
}
::-webkit-scrollbar {
  display: none;
}
button::after {
  border: none;
}
.ar_new{
  width: 14rpx;
  margin-left: 8rpx;
wechat_staff/pages/homeId/index.js
@@ -1,4 +1,4 @@
import { getCataLogTagList, pageZSZXContentList } from '../../api/index'
import { getCataLogTagList, pageZSZXContentList, actionDo } from '../../api/index'
Page({
  /**
@@ -8,6 +8,7 @@
    tagList: [],
    activeCate: '',
    dataList: [],
    total: 0,
    pageNum: 1,
    pageSize: 10,
@@ -22,12 +23,53 @@
    this.getTabList()
    this.getList()
  },
  itemClick(e) {
    const { id } = e.target.dataset
    console.log(e.target.dataset);
    wx.navigateTo({
      url: '/pages/consult/detail',
  onReachBottom() {
    console.log('触底事件');
    const { total, dataList, pageNum } = this.data
    if(total > dataList.length){
      this.setData({ pageNum: pageNum + 1 })
      this.getList()
    }else{
      wx.showToast({
        title: '暂无更多数据',
        icon: 'none'
      })
    }
  },
  getList(){
    const { code, tagCodes, pageSize, pageNum } = this.data
    pageZSZXContentList({
      catalogCode: code,
      tagCodes: tagCodes ? [tagCodes] : [],
      pageSize,
      pageNum
    }).then(res => {
      this.setData({
        total: res.data.total,
        dataList: [ ...this.data.dataList, ...res.data.records ]
      })
    })
  },
  itemClick(e) {
    const item = e.currentTarget.dataset.item
    console.log('item', item);
    actionDo({actionType: 'view',id: item.id})
    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
@@ -49,22 +91,6 @@
      }
      
    })
  },
  getList(){
    const { code, tagCodes, pageSize, pageNum } = this.data
    pageZSZXContentList({
      catalogCode: code,
      tagCodes,
      pageSize,
      pageNum
    }).then(res => {
      this.setData({
        dataList: [ ...this.data.dataList, ...res.data.records ]
      })
    })
  },
  onReachBottom() {
  },
  onReady() {
@@ -101,9 +127,6 @@
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
wechat_staff/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,12 +59,17 @@
  }
}
.content{
  padding: 0 40rpx 40rpx;
  padding: 80rpx 40rpx 40rpx;
  .item{
    margin-bottom: 60rpx;
    .img{
      width: 100%;
    }
    .title{
      width: 100%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      font-size: 30rpx;
      color: #111111;
      margin: 24rpx 0 12rpx;
wechat_staff/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,14 +10,14 @@
</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">
      <view>{{ item.publishDate }}</view>
      <view>{{ item.publishDt }}</view>
      <view class="df_sb">
        <image class="liulan" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image>
        <text>{{ item.readCount }}</text>
        <text>{{ item.viewCount || 0 }}</text>
      </view>
    </view>
  </view>
wechat_staff/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,12 +55,19 @@
  font-weight: 400;
}
.content {
  padding: 0 40rpx 40rpx;
  padding: 80rpx 40rpx 40rpx;
}
.content .item {
  margin-bottom: 60rpx;
}
.content .item .img {
  width: 100%;
}
.content .item .title {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 30rpx;
  color: #111111;
  margin: 24rpx 0 12rpx;
wechat_staff/pages/index/index.js
@@ -1,4 +1,10 @@
import { getDictData, getDailyUpdates, getZSZXCatalogs } from '../../api/index'
import {
  getDictData,
  getDailyUpdates,
  getZSZXCatalogs,
  getZhongTaiVideoPage,
  getCustomizedNewsList
} from '../../api/index'
Page({
  data: {
    searchValue: '',
@@ -7,12 +13,8 @@
    DailyUpdates: {}, //每日上新
    everydayTop: ['../../static/ic_top1@2x.png', '../../static/ic_top2@2x.png', '../../static/ic_top3@2x.png'],
    bannerList: [
      {imgurl: ''},
      {imgurl: 'adsa.png'},
      {imgurl: 'adsa.png'},
      {imgurl: 'adsa.png'},
    ],
    serviceHeight: 0,
    serviceList: [],
    bannerSwiperOption: {
      indicatorDots: true,
@@ -24,8 +26,12 @@
  },
  onLoad() {
    const res = wx.getMenuButtonBoundingClientRect()
    this.setData({clientHeight: res.height})
    this.setData({clientTop: res.top})
    this.setData({
      clientHeight: res.height
    })
    this.setData({
      clientTop: res.top
    })
    this.initData()
  },
@@ -34,36 +40,64 @@
    getDailyUpdates({
      fileType: '0'
    }).then(res => {
      this.setData({ DailyUpdates: res.data })
      this.setData({
        DailyUpdates: res.data
      })
    })
    getZSZXCatalogs().then(res => { //志说装修
    // äº§å“è§†é¢‘
    getZhongTaiVideoPage({
      pageSize: 1,
      pageNum: 1
    }).then(res => {
      if (res.data.records && res.data.records.length > 0) {
        this.setData({
          productVideo: res.data.records
        })
      }
    })
    //志说装修
    getZSZXCatalogs().then(res => {
      this.setData({
        ZSZXCata: res.data || {}
      })
    })
    // å®šåˆ¶æœåŠ¡
    getCustomizedNewsList().then(res => {
      this.setData({
        serviceList: res.data || []
      })
    })
    getDictData({
      code: 'WEIXIN_DEFAULT_IMGS',
      label: 'HOME_CLASS_A'
    }).then(res => {
      this.setData({ HOME_CLASS_A: res.data.code })
      this.setData({
        HOME_CLASS_A: res.data.code
      })
    })
    getDictData({
      code: 'WEIXIN_DEFAULT_IMGS',
      label: 'HOME_CLASS_B'
    }).then(res => {
      this.setData({ HOME_CLASS_B: res.data.code })
      this.setData({
        HOME_CLASS_B: res.data.code
      })
    })
    getDictData({
      code: 'WEIXIN_DEFAULT_IMGS',
      label: 'HOME_CLASS_B2'
    }).then(res => {
      this.setData({ HOME_CLASS_B2: res.data.code })
      this.setData({
        HOME_CLASS_B2: res.data.code
      })
    })
    getDictData({
      code: 'WEIXIN_DEFAULT_IMGS',
      label: 'HOME_CLASS_C'
    }).then(res => {
      this.setData({ HOME_CLASS_C: res.data.code })
      this.setData({
        HOME_CLASS_C: res.data.code
      })
    })
  },
  promotionClick() {
@@ -71,10 +105,47 @@
      url: '/pages/promotion/index',
    })
  },
  jumpProVideo() {
    wx.navigateTo({
      url: '/pages/productVideo/index',
    })
  },
  videoClick(e) {
    const {
      videourl
    } = e.currentTarget.dataset
    wx.previewMedia({
      sources: [{
        url: videourl,
        type: 'video'
      }]
    })
  },
  seriveClick(e) {
    const {
      id,
      title
    } = e.currentTarget.dataset
    if (title === '专属客服') {
      wx.navigateTo({
        url: `/pages/kefu/index?title=${title}&id=${id}`,
      })
    } else {
      wx.navigateTo({
        url: `/pages/kefu/service?title=${title}&id=${id}`,
      })
    }
  },
  goserHeight: function (e) {
    const serviceHeight = e.detail.height
    this.setData({
      serviceHeight: serviceHeight
    })
  },
  changeStrategy(e) {
    let item = e.currentTarget.dataset.item
    wx.navigateTo({
      url: `/pages/homeId/index?code=${item.code}&name=${item.name}` ,
      url: `/pages/homeId/index?code=${item.code}&name=${item.name}`,
    })
  },
})
})
wechat_staff/pages/index/index.less
@@ -110,14 +110,46 @@
}
// äº§å“è§†é¢‘
.product_video {
  padding: 72rpx 40rpx;
  padding: 40rpx 40rpx;
  background-color: #fff;
  video {
  .video_wrap {
    width: 670rpx;
    height: 300rpx;
    border: 1px solid;
    position: relative;
    .play {
      width: 60rpx;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1;
    }
    .img {
      width: 100%;
    }
  }
}
.consult_swiper {
  width: 100%;
  image {
    width: 100%;
  }
  .scroll_text{
    height: 100rpx;
    width: 670rpx;
    white-space: nowrap;
        overflow: hidden;//文本超出隐藏
        text-overflow: ellipsis;
    padding-top: 20rpx;
    font-size: 32rpx;
  }
}
.consult {
  padding: 40rpx 40rpx 60rpx;
  background: #fff;
}
.strategy {
@@ -183,7 +215,7 @@
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 60rpx 0;
  padding: 0rpx 0 60rpx;
  background-color: #fff;
  .logo {
    width: 246rpx;
wechat_staff/pages/index/index.wxml
@@ -2,7 +2,7 @@
  <view style="height: {{clientTop - 2}}px;"></view>
  <view class="search_wrap">
    <image class="icon" src="../../static/home_ic_search@2x.png" mode="widthFix"></image>
    <input  model:value="{{ searchValue }}" placeholder="搜索"  type="text"/>
    <input model:value="{{ searchValue }}" placeholder="搜索" type="text" />
  </view>
  <view class="everyday">
    <view class="header" bindtap="promotionClick">
@@ -40,7 +40,8 @@
    <view class="item">
      <image src="../../static/icon/home_ic_shijing@2x 2.png"></image>
      <view class="text">实景</view>
    </view><view class="item">
    </view>
    <view class="item">
      <image src="../../static/icon/home_ic_zixun.png"></image>
      <view class="text">资讯</view>
    </view>
@@ -49,17 +50,20 @@
  <!--  -->
  <!-- äº§å“è§†é¢‘  -->
  <view class="product_video">
    <view class="com_header">
    <view bindtap="jumpProVideo" class="com_header">
      <view class="left">
        <view class="name">
          <image class="icon" src="../../static/home_ic_chanpinshiping@2x.png"></image>
          <image class="icon" src="../../static/icon/home_ic_zhutihuodong.png"></image>
          <text>产品视频</text>
        </view>
        <view class="desc">优选活动,抢先一步</view>
      </view>
      <image class="home_ar" src="../../static/home_ar@2x.png" mode="widthFix"></image>
      <image class="ar_right" src="../../static/icon/home_ar@2x.png"></image>
    </view>
    <video controls class="main_video" src="https://vdept3.bdstatic.com/mda-njed6187hpegim0d/cae_h264/1665826435448713448/mda-njed6187hpegim0d.mp4?v_from_s=hkapp-haokan-hbe&auth_key=1720440602-0-0-f249e56273037ad05b8f7066fd0973ca&bcevod_channel=searchbox_feed&pd=1&cr=0&cd=0&pt=3&logid=0601949156&vid=646246476325419292&klogid=0601949156&abtest=101830_1-17451_2"></video>
    <view class="video_wrap">
      <image class="img" src="{{ productVideo[0].coverImage }}" mode="widthFix"></image>
      <image bindtap="videoClick" data-videourl="{{ productVideo[0].videoUrl }}" class="play" src="../../static/icon/ic_play.png" mode="widthFix"></image>
    </view>
  </view>
  <!-- æ”»ç•¥ -->
  <view class="strategy">
@@ -73,24 +77,24 @@
      </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">
          <image src="{{ HOME_CLASS_B }}"></image>
          <text>{{ ZSZXCata.cfsj.name }}</text>
          <!-- <text>{{ ZSZXCata.cfsj.name }}</text> -->
        </view>
        <view class="item" data-item="{{ ZSZXCata.snsj }}" bindtap="changeStrategy">
          <image src="{{ HOME_CLASS_B2 }}"></image>
          <text>{{ ZSZXCata.snsj.name }}</text>
          <!-- <text>{{ ZSZXCata.snsj.name }}</text> -->
        </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>
  <!-- service -->
@@ -98,19 +102,19 @@
    <view class="com_header">
      <view class="left">
        <view class="name">
          <image class="icon" src="../../static/home_ic_fuwu@2x.png"></image>
          <image class="icon" src="../../static/icon/home_ic_fuwu@2x.png"></image>
          <view>定制服务</view>
        </view>
        <view class="desc">设身处地为你思虑更多,陪伴你的美好生活</view>
      </view>
    </view>
    <swiper class="consult_swiper" circular indicator-dots="{{ bannerSwiperOption.indicatorDots }}" autoplay="{{ bannerSwiperOption.autoplay }}" interval="{{ bannerSwiperOption.interval }}" duration="{{ bannerSwiperOption.duration }}">
    <block wx:for="{{ bannerList }}" wx:key="index">
      <swiper-item>
        <image mode="aspectFill" src="../../static/test.png"></image>
      </swiper-item>
    </block>
  </swiper>
    <swiper class="consult_swiper" circular indicator-dots="{{ bannerSwiperOption.indicatorDots }}" autoplay="{{ bannerSwiperOption.autoplay }}" interval="{{ bannerSwiperOption.interval }}" style="height:{{serviceHeight}}rpx" duration="{{ bannerSwiperOption.duration }}">
      <block wx:for="{{ serviceList }}" wx:key="index">
        <swiper-item>
          <image bindload='goserHeight' data-id="{{ item.id }}" data-title="{{item.title}}" bindtap="seriveClick" mode="widthFix" src="{{ item.fileList[0].fileurlFull }}"></image>
        </swiper-item>
      </block>
    </swiper>
  </view>
  <!-- logo -->
  <view class="logo_wrap">
wechat_staff/pages/index/index.wxss
@@ -99,13 +99,42 @@
  margin-top: 20rpx;
}
.product_video {
  padding: 72rpx 40rpx;
  padding: 40rpx 40rpx;
  background-color: #fff;
}
.product_video video {
.product_video .video_wrap {
  width: 670rpx;
  height: 300rpx;
  border: 1px solid;
  position: relative;
}
.product_video .video_wrap .play {
  width: 60rpx;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.product_video .video_wrap .img {
  width: 100%;
}
.consult_swiper {
  width: 100%;
}
.consult_swiper image {
  width: 100%;
}
.consult_swiper .scroll_text {
  height: 100rpx;
  width: 670rpx;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-top: 20rpx;
  font-size: 32rpx;
}
.consult {
  padding: 40rpx 40rpx 60rpx;
  background: #fff;
}
.strategy {
  padding: 80rpx 40rpx;
@@ -160,7 +189,7 @@
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 60rpx 0;
  padding: 0rpx 0 60rpx;
  background-color: #fff;
}
.logo_wrap .logo {
wechat_staff/pages/kefu/index.js
@@ -1,11 +1,12 @@
// pages/kefu/index.js
import { getCustomizedNewsDetail } from '../../api/index'
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    bottomLift: 0
    bottomLift: 0,
    info: {}
  },
  /**
@@ -16,11 +17,36 @@
    this.setData({
      bottomLift: app.bottomLift
    })
    if(options && options.id){
      this.getDetail(options.id)
    }
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
  getDetail(id) {
    getCustomizedNewsDetail({id}).then(res => {
      this.setData({
        info: { ...res.data }
      })
    })
  },
  toSever () {
    console.log('客服');
    try {
      wx.openCustomerServiceChat({
        extInfo: {
          url: "https://work.weixin.qq.com/kfid/kfcfbccadc81cd01c0b?enc_scene=ENC5EhZgjepB9zsutZUQ5AiRnyN7GamomkuWsUA4bwigukSK6w5pVyRzcNDKurjFDNDC7" //客服ID
        },
        corpId: 'ww3686d2bb864ce3e2', //企业微信ID
        success(res) {
          console.log('连接客服成功');
        }
      })
    } catch (error) {
      wx.showToast({
        title: '请更新至微信最新版本',
        icon: 'none'
      })
    }
  },
  onReady() {
  },
wechat_staff/pages/kefu/index.json
@@ -1,4 +1,6 @@
{
  "usingComponents": {},
  "usingComponents": {
    "mp-html": "mp-html"
  },
  "navigationBarTitleText": "专属客服"
}
wechat_staff/pages/kefu/index.less
@@ -10,6 +10,9 @@
    align-items: center;
    height: 100rpx;
    padding: 12rpx 40rpx;
    .btn{
      padding-top: 20rpx;
    }
  }
  .sub_btn {
    flex: 1;
wechat_staff/pages/kefu/index.wxml
@@ -1,12 +1,16 @@
<view class="container">
  <view>
    <!-- <rich-text nodes="{{ info.content }}"></rich-text> -->
    <mp-html content="{{info.content}}"></mp-html>
  </view>
  <!-- footer -->
  <view class="footer" style="padding-bottom: {{bottomLift}}px;">
    <view class="btns">
        <view class="item">
          <image class="icon" src="../../static/icon/detail_nav_share.png" mode="widthFix"></image>
          <view class="name">分享</view>
        </view>
      <view class="sub_btn">
      <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>
      </button>
      <view class="sub_btn" bindtap="toSever">
        <image class="icon" src="../../static/icon/home_ic_kefu.png" mode="widthFix"></image>
        <view>立即咨询客服</view>
      </view>
wechat_staff/pages/kefu/index.wxss
@@ -12,6 +12,9 @@
  height: 100rpx;
  padding: 12rpx 40rpx;
}
.footer .btns .btn {
  padding-top: 20rpx;
}
.footer .sub_btn {
  flex: 1;
  display: flex;
wechat_staff/pages/kefu/service.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
import { getCustomizedNewsDetail } from '../../api/index'
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    info: {}
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad(options) {
    if(options && options.id){
      this.getDetail(options.id)
    }
    wx.setNavigationBarTitle({
      title: options.title
   })
  },
  getDetail(id) {
    getCustomizedNewsDetail({id}).then(res => {
      this.setData({
        info: { ...res.data }
      })
    })
  },
  onReady() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面显示
   */
  onShow() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  onHide() {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload() {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
  onShareAppMessage() {
  }
})
wechat_staff/pages/kefu/service.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
{
  "usingComponents": {
    "mp-html": "mp-html"
  },
  "navigationBarTitleText": ""
}
wechat_staff/pages/kefu/service.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
<view class="container">
  <mp-html content="{{info.content}}"></mp-html>
</view>
wechat_staff/pages/kefu/service.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
/* pages/kefu/service.wxss */
wechat_staff/pages/productVideo/index.js
@@ -1,34 +1,69 @@
// pages/consult/consult.js
import { getZhongTaiVideoPage, getCataLogTagList } from '../../api/index'
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    category: ['新品上市', '专利证书', '大牌授权','新品上市', '专利证书', '大牌授权'],
    secondCategory: ['级分类','级分类','级分类','级分类','级分类','级分类'],
    activeCate: '',
    seActiveCate: '',
    dataList: []
  },
    category: [],
    tagCodes: '',
    dataList: [],
    total: 0,
    pageSize: 10,
    pageNum: 1,
  },
  onReachBottom() {
    console.log('触底事件');
    const { total, dataList, pageNum } = this.data
    if(total > dataList.length){
      this.setData({ pageNum: pageNum + 1 })
      this.getList()
    }else{
      wx.showToast({
        title: '暂无更多数据',
        icon: 'none'
      })
    }
  },
  getList() {
    const { pageSize, pageNum, tagCodes } = this.data
    getZhongTaiVideoPage({
      pageSize,pageNum, tagCodes: tagCodes ? [tagCodes] : []
    }).then(res => {
      this.setData({
        dataList: [...this.data.dataList, ...res.data.records],
        total: res.data.total
      })
    })
  },
  getTagList() {
    getCataLogTagList({
      catalogCode: 'video_rec'
    }).then(res => {
      this.setData({ category: res.data })
    })
  },
  itemClick(e) {
    const { id } = e.target.dataset
    console.log(e.target.dataset);
    wx.navigateTo({
      url: '/pages/consult/detail',
    const { videourl } = e.currentTarget.dataset
    wx.previewMedia({
      sources: [{ url: videourl, type: 'video' }]
    })
  },
  cateClick(e) {
    const { index } = e.target.dataset
    console.log(index);
    const { code } = e.target.dataset
    this.setData({ tagCodes: code })
    this.setData({ total: 0, dataList: [], pageNum: 1 })
    this.getList()
  },
  seCateClick(e) {
    const { index } = e.target.dataset
    console.log(index);
  },
  onLoad(options) {
    this.getTagList()
    this.getList()
  },
  /**
@@ -65,14 +100,6 @@
  onPullDownRefresh() {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
wechat_staff/pages/productVideo/index.less
@@ -56,8 +56,22 @@
.content{
  padding: 0 40rpx 40rpx;
  .item{
    .img{
    margin-bottom: 60rpx;
    position: relative;
    .play{
      width: 60rpx;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1;
    }
    .img_wrap{
      width: 100%;
      position: relative;
      .img{
        width: 100%;
      }
    }
    .title{
      font-size: 30rpx;
wechat_staff/pages/productVideo/index.wxml
@@ -1,31 +1,31 @@
<view class="container">
  <view class="search_wrap">
    <image src="../../static/icon/ic_search@2x.png" mode="widthFix"></image>
    <input type="text" placeholder="搜索咨询标题" />
  </view>
  <!-- åˆ†ç±» -->
  <view>
    <scroll-view scroll-x="true" style="weight: 710rpx;margin-bottom: 30rpx;">
      <view class="scroll_cate">
        <view bindtap="cateClick" data-index="{{index}}" wx:for="{{ category }}" class="item {{ index == 0 ? 'active': '' }}">{{ item }}</view>
        <view bindtap="cateClick" data-code="{{item.labelCode}}" wx:for="{{ category }}" class="item {{ tagCodes == item.labelCode ? 'active': '' }}">{{ item.labelName }}</view>
      </view>
    </scroll-view>
    <scroll-view scroll-x="true" style="weight: 710rpx;margin-bottom: 28rpx;">
    <!-- <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>
    </scroll-view>
    </scroll-view> -->
  </view>
  <!-- content -->
  <view class="content">
    <view class="item" bindtap="itemClick" data-abg="qwe">
      <image class="img" src="../../static/icon/test.png" mode="widthFix"></image>
      <view class="title">吊灯实用特辑 | ä¸€æ­¥å­¦ä¼šç†æƒ³å…‰å½±å¸ƒå±€</view>
    <view wx:for="{{ dataList }}" class="item">
      <view class="img_wrap">
        <image class="img" src="{{ item.coverImage }}" mode="widthFix"></image>
        <image bindtap="itemClick" data-videourl="{{ item.videoUrl }}" class="play" src="../../static/icon/ic_play.png" mode="widthFix"></image>
      </view>
      <view class="title">{{ item.title }}</view>
      <view class="df_sb static">
        <view>{{ '2021-08-21 12:00:00' }}</view>
        <view>{{ item.publishDt }}</view>
        <view class="df_sb">
          <image class="liulan" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image>
          <text>1000</text>
          <text>{{ item.viewCount }}</text>
        </view>
      </view>
    </view>
wechat_staff/pages/productVideo/index.wxss
@@ -52,7 +52,23 @@
.content {
  padding: 0 40rpx 40rpx;
}
.content .item .img {
.content .item {
  margin-bottom: 60rpx;
  position: relative;
}
.content .item .play {
  width: 60rpx;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.content .item .img_wrap {
  width: 100%;
  position: relative;
}
.content .item .img_wrap .img {
  width: 100%;
}
.content .item .title {
wechat_staff/pages/userinfo/index.js
@@ -45,12 +45,16 @@
    const {
      slogans,
      costomerNum,
      userInfo
      userInfo,
      qrcodeImg,
      companyQrcodeImg
    } = this.data
    editMember({
      ...userInfo,
      slogans,
      costomerNum
      costomerNum,
      qrcodeImg: qrcodeImg || userInfo.qrcodeImg ,
      companyQrcodeImg: companyQrcodeImg || userInfo.companyQrcodeImg
    }).then(res => {
      this.setData({
        editFalg: false
@@ -96,13 +100,17 @@
      wx.uploadFile({
        url: uploadUrl,
        filePath: e.detail.avatarUrl,
        formData: {
          folder: "users"
        },
        name: 'file',
        success (res) {
          console.log(JSON.parse(res.data))
          let data = JSON.parse(ress.data)
          let data = JSON.parse(res.data)
          userInfo.imgurl = data.data.imgaddr
          userInfo.imgurlFull = data.data.url
          this.setData({userInfo})
          that.setData({userInfo})
          console.log('userInfo', userInfo);
        }
      })
    }
@@ -127,7 +135,7 @@
            filePath: res.tempFiles[0].tempFilePath,
            name: 'file',
            formData: {
              folder: 'member'
              folder: "member"
            },
            header: {
              token: wx.getStorageSync('token')
@@ -169,7 +177,7 @@
            filePath: res.tempFiles[0].tempFilePath,
            name: 'file',
            formData: {
              folder: 'member'
              folder: "member"
            },
            header: {
              token: wx.getStorageSync('token')
wechat_staff/pages/webView/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
// pages/webView/index.js
Page({
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    hasUserInfo: true,
    userInfo: {},
    id: '',
    link: ''
  },
  onLoad: function (options) {
    let that = this
    const eventChannel = this.getOpenerEventChannel()
    if (options.link) {
      that.setData({ link: options.link, id: options.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 })
      })
    }
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面初次渲染完成
   */
  onReady: function () {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面隐藏
   */
  onHide: function () {
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面卸载
   */
  onUnload: function () {
  },
  /**
   * é¡µé¢ç›¸å…³äº‹ä»¶å¤„理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  },
  /**
   * é¡µé¢ä¸Šæ‹‰è§¦åº•事件的处理函数
   */
  onReachBottom: function () {
  },
  /**
   * ç”¨æˆ·ç‚¹å‡»å³ä¸Šè§’分享
   */
  onShareAppMessage: function () {
    let { link, id } = this.data
    return {
      title: '',
      path: '/pages/index/index?id=' + id + '&link=' + link + '&type=2'
    }
  }
})
wechat_staff/pages/webView/index.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
{
  "usingComponents": {}
}
wechat_staff/pages/webView/index.wxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<web-view src="{{ link }}">
</web-view>
wechat_staff/pages/webView/index.wxss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
/* pages/webView/index.wxss */
wechat_staff/project.config.json
@@ -15,7 +15,7 @@
    "preloadBackgroundData": false,
    "minified": true,
    "autoAudits": false,
    "uglifyFileName": false,
    "uglifyFileName": true,
    "uploadWithSourceMap": true,
    "enhance": true,
    "showShadowRootInWxmlPanel": true,
wechat_staff/project.private.config.json
@@ -46,5 +46,5 @@
      ]
    }
  },
  "libVersion": "3.4.10"
  "libVersion": "3.3.5"
}
wechat_staff/static/icon/ic_play.png