「小程式JAVA實戰」小程式影片列表到詳情功能(58)

nintyuui發表於2021-09-09

目前直接展示的都是詳情頁面,現在需要完成透過詳情可以直接跳轉到首頁,透過首頁點選某個影片,可以跳轉到某個影片詳情中。原始碼 中No.15

修改首頁功能

透過block 索引的方式找到點選的對應影片列表中的其中一個傳遞給詳情頁面

const app = getApp()

Page({  data: {    // 用於分頁的屬性
    totalPage: 1,    page: 1,    videoList: [],    screenWidth: 350,    serverUrl: "",    searchValue:""
  },  onLoad: function (params) {    var me = this;    var screenWidth = wx.getSystemInfoSync().screenWidth;
    me.setData({      screenWidth: screenWidth,
    });    var searchValue = params.searchValue;    var isSaveRecord = params.isSaveRecord;    if (isSaveRecord == null || isSaveRecord == "" || isSaveRecord == undefined){
      isSaveRecord = 0;
    }

    me.setData({      searchValue: searchValue,
    });    // 獲取當前的分頁數
    var page = me.data.page;
    me.getAllVideosList(page, isSaveRecord);
  },  getAllVideosList: function (page, isSaveRecord){    var me = this;    var serverUrl = app.serverUrl;
    wx.showLoading({      title: '請等待,載入中...',
    });


    wx.request({      url: serverUrl + '/video/showAll?page=' + page + "&isSaveRecord =" + isSaveRecord,      method: "POST",      data:{        videoDesc: me.data.searchValue
      },      success: function (res) {
        wx.hideLoading();
        wx.hideNavigationBarLoading();
        wx.stopPullDownRefresh();        console.log(res.data);        // 判斷當前頁page是否是第一頁,如果是第一頁,那麼設定videoList為空
        if (page === 1) {
          me.setData({            videoList: []
          });
        }        var videoList = res.data.data.rows;        var newVideoList = me.data.videoList;

        me.setData({          videoList: newVideoList.concat(videoList),          page: page,          totalPage: res.data.data.total,          serverUrl: serverUrl
        });

      }
    })
  },  onPullDownRefresh: function (params) {    var me = this;
    wx.showNavigationBarLoading();
    me.getAllVideosList(1,0);

  },  onReachBottom: function (params){    var me = this;    var currentPage = me.data.page;    var totalPage = me.data.totalPage;    
    //判斷當前頁數和總頁數是否相等,如果相同已經無需請求
    if (currentPage == totalPage){
      wx.showToast({        title: '已經沒有影片啦~',        icon:"none"
      })      return;
    }    var page = currentPage+1;
    me.getAllVideosList(page,0);

},  showVideoInfo:function(e){    var me = this;    var videoList = me.data.videoList;    var arrIndex = e.target.dataset.arrindex;    var videoInfo = JSON.stringify(videoList[arrIndex]);
    wx.redirectTo({      url: '../videoInfo/videoInfo?videoInfo=' + videoInfo,
    })

  }


})

圖片描述

詳情頁面獲取傳遞過來的內容複製src

var videoUtils = require('../../utils/videoUtils.js')const app = getApp()
Page({  data: {    cover:'cover',    videoContext:"",    videoInfo:{},    videId:'',    src:''
  },  

  showSearch:function(){
    wx.navigateTo({      url: '../videoSearch/videoSearch',
    })
  },  onLoad:function(params){    var me = this;
    me.videoContext = wx.createVideoContext('myVideo', me);    var videoInfo = JSON.parse(params.videoInfo);
    me.setData({      videId: videoInfo.id,      src: app.serverUrl + videoInfo.videoPath,      videoInfo: videoInfo
    })

  },  showIndex:function(){
    wx.redirectTo({      url: '../index/index',
    })
  },  onShow:function(){    var me = this;
    me.videoContext.play();
  },  onHide:function(){    var me = this;
    me.videoContext.pause();
  },  upload:function(){
    videoUtils.uploadVideo();
  }
})

圖片描述

PS: 頁面的跳轉傳值在html和jsp開發中也比較普遍,千萬不要有老鐵透過快取的方式傳值,可以是可以但是不清晰了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3209/viewspace-2823826/,如需轉載,請註明出處,否則將追究法律責任。

相關文章