微信小程序电影列表(一)1.当我们再次见面的时候,不得比现在优秀一点点嘛~
tab选项卡2.使用tab选项卡,首先我们等去之前新闻列表的welcome.js文件中修改一个地方:
//页面之间平行跳转,之前的页面被关闭,不可返回,进入同级界面wx.navigateTo({url:'../posts/post',});},3.122100版本中,如果跳转到一个带有tab选项卡的页面,必须用wx.switchTab这个新增方法。请更改为这个方法。但是如果要跳转到一个不带tab选项卡的页面,还是需要使用redirect或者navigate。
4.效果图:
5.6.
微信小程序tabBar官方说明文档:https://developers.weixin.qq.com/miniprogram/dev/framework/config.html
7.tabBar使用案例:
"tabBar":{"list":[{"pagePath":"","text":"主页"},{"pagePath":"","text":"日志"}]}8.新建movies文件夹,并创建对应的四个文件
9.10.
在app.js文件中添加tarBar设置
{"pages":["pages/posts/post","pages/movies/movies","pages/welcome/welcome","pages/posts/post-detail/post-detail"],"window":{"navigationBarBackgroundColor":"#405f80"},"tabBar":{"list":[{"pagePath":"pages/movies/movies","text":"电影"},{"pagePath":"pages/posts/post","text":"文章"}]}}11.设置tabTar图标12.
修改app.json文件,为tabbarlist设置图片路径:
{"pages":["pages/posts/post","pages/movies/movies","pages/welcome/welcome","pages/posts/post-detail/post-detail"],"window":{"navigationBarBackgroundColor":"#405f80"},"tabBar":{"borderStyle":"white","list":[{"pagePath":"pages/posts/post","text":"阅读","iconPath":"/images/tab/yuedu.png","selectedIconPath":"/images/tab/yuedu_hl.png"},{"pagePath":"pages/movies/movies","text":"电影","iconPath":"/images/tab/dianying.png","selectedIconPath":"/images/tab/dianying_hl.png"}]}}13.创建电影界面14.
使用template来构建电影界面
15.创建文件目录结构
16.17.
stars-template.wxml文件作为评分(五颗五角星和得分)的模板
18.templatename"starsTempalte"viewimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imagetext0.0/text/view/template19.
movie-template.wxml文件作为异步电影的(海报名称评分)的模板
20.importsrc"../stars/stars-template.wxml"/templatename"movieTemplate"viewimagesrc'/images/yourname.jpg'/imagetext你的名字/texttemplateis"starsTempalte"//view/template21.
movie-list-template.wxml文件作为一列电影(分类的名称更多按钮包含三部电影)的模板
22.importsrc"../movie/movie-template.wxml"/templatename"movieListTemplate"viewviewtext正在热映/textviewtext更多/textimagesrc'/images/dy/arrow-right.png'/image/view/viewtemplateis"movieTemplate"/templateis"movieTemplate"/templateis"movieTemplate"//view/template23.
将模板构建在电影页面中:
24.moview.wxml文件
importsrc"movie-list/movie-list-template.wxml"/viewtemplateis"movieListTemplate"/templateis"movieListTemplate"/templateis"movieListTemplate"//view25.还没有加样式,比较丑,但是元素都设置成功!
26.编写样式27.
编写评分的样式stars-template.wxss
.stars-container{display:flex;flex-direction:row;}.stars{display:flex;flex-direction:row;height:17rpx;margin-right:24rpx;margin-top:6rpx;}.starsimage{padding-left:3rpx;height:17rpx;width:17rpx;}.star-score{color:#1f3463;}28.编写电影海报和名称的样式movie-template.wxss
/*导入写好的评分的样式*/@import"../stars/stars-template.wxss";.movie-container{display:flex;flex-direction:column;padding:022rpx;}.movie-img{width:200rpx;height:270rpx;padding-bottom:20rpx;}.movie-title{margin-bottom:16rpx;font-size:24rpx;}29.编写三部电影排列的样式movie-list-template.wxss
@import"../movie/movie-template.wxss";.movie-list-container{background-color:#fff;display:flex;flex-direction:column;}.inner-container{margin:0auto20rpx;}.movie-head{padding:30rpx20rpx22rpx;/*display:flex;flex-direction:row;justify-content:space-between;*/}.slogan{font-size:24rpx;}.more{float:right;}.more-text{vertical-align:middle;margin-right:10rpx;color:#1f4ba5;}.more-img{width:9rpx;height:16rpx;vertical-align:middle;}.movies-container{display:flex;flex-direction:row;}30.编写电影界面整体样式movies.wxss
@import"movie-list/movie-list-template.wxss";31.从服务器获取数据32.
我们将使用豆瓣的API接口获取数据
33.豆瓣API官网:https://developers.douban.com/wiki/?titleguide
34.注意!因为现在很多小程序学习视频都是拿豆瓣做实验,来自小程序的调用过多,豆瓣来自于小程序的调用被禁止。解决方法:将https://www.api.douban.com换成代理https://douban.uieee.com。亲测有效!
35.修改movies.wxml文件代码
importsrc"movie-list/movie-list-template.wxml"/viewclass'container'viewclass"movies-template"templateis"movieListTemplate"//viewviewclass"movies-template"templateis"movieListTemplate"//viewviewclass"movies-template"templateis"movieListTemplate"//view/view36.修改movise.wxss文件代码
@import"movie-list/movie-list-template.wxss";.container{background-color:#f2f2f2;}.movies-template{margin-bottom:30rpx;}37.修改movises.json文件代码
{"navigationBarTitleText":"光与影"}38.39.
将豆瓣API连接放进全局变量,即修改app.js文
App({globaData:{//指代音乐是否被播放g_isPlayingMusic:false,//哪一个音乐正在被播放g_currentMusicPostId:null,//豆瓣接口的全局变量doubanBase:"https://douban.uieee.com"}})40.修改movise.js文件,获取豆瓣正在热映、即将上映、top250三组数据
//获取全局的appvarappgetApp();Page({//RESTFULAPIjson//SOAPXML用的相当少/***页面的初始数据*/data:{},/***生命周期函数--监听页面加载*/onLoad:function(event){//正在热映varinTheatersUrlapp.globaData.doubanBase+"/v2/movie/in_theaters";//即将上映varcomingSoonUrlapp.globaData.doubanBase+"/v2/movie/coming_soon";//前250vartop250Urlapp.globaData.doubanBase+"/v2/movie/top250";this.getMovieListData(inTheatersUrl);this.getMovieListData(inTheatersUrl);this.getMovieListData(inTheatersUrl);},getMovieListData:function(url){wx.request({url:url,method:'GET',header:{'content-type':'application/xml'//豆瓣一定不能是json},success:function(res){console.log(res)},fail:function(error){console.log(error)}})}})41.默认每组数据20条数据,我们只需要三条,我们需要传参数设置只每组获取三条数据movise.js
//获取全局的appvarappgetApp();Page({//RESTFULAPIjson//SOAPXML用的相当少/***页面的初始数据*/data:{},/***生命周期函数--监听页面加载*/onLoad:function(event){//正在热映varinTheatersUrlapp.globaData.doubanBase+"/v2/movie/in_theaters"+"?start0count3";//即将上映varcomingSoonUrlapp.globaData.doubanBase+"/v2/movie/coming_soon"+"?start0count3";//前250vartop250Urlapp.globaData.doubanBase+"/v2/movie/top250"+"?start0count3";this.getMovieListData(inTheatersUrl);this.getMovieListData(inTheatersUrl);this.getMovieListData(inTheatersUrl);},getMovieListData:function(url){wx.request({url:url,method:'GET',header:{'content-type':'application/xml'//豆瓣一定不能是json},success:function(res){console.log(res)},fail:function(error){console.log(error)}})}})处理接收过来的方法42.movies.js文件:获取豆瓣数据
//获取全局的appvarappgetApp();Page({//RESTFULAPIjson//SOAPXML用的相当少/***页面的初始数据*/data:{inTheaters:{},comingSoon:{},top250:{}},/***生命周期函数--监听页面加载*/onLoad:function(event){//正在热映varinTheatersUrlapp.globaData.doubanBase+"/v2/movie/in_theaters"+"?start0count3";//即将上映varcomingSoonUrlapp.globaData.doubanBase+"/v2/movie/coming_soon"+"?start0count3";//前250vartop250Urlapp.globaData.doubanBase+"/v2/movie/top250"+"?start0count3";this.getMovieListData(inTheatersUrl,"inTheaters");this.getMovieListData(comingSoonUrl,"comingSoon");this.getMovieListData(top250Url,"top250");},getMovieListData:function(url,settedKey){varthatthis;wx.request({url:url,method:'GET',header:{'content-type':'application/xml'//豆瓣一定不能是json},success:function(res){that.procseeDoubanData(res.data,settedKey)},fail:function(error){console.log(error)}})},//处理数据函数procseeDoubanData:function(moviesDouban,settedKey){varmovies[];for(varidxinmoviesDouban.subjects){varsubjectmoviesDouban.subjects[idx];vartitlesubject.title;if(title.length6){titletitle.substring(0,6)+"···";}vartemp{title:title,//电影名称average:subject.rating.average,//评分coverageUrl:subject.images.large,//海报movieId:subject.id//id}movies.push(temp);varreadyData{};readyData[settedKey]{movies:movies,}//数据绑定this.setData(readyData);}},})43.movies.wxml文件:与数据进行绑定
importsrc"movie-list/movie-list-template.wxml"/viewclass'container'viewclass"movies-template"templateis"movieListTemplate"data"{{...inTheaters}}"//viewviewclass"movies-template"templateis"movieListTemplate"data"{{...comingSoon}}"//viewviewclass"movies-template"templateis"movieListTemplate"data"{{...top250}}"//view/view44.movies-list-template.wxml文件
importsrc"../movie/movie-template.wxml"/templatename"movieListTemplate"viewclass'movie-list-container'viewclass'inner-container'viewclass'movie-head'textclass'slogan'正在热映/textviewclass'more'textclass'more-text'更多/textimageclass'more-img'src'/images/dy/arrow-right.png'/image/view/viewviewclass'movies-container'blockwx:for"{{movies}}"wx:for-item"movie"templateis"movieTemplate"data"{{...movie}}"/!--templateis"movieTemplate"/templateis"movieTemplate"/--/block/view/view/view/template45.修改stars-template.wxml文件
templatename"starsTempalte"viewclass'stars-container'viewclass'stars'imagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/none-star.png'/image/viewtextclass'star-score'{{average}}/text/view/template46.编写stars(评分)组件47.
movies.js
varutilrequire('../../utils/utils.js')//获取全局的appvarappgetApp();Page({//RESTFULAPIjson//SOAPXML用的相当少/***页面的初始数据*/data:{//下面三个必须写!!!inTheaters:{},comingSoon:{},top250:{}},/***生命周期函数--监听页面加载*/onLoad:function(event){//正在热映varinTheatersUrlapp.globaData.doubanBase+"/v2/movie/in_theaters"+"?start0count3";//即将上映varcomingSoonUrlapp.globaData.doubanBase+"/v2/movie/coming_soon"+"?start0count3";//前250vartop250Urlapp.globaData.doubanBase+"/v2/movie/top250"+"?start0count3";this.getMovieListData(inTheatersUrl,"inTheaters","正在热映");this.getMovieListData(comingSoonUrl,"comingSoon","即将上映");this.getMovieListData(top250Url,"top250","豆瓣Top250");},getMovieListData:function(url,settedKey,cagetoryTitle){varthatthis;wx.request({url:url,method:'GET',header:{'content-type':'application/xml'//豆瓣一定不能是json},success:function(res){that.procseeDoubanData(res.data,settedKey,cagetoryTitle)},fail:function(error){console.log(error)}})},//处理数据函数procseeDoubanData:function(moviesDouban,settedKey,cagetoryTitle){varmovies[];for(varidxinmoviesDouban.subjects){varsubjectmoviesDouban.subjects[idx];vartitlesubject.title;if(title.length6){titletitle.substring(0,6)+"···";}//[1,1,1,1,1][1,1,1,0,0]vartemp{stars:util.converToStarsArray(subject.rating.stars),//评分,星星title:title,//电影名称average:subject.rating.average,//评分coverageUrl:subject.images.large,//海报movieId:subject.id//id}movies.push(temp);varreadyData{};readyData[settedKey]{cagetoryTitle:cagetoryTitle,movies:movies,}//数据绑定this.setData(readyData);}},})48.在根目录下创建一个utils文件夹,其中创建一个utils.js文件,用于储存常用函数
49.utils.js
functionconverToStarsArray(stars){varnumstars.toString().substring(0,1);vararray[];for(vari1;i5;i++){if(inum){array.push(1);}else{array.push(0);}}returnarray;}//导出module.exports{converToStarsArray:converToStarsArray,}50.movie-template.wxml修改传入评分模板的参数
importsrc"../stars/stars-template.wxml"/templatename"movieTemplate"viewclass'movie-container'imageclass'movie-img'src'{{coverageUrl}}'/imagetextclass'movie-title'{{title}}/texttemplateis"starsTempalte"data"{{stars:stars,score:average}}"//view/template51.stars-template.wxml修改获取的评分参数
templatename"starsTempalte"viewclass'stars-container'viewclass'stars'!--imagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/star.png'/imageimagesrc'/images/dy/none-star.png'/image--blockwx:for"{{stars}}"wx:for-item"i"imagewx:if"{{i}}"src'/images/dy/star.png'/imageimagewx:elsesrc'/images/dy/none-star.png'/image/block/viewtextclass'star-score'{{score}}/text/view/template52.movie-list-template.wxml:
importsrc"../movie/movie-template.wxml"/templatename"movieListTemplate"viewclass'movie-list-container'viewclass'inner-container'viewclass'movie-head'textclass'slogan'{{cagetoryTitle}}/textviewclass'more'textclass'more-text'更多/textimageclass'more-img'src'/images/dy/arrow-right.png'/image/view/viewviewclass'movies-container'blockwx:for"{{movies}}"wx:for-item"movie"templateis"movieTemplate"data"{{...movie}}"/!--templateis"movieTemplate"/templateis"movieTemplate"/--/block/view/view/view/template53.
微信小程序电影列表一-微信有哪些价目表小程序-做一个微信小程序多少钱
浏览量:3440
时间:
来源:JayveeWong
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

最新资讯
-
抖音再现本地生活服务,咫尺同城圈商业变现新通道
短视频成为本地生活探店网红营销变现引流的新阵地,每一位网红都渴望在短视频内“一夜爆红”。即速应用团队对多商家小程序进行升级,打造了咫尺同城圈:“同城探店营销助手”,不仅完善商家营销技巧,还助力探店网红玩转本地生活服务。 -
抖音再现本地生活服务,咫尺同城圈商业变现新通道
短视频成为本地生活探店网红营销变现引流的新阵地,每一位网红都渴望在短视频内“一夜爆红”。即速应用团队对多商家小程序进行升级,打造了咫尺同城圈:“同城探店营销助手”,不仅完善商家营销技巧,还助力探店网红玩转本地生活服务。 -
阿坝小程序代理
阿坝藏族羌族小程序代理公司有哪些?阿坝藏族羌族小程序代理平台哪个好?阿坝藏族羌族小程序代理商怎么收费,代理政策如何?下面就让即速应用产品经理jisuapp.cn来告诉你吧!