zoukankan      html  css  js  c++  java
  • movies.js

    var util = require('../../utils/util.js')
    var app = getApp();
    Page({
    // RESTFul API JSON
    // SOAP XML
    //粒度 不是 力度
    data: {
    inTheaters: {},
    comingSoon: {},
    top250: {},
    searchResult: {},
    //九宫格
    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", "正在热映");
    this.getMovieListData(comingSoonUrl, "comingSoon", "即将上映");
    this.getMovieListData(top250Url, "top250", "豆瓣Top250");
    this.getMovieListData(inTheatersUrl, "inTheaters", "正在热映");
    this.getMovieListData(comingSoonUrl, "comingSoon", "即将上映");
    this.getMovieListData(top250Url, "top250", "豆瓣Top250");
    },



    getMovieListData: function (url, settedKey, categoryTitle) {
    var that = this;
    //后台请求数据
    wx.request({
    //调接口
    url: url,
    //数据格式
    method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
    //数据返回格式
    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;
    //字超过六个显示...
    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将替换掉 data 中的三个变量 inTheaters、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
    })
    }
    })


  • 相关阅读:
    vim在插入模式下的粘贴
    关于外语学习的7个“美丽误会”(图)
    美国在线教育的启示:教育领域正在革命
    自动生成计算题
    字符串的截取,分割,替换
    将字符串转成byte,然后再转回来 日期相互转化字符串
    java编写的万年历代码
    小球弹砖块游戏(JAVA)
    随即输入一段字符串,统计出数字,大写字母。小写字母,空格
    邮箱验证信息
  • 原文地址:https://www.cnblogs.com/dmzzyc/p/12024632.html
Copyright © 2011-2022 走看看