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

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

一、核心目标

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

二、实施步骤

1. 准备商品数据

  • 创建云数据库集合:goose
  • 导入准备好的 goose.json 测试数据
  • 确认字段结构:id、name、tag、image、price 等

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加速

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

相关推荐
余槐i30 分钟前
200万行表加索引锁死写入:PostgreSQL CONCURRENTLY 的三类等待与重建路径
数据库·postgresql·性能优化·索引·explain
m0_5873830032 分钟前
深圳 24 小时自助健身房系统软件开发实战指南与案例解析
java·spring boot·小程序·架构·需求分析
敲个大西瓜1 小时前
langchain笔记(一)
redis·笔记·langchain
北龙云海1 小时前
AI驱动数据库运维变革:北龙云海智能巡检平台实践与展望
运维·数据库·人工智能
带金箍的至尊宝1 小时前
系统架构设计师笔记 05:第2章硬件与软件基础,冯诺依曼结构怎么考
数据库·笔记·系统架构
蟕初的梦想1 小时前
Claude Haiku 5.5 效能实测与场景应用指南
数据库·人工智能·大模型
知产xiao_xin1 小时前
商标权的内容和限制
经验分享·笔记·知识产权
专注API从业者2 小时前
告别复杂页面解析,OpenClaw 快速搭建电商商品监控与数据分析脚本
大数据·数据库·python·数据挖掘·数据分析
陈年老古董2 小时前
Hive 函数学习笔记(上):单行函数与炸裂函数
hive·笔记·学习