两天写一个电影资讯速览微信小程序(附源码)

news2024/12/15 21:10:06

简介

基于原生小程序精仿的猫眼电影,仅供学习和参考。

首页效果图
在这里插入图片描述

数据请求

 url: 'https://m.maoyan.com/ajax/movieOnInfoList?token=',
      success(res) {
        const movieList0 = _this.formatImgUrl(res.data.movieList)
        wx.hideLoading()
        _this.setData({
          movieIds0: res.data.movieIds,
          movieList0
        })
        if (res.data.movieList.length >= res.data.movieIds.length) {
          _this.setData({
            loadComplete0: true
          })
        }
      }
    })

完整wxml

<import src='../../../templates/movieSection/movieSection.wxml' />

<view>
  <view class='topbar'>
    <navigator class='city-entry' url='../../subPages/city-select/city-select'>
      <text class='city-name'>{{city}}</text>
      <text class='city-entry-arrow'></text>
    </navigator>
    <view class='switch-hot'>
      <view class='hot-item {{switchItem===0 ? "active" :""}}' bindtap='selectItem' data-item='{{0}}'>正在热映</view>
      <view class='hot-item {{switchItem===1 ? "active" :""}}' bindtap='selectItem' data-item='{{1}}'>即将上映</view>
    </view>
    <navigator class='search-entry' url='../../subPages/search-page/search-page?stype=-1'>
      <text class='iconfont icon-sousuo'></text>
    </navigator>
  </view>
  <view class='switch-content'>
    <view hidden="{{switchItem===1}}">
      <template is='movieSection' wx:for='{{movieList0}}' wx:for-item='movie' wx:key='{{movie.id}}' data='{{movie:movie}}'/>
      <view wx:if='{{!loadComplete0 && movieList0.length}}'>
        <template is="loadingMore" />
      </view>
    </view>
    <view hidden="{{switchItem===0}}">
      <view class='most-expected' wx:if='{{mostExpectedList.length}}'>
        <view class='title'>近期最受期待</view>
        <scroll-view class='scroll-view_H' scroll-x bindscrolltolower='lower'>
          <navigator url='/pages/subPages/movie-detail/movie-detail?movieId={{movie.id}}' wx:for='{{mostExpectedList}}' wx:for-item='movie' wx:key='{{id}}' class='expected-item'>
            <image src='{{movie.img}}' class='poster'></image>
            <view class='name line-ellipsis'>{{movie.nm}}</view>
            <view class='data line-ellipsis'>{{movie.wish}}人想看</view>
            <view class='data'>{{movie.comingTitle}}</view>
          </navigator>
        </scroll-view>
      </view>
      <block wx:for='{{movieList1}}' wx:for-item='movie' wx:key='{{movie.id}}'>
        <block wx:if='{{index===0||movieList1[index-1].comingTitle!==movie.comingTitle}}'>
          <view class='title'>{{movie.comingTitle}}</view>
          <template is='movieSection' data='{{movie:movie,rt:true}}' />
        </block>
        <template wx:else is='movieSection' data='{{movie:movie,rt:true}}' />
      </block>
      <view wx:if='{{!loadComplete1 && movieList1.length}}'>
        <template is="loadingMore" />
      </view>
    </view>
  </view>
</view>

附近影院效果图
在这里插入图片描述

可根据商圈或者地铁站进行直接查询附件影院,效果图如下
在这里插入图片描述

可根据影院名进行直接查询附件影院,效果图如下
在这里插入图片描述

还可根据其他具体需求进行直接查询附件影院,效果图如下
在这里插入图片描述

获取影院列表

getCinemas(params)复制代码    const _this = this;
    return new Promise((resolve, reject) => {
      wx.request({
        url: 'https://m.maoyan.com/ajax/cinemaList',
        data: params,
        success(res) {
          resolve(res.data.cinemas)
          _this.setData({
            cinemas: _this.data.cinemas.concat(res.data.cinemas),
            loadComplete: !res.data.paging.hasMore
          })
        }
      })
    })
  },

当过滤条件变化时调用的函数

const obj = e.detail
    wx.showLoading({
      title: '正在加载...'
    })
    this.setData({
      params: { ...this.data.params,
        ...obj
      },
      cinemas: [],
      nothing: false
    }, () => {
      this.getCinemas(this.data.params).then((list) => {
        if (!list.length) {
          this.setData({
            nothing: true
          })
        }
        wx.hideLoading()
      })
    })
  },

导航下拉框状态变化时的处理

const item = e.detail.item
    this.setData({
      isShow: item !== -1
    })
  },

完整wxml

<import src='../../../templates/loadingMore/loadingMore.wxml' />
<import src='../../../templates/cinemaSection/cinemaSection.wxml' />

<view class='container' style='position:{{isShow?"fixed":""}}'>
  <view class='topbar'>
    <navigator class='city-entry' url='../../subPages/city-select/city-select'>
      <text class='city-name'>{{city}}</text>
      <text class='city-entry-arrow'></text>
    </navigator>
    <navigator url='../../subPages/search-page/search-page?stype=2' class='search-input'>
      <text class='iconfont icon-sousuo'></text>搜影院</navigator>
  </view>
  <view class='nav-wrapper'>
    <filter-nav city-cinema-info='{{cityCinemaInfo}}' bindchange='changeCondition' bindtoggleShow='toggleShow'></filter-nav>
  </view>
  <view class='cinema-list'>
   <template is="cinemaSection" wx:for='{{cinemas}}' wx:for-item='cinema' wx:key='{{cinema.id}}' data='{{cinema}}'/>
  </view>
  <view wx:if='{{!loadComplete && cinemas.length}}'>
    <template is="loadingMore" />
  </view>
  <view hidden='{{!nothing}}'>
    <template is='nothing' data='{{message:"暂无符合条件的影院"}}' />
  </view>
</view>

我的效果图
在这里插入图片描述

关于信息效果图
在这里插入图片描述

其他代码细节,不再赘述,具体可查看源码。

在这里插入图片描述

▲关注 同名 公众号【码农园区】▲
▲回复「电影」,获取项目源码▲

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1140572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚幻中的网络概述一

前置&#xff1a;在学习完turbo强大佬的多人fps之后发觉自己在虚幻网络方面还有许多基础知识不太清楚&#xff0c;结合安宁Ken大佬与虚幻官方文档进行补足。 补充&#xff1a;官方文档中的描述挺好的&#xff0c;自己只算是搬运和将两者结合加强理解。 学习虚幻中的网络先从虚…

基于标签的协同过滤推荐方法研究

&#xff3b;摘要&#xff3d; 2.2标签相似度矩阵 惩罚jaccard相关热度系数

Q4已来,DAO发新生|CyberDAO子DAO种子会议

Q4已来&#xff0c;DAO发新生|CyberDAO子DAO种子会议&#xff0c;2023年10月25日在成都五星级希顿国际酒店隆重召开&#xff0c;本次会议百名DAO精英成员及CyberDAO大中华区运营团队合伙人JR、漫威、安祈出席&#xff01;以蓄势和重塑为主题带领大家乘势而上&#xff0c;创新引…

控制系统典型应用车型 —— 牵引式移动机器人

牵引式移动机器人&#xff08;AGV/AMR&#xff09;&#xff0c;通常由一个牵引车和一个或多个被牵引的车辆组成。牵引车是机器人的核心部分&#xff0c;它具有自主导航和定位功能&#xff0c;可以根据预先设定的路径或地标进行导航&#xff0c;并通过传感器和视觉系统感知周围环…

提高数据研究效率,优化成果分享及复用|ModelWhale 版本更新

秋高气爽、金桂飘香&#xff0c;十月末&#xff0c;我们又迎来了 ModelWhale 新一轮的版本更新。 本次更新中&#xff0c;ModelWhale 主要进行了以下功能迭代&#xff1a; 新增 添加模型服务到知识库&#xff08;专业版✓ 团队版✓&#xff09; 新增 自动生成数据引用信息&am…

MES管理系统解决方案实现生产信息全程追溯

生产制造企业在生产过程中&#xff0c;最令人头疼的问题之一就是产品信息的追溯。当产品出现质量问题时&#xff0c;需要在庞大的数据中寻找出问题批次的产品和同批次的物料&#xff0c;并进行召回处理&#xff0c;这样的工作量十分巨大。为了解决这一问题&#xff0c;许多企业…

Yolov5原理详细解析!一文看懂

引言 Yolo(You Only Look Once)是一种one-stage目标检测算法,即仅需要 “看” 一次就可以识别出图片中物体的class类别和边界框。Yolov5是由Alexey Bochkovskiy等人在YOLO系列算法的基础上进行改进和优化而开发的,使其性能与精度都得到了极大的提升。 Yolov5推出了Yolov5s、…

华为OD机考算法题:计算最大乘积

题目部分 题目计算最大乘积难度易题目说明给定一个元素类型为小写字符串的数组&#xff0c;请计算两个没有相同字符的元素长度乘积的最大值。 如果没有符合条件的两个元素&#xff0c;返回 0。输入描述输入为一个半角逗号分隔的小写字符串的数组&#xff0c;2< 数组长度<…

Painter:使用视觉提示来引导网络推理

文章目录 1. 论文2. 示意图3. 主要贡献4. 代码简化 1. 论文 paper:Images Speak in Images: A Generalist Painter for In-Context Visual Learning github:https://github.com/baaivision/Painter 2. 示意图 3. 主要贡献 在 In-context Learning 中&#xff0c;作为自然语言…

【2018统考真题】给定一个含n(n≥1)个整数的数组,请设计一个在时间上尽可能高 效的算法,找出数组中未出现的最小正整数。

【2018统考真题】给定一个含n(n≥1&#xff09;个整数的数组&#xff0c;请设计一个在时间上尽可能高 效的算法,找出数组中未出现的最小正整数。例如,数组{-5,3,2,3}中未出现的最小正 整数是1;数组{1,2,3}中未出现的最小正整数是4。 代码思路&#xff1a; 题目让你找未出现的最…

2024年北京/上海/广州/深圳PMP®项目管理认证精品班招生简章

PMP认证是Project Management Institute在全球范围内推出的针对评价个人项目管理知识能力的资格认证体系。国内众多企业已把PMP认证定为项目经理人必须取得的重要资质。 【PMP认证收益】 1、能力的提升&#xff08;领导力&#xff0c;执行力&#xff0c;创新能力&#xff0c…

国产 2443A 峰值功率分析仪

2443A 峰值功率分析仪 频率范围覆盖&#xff1a;9kHz至67GHz 产品综述 2443A峰值功率分析仪由峰值功率分析仪主机和系列化峰值功率探头组成&#xff0c;可用于测量和分析微波毫米波脉冲调制信号的多种幅度和时间参数&#xff0c;是表征脉冲调制信号特性的综合性测量与分析仪器。…

【2024秋招】2023-9-16 贝壳后端开发二面

1 自我介绍 2 秒杀系统 2.1 超卖怎么解决 3 redis 3.1 过期策略 3.2 过期算法 4 kafka 4.1 说一说你对kafka的了解 4.2 如何保证事务性消息 4.3 如何保证消息不丢失 4.4 消息队列的两种通信方式 点对点模式 如上图所示&#xff0c;点对点模式通常是基于拉取或者轮询…

Docker实战之一

一、前言 前两天看到一篇文章 再见了 Docker&#xff01;K8S 已成气候&#xff01;&#xff0c;K8S这么高端我们是还没有玩过的&#xff0c;Docker倒是实践过一把&#xff0c;这个系列会简单介绍一下实战的过程&#xff0c;具体背景是因为我们有时需要给门店提供一个相对稳定…

如何在IDEA中配置指定JDK版本?轻松解决!!!

有时候我们在导入项目&#xff0c;如果手动在IDEA中指定jdk版本&#xff0c;往往启动项目会报错误。 因此当我们新引入项目启动不了时可以检查一下自己IDEA中的jdk版本是否正确。 下面以配置jdk版本为11显示步骤&#xff1a; 1、配置 Project Structure 1.1、通过快捷键&qu…

阶乘与双阶乘的相关性质

阶乘与双阶乘的相关性质 双阶乘 基本性质 积分恒等式 极限近似 级数展开 阶乘 斯特林(Stirling)公式 gamma函数

信必优收到中国首批成立的期货公司之一表扬信

近日&#xff0c;信必优收到中国首批成立的期货公司之一的表扬信&#xff0c;客户极力表扬了我司员工卓越的职业操守&#xff0c;充满热情、勤奋努力&#xff1b;在工作中成长迅速&#xff0c;不仅对公司整体开发框架熟练掌握&#xff0c;对公司相关业务也理解深刻&#xff0c;…

进程控制(一):进程终止

文章目录 进程控制&#xff08;一&#xff09;进程终止运行正常退出码 运行异常进程正常/异常总结 进程控制&#xff08;一&#xff09; 在前文中&#xff0c;我们初步了解了进程的概念&#xff0c;以及通过fork函数来创建子进程&#xff0c;并对于为什么运行一个程序&#xf…

虹科分享 | 买车无忧?AR带来全新体验!

文章来源&#xff1a;虹科数字化与AR 阅读原文&#xff1a;https://mp.weixin.qq.com/s/XsUFCTsiI4bkEMBHcGUT7w 新能源汽车的蓬勃发展&#xff0c;推动着汽车行业加速进行数字化变革。据数据显示&#xff0c;全球新能源汽车销售额持续上升&#xff0c;预计到2025年&#xff0…

Banana Pi BPI-W3(ArmSoM-W3) RK3588编解码之MPP环境配置

1. 简介 瑞芯微提供的媒体处理软件平台&#xff08;Media Process Platform&#xff0c;简称 MPP&#xff09;是适用于瑞芯微芯片系列的 通用媒体处理软件平台。该平台对应用软件屏蔽了芯片相关的复杂底层处理&#xff0c;其目的是为了屏蔽不 同芯片的差异&#xff0c;为使用者…