banner
banner
banner
NEWS LETTER

微信小程序-封装api到使用的一系列总结

Scroll down

封装api到调用

  1. 先封装好网络请求(要记得把成功的失败的回调中返回数据)
  2. 将需要请求的参数返回给对应函数
  3. 需要使用到的页面调用接口
    • 在onLoad () {this.调用的函数}
    • 用async,await将参数传递过来,定义一个变量接收
    • 在data中定义初始化变量来接收数据this.setData({空数组(或对象):接收的变量})
  4. 跳转页面传参:可以用e.mark,将参数传进来,然后直接在url上携带参数传到另一个页面,另一个页面接收对应的参数,获取对应的数据

注意点: mark(事件系统) | navigateTo (路径传参)

获取api数据中二层数组的数据(+拼接字符串)

  1. 重新处理数据,用map()获取第一层数组中的值,然后存到一个空数组
  2. 定义好一个空的字符串,用来接收拼接的字符串
  3. 判断二层列表的空数组是否存在,有无长度
  4. 利用累加器reduce将列表的值拼接后返回给空字符串

注意点: map(返回一个新数组) ,reduce(pre,cur,idx)累加器

距离发布时间过了多久

  1. 获取当前时间
  2. 获取发布的时间
  3. 二者相减
  4. 将年月日 时分秒 处理好后
  • 秒 = 毫秒 / 1000
  • 分 = 秒 / 60
  • 时 = 分 / 60
  • 日 = 时 / 24
  • 月 = 日 / 30
  • 年 = 月 / 12
  • Math.floor()向下取整
  • Math.ceil()向上取整
  • Math.round()四舍五入
  1. 嵌套判断

请求分页

  1. 路径要动态传参
  2. 页面通过调用函数将参数传进来getListByTypeId({ page: curPage })
  3. 判断数据是否大于每页展示的数据,是的话直接显示;不是就将当前的数据和下一个数据拼接起来
  4. 在上拉触底函数哪里判断页数是不是小于总的页数,是进入循环,当前页数加一;不是,提示无数据
  5. 加个是否加载成功:加载成功提示,继续滚动框架在新数据,加载中不能加载,等待数据加载完成才能继续操作(默认第一页为加载完成)

注意:

1
2
3
4
5
6
7
8
9
10
1. 当api传入的数据有问题,应仔细查看一下路径是否写错
2. 动态传参:
getListByTypeId : (data = {}) => {
const param = {
...data,
typeId: 1,
cross: 1,
}
return request('/pc/index/getListByTypeId', param);
}
其他文章
cover
微信小程序-事件和生命周期
  • 24/11/04
  • 09:57
  • 微信小程序
目录导航 置顶
  1. 1. 封装api到调用
  2. 2. 获取api数据中二层数组的数据(+拼接字符串)
  3. 3. 距离发布时间过了多久
  4. 4. 请求分页
  5. 5. 注意:
请输入关键词进行搜索