| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- var app = getApp()
- var util = require('../../../utils/util.js')
- Page({
- data: {
- movies: {},
- navigateTitle: "",
- requestUrl: "",
- totalCount: 0,
- isEmpty: true,
- hiddenLoading:false,
- disabledRemind:false
- },
- onLoad: function (options) {
- var category = options.category;
- this.data.navigateTitle = category;
- var dataUrl = "";
- switch (category) {
- case "正在热映":
- dataUrl = app.globalData.doubanBase +
- "/v2/movie/in_theaters";
- break;
- case "即将上映":
- dataUrl = app.globalData.doubanBase +
- "/v2/movie/coming_soon";
- break;
- case "豆瓣Top250":
- dataUrl = app.globalData.doubanBase + "/v2/movie/top250";
- break;
- }
- wx.setNavigationBarTitle({
- title: category
- })
- this.data.requestUrl = dataUrl;
- util.http(dataUrl, this.processDoubanData)
- },
- onPullDownRefresh: function (event) {
- var refreshUrl = this.data.requestUrl +
- "?star=0&count=20"
- this.data.movies = {};
- this.data.isEmpty = true;
- this.data.totalCount = 0;
- util.http(refreshUrl, this.processDoubanData);
- wx.showNavigationBarLoading();
- },
- onReachBottom: function (event) {
- // 上滑加载
- var nextUrl = this.data.requestUrl +
- "?start=" + this.data.totalCount + "&count=20";
- util.http(nextUrl, this.processDoubanData)
- wx.showNavigationBarLoading()
- },
- processDoubanData: function (moviesDouban) {
- var movies = [];
- //没有更多啦
- if(moviesDouban.subjects.length<=0){
- var _this = this;
- if(!_this.data.disabledRemind){
- _this.setData({
- disabledRemind: true
- });
- setTimeout(function(){
- _this.setData({
- disabledRemind: false
- });
- }, 2000);
- }
- }
- for (var idx in moviesDouban.subjects) {
- var subject = moviesDouban.subjects[idx];
- var title = subject.title;
- if (title.length >= 6) {
- title = title.substring(0, 6) + "...";
- }
- var score = subject.rating.average + "";
- var temp = {
- stars: util.convertToStarsArray(subject.rating.stars),
- title: title,
- average: score.length == 1 ? subject.rating.average + '.0' : subject.rating.average,
- coverageUrl: subject.images.large,
- movieId: subject.id
- }
- movies.push(temp)
- }
- var totalMovies = {}
- //如果要绑定新加载的数据,那么需要同旧有的数据合并在一起
- if (!this.data.isEmpty) {
- totalMovies = this.data.movies.concat(movies);
- }
- else {
- totalMovies = movies;
- this.data.isEmpty = false;
- }
- this.setData({
- movies: totalMovies
- });
- this.data.totalCount += 20;
- wx.hideNavigationBarLoading();
- wx.stopPullDownRefresh()
- this.setData({
- hiddenLoading:true
- })
- },
- onReady: function (event) {
- wx.setNavigationBarTitle({
- title: this.data.navigateTitle
- })
- },
- onMovieTap: function (event) {
- var movieId = event.currentTarget.dataset.movieid;
- wx.navigateTo({
- url: '../movie-detail/movie-detail?id=' + movieId
- })
- },
- })
|