movies.js

was util = require ( '../../ utils / util.js')
var app = getApp ();
Page({
// RESTFul API JSON
// SOAP XML
// size is not strength
data: {
inTheaters: {},
comingSoon: {},
top250: {},
searchResult: {},
// Jiugongge
containerShow: true,
//
searchPanelShow: false,
},

//https://api.douban.com/v2/movie/in_theaters?start=0&count=3
onLoad: function (event) {
var inTheatersUrl = app.globalData.doubanBase +"/v2/movie/in_theaters" + "?start=1&count=6";
var comingSoonUrl = app.globalData.doubanBase +"/v2/movie/coming_soon" + "?start=1&count=6";
var top250Url = app.globalData.doubanBase +"/v2/movie/top250" + "?start=0&count=6";
var inTheatersUrl = app.globalData.doubanBase + "/v2/movie/in_theaters" + "?start=5&count=6";
var comingSoonUrl = app.globalData.doubanBase + "/v2/movie/coming_soon" + "?start=6&count=6";
var top250Url = app.globalData.doubanBase + "/v2/movie/top250" + "?start=6&count=6";
 

this.getMovieListData (inTheatersUrl, "inTheaters", "is being aggressively");
this.getMovieListData(comingSoonUrl, "comingSoon", "即将上映");
this.getMovieListData(top250Url, "top250", "豆瓣Top250");
this.getMovieListData (inTheatersUrl, "inTheaters", "is being aggressively");
this.getMovieListData(comingSoonUrl, "comingSoon", "即将上映");
this.getMovieListData(top250Url, "top250", "豆瓣Top250");
},



getMovieListData: function (url, settedKey, categoryTitle) {
var that = this;
// background data request
wx.request({
// transfer interfaces
url: url,
//Data Format
method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
// return data format
header: {
"Content-Type": "json"
},
success: function (res) {
that.processDoubanData(res.data, settedKey, categoryTitle)
},
fail: function (error) {
// fail
console.log(error)
}
})
},

onCancelImgTap: function (event) {
this.setData({
containerShow: true,
searchPanelShow: false,
searchResult: {}
}
)
},

onBindFocus: function (event) {
this.setData({
containerShow: false,
searchPanelShow: true
})
},
onBindBlur: function (event) {
var text = event.detail.value;
var searchUrl = app.globalData.doubanBase + "/v2/movie/search?q=" + text;
this.getMovieListData(searchUrl, "searchResult", "");
},
processDoubanData: function (moviesDouban, settedKey, categoryTitle) {
var movies = [];
for (var idx in moviesDouban.subjects) {
var subject = moviesDouban.subjects[idx];
var title = subject.title;
// word over six display ...
if (title.length >= 6) {
//substring
title = title.substring(0, 6) + "...";
}
// [1,1,1,1,1] [1,1,1,0,0]
var temp = {
stars: util.convertToStarsArray(subject.rating.stars),
title: title,
average: subject.rating.average,
coverageUrl: subject.images.large,
movieId: subject.id
}
movies.push(temp)
}
var readyData = {};
readyData[settedKey] = {
categoryTitle: categoryTitle,
movies: movies
}
// readyData will replace the three variables inTheaters data in, comingSoon, top250
this.setData(readyData);
},
onMoreTap: function (event) {
var category = event.currentTarget.dataset.category;
wx.navigateTo({
url: "more-movie/more-movie?category=" + category
})
},
onMovieTap: function (event) {
var movieId = event.currentTarget.dataset.movieid;
wx.navigateTo({
url: "movie-detail/movie-detail?id=" + movieId
})
}
})


Guess you like

Origin www.cnblogs.com/dmzzyc/p/12024632.html
Recommended