您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)微信小程序開(kāi)發(fā)中如何實(shí)現(xiàn)仿電影影評(píng)小程序開(kāi)發(fā),小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
首先如圖建立文件夾和page頁(yè)面
然后app.json頁(yè)面更新代碼如下:
{
"pages": [
"pages/hotPage/hotPage",
"pages/comingSoon/comingSoon",
"pages/search/search",
"pages/more/more"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle": "black"
},
"tabBar": {
"list": [{
"pagePath": "pages/hotPage/hotPage",
"text": "本地?zé)嵊?quot;
},{
"pagePath": "pages/comingSoon/comingSoon",
"text": "即將上映"
},{
"pagePath": "pages/search/search",
"text": "影片搜索"
}]
}
}
然后是app.wxss頁(yè)面(為后面的頁(yè)面樣式寫(xiě)的):
/**app.wxss**/.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 200rpx 0;
box-sizing: border-box;
} /* hotPage.wxss */
.movies{
display:flex;
}
.myimage{
flex: 1;
}
.moveInfo{
flex: 2;
}
.yanyuanlist{
display:flex;
}
.left{
flex:1;
}
.right{
flex:2;
}
頁(yè)面顯示如圖:
然后是hotPage.wxml頁(yè)面:
<view class="movies" wx:for="{{movies}}" id="{{item.id}}" bindtap="jumpTomore">
<view class="myimage">
<image src="{{item.images.medium}}"></image>
</view>
<view class="moveInfo">
<view class="title">
名稱:{{item.title}}
</view>
<view class="daoyan">
導(dǎo)演:{{item.directors["0"].name}}
</view>
<view class="yanyuanlist">
<view class="left">演員:</view>
<view class="right">
<block wx:for="{{item.casts}}">{{item.name}} </block>
</view>
</view>
<view class="fenlei">
分類:{{item.genres}}
</view>
<view class="year">
上映時(shí)間:{{item.year}}
</view>
</view>
</view>
然后是hotPage.js頁(yè)面:
var that;var page = 0;// more.js
Page({
/**
* 頁(yè)面的初始數(shù)據(jù)
*/
data: {
movies: []
},
/**
* 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
*/
onLoad: function (options) {
that = this;
that.linkNet(0);
},
jumpTomore: function (e) {
console.log(e.currentTarget.id);
wx.navigateTo({
url: '/pages/more/more?id=' + e.currentTarget.id,
})
},
linkNet: function (page) {
wx.request({
header: {
"Content-Type": "json"
},
url: 'https://api.douban.com/v2/movie/in_theaters',
data: {
start: 10 * page,
count: 10,
city: '成都'
},
success: function (e) {
console.log(e);
if (e.data.subjects.length == 0) {
wx.showToast({
title: '沒(méi)有更多數(shù)據(jù)',
})
} else {
that.setData({
movies: that.data.movies.concat(e.data.subjects)
})
}
}
})
},
onReachBottom: function () {
that.linkNet(++page);
}
})
運(yùn)行程序結(jié)果如圖:
然后是hotPage.wxss:
image{
width:350rpx;
height:280rpx;
}
接著是第二個(gè)頁(yè)面的布局和第一個(gè)頁(yè)面一樣,所以直接把第一個(gè)頁(yè)面hotPage.wxml代碼copy過(guò)來(lái)就好了;
同樣comingSoon.js代碼和hotPage.js代碼也差不多,唯一需要改動(dòng)的地方只有一個(gè):
url和data改一下就好了
.wxss代碼一致;
運(yùn)行結(jié)果如下:
接著是第三個(gè)頁(yè)面的代碼:
search.wxml頁(yè)面代碼:
<input placeholder="輸入關(guān)鍵字" bindinput="myInput" /><button bindtap="mySearch">搜索</button>
<view class="movies" wx:for="{{movies}}" id="{{item.id}}" bindtap="jumpTomore">
<view class="myimage">
<image src="{{item.images.medium}}"></image>
</view>
<view class="moveInfo">
<view class="title">
名稱:{{item.title}}
</view>
<view class="daoyan">
導(dǎo)演:{{item.directors["0"].name}}
</view>
<view class="yanyuanlist">
<view class="left">演員:</view>
<view class="right">
<block wx:for="{{item.casts}}">{{item.name}} </block>
</view>
</view>
<view class="fenlei">
分類:{{item.genres}}
</view>
<view class="year">
上映時(shí)間:{{item.year}}
</view>
</view>
</view>
search.js頁(yè)面代碼:
var input;var that;// search.js
Page({
/**
* 頁(yè)面的初始數(shù)據(jù)
*/
data: {
movies: []
},
/**
* 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
*/
onLoad: function (options) {
that = this;
},
myInput: function (e) {
input = e.detail.value;
},
mySearch: function () {
wx.request({
header: {
"Content-Type": "json"
},
url: 'https://api.douban.com/v2/movie/search?q=' + input,
success: function (e) {
that.setData({
movies: e.data.subjects
})
}
})
}
})
search.wxss代碼同hotPage.wxss代碼一致;
運(yùn)行代碼結(jié)果如下:
最后是詳情頁(yè)面,點(diǎn)擊影片后會(huì)跳轉(zhuǎn)到詳情頁(yè)面獲得影片的詳細(xì)信息:
more.wxml頁(yè)面代碼:
<!--more.wxml--><image src="{{imageUrl}}"></image><view class="moveInfo">
<view class="title">名字:{{title}}</view>
<view class="director">導(dǎo)演:{{director}}</view>
<view class="castleft">主演:</view>
<view class="casts" wx:for="{{casts}}">
<block class="castright">{{item.name}}</block>
</view>
<view class="year">年份:{{year}}</view>
<view class="rate">評(píng)分:{{rate}}</view>
<view class="summary">介紹:{{summary}}</view></view>
more.js代碼:
var that;
// more.jsPage({
/**
* 頁(yè)面的初始數(shù)據(jù)
*/
data: {
title: 0,
imageUrl: 0,
director: 0,
casts: [],
year: 0,
rate: 0,
summary: 0
},
/**
* 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
*/
onLoad: function (options) {
that = this;
wx.request({
header: {
"Content-Type": "json"
},
url: 'https://api.douban.com/v2/movie/subject/' + options.id,
success: function (e) {
console.log(e)
that.setData({
title: e.data.original_title,
imageUrl: e.data.images.large,
director: e.data.directors["0"].name,
casts: e.data.casts,
year: e.data.year,
rate: e.data.rating.average,
summary: e.data.summary
})
}
})
}
})
關(guān)于“微信小程序開(kāi)發(fā)中如何實(shí)現(xiàn)仿電影影評(píng)小程序開(kāi)發(fā)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。