百战商城商品数据云函数化改造总结_百战_3

百战商城商品数据云函数化改造总结

一、核心目标

将首页商品列表数据从本地写死数据/HTTP请求,迁移到云开发数据库+云函数调用。

二、实施步骤

1. 准备商品数据

  • 创建云数据库集合:goose
  • 导入准备好的 goose.json 测试数据
  • 确认字段结构:idnametagimageprice

2. 创建云函数

  • 新建云函数:goose_data
  • 核心功能:从 goose 集合分页查询数据

3. 云函数代码逻辑

javascript 复制代码
const db = cloud.database()

exports.main = async (event, context) => {
  const page = event.page || 1  // 接收页码参数
  const skipNum = (page - 1) * 10  // 计算跳过的数据量
  
  return  db.collection('goose')
    .skip(skipNum)
    .limit(10)
    .get()
}

4. 前端调用改造

原HTTP请求:

javascript 复制代码
// 注释掉原有HTTP请求
// wx.request({...})

改为云函数调用:

javascript 复制代码
wx.cloud.callFunction({
  name: 'goose_data',
  data: {
    page: this.data.page
  }
}).then(res => {
  // 处理返回数据
})

5. 数据处理优化

  • 数据合并:上拉加载时,将新数据追加到原有数据后
  • 空数据判断:当返回数组长度为0时,提示"暂无数据"
  • 页码管理:触底时自动增加页码,实现分页加载

三、关键代码片段

数据合并逻辑

javascript 复制代码
  wx.cloud.callFunction({
          name: 'goose_data',
          data: {
            page: this.data.page
          }
        }).then(res => {
          //console.log(res.result.data)
          this.setData({
            goodsData:this.data.goodsData.concat(res.result.data)
          })
        })

空数据提示

javascript 复制代码
if (res.result.data.length === 0) {
  wx.showToast({
    title: '被你看光了~',
    icon: 'none'
  })
}

四、注意事项

  1. 云函数部署:修改后务必"上传并部署"
  2. 数据格式:确保云函数返回数据格式与原数据结构一致
  3. 分页计算 :正确计算 skip 值实现分页
  4. 加载状态:合理管理加载状态,避免重复请求

五、效果验证

  • 首次加载显示前10条数据
  • 上拉触底加载下一页数据
  • 数据加载完毕后显示友好提示
  • 总数据量正确展示(26条数据)

六、扩展思考

  1. 可添加搜索功能,在云函数中实现按名称搜索
  2. 可添加分类筛选功能
  3. 可优化图片加载,使用云存储CDN加速

通过本次改造,项目数据管理更加规范,为后续功能扩展打下基础。

相关推荐
Dxy12393102168 分钟前
MySQL如何高效查询表数据量:从基础到进阶的优化指南
数据库·mysql
Dying.Light11 分钟前
MySQL相关问题
数据库·mysql
Hello_Embed36 分钟前
libmodbus 移植 STM32(USB 串口后端篇)
笔记·stm32·单片机·嵌入式·freertos·libmodbus
蜡笔小炘1 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
张祥6422889041 小时前
RTKLIB源码和理论结合分析笔记三
笔记
韩立学长1 小时前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
日更嵌入式的打工仔1 小时前
0欧电阻作用
笔记
Re.不晚1 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][I2C]I2C
linux·笔记·学习
老邓计算机毕设2 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台