小程序云开发初体验——”商品详情“的页面实现①(day12)

141 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第12天,点击查看活动详情

5REHEBO4@]U)1DWOI_QXD.jpg

1.创建云函数获取商品数据

  • 右键点击cloudfunction,点击创建Node.js云函数,建议将云函数命名为get_goods_detail

image.png

  • 创建完成之后我们点开我们创建德云函数,点击index.js,js文件里面的代码如下所示:
exports.main = async (event, context) => {
  let id = event.id;
  var type = event.type
  var rtn;
  if (type == 2) {
    rtn = await db.collection("goods_list").doc(id).get()
  } else if (type == 1) {
    rtn = await db.collection("user_up").doc(id).get()
  }
  return rtn
}

其中,env云函数环境需要根据自己的账号自己配置,,里面的goods_list和user_up分别是商品列表和用户发布的列表,根据自己的云数据库的命名而不同,不一定要一模一样,是看自己怎么命名的。

  • 云函数创建完成之后我们就需要调用云函数了,在商品详情页面中的details.js文件中获取用户发布商品的信息,部分代码如下:
getReleaseData(){
  let that=this
  wx.cloud.callFunction({
    name:"get_release_data",
  }).then(res=>{
      that.setData({
      releaselist:res.result.data
    })  
  })
},

这里建议大家在获取数据库的数据时先console.log输出以下看看是否获取成功

image.png

若获取成功调试器的consol会打印出内容,data里面有我们数据库里面的数据,如下图所示:

image.png

商品数据的渲染

  • 获取到商品数据后我们需要将商品数据渲染到我们的wxml页面上,在detail.wxml文件中,代码如下:
<view style="height: 700rpx;" >
      <image src="{{detailData.picture}}"></image>
</view>
 <view class="detail">
<text class="priceTxt">¥{{detailData.nowprice}}</text>
</view> 

至此,我们商品详情页面的部分已经完成了,但还有好多细节部分未完成,接下来的内容稍后更新。