轻源码

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
一起源码网 门户 微信小程序 查看主题

相信每个小程序开发者都会有个属于自己的豆瓣小demo

发布者: 漫步者 | 发布时间: 2018-1-10 00:58| 查看数: 6209| 评论数: 1|帖子模式

相信很多新手入门都会拿豆瓣来练手,小白们看过来吧,很适合练手哦!一个一个敲一遍,自己再改装下一定会有收获的哦



以即将上映界面为例: 
js:

  1. //接口说明:豆瓣电影即将上映电影接口
  2. var API_URL = ';
  3. var app = getApp();
  4. Page({
  5. data: {
  6. movies:[]
  7. },
  8. onLoad:function(){
  9. var that = this;
  10. //2、进入后显示loading状态
  11. wx.showToast({
  12. title:"加载中",
  13. icon:"loading",
  14. duration:5000
  15. });
  16. //3、发送数据请求
  17. wx.request({
  18. url: API_URL,
  19. data: {},
  20. header: {
  21. //豆瓣的请求格式比较奇葩application/json,application/json
  22. 'Content-Type' : 'application/json,application/json'
  23. },
  24. // 请求成功以后隐藏加载框
  25. success: function(resp){
  26. wx.hideToast();
  27. var data = resp.data;
  28. console.log(data);
  29. that.setData({
  30. movies:data.subjects
  31. });
  32. // console.log(resp.data);
  33. }
  34. });
  35. },
  36. detailTap: function (e) {
  37. //一个film的tap事件 filmList filmItem catchtap处理函数,
  38. // bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。
  39. //id 通过data-id在wxml中绑定
  40. var id = e.currentTarget.dataset.id
  41. wx.navigateTo({
  42. url: "../movie/movie?id=" + id
  43. })
  44. }
  45. })

wxss:

  1. .page-body{
  2. display:flex;
  3. flex:1;
  4. flex-direction:column;
  5. }
  6. /*滚动视图容器*/
  7. .film-scroll-view{
  8. box-sizing: border-box;
  9. width: 750rpx;
  10. padding: 10rpx;
  11. display: flex;
  12. /*flex-wrap一行排不下,换行且第一行在上方*/
  13. flex-wrap: wrap;
  14. /*flex-direction属性决定项目主轴的方向(即项目的排列方向)*/
  15. flex-direction: row;
  16. /*justify-content属性定义了项目在主轴上的对齐方式*/
  17. justify-content: flex-start;
  18. }
  19. .filmItem{
  20. width: 350rpx;
  21. margin: 0 5rpx 20rpx 5rpx;
  22. border-radius: 10rpx;
  23. background-color: #fff;
  24. border: 1px solid #e4e4e4;
  25. box-shadow: 0 20rpx 40rpx #dedede;
  26. overflow: hidden;
  27. position: relative;
  28. }
  29. .file-cover-image{
  30. width: 350rpx;
  31. height: 508rpx;
  32. }
  33. .film-rating{
  34. box-sizing: border-box;
  35. position: absolute;
  36. height: 50rpx;
  37. line-height: 50rpx;
  38. text-align: right;
  39. padding-right: 20rpx;
  40. font-size: 24rpx;
  41. width: 100%;
  42. left: 0;
  43. top:458rpx;
  44. background-color: rgba(0, 0, 0, .55);
  45. color: #fff;
  46. }
  47. .film-title{
  48. padding: 16rpx;
  49. white-space: nowrap;
  50. text-overflow: ellipsis;
  51. overflow: hidden;
  52. }
  53. .film-tag{
  54. box-sizing: border-box;
  55. width: 100%;
  56. margin: 10rpx 0 20rpx 16rpx;
  57. display: flex;
  58. justify-content: flex-start;
  59. }
  60. .film-tag-item {
  61. padding: 4rpx 6rpx;
  62. margin-right: 10rpx;
  63. font-size: 24rpx;
  64. box-shadow: 0 0 0 1px #ccc;
  65. border-top: 1px solid #fff;
  66. border-radius: 10rpx;
  67. background-color: #fafafa;
  68. color: #666;
  69. }

wxml:

  1. <scroll-view class="page-body" scroll-y="true">
  2. <view class="film-scroll-view">
  3. <view class="filmItem" wx:for="{{movies}}" wx:for-index="filmIndex" wx:for-item="filmItem" wx:key="{{filmItem.id}}" data-id="{{filmItem.id}}" catchtap="detailTap">
  4. <image class="file-cover-image" src="{{filmItem.images.large}}"></image>
  5. <view class="film-rating">
  6. <block wx:if="{{filmItem.rating.average == 0}}">
  7. 暂无评分
  8. </block>
  9. <block wx:else>
  10. {{filmItem.rating.average}}分
  11. </block>
  12. </view>
  13. <view class="film-title">{{filmItem.title}}</view>
  14. <view class="film-tag">
  15. <!--为每个电影类型小按钮绑定点击事件 => 点击进入搜索结果筛选页-->
  16. <view class="film-tag-item" wx:for="{{filmItem.genres}}" wx:for-item="filmTagItem" wx:key="genres" data-tag="{{filmTagItem}}" catchtap="tagTap">
  17. {{filmTagItem}}
  18. </view>
  19. </view>
  20. </view>
  21. </view>
  22. </scroll-view>


不多赘述了哦,希望对小伙伴们有用,记得传递分享精神哦,多多分享共同学习!

myApp.zip


最新评论

suninvt 发表于 2022-5-9 06:15
旅游网页设计源代码

浏览过的版块

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表