微信小程序云开发成绩查询小程序的制作过程。

微信小程序云开发成绩查询小程序的制作过程。

如果觉得我讲的好可以点个关注。
明确自己的目的,到底要做一个怎么样的小程序。
我先上效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
确定后就可以开始自己布局。主要是用css

1.先看首页,首页主要是由一个公告栏,和一个表单填写栏组成。

效果为输入框输入时提示的文字要缩小,动态效果。第二个输入框要加输入弹起的效果这样可以在
手机端看到自己输入的内容,公告可以改变链接数据库,更新方式数据库可以操作。
两个按钮可以在那查询最新的成绩。也可以看到自己的以前成绩。
当然如果要功能强大一些就可以加入查看图片的功能,查看试卷详情。

<view class="look">
    <label>公告:</label>
    <view class="information onshow">{{tells}}</view>
</view>
<view class="box">
    <view class="title">考试评估测试成绩查询</view>
    <view class="black">
        <label style="font-size:{{fontsize1}};"><text class="label">*</text>姓名:</label>
        <input type="text" bindfocus="focus" bindblur="blur" data-id="1" placeholder="请输入姓名" cursor-spacing='5' maxlength="4" adjust-position="true" bindinput="name"/>
        <label style="font-size:{{fontsize2}};"><text class="label">*</text>学号:</label>
        <input type="text" bindfocus="focus" bindblur="blur" data-id="2" placeholder="请输入学号" cursor-spacing='5' adjust-position="true" maxlength="6" bindinput="number"/>
        <button type="primary" size="mini" bindtap="logs">查询成绩</button>
        <button type="primary" size="mini" bindtap="index">查询以往成绩</button>
    </view>
</view>

以上为结构布局。其实这样的布局还是挺简单的。主要注意第二个input的:**cursor-spacing=‘5’ adjust-position=“true”**是用在手机端的一个效果,手机键盘不会覆盖输入框的内容,可以看到自己输入的内容。

/* pages/query/query.wxss */
page{
    background-image: url('https://7975-yun-uq19h-1300451626.tcb.qcloud.la/result/01e3935b03be90a801218cf41a264e.gif?sign=39f43b741ceb8dfb0616ca21d599126b&t=1611304886'); 
}
input{
    border-bottom: 1px solid #929292;
}
button{
    margin: 40rpx 30rpx 0rpx 40rpx;
}

.look{
    width: 100%;
    height: 140rpx;
    padding: 30rpx;
    box-sizing: border-box;
}
.look label{
    color: red;
    font-size: 40rpx;
    font-weight: 700;
}
.information{
    color: seashell;
    font-size: 30rpx;
    margin-top: 20rpx;
    -webkit-line-clamp:2;
}

.box{
    width: 95%;
    height: 600rpx;
    background-color: rgb(255, 255, 255);
    margin: 100rpx auto;
    border-radius: 10rpx;
}
.title{
    width: 100%;
    height: 100rpx;
    display: flex;
    align-items: center;
    color: azure;
    font-size: 15px;
    padding-left: 20rpx;
    box-sizing: border-box;
    border-top-right-radius: 10rpx;
    border-top-left-radius: 10rpx;
    background-color: rgb(1, 107, 107);
}
.black{
    width: 100%;
    padding: 40rpx;
    box-sizing: border-box;
    line-height: 100rpx;
}
.black label{
    display: inline-block;
    width: 100%;
    height: 48rpx;
}
.label{
    color: red;
    margin-right: 10rpx;
}

以上是css的内容用来美化页面的。

const db = wx.cloud.database()
let names = ''
let numbers = ''
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tells:'大家好,欢迎登录成绩查询系统。',
    isshow:false,
    fontsize1:'16px',
    fontsize2:'16px'
  },
  focus(e){
    if(e.currentTarget.dataset.id == 1){this.setData({fontsize1:'10px'})}
    else if(e.currentTarget.dataset.id == 2){this.setData({fontsize2:'10px'})}
  },
  blur(e){
    if(e.currentTarget.dataset.id == 1){this.setData({fontsize1:'16px'})}
    else if(e.currentTarget.dataset.id == 2){this.setData({fontsize2:'16px'})}
  },

  name(e){names = e.detail.value},
  number(e){numbers = e.detail.value},
  show(title){wx.showToast({title: title,icon: 'none',duration: 2000})},
  logs(){this.loop('logs');},
  index(){this.loop('index');},
  loop(value){
    if(names == '' || numbers == ''){this.show('请输入完整!');}
    else{
      wx.showLoading({title: '查询中...'})
      wx.cloud.callFunction({name:'getlogin',data:{name:names,number:numbers}})
        .then(res => {
          if(res.result.data.length == 0){this.show('未查询到此学生!');}
          else{wx.hideLoading();
            wx.setStorageSync('query', res.result.data[0]);
            if(value == 'logs')
            {wx.navigateTo({url: '../logs/logs',success: (result)=>{},fail: ()=>{this.show('跳转失败');}});}
            else{wx.navigateTo({url: '../index/index',success: (result)=>{},fail: ()=>{this.show('跳转失败');}});}
          }
        }).catch(error => {console.log(error)})	

    }
  },
  onLoad: function (options) {
    wx.showLoading({title: '加载中...'});
    var that = this;
    db.collection('dispose').get({
      success(res){
        wx.hideLoading();
        var index = 0;
        for(var i=1;i<res.data.length;i++){
          if(res.data[index]._updateTime<res.data[i]._updateTime){index = i;}  
        }
        that.setData({tells:res.data[index].public});
      },
      fail(res) {wx.hideLoading();wx.showToast({title: '数据出错,请重试!',icon: 'none',duration: 3000})}
    })
  },

})

以上为首页的js代码
一开始我就先请求数据库,获取后端的公告表的公告。把最新的公告请求下来,放在页面中。
这里还有一个作用就是可以判断是否有网。
然后我获取到用户输入的名字和学号,放在data中 传递给云函数,由云函数来判断是否有该名学生,如果有则返回其学生的信息并储存下来。
最后进行跳转。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值