前面3章我们说明登录,以及封装wx.request的方法,这里我们正式开始小程序获取后台数据,并把自己所要的打印到前段,其中难点在对于后台获取的josn数据进行分析,并把自己所要的数据答应到前段,这里给出了详细js,以供参考。我们同时实现了下拉刷新数据。
具体如下代码:

//index.js
var app = getApp(),

  Util = require('../../utils/util.js')

Page({

  /**
   * 页面的初始数据
   */
  data: {

    obdInfo: [], //定义前台打印的数组

    isShow: false,

    rows: "500",//定义每页显示的个数
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {

    var that = this

    let rows = that.data.rows

    that.onGain(rows)

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

    wx.setNavigationBarTitle({

      title: "待挂侧OBD"

    })
  },

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

  },

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

  },

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

  },

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

    var that = this

    let irows = that.data.rows

    that.data.obdInfo = []

    setTimeout(function() {

      that.onGain(irows)

      wx.stopPullDownRefresh() //停止下拉刷新

    }, 1500);
  },

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

  },

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

  },

  /**
   * 获取未挂测OBD
   */
  onGain: function(rows) {

    var that = this

    const url = '/gcgc/todotask/todoTask.do' //这里换成你的后台请求代码

    var data = {

      'page': 1,

      'rows': rows,

      'projectName': "",

      'endObdName': ""
    }

        Util.sendRequest(url, data,'post',"正在载入..").then(res => {

          if (parseInt(rows) >= parseInt(res.data.pageObj.total)) {

            let list = res.data.list //获取所有挂测数据

            let len = list.length

            for (let index = 0; index < len; index++) {

              if (list[index].testState == "待挂测" || list[index].testResult == "未通过") { //循环输出未挂测或未通过的OBD

                var temArry = that.data.obdInfo

                temArry = temArry.concat(list[index])

                that.data.obdInfo = temArry

              }
            }

            that.setData({

              obdInfo: that.data.obdInfo,

            })

            that.data.isShow = true

          } else {

            that.onGain(res.data.pageObj.total)
          }
        }).finally(function(res) {

          setTimeout(function() { //自动延迟3秒

            wx.hideLoading()

          }, 500);
        })
     
  }
})
正文到此结束

留言

0条评论

LEAVE A REPLY

  • face face face face face face face face face face face face face face face face face face face face face face face face face