(毕设)云开发——图书馆座位预约小程序(一)

一、前言

需要完整版代码加V:2380454346

今天是开始准备毕设第一天,自己打算利用这自学的一点皮毛知识来开发一个图书馆座位预约小程序。本系统将采用腾讯云开发,初步打算设计7大功能。

  1. 座位预约功能
  2. 打卡签到功能
  3. 失物招领功能
  4. 监督举报功能
  5. 图书检索功能
  6. 活动预约功能
  7. 新闻公告功能
    云集合将使用云开发提供的CMS(内容管理)进行统一管理,以此来方便平台信息的管理。

二、页面介绍

wxml页面开发

<!--轮播图--> 
<view class="banner">
  <swiper class="swip_main" indicator-dots autoplay interval="3000" circular="">
    <block wx:for="{{mglist}}">
      <swiper-item>
        <image style="width: 100%; height: 100%;" mode="aspectFill" src="{{item.photo}}"></image>
      </swiper-item> 
    </block>
  </swiper>
</view>
<!--公告-->
<view class="news">
  <view class="news_left">
    <image src="../../images/gz.png"></image>
    <view class="news_title">
      【 公告 】
    </view>
  </view>
  <view class="news_right"> 
    <swiper class="swiper-news-top" vertical="true" autoplay="true" circular="true" interval="3000">
      <block wx:for="{{msgList}}">
        <navigator url="" open-type="navigate">
          <swiper-item>
            <view class="swiper_item">· {{item.text}}</view>
          </swiper-item>
        </navigator>
      </block>
    </swiper>
  </view> 
</view> 

首页顶部设计了一个轮播图和公告的展示位,将通过API从云集合来调取图片和公告内容,展示在页面

db.collection("banner").get({
      success:res=>{
        console.log(res)
        this.setData({
          mglist:res.data
        })
      }
    })
注:通过云平台提供的db.collection("banner").get()来获取图片展示在前端页面
    db.collection("tzgg").get({
      success:res=>{
        console.log(res)
        this.setData({
          msgList:res.data
        })
      }
    })
注:获取公告内容

接下来设计功能按钮,设计的很垃圾,别嘲笑

<!--功能按钮--> 
<view class="nav">
  <view class="mean_top">
    <view class="mean_left" bindtap="zwyy">
      <image src="../../images/zw.png"></image>
      <text>座位预约</text>
    </view>
    <view class="mean_middle" bindtap="dkqd">
      <image src="../../images/qd.png"></image>
      <text>打卡签到</text>
    </view>
    <view class="mean_right" bindtap="jdjb"> 
      <image src="../../images/jubao.png"></image> 
      <text>监督举报</text>
    </view> 
  </view>
  <view class="mean1_middle">
    <view class="mean1_middle_left" bindtap="swzl">
      <image src="../../images/swzl.png"></image>
      <text>失物招领</text>
    </view>
    <view class="mean1_middle_middle" bindtap="hdbm">
      <image src="../../images/hdyy.png"></image>
      <text>活动报名</text>
    </view>
    <view class="mean1_middle_right" bindtap="tsjs">
      <image src="../../images/ts.png"></image>
      <text>图书检索</text>
    </view>
  </view>
  <view class="mean2"> 
    <view class="mean2_left" bindtap="news">
      <image src="../../images/news.png"></image>
      <text>新闻公告</text>
    </view>
  </view>
</view>

每个功能页面绑定了一个bindtap事件。将调用官方提供的API来跳转页面

zwyy:function(e){
      wx.navigateTo({
        url: '../zwyy/zwyy',
      })
  },
注:通过微信提供的wx.navigateTo({}),来跳转到指定页面,注意此方法不同用来跳转tabber页面

css页面

  .banner{
  width: 100%;
  height: 350rpx;
}
.swip_main{
  width: 100%;
  height: 100%; 
}
.news{
  width: 95%;
  height: 85rpx;
  margin: 20rpx auto;
  border-radius: 10rpx;
  /* border: 1px solid #0000a7; */
  box-shadow: 4px 4px 4px 2px rgba(0, 0, 0, 0.2);
}
.news_left{
  width: 35%;
  height: 100%;
  float: left;
}
.news_left image{
  width: 60rpx;
  height: 60rpx;
  margin-top: 12rpx;
  margin-left: 15rpx;
  float: left;
}
.news_title{
  float: left;
  line-height: 85rpx;
  margin-left: 5rpx;
  font-weight: 700;
  font-size: 35rpx;
  color: #050d9e;
  }
.news_right{
  width: 65%;
  float: left;
  height: 100%;
}
.swiper-news-top{
  width: 100%;
  height: 100%;
}
.swiper_item {
  font-size: 27rpx;
  font-weight: 600;
  line-height: 80rpx;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: 2px;
  text-align: center;
  color: #88888b;
}
.nav{
  margin: auto;
  margin-top: 10rpx;
  width: 90%;
  height: 800rpx;
}
.mean_top{
  margin-top: 60rpx;
  position: relative; 
  display: flex;
  width: 100%;
  height: 200rpx;
}
.mean_left{
  margin-left: 40rpx;
  margin-top: 15rpx;
  width: 120rpx;
  height: 160rpx;
  position: relative;
}
.mean_left image{
  position: relative;
  width: 100%;
  height: 130rpx;
}
.mean_left text{
  font-size: 30rpx;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  text-align: center;
}
.mean_middle{
  margin-left: 110rpx;
  margin-top: 15rpx;
  height: 160rpx;
  width: 120rpx;
}
.mean_middle image{
  position: relative;
  width: 100%;
  height: 130rpx;
}
.mean_middle text{
  font-size: 30rpx;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  text-align: center;
}
.mean_right{
  margin-top: 15rpx;
  margin-left: 110rpx;
  height: 160rpx;
  width: 120rpx;
}
.mean_right image{
  margin-top: 10rpx;
  position: relative;
  width: 100%;
  height: 120rpx;
}
.mean_right text{
  font-size: 30rpx;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  text-align: center;
}
.mean1_middle{
  margin-top: 60rpx;
  position: relative;
  display: flex;
  width: 100%;
  height: 200rpx;
}
.mean1_middle_left{
  margin-left: 40rpx;
  margin-top: 15rpx;
  width: 120rpx;
  height: 160rpx;
  position: relative;
}
.mean1_middle_left image{
  position: relative;
  width: 100%;
  height: 130rpx;
}
.mean1_middle_left text{
  font-size: 30rpx;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  text-align: center;
}
.mean1_middle_middle{
  margin-left: 110rpx;
  margin-top: 15rpx;
  height: 160rpx;
  width: 120rpx;
}
.mean1_middle_right{
  margin-top: 15rpx;
  margin-left: 110rpx;
  height: 160rpx;
  width: 120rpx;
}
.mean1_middle_middle image{
  position: relative;
  width: 100%;
  height: 130rpx;
}
.mean1_middle_middle text{
  font-size: 30rpx;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  text-align: center;
}
.mean1_middle_right image{
  position: relative;
  width: 100%;
  height: 130rpx;
}
.mean1_middle_right text{
  font-size: 30rpx;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  text-align: center;
}
.mean2{
  margin-top: 15rpx;
  height: 160rpx;
  width: 120rpx;
}
.mean2_left{
  margin-left: 40rpx;
  margin-top: 60rpx;
  width: 120rpx;
  height: 160rpx;
  position: relative;
}
.mean2 image{
  position: relative;
  width: 100%;
  height: 130rpx;
}
.mean2 text{
  font-size: 30rpx;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  text-align: center;
}

js页面

const db=wx.cloud.database()
var times=require('../../utils/times.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    mglist:'',
    msgList:''
  },
  onLoad(options) {
    db.collection("banner").get({
      success:res=>{
        console.log(res)
        this.setData({
          mglist:res.data
        })
      }
    })
    db.collection("tzgg").get({
      success:res=>{
        console.log(res)
        this.setData({
          msgList:res.data
        })
      }
    })
  },
  zwyy:function(e){
      wx.navigateTo({
        url: '../zwyy/zwyy',
      })
  },
  dkqd:function(e){
      wx.navigateTo({
        url: '../dkqd/dkqd',
      })
  },
  jdjb:function(e){
      wx.navigateTo({
        url: '../jdjb/jdjb',
      })
  },
  swzl:function(e){
      wx.navigateTo({
        url: '../swzl/swzl',
      })
  },
  hdbm:function(e){
      wx.navigateTo({
        url: '../hdbm/hdbm',
      })
  },
  tsjs:function(e){
      wx.navigateTo({
        url: '../tsjs/tsjs',
      })
  },
  news:function(e){
    wx.navigateTo({
      url: '../news/news',
    })
  },
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

效果图

096fe2fd98f615a2829da654fc2d6d3.jpg

哈哈,是不是很丑。关注我,下期继续

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@不会写代码的小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值