電影訂票小程序

1.小程序前端主要實現的功能:

登錄、註冊、首頁電影列表、購票功能,選座,在線支付,地圖導航搜索電影院,訂單評價,退款等功能

2.後臺主要包括用戶管理,電影信息管理,文件上傳,電影院管理,電影與電影院關聯管理,評論管理,訂單管理,輪播圖管理

後臺技術:SpringBoot+Mybatis+js+html+vue+mysql+bootstrap+theaf

小程序主要頁面實現代碼:

首頁電影列表功能的實現代碼:

<swiper style="height:300rpx;" autoplay="true" interval="5000" circular="true">

  <block wx:for="{{indexData.swiperImg}}" wx:key="*this">

    <swiper-item>

      <image src="{{item}}" style="height:100%;width:100%;"></image>

    </swiper-item>

  </block>

</swiper>

<block wx:for="{{indexData.moviesList}}">

  <navigator url="./detail/detail?id={{item.id}}">

    <view style="height:216rpx;" class="movie">

      <image src="{{item.filmurl}}" mode="aspectFill" style="height:202rpx;width:152rpx;"></image>

      <view class="intro-warp">

        <view style="font-size:12px" class="intro">

          <view style="font-size:30rpx; color:#222222">{{item.filmname}}</view>

          <view style="font-size:24rpx; color:#686868">{{item.filmtype}}</view>

          <view style="font-size:24rpx;white-space:nowrap;text-overflow:ellipsis;overflow:hidden; color:#686868">主演:{{item.filmman}}</view>

          <!-- <view style="font-size:24rpx; color:#A3A3A3;" wx:if="{{item.onsale}}">今天{{item.counts[0]}}家影院放映{{item.counts[1]}}場</view> -->

          <view style="font-size:24rpx; color:#A3A3A3;" >上映地區:{{item.filmloc}}</view>

        </view>

        <view class="buy">

          <view class="rating" >

            <text>{{item.cusmark}}</text>

            <text style="font-size:18rpx;">分</text>

          </view>

          <!-- <view class="rating" wx:else>

            <text>{{item.numbers}}</text>

            <text style="font-size:18rpx;">人想看</text>

          </view> -->

          <navigator url="../theaterList/theaterList?title={{item.filmname}}&id={{item.id}}" class="buy-nav">購票</navigator>

          <!-- <navigator url="../theaterList/theaterList?title={{item.title}}&id={{item.id}}" class="buy-nav pre" wx:else>預售</navigator> -->

        </view>

      </view>

    </view>

  </navigator>

</block>

請求後臺數據接口:

wx.request({

      url: app.globalData.url + 'renren-api/film/list',

      data: {

        'pageSize': 1000

      },

      success: function(res) {

        console.log(res.data)

        var dataList = res.data.page.list

        that.setData({

          'indexData.moviesList': dataList

        })

 

      }

    })

  },

 

電影詳情頁展示:

<image src="{{des.filmurl}}" class="filter"></image>

<view class="head">

  <view class="cover">

    <navigator url="" class="playUrl">

      <image src="{{des.filmurl}}" style="width:212rpx;height:290rpx;"></image>

    </navigator>

    <view class="jianjie">

      <view>

        <view class="mTitle">{{des.filmname}}</view>

        <view class="enName">{{des.filmenname}}</view>

 

      </view>

      <view class="rater">

        <view class="space">

          <view class="subject">主演:{{des.filmman}}</view>

 

          <text style="color: white;" class="rateN">上映日期:{{des.filmdate}}</text>

          <!-- <text class="rateP">({{des.cusnum}}萬人測)</text> -->

        </view>

        <view>

          <!-- <view class="subject">上映日期:{{des.filmdate}}</view> -->

          <!-- <view class="subject">專業評分</view>

          <text class="rateN">{{des.specmark}}</text>

          <text class="rateP">({{des.specnum}}人評)</text> -->

        </view>

      </view>

      <view>

        <view class="area">

          {{des.filmloc}} {{des.filmtype}}

        </view>

        <view class="area">

          {{des.filmyuyan}} {{des.filmtime}}分鐘

        </view>

      </view>

    </view>

  </view>

  <!-- <view class="control">

    <view class="islooked like">想看</view>

    <navigator url="" class="like">評分</navigator>

  </view> -->

</view>

<view catchtap="flex">

  <view class="plot {{flexed?'':'flex'}}">{{des.filmdes}}</view>

  <view class="arrow {{flexed?'uparrow':'downarrow'}}"></view>

</view>

<!-- <view class="warp" style="height:346rpx;">

  <view class="tBar">演職人員</view>

  <scroll-view scroll-x style="width:100%">

    <view class="actorLi">

      <view wx:for="{{des.actors}}" class="acItem">

        <image src="{{item[2]}}" style="width:134rpx;height:172rpx;margin-bottom:18rpx;"></image>

        <view class="textOver">{{item[0]}}</view>

        <view style="color:#9B9B9B;" class="textOver">{{item[1]}}</view>

      </view>

    </view>

  </scroll-view>

</view> -->

<view class="warp" style="height:258rpx;padding-bottom:20rpx;">

  <view class="tBar">票房/評分</view>

  <view class="rankWarp">

    <view>

      <view style="color:#FFD700" class="rankNum">{{des.cusmark}}</view>

      <view class="rankB">觀衆評分(分)</view>

    </view>

    <view>

      <view style="color:#FFD700" class="rankNum">{{des.specmark}}</view>

      <view class="rankB">專業評分(分)</view>

    </view>

    <view>

      <view class="rankNum">{{des.filmtotal}}</view>

      <view class="rankB">累計票房(元)</view>

    </view>

  </view>

</view>

<!-- <view class="warp" style="height:278rpx;">

  <view class="tBar">

    <view>視頻和劇照</view>

    <view class="videoN">{{des.video.counts}}</view>

  </view>

  <scroll-view scroll-x class="scr-H">

    <view class="spa scr-H-item"></view>

    <navigator class="img-item scr-H-item" url="" wx:for="{{des.video.video}}" hover-class="none">

      <image src="{{item}}" class="{{index==0?'long':'short'}}"></image>

    </navigator>

    <view class="spa scr-H-item"></view>

  </scroll-view>

</view> -->

<view class="audience">

  <view class="mark-head">

    <view class="au-mark">觀衆評論</view>

    <!-- <navigator url="" class="my-mark">我的短評</navigator> -->

  </view>

  <view>

    <view wx:for="{{comment}}" class="audience-item">

      <view class="avatarUrl">

        <image src="{{item.avatar}}" style="width:58rpx;height:58rpx; border-radius: 50%;"></image>

      </view>

      <view class="audienceD">

        <view>

          <view class="nickName">{{item.username}}  </view>

            <view style="display:inline-block;" wx:for="{{item.wjxscore}}" wx:for-index="idx2" wx:for-item="item2">

                  

                      <image style="width:25rpx;height:25rpx;margin-top:8rpx;margin-right:5rpx" src="../../../img/sx.png"></image>

                  

                  </view>

          <!-- <text style="margin-left:30rpx;">{{+'分'}}</text> -->

          <view></view>

        </view>

        <view class="pWord">{{item.comment}}</view>

        <view class="dToa">

          <view>{{item.createtime}}</view>

         

        </view>

      </view>

    </view>

  </view>

  <navigator url=""></navigator>

</view>

<navigator url="../../theaterList/theaterList?id={{des.id}}&title={{des.filmname}}" class="buy">優惠購票</navigator>

<view style="height:100px;"></view>

請求後臺數據接口:

 wx.request({

      url: app.globalData.url + 'renren-api/film/info/' + id,

 

      success: function(res) {

        console.log(res.data)

        var dataList = res.data.film

        dataList.filmdate = dataList.filmdate.split(' ')[0]

        that.setData({

          des: dataList

        })

 

      }

    })

 

評價頁面:

<!--服務評價-->

<view class="service">

  <view class='comment'>{{wjxScore}}.0分</view>

  <!--評分-->

  <view class='score'>

    <view class='left'>

      評分

    </view>

    <view class='right'>

       <view bindtap="starTap" data-index="{{index}}"  class="star" wx:for="{{userStars}}" wx:key="index">

        <image src="{{item}}"></image>

      </view>

    

    </view>

  </view>

 

</view>

<!--textarea-->

<view class="conts">

    <textarea class="areas" placeholder='更多評價請寫在這裏(最多300字)' minlength="{{min}}" maxlength="{{max}}" bindinput="inputs"> 

        <!-- <text class="currentWordNumber">{{currentWordNumber|0}}/{{max}}</text> -->

    </textarea>

</view>

<!--提交評價-->

<button class='btn' bindtap='handleBtn'>提交評價</button>

後臺接口:

 

項目演示地址:

需要源碼的小夥伴可以加qq:3083155908,相互交流學習技術,提供技術支持

小程序演示地址:

鏈接:https://pan.baidu.com/s/19-VRYcrOPAZ2eVYVcWCevA
提取碼:70mk

後臺管理系統演示地址:

鏈接:https://pan.baidu.com/s/1bc1HGXVVPfqhOa9RzRzWig
提取碼:7afo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章