model
public function CateShop($cateids,$pagenum){
$data = [];
$select = ShopGoods::where('cateids','like','%'.$cateids.',')->order('id','desc')->paginate(['list_rows'=> 6,'page' => $pagenum]);
foreach ($select as $item){
$data[]=$this->list_tree($item); //调用下面的方法
}
return $data;
}
controller
public function getCateShop()
{
$pagenum = $this->request->param('pagenum','');
$cateid = $this->request->param('cateids','');
$data = [];
$shoop = new ShopGoods();
$select = $shoop->CateShop($cateid,$pagenum);
$this->success('获取商品成功',$select);
}
uniapp
export default {
data() {
return {
goodsList: {}, //数据
currentPage: 1, //页数
};
},
onLoad() {
this.loadData();
},
onReachBottom: function() {
this.currentPage++,
this.loadData()
},
methods: {
/**
* 请求静态数据只是为了代码不那么乱
* 分次请求未作整合
*/
async loadData() {
//轮播图
const list = await uni.$http.get('data/api.data/getSlider');
this.swiperLength = list.data.data.length;
this.carouselList = list.data.data;
//商品列表
const params={
pagenum:this.currentPage
}
let goodsList = await uni.$http.get('data/api.goods/getCateShop',params);
// this.goodsList = goodsList.data.data.list || [];
//第一次查询的数据
if(this.currentPage == 1){
this.goodsList = goodsList.data.data || [];
}
//上滑加载的数据
if(this.currentPage >1 && goodsList.data.data.length > 0){
let pushDate = goodsList.data.data
pushDate.forEach(item=>{
// console.log(item)
this.goodsList.push(item)
})
}
// console.log(this.goodsList, '商品链表');
//没有数据
if(goodsList.data.data.length == 0) {
uni.showToast({
title: '没有更多数据了',
icon: "none"
});
}
},
}