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

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

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

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(内容管理)及案例

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

目录
相关文章
|
9月前
|
人工智能 小程序 前端开发
一个小程序轻量AR体感游戏,开发实现解决方案
针对青少年运动兴趣不足问题,AR体感游戏凭借沉浸式互动体验脱颖而出。结合小程序“AI运动识别”插件与WebGL渲染技术,可实现无需外设的轻量化AR健身游戏,如跳糕、切水果等,兼具趣味性与锻炼效果,适用于儿童健身及职工团建,即开即玩,低门槛高参与。
|
9月前
|
运维 小程序 数据可视化
小程序开发平台有哪些?SaaS小程序制作平台哪个好
小程序开发模式详解:自主开发、SaaS小程序制作平台与外包全对比 选择合适的小程序开发模式,是项目成功的基石。这三种模式在成本、周期、控制力和灵活性上各有千秋,适用于不同阶段和不同类型的企业。下面我们将逐一深入剖析。
808 9
|
9月前
|
移动开发 小程序 前端开发
小程序开发平台有哪些?哪个好
小程序的开发方式丰富多元,开发团队可根据自身的技术背景、项目具体需求以及资源状况,灵活挑选最为适宜的开发路径。以下将详细介绍几种主流的小程序开发方式。
732 1
|
9月前
|
移动开发 小程序 前端开发
小程序快速开发平台有哪些?
小程序开发并非“一刀切”,需结合技术储备、资金预算、时间规划及功能需求等多维度因素综合考量。以下为您详细拆解五种主流开发方案及其适用场景,助您精准匹配开发路径。
521 3
|
9月前
|
移动开发 小程序 前端开发
小程序开发平台有哪些?小程序开发制作软件推荐
小程序开发方案全解析:5种主流方式与选择指南 小程序开发需根据技术能力、预算、时间及功能需求综合决策。以下为5种主流开发方案及适用场景分析:
26473 0
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
2614 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
11月前
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
588 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
10月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。