Explorar el Código

Merge branch 'master' into 12.8

bding hace 1 año
padre
commit
b677b34fe2

+ 13 - 8
activityPages/activityDetail/activityDetail.vue

@@ -393,7 +393,7 @@ export default {
   computed: {
     curVoiceId() {
       //当前正在播放的音频id
-      return this.$store.state.audioBg.activityId;
+      return this.$store.state.audioBg.indexId;
     },
     curAudioPaused() {
       //当前音频是否暂停状态
@@ -490,10 +490,6 @@ export default {
                           });
                         }
                       },
-                      fail(failData) {
-                      },
-                      complete(finishData) {
-                      },
                     });
                   },
                 });
@@ -623,7 +619,7 @@ export default {
     },
     // 音频点击暂停播放
     audioPlayBack() {
-      if (this.$store.state.audioBg.activityId == this.detailData.ActivityId) {
+      if (this.$store.state.audioBg.indexId == this.detailData.ActivityId) {
         if (this.globalBgAudioManager.paused) {
           this.globalBgAudioManager.play();
         } else {
@@ -632,8 +628,13 @@ export default {
       } else {
         this.$store.commit("audioBg/addAudio", {
           list: this.detailData.VoiceList,
+          indexId: this.detailData.ActivityId,
           activityId: this.detailData.ActivityId,
           activityTitle: this.detailData.ActivityName,
+          recordList: {
+            SourceId: this.detailData.ActivityId,
+            Type: 1,
+          },
         });
       }
     },
@@ -669,9 +670,13 @@ export default {
         this.$store.commit("audioBg/removeAudio");
         this.$store.commit("audioBg/addAudio", {
           list: this.detailData.VoiceList,
+          indexId: this.detailData.ActivityId,
           activityId: this.detailData.ActivityId,
           activityTitle: this.detailData.ActivityName,
-          recordList: this.detailData
+          recordList: {
+            SourceId: this.detailData.ActivityId,
+            Type: 1,
+          },
         });
       }
       this.$refs.childrenAudio.isRecord = false;
@@ -761,7 +766,7 @@ export default {
   },
   onShow() {
     this.getActivityDetail();
-
+    this.$store.commit("audioBg/parseIntAudio", false);
     this.$store.commit("setRouterReport", "活动详情");
   },
   /**

+ 1 - 1
activityPages/generationAsk/generationAsk.vue

@@ -30,7 +30,7 @@ export default {
   },
   computed: {
     titlePlaceholder() {
-      return this.type == "文章" ? "可以留下您对报告内容的看法或者疑问" : "请描述您的问题,分析师会代您向专家提问。";
+      return this.type == "文章" ? "可以留下您对音视频内容的看法或者疑问" : "请描述您的问题,分析师会代您向专家提问。";
     },
   },
   methods: {

+ 140 - 43
activityPages/playBack/playBack.vue

@@ -24,13 +24,6 @@
               </van-dropdown-item>
             </van-dropdown-menu>
           </view>
-          <!-- <text
-            @click="mediumClickHandler(item)"
-            v-for="item in mediumSelect"
-            :key="item.value"
-            :class="[item.IsChoose ? 'active' : '', 'text-item', 'medium-item']"
-            >{{ item.name }}</text
-          > -->
         </view>
       </view>
       <!-- 活动列表 -->
@@ -41,22 +34,10 @@
           <view class="title-date" @click="goDetail(item)">
             <text :class="item.ActivityType == 1 ? '' : 'xianxia'">{{ item.ActivityType == 1 ? "线上" : "线下" }}</text>
             {{ item.ActivityTimeText }}
-            <view class="audio-back" v-if="item.AudioLink" @click.stop="playBack(item)">
-              <view class="audio-box">
-                <block v-if="item.FileType == 2">
-                  <image class="audio-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/video_play.png"></image>
-                </block>
-                <image
-                  v-else
-                  class="audio-img"
-                  :src="
-                    curVoiceId === item.ActivityId && !curAudioPaused
-                      ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/stop_play.png'
-                      : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/audio_play.png'
-                  "
-                ></image>
-                {{ curVoiceId === item.ActivityId && !curAudioPaused ? "暂停" : "回放" }}
-              </view>
+            <view :class="['global_content_center', 'audio-back', item.FileType == 2 ? 'is-video-sing' : 'is-audio-sing']">
+              <image v-if="item.FileType == 2" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/video_icon.png"></image>
+              <image v-else src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/audio_icon.png"></image>
+              {{ totalSeconds(item) }}
             </view>
           </view>
           <view class="item-li">
@@ -76,6 +57,21 @@
                 <text class="text_twoLine" v-if="item.DistinguishedGuest">嘉宾:{{ item.DistinguishedGuest }} </text>
                 <text class="text_twoLine" v-if="item.Speaker">主讲人:{{ item.Speaker }}</text>
               </view>
+              <view class="content-item-flex iten-buttom">
+                <view class="global_content_center" @click.stop="playBack(item)">
+                  <image
+                    v-if="item.FileType == 1 && curVoiceId === item.ActivityId && !curAudioPaused"
+                    class="play-img"
+                    src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/suspend_play_list.png"
+                  ></image>
+                  <image v-else class="play-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/play-circle-filled.png"></image>
+                  {{ item.FileType == 1 && curVoiceId === item.ActivityId && !curAudioPaused ? "暂停" : "播放" }}
+                </view>
+                <view v-if="item.FileType == 1" class="global_content_center" @click="joinPlaylist(item)">
+                  <image class="play-list" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/paly_list.png"></image>
+                  添加
+                </view>
+              </view>
             </view>
           </view>
         </view>
@@ -92,8 +88,11 @@
 
       <!-- 所有自定义弹框 -->
       <modalDialog :isShowhasPermission="isShowhasPermission" :applyForIsShow="applyForIsShow" :jurisdictionList="jurisdictionList" :hasPermission="hasPermission" />
+      <view class="paly-list-image" v-if="playlistData.length > 0" @click="showAudioBoxPlayList">
+        <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/Joined_play_list.png"></image>
+      </view>
     </view>
-    <!-- <not-have-login v-else /> -->
+
     <Loading />
   </block>
 </template>
@@ -185,6 +184,64 @@ export default {
       await this.$store.dispatch("showLoginModal");
       this.PlayBackAll(item);
     },
+    // 播放时长的转换
+    totalSeconds(item) {
+      let PlaySeconds = item.FileType == 2 ? item.VideoDetail.VideoDuration : item.VoiceList.PlaySeconds;
+      let minutes = Math.floor(PlaySeconds / 60);
+      let seconds = PlaySeconds % 60;
+      let time = minutes.toString().padStart(2, "0") + ":" + seconds.toString().padStart(2, "0");
+      return time;
+    },
+    // 加入播放列表
+    async joinPlaylist(item) {
+      if (!item.BackAudioPlay) {
+        const res = await activity.getActivityDetail({
+          ActivityId: item.ActivityId,
+        });
+        if (res.Ret === 200) {
+          item.BackAudioPlay = res.Data;
+        }
+      }
+      this.hasPermission = item.BackAudioPlay.HasPermission;
+      this.jurisdictionList.ActivityId = item.ActivityId;
+      if (this.hasPermission == 1) {
+        let recordList = {
+          Type: 1,
+          SourceId: item.ActivityId,
+        };
+        let dataList = {
+          Url: item.VoiceList.Url,
+          Name: item.VoiceList.Name,
+          PlaySeconds: item.VoiceList.PlaySeconds,
+          indexId: item.ActivityId,
+          activityTitle: item.ActivityName,
+          recordList,
+        };
+        const playlist = this.$store.state.audioJoinPlaylist.playlist.some((key) => key.indexId === dataList.indexId);
+        if (!playlist) {
+          this.$store.commit("audioJoinPlaylist/addPlaylist", { dataList });
+        }
+        uni.showToast({
+          title: "已加入播放列表",
+          icon: "success",
+          duration: 500,
+        });
+      } else if (this.hasPermission == 2) {
+        this.jurisdictionList.SellerMobile = item.BackAudioPlay.SellerMobile;
+        this.jurisdictionList.SellerName = item.BackAudioPlay.SellerName;
+        this.jurisdictionList.PopupMsg = item.BackAudioPlay.PopupMsg;
+        this.isShowhasPermission = true;
+      } else if (this.hasPermission == 3 || this.hasPermission == 4 || this.hasPermission == 5) {
+        this.jurisdictionList.PopupMsg = item.BackAudioPlay.PopupMsg;
+        this.applyForIsShow = true;
+      }
+    },
+    // 展示播放列表
+    showAudioBoxPlayList() {
+      this.$store.commit("audioBg/parseIntAudio", true);
+      this.showAudioPop = true;
+      uni.$emit("play-list-emit", {});
+    },
   },
   onLoad() {
     this.getActivityList();
@@ -220,6 +277,18 @@ export default {
 .container-play-back {
   background-color: $uni-bg-color;
   padding-bottom: 30rpx;
+  .paly-list-image {
+    position: fixed;
+    right: 50rpx;
+    bottom: 150rpx;
+    z-index: 99;
+    width: 100rpx;
+    height: 100rpx;
+    image {
+      width: 100rpx;
+      height: 100rpx;
+    }
+  }
   .title-date {
     position: relative;
     .audio-back {
@@ -227,29 +296,57 @@ export default {
       right: 0;
       top: 50%;
       transform: translateY(-50%);
-      width: 125rpx;
-      height: 90rpx;
+      width: 132rpx;
+      height: 42rpx;
+      border-radius: 38rpx;
       font-size: 24rpx;
-      display: flex;
-      align-items: center;
-      justify-content: flex-end;
-      color: #fff;
-      .audio-box {
-        width: 99rpx;
-        height: 39rpx;
-        display: flex;
-        align-items: center;
-        border-radius: 20rpx;
-        padding-left: 4rpx;
-        background-color: #376cbb;
-        .audio-img {
-          width: 30rpx;
-          height: 30rpx;
-          margin: 0 5rpx;
-        }
+      image {
+        width: 32rpx;
+        height: 32rpx;
+        margin-right: 8rpx;
       }
     }
+    .is-video-sing {
+      color: #e37318;
+      background-color: #fff1e9;
+    }
+    .is-audio-sing {
+      color: $uni-color-new;
+      background-color: #e5efff;
+    }
+  }
+  .content-item-flex {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+  }
+  .iten-buttom {
+    flex-direction: row-reverse;
+    view {
+      height: 48rpx;
+      border-radius: 8rpx;
+      font-size: 24rpx;
+      font-weight: 600;
+    }
+    view:nth-child(1) {
+      width: 200rpx;
+      background-color: $uni-color-new;
+      color: #fff;
+    }
+    view:nth-child(2) {
+      width: 200rpx;
+      border-radius: 8rpx;
+      background-color: #e5efff;
+      color: $uni-color-new;
+    }
+    .play-img,
+    .play-list {
+      width: 30rpx;
+      height: 30rpx;
+      margin-right: 6rpx;
+    }
   }
+
   @import "../components/selectCss.scss";
   @import "@/components/activity/indexActivity.scss";
 }

+ 158 - 31
components/ItemComponent/roadshowItem.vue

@@ -1,33 +1,30 @@
 <template>
   <view class="global_card_content container-roadshow-item">
-    <view class="global_title" @click="goDetails">
-      <mp-html :content="richTextClamp(2) + list.Title + '</div>'" />
+    <view class="content-item-flex content-item-top">
+      <view class="global_content_center">{{ list.LabelType == 1 ? "路演回放" : list.LabelType == 2 ? "调研反馈" : list.LabelType == 3 ? "产业视频" : "问答系列" }}</view>
+      <view :class="['global_content_center', list.Type == 2 || list.Type == 3 ? 'is-video-sing' : 'is-audio-sing']">
+        <image v-if="list.Type == 2 || list.Type == 3" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/video_icon.png"></image>
+        <image v-else src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/audio_icon.png"></image>
+        {{ totalSeconds(list) }}
+      </view>
+    </view>
+    <view class="global_title container-roadshow-title" @click="goDetails">
+      <mp-html :content="richTextClamp(4) + list.Title + '</div>'" />
     </view>
-    <view class="cover-item" :style="{ 'background-image': 'url(' + list.BackgroundImg + ')' }">
-      <block v-if="list.Type == 2 || list.Type == 3">
-        <image class="img-bg" @click="handelPlay(list)" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/play_icon_index.png"></image>
-      </block>
-      <block v-else>
+    <view class="content-item-flex iten-buttom">
+      <view class="global_content_center" @click.stop="handelPlay(list)">
         <image
-          class="img-bg"
-          @click.stop="handelPlay(list)"
-          :src="
-            curVoiceId === list.ActivityId && !curAudioPaused
-              ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/back_stop_index.png'
-              : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/back_group_index.png'
-          "
+          v-if="(list.Type == 1 || list.Type == 4) && curVoiceId === list.SourceId && !curAudioPaused"
+          class="play-img"
+          src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/suspend_play_list.png"
         ></image>
-      </block>
-      <text class="time">{{ list.PublishTime }}</text>
-      <view :class="['identification', list.Type != 1 && list.Type != 4 && 'identification-video']"> </view>
-      <image
-        class="identification-img"
-        :src="
-          list.Type == 1 || list.Type == 4
-            ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/video-iocn.png'
-            : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/multimedia/audio-icon.png'
-        "
-      ></image>
+        <image v-else class="play-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/play-circle-filled.png"></image>
+        {{ (list.Type == 1 || list.Type == 4) && curVoiceId === list.SourceId && !curAudioPaused ? "暂停" : "播放" }}
+      </view>
+      <view v-if="list.Type == 1 || list.Type == 4" class="global_content_center" @click="joinPlaylist(list)">
+        <image class="play-list" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/paly_list.png"></image>
+        添加
+      </view>
     </view>
     <view class="title-share">
       <view class="share share-collected">
@@ -41,7 +38,10 @@
         </button>
       </view>
     </view>
-
+    <view class="item-itme">
+      <view class="global_content_center chart-permission-name"> {{ list.ChartPermissionName }}</view>
+      <view class="time"> {{ list.PublishTime }}</view>
+    </view>
     <videoModule :showVideoPop.sync="showVideoPop" :curVideoId="curVideoId" :videoPopList="videoPopList" />
     <modalDialog :isShowhasPermission="isShowhasPermission" :applyForIsShow="applyForIsShow" :jurisdictionList="jurisdictionList" :hasPermission="hasPermission" />
   </view>
@@ -97,7 +97,7 @@ export default {
       let content_item = null;
       if (item.SourceId) {
         content_item = {
-          ActivityId: item.SourceId,
+          SourceId: item.SourceId || item.ActivityId,
           PlaySeconds: item.PlaySeconds,
           ResourceUrl: item.ResourceUrl,
           Title: item.Title,
@@ -136,7 +136,7 @@ export default {
       this.curVideoId = 0;
       this.$store.commit("audioBg/parseIntAudio", true);
       // 判断是否为同一个音频
-      if (this.$store.state.audioBg.indexId == item.ActivityId) {
+      if (this.$store.state.audioBg.indexId == item.SourceId) {
         if (this.globalBgAudioManager.paused) {
           this.globalBgAudioManager.play();
         } else {
@@ -148,7 +148,7 @@ export default {
           Name: item.Title,
           PlaySeconds: +item.PlaySeconds,
         };
-        this.$store.commit("audioBg/addAudio", { list: VoiceList, indexId: item.ActivityId, activityTitle: item.Title, recordList: item });
+        this.$store.commit("audioBg/addAudio", { list: VoiceList, indexId: item.SourceId || item.ActivityId, activityTitle: item.Title, recordList: item });
       }
       this.$parent.showAudioPop = true;
     },
@@ -185,6 +185,48 @@ export default {
         val == 7 ? "min-height: 50px;" : ""
       }line-clamp: ${val};-webkit-line-clamp: ${val};text-overflow: -o-ellipsis-lastline;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;word-wrap: break-word;word-break: break-all;">`;
     },
+    // 加入播放列表
+    async joinPlaylist(item) {
+      if (item.AuthInfo.HasPermission == 1) {
+        let dataList = {
+          Url: item.ResourceUrl,
+          Name: item.Title,
+          PlaySeconds: +item.PlaySeconds,
+          indexId: item.SourceId || item.ActivityId,
+          activityTitle: item.Title,
+          recordList: item,
+        };
+        const playlist = this.$store.state.audioJoinPlaylist.playlist.some((key) => key.indexId === dataList.indexId);
+        if (!playlist) {
+          this.$store.commit("audioJoinPlaylist/addPlaylist", { dataList });
+        }
+        uni.showToast({
+          title: "已加入播放列表",
+          icon: "success",
+          duration: 500,
+        });
+      } else {
+        this.hasPermission = item.AuthInfo.HasPermission;
+        this.jurisdictionList.ActivityId = item.Id;
+        this.jurisdictionList.isAudioVideo = item.Type;
+        if (this.hasPermission == 2) {
+          this.jurisdictionList.SellerMobile = item.AuthInfo.SellerMobile;
+          this.jurisdictionList.SellerName = item.AuthInfo.SellerName;
+          this.jurisdictionList.PopupMsg = item.AuthInfo.PopupMsg;
+          this.isShowhasPermission = true;
+        } else if (this.hasPermission == 3 || this.hasPermission == 4 || this.hasPermission == 5) {
+          this.jurisdictionList.PopupMsg = item.AuthInfo.PopupMsg;
+          this.applyForIsShow = true;
+        }
+      }
+    },
+    // 播放时长的转换
+    totalSeconds(item) {
+      let minutes = Math.floor(item.PlaySeconds / 60);
+      let seconds = item.PlaySeconds % 60;
+      let time = minutes.toString().padStart(2, "0") + ":" + seconds.toString().padStart(2, "0");
+      return time;
+    },
   },
 };
 </script>
@@ -257,7 +299,9 @@ export default {
       line-height: 46rpx;
     }
   }
-
+  .container-roadshow-title {
+    height: 180rpx;
+  }
   .title {
     height: 88rpx;
     font-size: 32rpx;
@@ -271,7 +315,7 @@ export default {
     word-break: break-all;
   }
   .title-share {
-    margin-top: 20rpx;
+    margin-top: 5rpx;
     padding-top: 20rpx;
     image {
       width: 48rpx;
@@ -295,5 +339,88 @@ export default {
       justify-content: space-around;
     }
   }
+  .content-item-flex {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+  }
+  .content-item-top {
+    margin-bottom: 15rpx;
+    view:nth-child(1) {
+      width: 124rpx;
+      height: 42rpx;
+      font-size: 24rpx;
+      font-weight: 500;
+      border-radius: 38rpx;
+      color: $uni-color-new;
+      background-color: #e5efff;
+    }
+    view:nth-child(2) {
+      width: 132rpx;
+      height: 42rpx;
+      border-radius: 38rpx;
+      font-size: 24rpx;
+      image {
+        width: 32rpx;
+        height: 32rpx;
+        margin-right: 8rpx;
+      }
+    }
+    .is-video-sing {
+      color: #e37318;
+      background-color: #fff1e9;
+    }
+    .is-audio-sing {
+      color: $uni-color-new;
+      background-color: #e5efff;
+    }
+  }
+  .iten-buttom {
+    margin-top: 10rpx;
+    view {
+      height: 48rpx;
+      border-radius: 8rpx;
+      font-size: 24rpx;
+      font-weight: 600;
+    }
+    view:nth-child(1) {
+      flex: 1;
+      background-color: $uni-color-new;
+      color: #fff;
+    }
+    view:nth-child(2) {
+      width: 146rpx;
+      border-radius: 8rpx;
+      background-color: #e5efff;
+      color: $uni-color-new;
+      margin-left: 25rpx;
+    }
+    .play-img,
+    .play-list {
+      width: 30rpx;
+      height: 30rpx;
+      margin-right: 6rpx;
+    }
+  }
+  .item-itme {
+    width: 100%;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    margin-top: 20rpx;
+    font-size: 24rpx;
+
+    .chart-permission-name {
+      font-weight: 500;
+      width: 72rpx;
+      height: 42rpx;
+      border-radius: 38rpx;
+      color: $uni-color-new;
+      background-color: #e5efff;
+    }
+    .time {
+      color: #999999;
+    }
+  }
 }
 </style>

+ 6 - 2
components/activity/mediaMixins.js

@@ -19,6 +19,10 @@ export default {
     showAudioBox() {
       return this.$store.state.audioBg.parseIntShow;
     },
+    // 播放列表数据
+    playlistData() {
+      return this.$store.state.audioJoinPlaylist.playlist;
+    },
   },
   methods: {
     //点击了回放
@@ -59,14 +63,14 @@ export default {
     audioPlayBack(item) {
       this.$store.commit("audioBg/parseIntAudio", true);
       // 判断是否为同一个音频
-      if (this.$store.state.audioBg.activityId == item.ActivityId) {
+      if (this.$store.state.audioBg.indexId == item.ActivityId) {
         if (this.globalBgAudioManager.paused) {
           this.globalBgAudioManager.play();
         } else {
           this.globalBgAudioManager.pause();
         }
       } else {
-        this.$store.commit("audioBg/addAudio", { list: item.VoiceList, activityId: item.ActivityId, activityTitle: item.ActivityName,recordList: item });
+        this.$store.commit("audioBg/addAudio", { list: item.VoiceList, indexId: item.ActivityId, activityId: item.ActivityId, activityTitle: item.VoiceList.Name, recordList: item });
       }
       this.showAudioPop = true;
     },

+ 233 - 51
components/audioModule/index.vue

@@ -9,11 +9,9 @@
         </view>
       </view>
       <view class="audio-card">
-        <view class="card-title text_oneLine">
-          {{ title }}
-        </view>
         <view class="slider-paly">
-          <view style="flex: 1; padding-top: 20rpx">
+          <image @click="speedReverseHandler('reverse')" class="speed-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/fastReverse_icon.png"></image>
+          <view style="flex: 1; margin: 0 30rpx 0 38rpx; padding-top: 20rpx">
             <slider
               activeColor="#376cbb"
               :max="audioTime"
@@ -29,24 +27,58 @@
               <text class="time">{{ audioTime | formatVoiceTime }}</text>
             </view>
           </view>
-          <view class="is-paly-card">
-            <image
-              @click.stop="handleChangePlayStatus"
-              :src="play ? 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/play_icon.gif' : 'https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/pause_icon.png'"
-            ></image>
-          </view>
+          <image @click="speedReverseHandler('speed')" class="speed-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/speed_icon.png"></image>
         </view>
         <view class="fast-reverse">
-          <image @click="speedReverseHandler('reverse')" class="speed-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/fastReverse_icon.png"></image>
           <block v-for="(item, index) in timesTheSpeed" :key="item.value">
-            <view class="speed-button" v-if="isTimes == item.value" @click="isTimesHandler(index)">
+            <view class="speed-button multiple-button global_content_center" v-if="isTimes == item.value" @click="isTimesHandler(index)">
               {{ item.name }}
             </view>
           </block>
-          <image @click="speedReverseHandler('speed')" class="speed-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/speed_icon.png"></image>
+          <view>
+            <image v-if="PreviousNextSong == 0" class="previous_play_next" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/previous_disable.png"></image>
+            <image
+              v-else
+              @click="isPreviousNextSongHandler(PreviousNextSong == 0, '上')"
+              class="previous_play_next"
+              src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/previous_play.png"
+            ></image>
+          </view>
+          <view class="is-paly-card" @click="handleChangePlayStatus">
+            <image v-if="playImg" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/suspend_play.png"></image>
+            <image v-else src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/play_circle_filled.png"></image>
+          </view>
+          <view>
+            <image v-if="PreviousNextSong == playlistData.length - 1" class="previous_play_next" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/next_disable.png"></image>
+            <image
+              @click="isPreviousNextSongHandler(PreviousNextSong == playlistData.length - 1, '下')"
+              v-else
+              class="previous_play_next"
+              src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/next_play.png"
+            ></image>
+          </view>
+          <view class="speed-button global_content_center play-list-content" @click="showTabulation = true">
+            <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/paly_list_play.png"></image>
+          </view>
         </view>
       </view>
     </view>
+    <van-popup :show="showTabulation" closeable position="bottom" round custom-style="height: 50%;" @close="onCloseHandler">
+      <view class="play-ul">
+        <view class="global_title play-ul_title">播放列表</view>
+        <view class="play-li-box">
+          <view class="play-li" v-for="(item, index) in playlistData" :key="item.indexId" @click="palyHandler(item)">
+            <view class="item-content-play-list">
+              <view :class="['text_oneLine', 'play-li-name', audioInit.indexId == item.indexId && 'active-play-li-name']">{{ item.Name }}</view>
+              <image v-if="audioInit.indexId == item.indexId" class="play_audio" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/play_audio.gif"></image>
+            </view>
+            <view class="delete_play">
+              <image @click.native.stop="removeAudioListHandler(item, index)" class="delete_play" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/delete_play.png"></image>
+            </view>
+          </view>
+        </view>
+      </view>
+    </van-popup>
   </view>
 </template>
 
@@ -75,17 +107,19 @@ export default {
       audioTime: 0, //当前音频总时长
       title: "", //当前音频标题
       activityTitle: "", //当前活动标题
-      play: false,
+      playImg: false,
       isosName: "",
       palyTimeout: null,
       palyTime: 0,
       timesTheSpeed: [
         { name: "倍速", value: 1 },
-        { name: "1.25", value: 1.25 },
-        { name: "1.5", value: 1.5 },
-        { name: "2", value: 2 },
+        { name: "1.25", value: 1.25 },
+        { name: "1.5", value: 1.5 },
+        { name: "2", value: 2 },
       ],
       isRecord: true, //是否记录播放
+      showTabulation: false,
+      isCommunication: false,
     };
   },
   computed: {
@@ -108,6 +142,17 @@ export default {
     isEnded() {
       return this.$store.state.audioBg.isAudioEnded;
     },
+    // 播放列表数据
+    playlistData() {
+      return this.$store.state.audioJoinPlaylist.playlist;
+    },
+    // 上、下一首歌曲禁用
+    PreviousNextSong() {
+      const curAudio = this.$store.state.audioBg.list;
+      let indexId = this.audioInit.indexId;
+      let indexPlay = this.playlistData.findIndex((_) => _.Name === curAudio.Name && _.indexId === indexId);
+      return indexPlay;
+    },
   },
   watch: {
     audioInit: {
@@ -127,6 +172,10 @@ export default {
         this.isosName = res.osName;
       },
     });
+    uni.$on("play-list-emit", () => {
+      this.showTabulation = true;
+      this.isCommunication = true;
+    });
   },
   methods: {
     //点击隐藏事件
@@ -136,6 +185,7 @@ export default {
     //数据初次加载
     init() {
       const curAudio = this.$store.state.audioBg.list;
+      this.isExistList(curAudio);
       if ((this.globalBgAudioManager.src != curAudio.Url && curAudio.Url) || (this.isEnded && this.isosName !== "ios" && curAudio.Url)) {
         this.$store.commit("audioBg/setAudioEnd", false);
         this.globalBgAudioManager.playbackRate = 1;
@@ -152,7 +202,7 @@ export default {
       this.title = curAudio.Name ? curAudio.Name.replace(/<\/?font.*?>/g, "") : "";
       let activityTitle = this.$store.state.audioBg.activityTitle;
       this.activityTitle = activityTitle ? activityTitle.replace(/<\/?font.*?>/g, "") : "";
-      this.play = !this.globalBgAudioManager.paused;
+      this.playImg = !this.globalBgAudioManager.paused;
       this.listenAudio();
     },
     //音频播放事件
@@ -160,52 +210,46 @@ export default {
       // 音频播放
       this.globalBgAudioManager.onPlay(async () => {
         if (this.isRecord) {
-          console.log("音频播放");
           this.palyTime = 0;
           this.backAudioPlay();
           this.palyTimeout = setInterval(() => {
             this.palyTime++;
           }, 1000);
         }
-        this.play = true;
+        this.playImg = true;
         this.$store.commit("audioBg/updateAudioPause", false);
         this.isRecord = true;
       });
       // 音频暂停
       this.globalBgAudioManager.onPause(() => {
-        console.log("音频暂停");
         this.backAudioPlay();
         clearInterval(this.palyTimeout);
-        this.play = false;
+        this.playImg = false;
         this.$store.commit("audioBg/updateAudioPause", true);
       });
       // 音频停止
       this.globalBgAudioManager.onStop(() => {
-        console.log("音频停止");
+        this.showTabulation = false;
         this.backAudioPlay();
         clearInterval(this.palyTimeout);
         this.$emit("update:showAudioPop", false);
-        if (this.isosName == "ios") {
-          this.play = false;
-          this.$store.commit("audioBg/removeAudio");
+        this.playImg = false;
+        this.$store.commit("audioBg/removeAudio");
+        if (this.isosName !== "ios") {
         } else {
-          this.play = false;
           this.$store.commit("audioBg/updateAudioPause", true);
         }
       });
       // 音频onEnded
       this.globalBgAudioManager.onEnded(() => {
-        console.log("音频onEnded");
+        const curAudio = this.$store.state.audioBg.list;
+        let indexId = this.audioInit.indexId;
+        this.onEndedpalyHandler(curAudio, indexId);
         this.backAudioPlay();
         clearInterval(this.palyTimeout);
-        this.$emit("update:showAudioPop", false);
-        this.$store.commit("audioBg/setAudioEnd", true);
-        this.$store.commit("audioBg/parseIntAudio", false);
-        this.$store.commit("audioBg/removeAudio");
       });
       // 音频onError
       this.globalBgAudioManager.onError((e) => {
-        console.log("音频onError", e);
         this.$store.commit("audioBg/removeAudio");
         this.$store.commit("audioBg/setMultiple", 1);
         uni.showToast({
@@ -270,7 +314,7 @@ export default {
     // 播放了记录
     backAudioPlay() {
       let recordList = this.$store.state.audioBg.recordList;
-      if ((this.$store.state.audioBg.activityId || this.$store.state.audioBg.indexId) && this.palyTime >= 0) {
+      if ((this.$store.state.audioBg.activityId || this.audioInit.indexId) && this.palyTime >= 0) {
         activity.backAudioPlay({
           SourceId: recordList.SourceId || recordList.ActivityId,
           SourceType: recordList.Type ? recordList.Type : 1,
@@ -289,6 +333,79 @@ export default {
     touchstartHandler() {
       this.$store.commit("audioBg/setSlide", true);
     },
+    // 关闭播放列表
+    onCloseHandler() {
+      this.showTabulation = false;
+      if (this.isCommunication) {
+        this.isCommunication = false;
+        this.isShowMaskHandler();
+      }
+    },
+    // 点击了播放列表
+    palyHandler(item) {
+      console.log(item);
+      if (this.audioInit.indexId == item.indexId) {
+      } else {
+        this.playlistDataInit(item);
+      }
+    },
+    // 播放结束后 播放下一首
+    onEndedpalyHandler(curAudio, indexId) {
+      let item = this.playlistData[this.PreviousNextSong + 1];
+      if (item) {
+        this.playlistDataInit(item);
+      } else {
+        this.$emit("update:showAudioPop", false);
+        this.$store.commit("audioBg/setAudioEnd", true);
+        this.$store.commit("audioBg/parseIntAudio", false);
+        this.$store.commit("audioBg/removeAudio");
+      }
+    },
+    // 上一首 下一首
+    isPreviousNextSongHandler(isPlay, type) {
+      if (isPlay) return;
+      let item = this.playlistData[type == "上" ? this.PreviousNextSong - 1 : this.PreviousNextSong + 1];
+      this.playlistDataInit(item);
+    },
+    // 处理播放列表的数据
+    playlistDataInit(item) {
+      if (item) {
+        let VoiceList = {
+          Url: item.Url,
+          Name: item.Name,
+          PlaySeconds: item.PlaySeconds,
+        };
+        this.$store.commit("audioBg/addAudio", { list: VoiceList, indexId: item.indexId, activityTitle: item.activityTitle, recordList: item.recordList });
+        this.init();
+      }
+    },
+    // 数据是否存在
+    isExistList(item) {
+      const playlist = this.playlistData.some((key) => key.indexId === this.audioInit.indexId);
+      if (!playlist && item.Url) {
+        let dataList = {
+          Url: item.Url,
+          Name: item.Name,
+          PlaySeconds: item.PlaySeconds,
+          indexId: this.audioInit.indexId,
+          activityTitle: item.Name,
+          recordList: this.$store.state.audioBg.recordList,
+        };
+        this.$store.commit("audioJoinPlaylist/addUnshiftPlaylist", { dataList });
+      }
+    },
+    // 点击删除列表
+    removeAudioListHandler(item, index) {
+      const indexKey = this.playlistData.findIndex((key) => key.indexId === this.audioInit.indexId);
+      let list = this.playlistData.filter((_) => _.indexId != item.indexId);
+      this.$store.commit("audioJoinPlaylist/removeAudio", { list });
+      if (index === this.playlistData.length && indexKey === index) {
+        this.globalBgAudioManager.stop();
+      } else if (indexKey < index) {
+      } else if (indexKey === index) {
+        this.playlistDataInit(this.playlistData[index]);
+      }
+    },
   },
 };
 </script>
@@ -315,7 +432,7 @@ export default {
     font-size: 30rpx;
     font-weight: 500;
     margin-bottom: 35rpx;
-    padding-right: 30rpx;
+    padding-right: 50rpx;
     .icon-cross {
       position: absolute;
       right: 0;
@@ -342,7 +459,7 @@ export default {
     background: #f9f9f9;
     border-radius: 16rpx;
     margin: 0 auto;
-    padding: 30rpx;
+    padding: 30rpx 0;
     .slider {
       width: 100%;
       margin: 0;
@@ -366,34 +483,99 @@ export default {
       font-size: 20rpx;
     }
     .is-paly-card {
-      width: 70rpx;
-      height: 70rpx;
+      width: 150rpx;
+      height: 150rpx;
       flex-shrink: 0;
-      margin-left: 30rpx;
       image {
-        width: 70rpx;
-        height: 70rpx;
+        width: 150rpx;
+        height: 150rpx;
       }
     }
     .fast-reverse {
       display: flex;
       align-items: center;
-      justify-content: center;
+      justify-content: space-around;
       margin-top: 30rpx;
       .speed-button {
-        width: 96rpx;
-        height: 47rpx;
-        background: #eaeaea;
+        width: 88rpx;
+        height: 58rpx;
+        background: #e5efff;
         border-radius: 8rpx;
-        text-align: center;
-        line-height: 47rpx;
-        margin: 0 70rpx;
+        color: $uni-color-new;
+        font-size: 36rpx;
       }
-      .speed-img {
-        width: 50rpx;
-        height: 50rpx;
+      .multiple-button {
+        font-size: 30rpx;
       }
+      .play-list-content {
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        width: 64rpx;
+        image {
+          width: 48rpx;
+          height: 48rpx;
+        }
+      }
+    }
+  }
+  .speed-img {
+    width: 50rpx;
+    height: 50rpx;
+  }
+  .play-ul {
+    padding: 30rpx 0;
+    .play-ul_title {
+      padding-left: 30rpx;
     }
+    .play-li-box {
+      height: 880rpx;
+      overflow: hidden;
+      margin-top: 35rpx;
+      border-top: 1rpx solid #dcdfe6;
+      overflow-y: auto;
+    }
+    .play-li {
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      height: 92rpx;
+      padding: 0 30rpx;
+      border-bottom: 1rpx solid #dcdfe6;
+      .delete_play {
+        flex-shrink: 0;
+        width: 36rpx;
+        height: 36rpx;
+        margin-left: 5rpx;
+        image {
+          width: 36rpx;
+          height: 36rpx;
+        }
+      }
+      .item-content-play-list {
+        width: 600rpx;
+        display: flex;
+        align-items: center;
+        flex-shrink: 0;
+        .play-li-name {
+          display: inline-block;
+        }
+        .active-play-li-name {
+          color: $uni-color-new;
+        }
+        .play_audio {
+          display: inline-block;
+          width: 36rpx;
+          height: 36rpx;
+          margin-left: 2rpx;
+          flex-shrink: 0;
+        }
+      }
+    }
+  }
+  .previous_play_next {
+    width: 100rpx;
+    height: 100rpx;
   }
 }
 </style>

+ 0 - 2
components/notHaveLogin.vue

@@ -30,8 +30,6 @@ export default {
             uni.navigateTo({
               url: "/pageMy/login/login",
             });
-          } else if (res.cancel) {
-            console.log("用户点击取消");
           }
         },
       });

+ 70 - 3
components/videoModule/index.vue

@@ -11,13 +11,24 @@
         show-mute-btn
         @ended="handleVideoEnd"
         @timeupdate="handleVideoTimeUpdate"
+        @fullscreenchange="handleFullscreenchange"
         autoplay
-      ></video>
+      >
+        <view class="video-inner-right-box" v-if="isShowControls">
+          <!-- 倍速控制按钮 -->
+          <view class="video-speed-btn" @click.stop="showSpeedOpt = true">倍速</view>
+        </view>
+
+        <!-- 倍速选项模块 -->
+        <view class="speed-opt-box" v-if="showSpeedOpt">
+          <view class="item" :style="{ color: item == curSpeed ? '#F3A52F' : '' }" v-for="item in speedOpts" :key="item" @click.stop="handleVideoSpeedChange(item)">{{ item }}X</view>
+        </view>
+      </video>
       <view class="title text_twoLine">
         {{ videoPopList.Title }}
       </view>
     </view>
-    <view class="close-icon">
+    <view class="close-icon" v-if="showCloseBtn">
       <image @click="handleShow" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/close-icon.png"> </image>
     </view>
   </view>
@@ -51,6 +62,11 @@ export default {
     return {
       videoContext: null,
       curVideoTime: 0,
+      showSpeedOpt: false,
+      speedOpts: ["0.5", "0.8", "1.0", "1.25", "1.5", "2.0"],
+      curSpeed: "1.0",
+      isShowControls: false, //是否显示视频的控制栏
+      showCloseBtn: true,
     };
   },
   watch: {
@@ -90,8 +106,21 @@ export default {
       this.$store.commit("videoPlay/palyTimeUpdate", time);
     },
     handleShow() {
+      this.showSpeedOpt = false;
+      this.curSpeed = "1.0";
       // this.$parent.showVideoPop = false;
-      this.$emit("update:showVideoPop",false);
+      this.$emit("update:showVideoPop", false);
+    },
+    // 倍速切换
+    handleVideoSpeedChange(item) {
+      const num = Number(item);
+      this.videoContext.playbackRate(num);
+      this.curSpeed = item;
+      this.showSpeedOpt = false;
+    },
+    handleFullscreenchange(e) {
+      this.showCloseBtn = !e.detail.fullScreen;
+      this.isShowControls = e.detail.fullScreen;
     },
   },
 };
@@ -141,5 +170,43 @@ export default {
       width: 48rpx;
     }
   }
+  .video-inner-right-box {
+    position: absolute;
+    bottom: 30%;
+    right: 5%;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+  }
+  .video-speed-btn {
+    width: 80rpx;
+    height: 44rpx;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    background: rgba(0, 0, 0, 0.4);
+    border-radius: 22rpx;
+    color: #fff;
+    font-size: 12px;
+  }
+  .speed-opt-box {
+    position: absolute;
+    right: 0;
+    top: 0;
+    bottom: 0;
+    width: 20%;
+    background: rgba(0, 0, 0, 0.8);
+    display: flex;
+    flex-direction: column;
+    justify-content: space-around;
+    padding-top: 55rpx;
+    .item {
+      color: #fff;
+      font-size: 26rpx;
+      flex: 1;
+      width: 100%;
+      text-align: center;
+    }
+  }
 }
 </style>

+ 0 - 2
mixin/index.js

@@ -81,8 +81,6 @@ export default {
             uni.navigateTo({
               url: "/pageMy/login/login",
             });
-          } else if (res.cancel) {
-            console.log("用户点击取消");
           }
         },
       });

+ 0 - 3
pages-purchaser/components/columnListContent.vue

@@ -106,9 +106,6 @@ export default {
           const filePath = res.tempFilePath;
           wx.openDocument({
             filePath: filePath,
-            success: function (res) {
-              console.log("打开文档成功");
-            },
           });
         },
       });

+ 0 - 3
pages-purchaser/noteAndViewpoint/noteAndViewpoint.vue

@@ -105,9 +105,6 @@ export default {
           const filePath = res.tempFilePath;
           wx.openDocument({
             filePath: filePath,
-            success: function (res) {
-              console.log("打开文档成功");
-            },
           });
         },
       });

+ 0 - 3
pages-purchaser/toExamine/toExamine.vue

@@ -160,9 +160,6 @@ export default {
           const filePath = res.tempFilePath;
           wx.openDocument({
             filePath: filePath,
-            success: function (res) {
-              console.log("打开文档成功");
-            },
           });
         },
       });

+ 22 - 6
pages-search/components/report.vue

@@ -94,7 +94,7 @@
                 <text @click.stop="themeDetails(item, val)" class="item-industry" v-for="val in item.List" :key="val.IndustrialManagementId"> # {{ val.IndustryName }} </text>
               </block>
               <block v-if="item.SpecialTags.length">
-                <text @click.stop="themeDetails(item, val)" class="item-industry" style="color: #90aeda" v-for="val in item.SpecialTags.split(',')" :key="val"> # {{ val }} </text>
+                <text class="item-industry" style="color: #90aeda" v-for="val in item.SpecialTags.split(',')" :key="val"> # {{ val }} </text>
               </block>
             </view>
           </view>
@@ -168,7 +168,7 @@
 </template>
 
 <script>
-import { Report, Reports } from "@/config/api";
+import { Report, Reports, purchaserApi } from "@/config/api";
 import videoModule from "@/components/videoModule/index";
 import modalDialog from "@/components/modalDialog.vue";
 export default {
@@ -196,6 +196,10 @@ export default {
   methods: {
     //去往文章详情页面
     goDetailReport(item) {
+      if (item.SpecialType > 0) {
+        uni.navigateTo({ url: "/pages-purchaser/noteAndViewpoint/noteAndViewpoint?id=" + item.ArticleId });
+        return;
+      }
       uni.navigateTo({ url: "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId });
     },
     /* 进入详情 校验是否有该品种权限 */
@@ -205,18 +209,30 @@ export default {
       });
     },
     //去往主题详情
-    themeDetails(item) {
+    themeDetails(item, val) {
+      if (item.SpecialType > 0) return;
+      let id = item.IndustrialManagementId > 0 ? item.IndustrialManagementId : val.IndustrialManagementId;
       if (item.Source === 1) {
         //非严选
-        uni.navigateTo({ url: "/reportPages/IndustryReport/IndustryReport?id=" + item.IndustrialManagementId });
+        uni.navigateTo({ url: "/reportPages/IndustryReport/IndustryReport?id=" + id });
       } else {
         //严选
-        uni.navigateTo({ url: "/reportPages/researchTheme/researchTheme?id=" + item.IndustrialManagementId });
+        uni.navigateTo({ url: "/reportPages/researchTheme/researchTheme?id=" + id });
       }
     },
     //收藏
     async collectClick(item, type) {
-      const res = await Report.collectRpt({ ArticleId: item.ArticleId, PageRouter: this.$store.state.pageRouterReport });
+      //  if () {
+      //   uni.navigateTo({ url: "/pages-purchaser/noteAndViewpoint/noteAndViewpoint?id=" + item.ArticleId });
+      //   return;
+      // }
+      const res =
+        item.SpecialType > 0
+          ? await purchaserApi.yanxuanSpecialCollect({
+              Id: item.ArticleId,
+              Status: item.IsCollect ? 2 : 1,
+            })
+          : await Report.collectRpt({ ArticleId: item.ArticleId, PageRouter: this.$store.state.pageRouterReport });
       if (res.Ret === 200) {
         this.$parent.reportPageData[type].forEach((_) => {
           if (item.ArticleId === _.ArticleId) {

+ 1 - 4
pages/index/index.vue

@@ -249,7 +249,6 @@ export default {
         PageRouter: this.$store.state.pageRouterReport,
       });
       if (res.Ret === 200) {
-        console.log(item, this.newDataList);
         let index = this.newDataList.findIndex((key) => key.Roadshow && key.Roadshow.SourceId == item.SourceId && key.Roadshow.Type == item.Type);
         res.Data.Status == 1 ? (this.newDataList[index].Roadshow.IsCollect = true) : (this.newDataList[index].Roadshow.IsCollect = false);
         uni.showToast({
@@ -277,9 +276,7 @@ export default {
             uni.navigateTo({
               url: "/pageMy/login/login",
             });
-          } else if (res.cancel) {
-            console.log("用户点击取消");
-          }
+          } 
         },
       });
     },

+ 25 - 4
pages/material/material.vue

@@ -100,6 +100,9 @@
     <view v-if="showAudioBox">
       <audioModule :showAudioPop.sync="showAudioPop" />
     </view>
+    <view class="paly-list-image" v-if="topTabsActive == 4 && playlistData.length > 0" @click="showAudioBoxPlayList">
+      <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/new_cygx/Joined_play_list.png"></image>
+    </view>
     <Loading />
   </view>
 </template>
@@ -202,6 +205,10 @@ export default {
     isMyChartCollection() {
       return this.topTabsActive == "3" && this.secondActive == 0;
     },
+    // 播放列表数据
+    playlistData() {
+      return this.$store.state.audioJoinPlaylist.playlist;
+    },
   },
   methods: {
     //点击顶部一级分类
@@ -464,8 +471,6 @@ export default {
             uni.navigateTo({
               url: "/pageMy/login/login",
             });
-          } else if (res.cancel) {
-            console.log("用户点击取消");
           }
         },
       });
@@ -539,6 +544,11 @@ export default {
           }) || [];
       }
     },
+    showAudioBoxPlayList() {
+      this.$store.commit("audioBg/parseIntAudio", true);
+      this.showAudioPop = true;
+      uni.$emit("play-list-emit", {});
+    },
   },
   onHide() {
     this.$store.commit("audioBg/parseIntAudio", false);
@@ -742,7 +752,18 @@ export default {
       }
     }
   }
-
+  .paly-list-image {
+    position: fixed;
+    right: 50rpx;
+    bottom: 150rpx;
+    z-index: 99;
+    width: 100rpx;
+    height: 100rpx;
+    image {
+      width: 100rpx;
+      height: 100rpx;
+    }
+  }
   /deep/.van-dropdown-menu {
     background-color: #fff;
     box-shadow: none !important;
@@ -755,7 +776,7 @@ export default {
     width: 160rpx;
     // margin-right: 20rpx;
     padding-right: 20rpx;
-    height: 64rpx;
+    height: 51rpx;
     border-radius: 26rpx;
     background: #f8f8fa;
   }

+ 3 - 6
store/index.js

@@ -3,6 +3,7 @@ import Vuex from "vuex";
 import { checkToken, User } from "@/config/api.js";
 import audioBg from "./modules/audioBg";
 import videoPlay from "./modules/videoPlay";
+import audioJoinPlaylist from "./modules/audioPlaylist";
 Vue.use(Vuex);
 
 const store = new Vuex.Store({
@@ -66,9 +67,7 @@ const store = new Vuex.Store({
                         uni.navigateTo({
                           url: "/pageMy/login/login",
                         });
-                      } else if (res.cancel) {
-                        console.log("用户点击取消");
-                      }
+                      } 
                     },
                   });
                 }
@@ -110,8 +109,6 @@ const store = new Vuex.Store({
                 uni.navigateTo({
                   url: "/pageMy/login/login",
                 });
-              } else if (res.cancel) {
-                console.log("用户点击取消");
               }
             },
           });
@@ -123,7 +120,7 @@ const store = new Vuex.Store({
     },
   },
   getters: {},
-  modules: { audioBg, videoPlay },
+  modules: { audioBg, videoPlay, audioJoinPlaylist },
 });
 
 export default store;

+ 1 - 1
store/modules/audioBg.js

@@ -11,7 +11,7 @@ const audioModules = {
     curTime: 0, //当前正在播放的音频播放的时间
     activityTitle: "",
     multiple: 1, //倍数
-    parseIntShow: false, //
+    parseIntShow: true, //
     isDragSlide: false, //是否在拖动进度条
     isAudioEnded: false, //
     recordList: {}, //记录音频播放的数据

+ 22 - 0
store/modules/audioPlaylist.js

@@ -0,0 +1,22 @@
+// 全局音频背景播放状态管理模块
+const audioJoinPlaylist = {
+  namespaced: true,
+  state: {
+    playlist: [],
+  },
+  mutations: {
+    addPlaylist(state, payload) {
+      state.playlist.length == 0 ? (state.playlist = [payload.dataList]) : state.playlist.push(payload.dataList);
+    },
+    addUnshiftPlaylist(state, payload) {
+      state.playlist.unshift(payload.dataList);
+    },
+
+    //删除当前音频播放
+    removeAudio(state, payload) {
+      state.playlist = payload.list;
+    },
+  },
+};
+
+export default audioJoinPlaylist;

+ 1 - 0
style/common.scss

@@ -12,6 +12,7 @@
 view,
 text {
   box-sizing: border-box;
+  word-wrap: break-word;
 }
 input {
   box-sizing: border-box;