云开发(微信-小程序)笔记(十五)---- 收藏,点赞(下)

简介: 云开发(微信-小程序)笔记(十五)---- 收藏,点赞(下)

云开发(微信-小程序)笔记(十四)---- 收藏,点赞(上)

1.存在的问题与解决方案

在前面我们介绍了收藏,点赞功能的实现,但还是存在一定的问题,没有实时的与数据库同步。为了这个问题,我们将结合云函数可以修改所有用户创建的数据)来解决。

2.具体优化

2-1.在数据库中添加点赞,收藏字段

2-2.编写云函数

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
  if (event.action == 'shouchang'){
  return await cloud.database().collection('Goods').doc(event.id)
  .update({
    data: {
      shouchang: event.shouchang
    }
  })
  .then(res =>{
    console.log('收藏状态成功',res)
    return res
  })
  .catch( res =>{
    console.log('收藏状态失败',res)
    return res
  })
}else{
  return await cloud.database().collection('Goods').doc(event.id)
  .update({
    data: {
      dianzan: event.dianzan
    }
  })
  .then(res =>{
    console.log('点赞状态成功',res)
    return res
  })
  .catch( res =>{
    console.log('点赞状态失败',res)
    return res
  })
}
}

一定要上传自己的修改,否者云函数是不会生效的。

2-3.修改tubiao.js文件

// pages/tubiao/tubiao.js
let ID = ''
let shouchang = false
let dianzan = false
Page({
  data: {
    shouchangUrl: "../../imgs/chang-no.png ",
    dianzanUrl: "../../imgs/zan-no.png",
  },
  onLoad(res){
    console.log(res)
    ID = 'b69f67c06268c88b005446ac66f0ad09'
    wx.cloud.database().collection('Goods')
    .doc(ID)
    .get()
    .then(res => {
      console.log('详情页成功',res)
      shouchang=res.data.shouchang
      dianzan=res.data.dianzan
      this.setData({
        detail: res.data,
        shouchangUrl:shouchang?"../../imgs/chang-yes.png":"../../imgs/chang-no.png",
        dianzanUrl:dianzan?"../../imgs/zan-yes.png":"../../imgs/zan-no.png"
      })
    })
    .catch(res =>{
      console.log('请求数据失败',res)
    })
  },
    //收藏(三目运算符)
    clickMe1(){
      this.setData({
        shouchangUrl:shouchang?"../../imgs/chang-no.png":"../../imgs/chang-yes.png"
      })
      shouchang = !shouchang //取反(收藏与未收藏之间的切换)
       //调用云函数
       wx.cloud.callFunction({
         name: "tubiao", //云函数名
         data: {
           action:"shouchang",
           id: ID,
           shouchang: shouchang
         }
       }).then(res => {
         console.log('收藏成功')
       }).catch(res => {
         console.log('收藏失败')
       })
    },
    //收藏(三目运算符)
    clickMe2(){
      this.setData({
        dianzanUrl:dianzan?"../../imgs/zan-no.png":"../../imgs/zan-yes.png"
      })
      dianzan = !dianzan //取反(点赞与未点赞之间的切换)
       //调用云函数
       wx.cloud.callFunction({
        name: "tubiao",
        data: {
          action:"dianzan",
          id: ID,
          dianzan: dianzan
        }
      }).then(res => {
        console.log('点赞成功')
      }).catch(res => {
        console.log('点赞失败')
      })
    }, 
})

2-4.修改tubiao.wxml文件(无修改)

<!--pages/tubiao/tubiao.wxml-->
<view>
<image class = "image" src = "{{shouchangUrl}}" bindtap="clickMe1"></image>
<image class = "image" src = "{{dianzanUrl}}" bindtap="clickMe2"></image>
</view>
• 1
• 2
• 3
• 4
• 5

2-5.修改tubiao.wxss文件(无修改)

/* pages/tubiao/tubiao.wxss */
.image{
  width: 120rpx;
  height: 120rpx;
}

2-6.效果图(视频)

点赞,收藏效果视频

小程序-收藏点赞数据库同步

云开发(微信-小程序)笔记(十六)---- 评论

感谢大家,点赞,收藏,关注,评论!

目录
相关文章
|
17天前
|
人工智能 小程序
【一步步开发AI运动小程序】十五、AI运动识别中,如何判断人体站位的远近?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,无需后台支持,具有快速、体验好、易集成等特点。本文介绍如何利用插件判断人体与摄像头的远近,确保人体图像在帧内的比例适中,以优化识别效果。通过`whole`检测规则,分别实现人体过近和过远的判断,并给出相应示例代码。
|
11天前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十七、如何识别用户上传视频中的人体、运动、动作、姿态?
【云智AI运动识别小程序插件】提供人体、运动、姿态检测的AI能力,支持本地原生识别,无需后台服务,具有速度快、体验好、易集成等优点。本文介绍如何使用该插件实现用户上传视频的运动识别,包括视频解码抽帧和人体识别的实现方法。
|
16天前
|
人工智能 小程序 UED
【一步步开发AI运动小程序】十六、AI运动识别中,如何判断人体站位?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,本地引擎无需后台支持,具备快速、体验好、易集成等优势。本文介绍如何利用插件的`camera-view`功能,通过检测人体站位视角(前、后、左、右),确保运动时的最佳识别率和用户体验。代码示例展示了如何实现视角检查,确保用户正或背对摄像头,为后续运动检测打下基础。
|
22天前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十三、自定义一个运动分析器,实现计时计数02
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,详细解析了俯卧撑动作的检测规则构建与执行流程,涵盖卧撑和撑卧两个姿态的识别规则,以及如何通过继承`sports.SportBase`类实现运动分析器,适用于小程序开发者。
|
22天前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十二、自定义一个运动分析器,实现计时计数01
随着AI技术的发展,AI运动APP如雨后春笋般涌现,如“乐动力”、“天天跳绳”等,推动了云上运动会、线上健身等热潮。本文将指导你从零开始开发一个AI运动小程序,利用“云智AI运动识别小程序插件”,介绍运动识别原理、计量方式及运动分析器基类的使用,帮助你在小程序中实现运动计时和计数功能。下篇将继续探讨运动姿态检测规则的编写。
|
16天前
|
移动开发 小程序 PHP
校园圈子论坛系统采取的PHP语音和uni账号开发的小程序APP公众号H5是否只需要4800元?是的,就是只需要4800元
关于校园圈子论坛系统采用PHP语言和uni-app开发的小程序、APP、公众号和H5是否仅需4800元这个问题,实际上很难给出一个确定的答案。这个价格可能受到多种因素的影响
49 8
|
12天前
|
人工智能 小程序 数据处理
uni-app开发AI康复锻炼小程序,帮助肢体受伤患者康复!
近期,多家康复机构咨询AI运动识别插件是否适用于肢力运动受限患者的康复锻炼。本文介绍该插件在康复锻炼中的应用场景,包括康复运动指导、运动记录、恢复程度记录及过程监测。插件集成了人体检测、姿态识别等功能,支持微信小程序平台,使用便捷,安全可靠,帮助康复治疗更加高效精准。
|
24天前
|
数据采集 人工智能 小程序
【一步步开发AI运动小程序】十、姿态动作相似度比较
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,重点讲解姿态动作相似度比较功能的运用,包括样本动作帧的采集和姿态相似度的计算方法,以及在组合运动中的应用实例。
|
18天前
|
人工智能 小程序 JavaScript
【一步步开发AI运动小程序】十四、主包超出2M大小限制,如何将插件分包发布?
本文介绍了如何从零开始开发一个AI运动小程序,重点讲解了通过分包技术解决程序包超过2M限制的问题。详细步骤包括在uni-app中创建分包、配置`manifest.json`和`pages.json`文件,并提供了分包前后代码大小对比,帮助开发者高效实现AI运动功能。
|
23天前
|
人工智能 小程序 开发者
【一步步开发AI运动小程序】十一、人体关键点跳跃追踪
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,涵盖云上运动会、健身打卡等热门应用场景。通过示例代码展示如何调用插件功能,实现动作追踪与分析,助力开发者快速上手。