#小程序云开发挑战赛#-垃圾分类赢好礼-我爱吃雪糕
发布于 4 年前 作者 rgao 1713 次浏览 来自 分享
  1. 目标用户:社会中受垃圾分类政策影响的人们
  2. 实现思路通过百度识图API对用户所拍到的东西进行识别,并与数据库中的进行比较,从而实现拍照识别;个人操作系统中在环保广场加入点赞功能可累计垃圾兑换积分,从而在积分兑换商城中兑换相应奖品。
  3. 架构图:

  1. 效果截图:

5.功能代码展示:

//垃圾分类的动态点赞
GetLike(res){
  var {id,idx}=res.currentTarget.dataset

console.log(res.currentTarget.dataset)
if(LikeFlag===0)
{
db.collection("test").doc(res.currentTarget.dataset.id).update({
  data:{
    point:_.inc(1)
  }
})

LikeFlag=1
}
//初始化用户point值
    if(ExistFlag!==1)
    {
    db.collection("userdata")
    .add({
      data:{
        points:0
      }
    })
    .then(res=>{
      datanum=res._id
      console.log("初始化成功!","_id:",datanum)
    })
  }
/* 动态上传 */ 
  bindFormSubmit: function(e) {
    console.log(e.detail.value.textarea)
    // 调用函数时,传入new Date()参数,返回值是日期和时间
var time = util.formatTime(new Date());
console.log(time)
    db.collection("usermoments")
    .add({
      data:{
        content:e.detail.value.textarea,
        time:time
      },
    })
    .then(res=>{
      console.log(res)
wx.showToast({
  title: '上传成功!',
  icon:'success',
  duration:2000
})
    })
    setTimeout(() => {
      wx.navigateBack({
        delta: 1,
        success: (res) => {
          console.log("返回上一层成功!")
        }
      })
    }, 1500);
  }
//垃圾分类搜索
    wx.showLoading({
      title: '正在加载数据中.....',
    })
    if (this.data.dataCount < this.data.page * this.data.MAX_LIMIT){
      wx.showToast({
        title: '数据已经加载完',
        icon: "none"
      })
      wx.hideLoading()
      return
    }
    var that=this
    console.log("=====" + this.data.page)
    if(this.data.page==0){
      this.data.datas=[]
    }
    var datas = db.collection('product').skip(this.data.page * this.data.MAX_LIMIT).limit(this.data.MAX_LIMIT).where({
      name: db.RegExp({
        regexp: that.data.searchTxt,
      })
    }).get({
      success: function (res) {
        wx.hideLoading()
        that.data.page = that.data.page +1
        for (var i=0;i < res.data.length;i++){
          that.data.datas.push(res.data[i])
        }
       that.setData({
         datas:that.data.datas
       })
      },fail:res=>{
        wx.hideLoading()
        wx.showToast({
          title: '数据加载失败',
          icon:"none"
        })
      }

    6.

回到顶部