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

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

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

1.引言

在之前编写了收藏,点赞的功能,当然评论这个功能也是不可缺少,这次我们将编写评论的功能。

2.代码编写

2-1.在数据库里添加pinglun字段,并增加内容

评论数据的添加

2-2.在app.json里增加评论的页面

"pages": [
    "pages/pinglun/pinglun",

2-3.编写pinglun.js文件

// pages/pinglun/pinglun.js
let ID = ''
let content = ''
Page({
  data: {
    pinglun: []   //评论数组
  },
  onLoad() {
    ID = 'b69f67c06268c88b005446ac66f0ad09'
    wx.cloud.database().collection('Goods')
      .doc(ID)
      .get()
      .then(res => {
        console.log('详情页成功', res)
        this.setData({
          detail: res.data,
          pinglun: res.data.pinglun
        })
      })
      .catch(res => {
        console.log('请求数据失败', res)
      })
  },
  //获取用户输入的评论内容
  getContent(e) {
    content = e.detail.value
    console.log('获取用户输入的值:', content)
  },
  //发布评论
  getgo() {
    //输入内容不能少于10位
    if (content.length < 10) {
      wx.showToast({
        icon: 'none',
        title: '内容过短!',
      })
        return
      }
      let pinglunItem = {}
      pinglunItem.name = 'catgod'      //评论者
      pinglunItem.content = content    //评论内容
      let pinglunadd = this.data.pinglun
      pinglunadd.push(pinglunItem)
      console.log('添加后的评论:',pinglunadd)
      //调用云函数进行数据的更新
      wx.cloud.callFunction({
        name: 'tubiao',
        data: {
          id: ID,
          action: "pinglun",
          pinglun: pinglunadd
        }
      }).then( res =>{
        console.log('评论发表成功',res)
        this.setData({ //数据的更新
          pinglun: pinglunadd
        })
      }).catch( res =>{
        console('评论发表失败',res)
      })
    }
})

2-4.编写pinglun.json文件

{
  "usingComponents": {},
  "navigationBarTitleText": "评论"
}

2-5.编写pinglun.wxml文件

<!--pages/pinglun/pinglun.wxml-->
<view class="tip">评论区域</view>
<block wx:for="{{pinglun}}" wx:key="index">
<view class="pinglunItem">
<view>{{item.name}}发表评论:</view>
<view>{{item.content}}</view>
</view>
</block>
<input class="input" bindinput="getContent" placeholder="请输入评论内容"> </input>
<button bindtap="getgo" type="primary">发表评论</button>

2-6.编写pinglun.wxss文件

/* pages/pinglun/pinglun.wxss */
.tip{
  margin-top: 30rpx;
  font-size: 50rpx;
  color:goldenrod;
}
.pinglunItem{
  border-bottom: 2px solid gainsboro;
  margin-left: 50rpx;
  margin-top: 30rpx;
}
.input{
  border: 1px solid gainsboro;
  margin-top: 150rpx;
  margin-bottom: 30rpx;
}

2-7.效果图(视频)

评论效果视频


主要优化如下:

1.输入内容后,输入栏清空。

2.进行友好提示如加载中…

3-1.修改pinglun.js文件

// pages/pinglun/pinglun.js
let ID = ''
Page({
  data: {
    pinglun: [],   //评论数组
    content: ''
  },
  onLoad() {
    ID = 'b69f67c06268c88b005446ac66f0ad09'
    wx.cloud.database().collection('Goods')
      .doc(ID)
      .get()
      .then(res => {
        console.log('详情页成功', res)
        this.setData({
          detail: res.data,
          pinglun: res.data.pinglun
        })
      })
      .catch(res => {
        console.log('请求数据失败', res)
      })
  },
  //获取用户输入的评论内容
  getContent(e) {
    this.setData({
      content: e.detail.value
    })
  },
  //发布评论
  getgo() {
    //输入内容不能少于10位
    let content=this.data.content
    if (content.length < 10) {
      wx.showToast({
        icon: 'none',
        title: '内容过短!',
      })
        return
      }
      let pinglunItem = {}
      pinglunItem.name = 'catgod'      //评论者
      pinglunItem.content = content    //评论内容
      let pinglunadd = this.data.pinglun
      pinglunadd.push(pinglunItem)
      console.log('添加后的评论:',pinglunadd)
      wx.showLoading({
        title:'发表中...'
      })
      //调用云函数进行数据的更新
      wx.cloud.callFunction({
        name: 'tubiao',
        data: {
          id: ID,
          action: "pinglun",
          pinglun: pinglunadd
        }
      }).then( res =>{
        console.log('评论发表成功',res)
        this.setData({
          pinglun: pinglunadd,
          content: ''
        })
        wx.hideLoading()
      }).catch( res =>{
        console.log('评论发表失败',res)
        wx.hideLoading()
      })
    }
})

3-2.修改pinglun.wxml文件

<!--pages/pinglun/pinglun.wxml-->
<view class="tip">评论区域</view>
<block wx:for="{{pinglun}}" wx:key="index">
<view class="pinglunItem">
<view>{{item.name}}发表评论:</view>
<view>{{item.content}}</view>
</view>
</block>
<input class="input" bindinput="getContent" placeholder="请输入评论内容" value="{{content}}"> </input>
<button bindtap="getgo" type="primary">发表评论</button>

3-3.效果图(视频)

评论优化效果视频

image.png

小程序-评论

云开发(微信-小程序)笔记(十七)---- cms(内容管理)及案例

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

目录
相关文章
|
13天前
|
人工智能 小程序
一步步开发AI运动小程序】二、引入插件
随着人工智能技术的发展,阿里体育等公司推出的“乐动力”、“天天跳绳”等AI运动APP广受欢迎。本文将引导您从零开始开发一个AI运动小程序,使用“云智AI运动识别小程序插件”。内容包括新建uni-app项目、配置插件、部署模型、安装依赖包、全局初始化和调用插件对象。
|
12天前
|
小程序 搜索推荐 数据挖掘
跳绳打卡小程序开发多钱费用
跳绳打卡小程序通过智能手机即可轻松使用,无需额外设备,只需一根跳绳即可开始您的健康之旅。它结合了便捷性、互动性和个性化设置,让跳绳这项运动变得更加有趣和高效
|
14天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
281 1
|
10天前
|
存储 传感器 小程序
跳绳计数小程序开发系统
首先,我们需要明确跳绳计数小程序的核心功能:为用户提供跳绳计数的便捷方式。这意味着小程序需要能够准确地记录用户的跳绳次数,并为用户提供清晰、直观的计数展示。
|
10天前
|
人工智能 编解码 小程序
【一步步开发AI运动小程序】四、小程序如何抽帧
随着AI技术的发展,阿里体育等公司推出的“乐动力”、“天天跳绳”等APP使云上运动会、线上健身等概念备受关注。本文将引导您从零开始开发一个AI运动小程序,利用“云智AI运动识别小程序插件”。文中详细介绍了微信小程序抽帧的相关API、设置及注意事项,帮助开发者更好地实现AI运动功能。下篇将介绍人体识别技术,敬请期待。
|
11天前
|
传感器 存储 小程序
跳绳计数小程序开发
跳绳计数小程序旨在通过智能设备(如手机或智能手表)记录用户在跳绳过程中的次数、时间、速度等关键数据,为用户提供便捷的运动记录和数据分析服务
|
10天前
|
小程序 搜索推荐 前端开发
小剧场短剧影视小程序开发
小剧场短剧影视小程序旨在为用户提供一个便捷、互动的平台,让用户能够随时随地观看、分享和评论各类小剧场短剧。通过小程序,用户可以浏览热门短剧、搜索感兴趣的内容、参与社区互动,以及享受个性化的推荐服务。
|
11天前
|
小程序 搜索推荐 前端开发
短剧小程序开发案例
首先,明确你的短剧平台的目标用户群体和他们的需求。比如,年轻用户可能更倾向于轻松、幽默的短剧内容,而家庭用户则可能更偏爱教育、亲子类的短剧。了解用户需求有助于你设计更符合他们口味的功能和界面
|
11天前
|
机器学习/深度学习 人工智能 小程序
【一步步开发AI运动小程序】三、运动识别处理流程
随着人工智能技术的发展,阿里体育等公司推出的“乐动力”、“天天跳绳”等AI运动APP备受关注。本文将引导您从零开始开发一个AI运动小程序,使用“云智AI运动识别小程序插件”。文章介绍了视频帧、帧率FPS、抽帧和人体识别等基本概念,并详细说明了处理流程,包括抽帧、人体识别检测、骨骼图绘制和运动分析等步骤。下篇将介绍如何在小程序中实现抽帧。
|
14天前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
159 0