多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## movie-detial.js [TOC] ### 外部变量获取 ``` var douban = getApp().globalData.doubanUrl; import utils from "../../../utils/utils"; var http = utils.http; var star = utils.star; ``` ### 页面初始设置 ``` Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { wx.showLoading({ title: "加载中..." }) var id = options.id; console.log(id); var url = 'https://douban.uieee.com/v2/movie/subject/' + id; // console.log(url); http(url, this.handleData); }, ``` ### 自定义handleData函数 ``` handleData(res) { console.log(res) var title = res.data.title; var countries = res.data.countries; var year = res.data.year; var collection = res.data.collect_count; var reviews = res.data.reviews_count; var img = res.data.images.small; var original = res.data.original_title; var stars = star(res.data.rating.stars); var genres = res.data.genres; var directors = res.data.directors[0].name; var average = res.data.rating.average; // console.log(directors) var casts = res.data.casts; var avatars = []; var summary = res.data.summary; var avatarsImg = []; //从casts数组中处理数据得到A/B/C/D的表示结构 casts.forEach(ele => { var actors = ele.name; var img = ele.avatars.small; var larImg = ele.avatars.large; var nameList = { actors, } var imgUrl = { img, larImg } avatars.push(nameList); avatarsImg.push(imgUrl); }); console.log(avatarsImg) var avatarsList = []; avatars.forEach(ele => { avatarsList.push(ele.actors); }) var finalList = avatarsList.join("/"); var temp = { title, countries, collection, reviews, img, original, stars, genres, directors, finalList, summary, year, avatarsImg, average }; // console.log(avatars) console.log(temp); this.setData(temp); wx.hideLoading(); }, ``` ### 点击演员图片显示大图函数 ``` viewPhoto(event) { var id = event.currentTarget.dataset.id; console.log(id); var avatarsImg = this.data.avatarsImg; console.log(avatarsImg) // var img = this.data.img; var larImg = this.data.avatarsImg[id].larImg; wx.previewImage({ // current: avatarsImg.img, urls: [larImg] }) } }) ```