#小程序云开发挑战赛#-垃圾分类赢好礼-我爱吃雪糕
- 目标用户:社会中受垃圾分类政策影响的人们。
- 实现思路:通过百度识图API对用户所拍到的东西进行识别,并与数据库中的进行比较,从而实现拍照识别;个人操作系统中在环保广场加入点赞功能可累计垃圾兑换积分,从而在积分兑换商城中兑换相应奖品。
- 架构图:
- 效果截图:
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.