Explorar o código

项目日志:安卓级自动播放

gubai %!s(int64=2) %!d(string=hai) anos
pai
achega
b829bd2100
Modificáronse 2 ficheiros con 419 adicións e 431 borrados
  1. 418 430
      mini/pages/episode/play.vue
  2. 1 1
      mini/setting.js

+ 418 - 430
mini/pages/episode/play.vue

xqd
@@ -1,505 +1,493 @@
 <template>
   <view class="play-container">
-    <u-loading-page
-      :loading="loading"
-      :bg-color="$colors.bgColor"
-      :color="$colors.primaryColor"
-      :loading-color="$colors.primaryColor"
-    />
+    <u-loading-page :loading="loading" :bg-color="$colors.bgColor" :color="$colors.primaryColor"
+      :loading-color="$colors.primaryColor" />
     <template v-if="!loading">
       <!-- 剧集按钮-->
-      <episode-buttons
-        :episode="episode"
-        :current-episode="currentEpisode"
-        @change="handleCollectAndFavChange"
-      />
+      <episode-buttons :episode="episode" :current-episode="currentEpisode" @change="handleCollectAndFavChange" />
       <!--视频播放-->
       <view class="video-box main-center cross-center" :style="{zIndex: isPlaying ? 0 : 998}">
         <!--视频容器-->
-        <swiper
-          class="swiper"
-          circular
-          :vertical="true"
-          :current="swiperCurrent"
-          @change="handleSwiperChancge"
-          @animationfinish="handleSwiperAnimationFinish"
-        >
-          <swiper-item
-            v-for="(item, index) in swiperEpisode"
-            :key="index"
-            class="swiper-item"
-          >
+        <swiper class="swiper" circular :vertical="true" :current="swiperCurrent" @change="handleSwiperChancge"
+          @animationfinish="handleSwiperAnimationFinish">
+          <swiper-item v-for="(item, index) in swiperEpisode" :key="index" class="swiper-item">
             <!-- #ifdef  MP-TOUTIAO | MP-WEIXIN-->
             <!-- 控制按钮 - 播放 -->
             <view v-if="!item.isPlaying" class="play-layer main-center cross-center" @tap="handlePlay(item)">
-              <view class="icon"> <u-icon name="play-right-fill" size="100rpx" :color="$colors.defaultColor" /></view>
+              <view class="icon">
+                <u-icon name="play-right-fill" size="100rpx" :color="$colors.defaultColor" />
+              </view>
             </view>
             <!-- 控制按钮 - 暂停 -->
             <view v-if="item.isPlaying" class="pause-layer" @tap="handlePause(item, true)" />
             <!--   #endif-->
-            <video
-              v-if="Object.keys(item).length"
-              :id="`video${index}`"
-              :poster="episode.cover_img"
-              :src="item.url"
-              :style="{
+            <video v-if="Object.keys(item).length" :autoplay="(index==='current'&&isFirstLoad)?'autoplay':false"
+              :id="`video${index}`" :poster="episode.cover_img" :src="item.url" :style="{
                 width:'100%',
                 height: 'calc(100vh - 130rpx)',
                 zIndex: 0
-              }"
-              :show-play-btn="video.playBtn"
-              :show-center-play-btn="video.playBtn"
-              :show-fullscreen-btn="video.fullscreenBtn"
-              :controls="video.controls"
-              :show-progress="video.progress"
-              object-fit="contain"
-              @timeupdate="timeupdate"
-              @ended="ended"
-              @play="play($event,item)"
-            />
+              }" :show-play-btn="video.playBtn" :show-center-play-btn="video.playBtn"
+              :show-fullscreen-btn="video.fullscreenBtn" :controls="video.controls" :show-progress="video.progress"
+              object-fit="contain" @timeupdate="timeupdate" @ended="ended" @play="play($event,item)" />
           </swiper-item>
         </swiper>
       </view>
       <!--底部-->
-      <episode-part
-        :episode="episode"
-        :is-playing="isPlaying"
-        :buy-record="buyRecord"
-        :current-episode="currentEpisode"
-        @selectEpisode="handleSelectEpisode"
-      />
+      <episode-part :episode="episode" :is-playing="isPlaying" :buy-record="buyRecord" :current-episode="currentEpisode"
+        @selectEpisode="handleSelectEpisode" />
       <!--充值-->
-      <recharge
-        :show.sync="rechargeShow"
-        type="play"
-        mode="bottom"
-        :episode="episode"
-        :list="currentEpisode"
-      />
+      <recharge :show.sync="rechargeShow" type="play" mode="bottom" :episode="episode" :list="currentEpisode" />
     </template>
   </view>
 </template>
 
 <script>
-import { mapState } from 'vuex'
-import Recharge from '../../components/Recharge/index'
-import EpisodeButtons from './components/EpisodeButtons'
-import EpisodePart from './components/EpisodePart'
-export default {
-  name: 'Play',
-  components: { EpisodePart, EpisodeButtons, Recharge },
-  data() {
-    return {
-      id: null, // 短剧ID
-      listId: null, // 剧集ID
-      isPlaying: false, // 是否播放
-      progress: 0, // 进度条
-      episode: {}, // 短剧信息
-      lists: [], // 剧集信息
-      loading: false, // 数据加载
-      video: { // 视频配置
-        controls: true,
-        progress: true,
-        fullscreenBtn: false,
-        playBtn: false,
-        // #ifdef  MP-KUAISHOU | MP-TOUTIAO
-        duration: 450,
-        // #endif
-        // #ifdef  MP-WEIXIN
-        duration: 500
-        // #endif
-      },
-      buyRecord: [], // 购买记录
-      rechargeShow: false, // 显示充值
-      swiperCurrent: 1, // 当前滚动
-      currentEpisode: {}, // 当前播放剧集
-      swiperEpisode: { // swiper 剧集
-        prev: {},
-        current: {},
-        next: {}
-      },
-      indexArr: {
-        'prev': 0,
-        'current': 1,
-        'next': 2
+  import {
+    mapState
+  } from 'vuex'
+  import Recharge from '../../components/Recharge/index'
+  import EpisodeButtons from './components/EpisodeButtons'
+  import EpisodePart from './components/EpisodePart'
+  export default {
+    name: 'Play',
+    components: {
+      EpisodePart,
+      EpisodeButtons,
+      Recharge
+    },
+    data() {
+      return {
+        isFirstLoad: true, //是否首次播放
+        id: null, // 短剧ID
+        listId: null, // 剧集ID
+        isPlaying: false, // 是否播放
+        progress: 0, // 进度条
+        episode: {}, // 短剧信息
+        lists: [], // 剧集信息
+        loading: false, // 数据加载
+        video: { // 视频配置
+          controls: true,
+          progress: true,
+          fullscreenBtn: false,
+          playBtn: false,
+          // #ifdef  MP-KUAISHOU | MP-TOUTIAO
+          duration: 450,
+          // #endif
+          // #ifdef  MP-WEIXIN
+          duration: 500
+          // #endif
+        },
+        buyRecord: [], // 购买记录
+        rechargeShow: false, // 显示充值
+        swiperCurrent: 1, // 当前滚动
+        currentEpisode: {}, // 当前播放剧集
+        swiperEpisode: { // swiper 剧集
+          prev: {},
+          current: {},
+          next: {}
+        },
+        indexArr: {
+          'prev': 0,
+          'current': 1,
+          'next': 2
+        }
       }
-    }
-  },
-  computed: {
-    ...mapState({
-      userInfo: seate => seate.user.info
-    }),
-    videoContext() {
-      const indexArr = ['prev', 'current', 'next']
-      const swiperKey = indexArr[this.swiperCurrent]
-      return uni.createVideoContext(`video${swiperKey}`, this)
-    }
-  },
-  watch: {
-    // 进度条
-    progress(val) {
-      if (val >= 100) {
+    },
+    computed: {
+      ...mapState({
+        userInfo: seate => seate.user.info
+      }),
+      videoContext() {
         const indexArr = ['prev', 'current', 'next']
-        const len = this.lists.length
         const swiperKey = indexArr[this.swiperCurrent]
-        if (this.swiperEpisode[swiperKey].sort === this.lists[len - 1].sort) {
-          this.$u.toast('已全部播放完成')
-          return 100
+        return uni.createVideoContext(`video${swiperKey}`, this)
+      }
+    },
+    watch: {
+      // 进度条
+      progress(val) {
+        if (val >= 100) {
+          const indexArr = ['prev', 'current', 'next']
+          const len = this.lists.length
+          const swiperKey = indexArr[this.swiperCurrent]
+          if (this.swiperEpisode[swiperKey].sort === this.lists[len - 1].sort) {
+            this.$u.toast('已全部播放完成')
+            return 100
+          }
+          // 切换
+          switch (this.swiperCurrent) {
+            case 0:
+              this.swiperCurrent = 1
+              break
+            case 1:
+              this.swiperCurrent = 2
+              break
+            case 2:
+              this.swiperCurrent = 0
+              break
+          }
+          this.$forceUpdate()
         }
-        // 切换
-        switch (this.swiperCurrent) {
-          case 0:
-            this.swiperCurrent = 1
+      },
+      swiperCurrent(val) {
+        const indexArr = ['prev', 'current', 'next']
+        const swiperKey = indexArr[val]
+        const dataIndex = this.lists.findIndex(val => {
+          return this.swiperEpisode[swiperKey].sort === val.sort
+        })
+        const len = this.lists.length
+        let prevIndex, currentIndex, nextIndex
+        switch (swiperKey) {
+          case 'prev':
+            currentIndex = dataIndex + 1 >= len ? 0 : dataIndex + 1
+            nextIndex = dataIndex - 1 < 0 ? len - 1 : dataIndex - 1
+            this.swiperEpisode.current = this.lists[currentIndex]
+            this.swiperEpisode.next = this.lists[nextIndex]
             break
-          case 1:
-            this.swiperCurrent = 2
+          case 'current':
+            prevIndex = dataIndex - 1 < 0 ? len - 1 : dataIndex - 1
+            nextIndex = dataIndex + 1 >= len ? 0 : dataIndex + 1
+            this.swiperEpisode.prev = this.lists[prevIndex]
+            this.swiperEpisode.next = this.lists[nextIndex]
             break
-          case 2:
-            this.swiperCurrent = 0
+          case 'next':
+            prevIndex = dataIndex + 1 >= len ? 0 : dataIndex + 1
+            currentIndex = dataIndex - 1 < 0 ? len - 1 : dataIndex - 1
+            this.swiperEpisode.current = this.lists[currentIndex]
+            this.swiperEpisode.prev = this.lists[prevIndex]
             break
         }
-        this.$forceUpdate()
-      }
-    },
-    swiperCurrent(val) {
-      const indexArr = ['prev', 'current', 'next']
-      const swiperKey = indexArr[val]
-      const dataIndex = this.lists.findIndex(val => {
-        return this.swiperEpisode[swiperKey].sort === val.sort
-      })
-      const len = this.lists.length
-      let prevIndex, currentIndex, nextIndex
-      switch (swiperKey) {
-        case 'prev':
-          currentIndex = dataIndex + 1 >= len ? 0 : dataIndex + 1
-          nextIndex = dataIndex - 1 < 0 ? len - 1 : dataIndex - 1
-          this.swiperEpisode.current = this.lists[currentIndex]
-          this.swiperEpisode.next = this.lists[nextIndex]
-          break
-        case 'current':
-          prevIndex = dataIndex - 1 < 0 ? len - 1 : dataIndex - 1
-          nextIndex = dataIndex + 1 >= len ? 0 : dataIndex + 1
-          this.swiperEpisode.prev = this.lists[prevIndex]
-          this.swiperEpisode.next = this.lists[nextIndex]
-          break
-        case 'next':
-          prevIndex = dataIndex + 1 >= len ? 0 : dataIndex + 1
-          currentIndex = dataIndex - 1 < 0 ? len - 1 : dataIndex - 1
-          this.swiperEpisode.current = this.lists[currentIndex]
-          this.swiperEpisode.prev = this.lists[prevIndex]
-          break
-      }
 
-      // 暂停其他
-      this.handlePause(this.currentEpisode, false)
+        // 暂停其他
+        this.handlePause(this.currentEpisode, false)
 
-      // 当前播放剧集
-      this.currentEpisode = this.swiperEpisode[swiperKey]
-      // 播放
-      this.handlePlay(this.currentEpisode)
-    },
-    currentEpisode(val) {
-      console.log('-->当前剧集', val.sort)
-    }
-  },
-  methods: {
-    // 播放进度
-    timeupdate({ detail }) {
-      // currentTime, duration
-      if (detail.duration) {
-        this.progress = (detail.currentTime / detail.duration * 100).toFixed(2)
+        // 当前播放剧集
+        this.currentEpisode = this.swiperEpisode[swiperKey]
+        // 播放
+        this.handlePlay(this.currentEpisode)
+      },
+      currentEpisode(val) {
+        console.log('-->当前剧集', val.sort)
       }
     },
-    ended() {
-      // #ifdef  MP-KUAISHOU
-      this.progress = 100
-      // #endif
-    },
-    play(e, item) {
-      console.log('-->data', e, item)
-      // #ifdef  MP-KUAISHOU
-      this.handlePlay(item)
-      // #endif
-    },
-    // 播放
-    handlePlay(item) {
-      this.currentEpisode = item
-      // 检查是否购买
-      if (!this.checkBeforePlay(item)) {
-        // 余额是否购买
-        if (!this.checkOverage(item)) {
-          // #ifdef  MP-KUAISHOU
-          // 如果没有购买,那把视频链接设置为空 停止播放,使用 pause 和 stop 在真机上不生效 只能采用这种方式
-          item.url = ''
-          // #endif
-          this.rechargeShow = true
+    methods: {
+      // 播放进度
+      timeupdate({
+        detail
+      }) {
+        // currentTime, duration
+        if (detail.duration) {
+          this.progress = (detail.currentTime / detail.duration * 100).toFixed(2)
+        }
+      },
+      ended() {
+        // #ifdef  MP-KUAISHOU
+        this.progress = 100
+        // #endif
+      },
+      play(e, item) {
+        console.log('-->data', e, item)
+        // #ifdef  MP-KUAISHOU
+        this.handlePlay(item)
+        // #endif
+      },
+      // 播放
+      handlePlay(item) {
+        this.currentEpisode = item
+        // 检查是否购买
+        if (!this.checkBeforePlay(item)) {
+          // 余额是否购买
+          if (!this.checkOverage(item)) {
+            // #ifdef  MP-KUAISHOU
+            // 如果没有购买,那把视频链接设置为空 停止播放,使用 pause 和 stop 在真机上不生效 只能采用这种方式
+            // item.url = ''//让对应的视频停止播放==========》
+            this.videoContext.stop();
+            // #endif
+            this.rechargeShow = true
+            return
+          }
+          // 余额足够 直接购买
+          this.handleBuy()
           return
         }
-        // 余额足够 直接购买
-        this.handleBuy()
-        return
-      }
-      this.isPlaying = true
-      item.isPlaying = true
-      // #ifdef MP-KUAISHOU
-      item.url = item.src
-      this.$forceUpdate()
-      setTimeout(() => {
+        this.isPlaying = true
+        item.isPlaying = true
+        // #ifdef MP-KUAISHOU
+        item.url = item.src
+        this.$forceUpdate()
+        setTimeout(() => {
+          this.isFirstLoad || this.videoContext.play(); //当滑动的时候自动播放
+          // const query = uni.createSelectorQuery().in(this);
+          // let videoDom=query.select('#videocurrent');
+          // console.log('视频播放器:',videoDom.node())
+          // videoDom.node().play();
+        }, 1000)
+        // #endif
+        // #ifdef MP-TOUTIAO | MP-WEIXIN
         this.videoContext.play()
-      }, 1000)
-      // #endif
-      // #ifdef MP-TOUTIAO | MP-WEIXIN
-      this.videoContext.play()
-      // #endif
-      this.progress = 0
-      this.watched(this.id, this.currentEpisode.id)
-    },
-    // 暂停
-    handlePause(item, isAll = false) {
-      if (!this.isPlaying) return
-      item.isPlaying = false
-      this.isPlaying = false
-      // 展厅其他的
-      const indexArr = ['prev', 'current', 'next']
-      const swiperKey = indexArr[this.swiperCurrent]
-      indexArr.forEach(obj => {
-        if (swiperKey !== obj || isAll) {
-          const videoContext = uni.createVideoContext(`video${obj}`, this)
-          videoContext.pause()
+        // #endif
+        this.progress = 0
+        this.watched(this.id, this.currentEpisode.id)
+      },
+      // 暂停
+      handlePause(item, isAll = false) {
+        if (!this.isPlaying) return
+        item.isPlaying = false
+        this.isPlaying = false
+        // 展厅其他的
+        const indexArr = ['prev', 'current', 'next']
+        const swiperKey = indexArr[this.swiperCurrent]
+        indexArr.forEach(obj => {
+          if (swiperKey !== obj || isAll) {
+            const videoContext = uni.createVideoContext(`video${obj}`, this)
+            videoContext.pause()
+          }
+        })
+      },
+      // 选择剧集
+      handleSelectEpisode(index) {
+        // 暂停上一个
+        this.handlePause(this.currentEpisode, true)
+
+        const item = this.lists[index]
+
+        // 重置SwiperEpisode数据 切换播放
+        this.swiperCurrent = 1
+        this.initSwiperEpisode(item.id)
+      },
+      // 当前剧集购买记录
+      async getBuyRecord() {
+        await this.$api.user.episode.buyRecord(this.id).then(res => {
+          this.buyRecord = res.data
+        })
+      },
+      // 购买剧集
+      async handleBuy() {
+        await this.$api.user.episode.buyHandle(this.id, this.currentEpisode.id).then(async res => {
+          this.$hideLoading()
+          if (typeof res.data.overage !== 'undefined') {
+            this.rechargeShow = true
+          } else {
+            this.$u.toast('购买成功')
+            await this.getBuyRecord()
+            this.handlePlay(this.currentEpisode)
+            this.$api.user.info().then(res => {
+              this.$store.dispatch('user/info', res.data)
+            })
+          }
+        }).catch(() => {
+          this.$hideLoading()
+        })
+      },
+      // 滚动 Swiper
+      handleSwiperChancge({
+        detail
+      }) {
+        this.isFirstLoad = false;
+        // this.swiperCurrent = detail.current
+      },
+      handleSwiperAnimationFinish({
+        detail
+      }) {
+        this.swiperCurrent = detail.current //注释掉尝试-------》
+      },
+      // 播放前检查剧集是否购买/免费
+      checkBeforePlay(item) {
+        // 剧集免费 不免费已购买 VIP观看是VIP
+        if (item.is_free) {
+          return true
         }
-      })
-    },
-    // 选择剧集
-    handleSelectEpisode(index) {
-      // 暂停上一个
-      this.handlePause(this.currentEpisode, true)
 
-      const item = this.lists[index]
+        if (!item.is_free && this.buyRecord.indexOf(item.id) !== -1) {
+          return true
+        }
 
-      // 重置SwiperEpisode数据 切换播放
-      this.swiperCurrent = 1
-      this.initSwiperEpisode(item.id)
-    },
-    // 当前剧集购买记录
-    async getBuyRecord() {
-      await this.$api.user.episode.buyRecord(this.id).then(res => {
-        this.buyRecord = res.data
-      })
-    },
-    // 购买剧集
-    async handleBuy() {
-      await this.$api.user.episode.buyHandle(this.id, this.currentEpisode.id).then(async res => {
-        this.$hideLoading()
-        if (typeof res.data.overage !== 'undefined') {
-          this.rechargeShow = true
+        if (this.episode.is_vip_watch && this.userInfo.info.is_vip) {
+          return true
+        }
+
+        return false
+      },
+      // 检查余额是否足够支付
+      checkOverage(item) {
+        return this.userInfo.info.integral >= item.sale_price
+      },
+      // 记录观看记录
+      watched(id, list_id) {
+        this.$api.user.episode.watched(id, list_id).then(res => {
+
+        })
+      },
+      // 分享
+      handleShared(id) {
+        console.log('-->handleShared success')
+        this.$api.episode.shared(id).then(res => {
+          this.episode.share_count += 1
+        })
+      },
+      handleCollectAndFavChange(data) {
+        if (data.type === 'collect') {
+          this.episode.user_collect_count += data.num
         } else {
-          this.$u.toast('购买成功')
-          await this.getBuyRecord()
-          this.handlePlay(this.currentEpisode)
-          this.$api.user.info().then(res => {
-            this.$store.dispatch('user/info', res.data)
+          // this.episode.user_favorite_count += data.num
+        }
+      },
+      // // 初始化 Swiper 剧集
+      initSwiperEpisode(listId) {
+        let currentIndex = 0
+        if (listId) {
+          currentIndex = this.lists.findIndex(obj => {
+            return parseInt(listId) === parseInt(obj.id)
           })
         }
-      }).catch(() => {
-        this.$hideLoading()
-      })
-    },
-    // 滚动 Swiper
-    handleSwiperChancge({ detail }) {
-      // this.swiperCurrent = detail.current
-    },
-    handleSwiperAnimationFinish({ detail }) {
-      this.swiperCurrent = detail.current
-    },
-    // 播放前检查剧集是否购买/免费
-    checkBeforePlay(item) {
-      // 剧集免费 不免费已购买 VIP观看是VIP
-      if (item.is_free) {
-        return true
-      }
+        let prevIndex = currentIndex - 1
+        let nextIndex = currentIndex + 1
+        const len = this.lists.length
+        if (parseInt(listId) === 0 || prevIndex < 0) {
+          prevIndex = len - 1
+        }
+        //
+        if (nextIndex >= len) {
+          nextIndex = 0
+        }
 
-      if (!item.is_free && this.buyRecord.indexOf(item.id) !== -1) {
-        return true
-      }
+        this.swiperEpisode = {
+          prev: this.lists[prevIndex],
+          current: this.lists[currentIndex],
+          next: this.lists[nextIndex]
+        }
+        console.log('-->swiper data', JSON.stringify(this.swiperEpisode))
 
-      if (this.episode.is_vip_watch && this.userInfo.info.is_vip) {
-        return true
+        this.currentEpisode = this.lists[currentIndex]
+        console.log('-->currentEpisode', this.currentEpisode)
+        this.$nextTick(() => {
+          this.handlePlay(this.currentEpisode)
+        })
+      },
+      // 获取剧集详情
+      getEpisode() {
+        this.loading = true
+        this.$api.episode.detail(this.id).then(res => {
+          this.loading = false
+          this.episode = res.data
+          uni.setNavigationBarTitle({
+            title: this.episode.name + (this.episode.status === 0 ? ' | 更新中' : '已完结')
+          })
+          this.episode.lists.forEach((obj, index) => {
+            obj.isPlaying = false
+            obj.index = index
+            obj.progress = 0
+            obj.src = obj.url
+          })
+          this.lists = this.episode.lists
+          // 初始化 Swiper 剧集
+          this.initSwiperEpisode(this.listId)
+        })
       }
-
-      return false
     },
-    // 检查余额是否足够支付
-    checkOverage(item) {
-      return this.userInfo.info.integral >= item.sale_price
-    },
-    // 记录观看记录
-    watched(id, list_id) {
-      this.$api.user.episode.watched(id, list_id).then(res => {
-
-      })
+    async onLoad(options) {
+      this.id = options.id
+      this.listId = options?.list_id
+      this.listId = this.listId ? this.listId : 0
+      await this.getBuyRecord()
+      this.getEpisode()
     },
     // 分享
-    handleShared(id) {
-      console.log('-->handleShared success')
-      this.$api.episode.shared(id).then(res => {
-        this.episode.share_count += 1
-      })
-    },
-    handleCollectAndFavChange(data) {
-      if (data.type === 'collect') {
-        this.episode.user_collect_count += data.num
-      } else {
-        // this.episode.user_favorite_count += data.num
+    onShareAppMessage(res) {
+      if (res.from === 'button') { // 来自页面内分享按钮
+        console.log(res.target)
       }
-    },
-    // // 初始化 Swiper 剧集
-    initSwiperEpisode(listId) {
-      let currentIndex = 0
-      if (listId) {
-        currentIndex = this.lists.findIndex(obj => {
-          return parseInt(listId) === parseInt(obj.id)
-        })
-      }
-      let prevIndex = currentIndex - 1
-      let nextIndex = currentIndex + 1
-      const len = this.lists.length
-      if (parseInt(listId) === 0 || prevIndex < 0) {
-        prevIndex = len - 1
-      }
-      //
-      if (nextIndex >= len) {
-        nextIndex = 0
-      }
-
-      this.swiperEpisode = {
-        prev: this.lists[prevIndex],
-        current: this.lists[currentIndex],
-        next: this.lists[nextIndex]
+      let options = {
+        title: '',
+        path: `/pages/episode/play?id=${this.id}&user_id=${this.userInfo.user_id}`
       }
-      console.log('-->swiper data', JSON.stringify(this.swiperEpisode))
-
-      this.currentEpisode = this.lists[currentIndex]
-      console.log('-->currentEpisode', this.currentEpisode)
-      this.$nextTick(() => {
-        this.handlePlay(this.currentEpisode)
-      })
-    },
-    // 获取剧集详情
-    getEpisode() {
-      this.loading = true
-      this.$api.episode.detail(this.id).then(res => {
-        this.loading = false
-        this.episode = res.data
-        uni.setNavigationBarTitle({
-          title: this.episode.name + (this.episode.status === 0 ? ' | 更新中' : '已完结')
-        })
-        this.episode.lists.forEach((obj, index) => {
-          obj.isPlaying = false
-          obj.index = index
-          obj.progress = 0
-          obj.src = obj.url
-        })
-        this.lists = this.episode.lists
-        // 初始化 Swiper 剧集
-        this.initSwiperEpisode(this.listId)
-      })
-    }
-  },
-  async onLoad(options) {
-    this.id = options.id
-    this.listId = options?.list_id
-    this.listId = this.listId ? this.listId : 0
-    await this.getBuyRecord()
-    this.getEpisode()
-  },
-  // 分享
-  onShareAppMessage(res) {
-    if (res.from === 'button') { // 来自页面内分享按钮
-      console.log(res.target)
-    }
-    let options = {
-      title: '',
-      path: `/pages/episode/play?id=${this.id}&user_id=${this.userInfo.user_id}`
-    }
-    if (this.episode) {
-      // 没有success 回调 只要点击分享了就默认成功
-      this.handleShared(this.id)
-      options = {
-        title: this.episode.name,
-        path: `/pages/episode/play?id=${this.id}&user_id=${this.userInfo.user_id}`,
-        imageUrl: this.episode.cover_img,
-        desc: this.episode.name
+      if (this.episode) {
+        // 没有success 回调 只要点击分享了就默认成功
+        this.handleShared(this.id)
+        options = {
+          title: this.episode.name,
+          path: `/pages/episode/play?id=${this.id}&user_id=${this.userInfo.user_id}`,
+          imageUrl: this.episode.cover_img,
+          desc: this.episode.name
+        }
       }
+      return options
     }
-    return options
   }
-}
 </script>
 
 <style lang="scss" scoped>
-    .play-container {
-      font-size: 28rpx;
-      .video-box{
+  .play-container {
+    font-size: 28rpx;
+
+    .video-box {
+      position: fixed;
+      top: 0;
+      left: 0;
+      right: 0;
+      bottom: 0;
+
+      .play-layer {
         position: fixed;
         top: 0;
         left: 0;
+        // #ifdef  MP-KUAISHOU | MP-WEIXIN
+        bottom: 240rpx;
+        // #endif
+        // #ifdef  MP-TOUTIAO
+        bottom: 360rpx;
+        // #endif
         right: 0;
-        bottom: 0;
-        .play-layer{
-          position: fixed;
-          top: 0;
-          left: 0;
-          // #ifdef  MP-KUAISHOU | MP-WEIXIN
-          bottom: 240rpx;
-          // #endif
-          // #ifdef  MP-TOUTIAO
-          bottom: 360rpx;
-          // #endif
-          right: 0;
-          background: transparent;
-          z-index: 999;
-          .icon{
-            position: absolute;
-            top: 50%;
-            transform: translate(2px,63%);
-          }
-        }
-        .pause-layer{
+        background: transparent;
+        z-index: 999;
+
+        .icon {
           position: absolute;
-          top: 0;
-          left: 0;
-          // #ifdef  MP-KUAISHOU | MP-WEIXIN
-          bottom: 240rpx;
-          // #endif
-          // #ifdef  MP-TOUTIAO
-          bottom: 360rpx;
-          // #endif
-          right: 0;
-          background: transparent;
-          z-index: 99;
+          top: 50%;
+          transform: translate(2px, 63%);
         }
-        .swiper {
+      }
+
+      .pause-layer {
+        position: absolute;
+        top: 0;
+        left: 0;
+        // #ifdef  MP-KUAISHOU | MP-WEIXIN
+        bottom: 240rpx;
+        // #endif
+        // #ifdef  MP-TOUTIAO
+        bottom: 360rpx;
+        // #endif
+        right: 0;
+        background: transparent;
+        z-index: 99;
+      }
+
+      .swiper {
+        width: 100%;
+        height: 100vh;
+        position: relative;
+        z-index: 99;
+
+        .swiper-item {
           width: 100%;
-          height: 100vh;
-          position: relative;
-          z-index: 99;
-          .swiper-item {
-            width: 100%;
-            height: 100vh !important;
-          }
+          height: 100vh !important;
         }
-        .progress-container{
-          width: 93vw;
-          background: #fff;
+      }
+
+      .progress-container {
+        width: 93vw;
+        background: #fff;
+        height: 10rpx;
+        position: fixed;
+        z-index: 100;
+        bottom: 160rpx;
+
+        .progress {
           height: 10rpx;
-          position: fixed;
-          z-index: 100;
-          bottom: 160rpx;
-          .progress{
-            height: 10rpx;
-            background: linear-gradient(270deg, #6EEBE8 0%, #FF74B9 100%);
-          }
+          background: linear-gradient(270deg, #6EEBE8 0%, #FF74B9 100%);
         }
       }
     }
+  }
 </style>

+ 1 - 1
mini/setting.js

xqd
@@ -9,7 +9,7 @@ module.exports = {
   // 版本
   VERSION: '0.0.1',
   // API 接口URL
-  BASE_URL: IS_DEV ? 'http://www.zsy.me/api' : URL + '/api',
+  BASE_URL: IS_DEV ? 'https://zhangsiye.9026.com/api' : URL + '/api',
   // API 接口URL
   IMAGE_URL: IS_DEV ? 'http://www.zsy.me/static/image' : URL + '/static/image'
 }