dengjie commit : 首页产品列表下拉刷新分页展示产品

This commit is contained in:
clay
2022-12-29 00:13:33 +08:00
parent b3b0b620bf
commit 0c3e8de069
5 changed files with 144 additions and 132 deletions

View File

@@ -41,28 +41,41 @@
imgUrl: '', imgUrl: '',
tagsArray: [], tagsArray: [],
productList: [], productList: [],
pageNum: 1, // 当前页
pageSize: 4, // 每页条数
} }
}, },
created() { created() {
this.getProducts() this.getProducts()
this.imgUrl = uni.getStorageSync('img_url') this.imgUrl = uni.getStorageSync('img_url')
}, },
methods: { methods: {
//获取产品列表 //获取产品列表
getProducts() { getProducts() {
// console.log("子组件的获取产品列表方法===="); this.$apiServe.getProducts({
this.$apiServe.getProducts().then(res => { pageSize: this.pageSize,
// console.log(res.data.data) pageNum: this.pageNum
}).then(res => {
let tags = res.data.data let tags = res.data.data
for (const item of tags) { for (const item of tags) {
let tag = item.tags let tag = item.tags
this.tagsArray = tag.split(',') this.tagsArray = tag.split(',')
item.tags = this.tagsArray[0] item.tags = this.tagsArray[0]
} }
this.productList = res.data.data
}).finally(_ => {}) // if (res.data.data.length == 0) {
// requestTask.abort()
// }
console.log(res);
// 为数据赋值:通过展开运算符的形式,进行新旧数据的拼接
this.productList = [...this.productList, ...res.data.data]
}).finally(_ => {
})
}, },
//点击图片跳转到详情页 //点击图片跳转到详情页
toDetailPage(item) { toDetailPage(item) {

View File

@@ -64,7 +64,6 @@
getCertifiedCjDetail() { getCertifiedCjDetail() {
this.$apiServe.getCertifiedCjDetail(this.id).then(res => { this.$apiServe.getCertifiedCjDetail(this.id).then(res => {
console.log('认证厂家详情页', res) console.log('认证厂家详情页', res)
// this.detailList = res.data.data // this.detailList = res.data.data
}).finally(_ => {}) }).finally(_ => {})
}, },

View File

@@ -61,19 +61,18 @@
swiperList: [], swiperList: [],
} }
}, },
onPullDownRefresh() { onReachBottom() {
// this.$refs.getProducts.query.pageNum = 1 // console.log('pageNum===', this.$refs.getProducts);
// this.$refs.getProducts.productList = [] this.$refs.getProducts.pageNum += 1
this.$refs.getProducts.getProducts() this.$refs.getProducts.getProducts()
//关闭下拉刷新 //关闭下拉刷新
uni.stopPullDownRefresh() // uni.stopPullDownRefresh()
}, },
onLoad() { onLoad() {
this.getCategories() this.getCategories()
this.getBanner() this.getBanner()
this.getImgUrl() this.getImgUrl()
// this.$refs.getProducts.getProducts()
this.imgUrl = uni.getStorageSync('img_url') this.imgUrl = uni.getStorageSync('img_url')
}, },

View File

@@ -1,56 +1,56 @@
<template> <template>
<view> <view>
<u-button type="primary" open-type="getPhoneNumber" size="medium" @getphonenumber="getphonenumber"> <u-button type="primary" open-type="getPhoneNumber" size="medium" @getphonenumber="getphonenumber">
获取电话号码</u-button> 获取电话号码</u-button>
</view> </view>
</template> </template>
<script> <script>
import {loginSys} from '@/service/request.js' import {
export default { loginSys
data() { } from '@/service/request.js'
return { export default {
data() {
} return {
},
methods: { }
getphonenumber(e) { },
const { methods: {
phoneCode getphonenumber(e) {
} = e.detail; const {
console.log("手机code : ", phoneCode); phoneCode
uni.login({ } = e.detail;
"provider": "weixin", console.log("手机code : ", phoneCode);
"onlyAuthorize": true, // 微信登录仅请求授权认证 uni.login({
success: function(event) { "provider": "weixin",
const { "onlyAuthorize": true, // 微信登录仅请求授权认证
code success: function(event) {
} = event const {
code
console.log("登录code", code); } = event
//客户端成功获取授权临时票据code,向业务服务器发起登录请求。
console.log("登录code", code);
//客户端成功获取授权临时票据code,向业务服务器发起登录请求。
// 调用登录接口 拿到token 传手机code,更新手机号码
loginSys(code).then(res=>{
console.log(res); // 调用登录接口 拿到token 传手机code,更新手机号码
loginSys(code).then(res => {
console.log(res);
//登录完成后使用手机code换取手机号,调用/user/getMobileByMnp接口 //登录完成后使用手机code换取手机号,调用/user/getMobileByMnp接口
//接口详细链接 https://docs.apipost.cn/preview/468be606f65cae75/3f2f988ddf82dd8e //接口详细链接 https://docs.apipost.cn/preview/468be606f65cae75/3f2f988ddf82dd8e
}) })
}, },
fail: function(err) { fail: function(err) {
// 登录授权失败 // 登录授权失败
// err.code是错误码 // err.code是错误码
} }
}) })
}, },
} }
} }
</script> </script>
<style> <style>
</style> </style>

View File

@@ -1,4 +1,3 @@
const serverHost = 'https://pupil.hchyun.com/api' // https://api-ugo-web.itheima.net' const serverHost = 'https://pupil.hchyun.com/api' // https://api-ugo-web.itheima.net'
function isOutTime(res) { function isOutTime(res) {
if (res.data.message === '请先登录') { if (res.data.message === '请先登录') {
@@ -190,10 +189,10 @@ const apiService = {
}) })
}, },
// 获取产品列表 // 获取产品列表
getProducts() { getProducts(data) {
const url = `/home/product?sortType=1&pageSize=4&pageNum=1` const url = `/home/product?sortType=1`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.get(url)) resolve(service.get(url, data))
}) })
}, },
// 获取产品详情 // 获取产品详情
@@ -231,76 +230,78 @@ const apiService = {
resolve(service.get(url, id)) resolve(service.get(url, id))
}) })
}, },
login: data => { login: data => {
data = Object.assign(data || {}, {}) data = Object.assign(data || {}, {})
const url = `/api` const url = `/api`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.post(url, data, true)) resolve(service.post(url, data, true))
}) })
}, },
// 获取首页分类Tag // 获取首页分类Tag
getTags(data) { getTags(data) {
const url = `/home/tags` const url = `/home/tags`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.get(url, data)) resolve(service.get(url, data))
}) })
}, },
// 获取首页分类 // 获取首页分类
getCategories(data) { getCategories(data) {
const url = `/home/classlist` const url = `/home/classlist`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.get(url, data)) resolve(service.get(url, data))
}) })
}, },
// 搜索发现 热搜 // 搜索发现 热搜
getDiscover() { getDiscover() {
const url = `/home/discover` const url = `/home/discover`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.get(url)) resolve(service.get(url))
}) })
}, },
// 搜索产品 // 搜索产品
getProductList(data) { getProductList(data) {
const url = `/home/product` const url = `/home/product`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.get(url, data)) resolve(service.get(url, data))
}) })
}, },
// 图片基本地址 // 图片基本地址
getImgUrl() { getImgUrl() {
const url = `/center/cfg?key=img_url` const url = `/center/cfg?key=img_url`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.get(url)) resolve(service.get(url))
}) })
}, },
// 新增 // 新增
addOutboundOrder(data) { addOutboundOrder(data) {
const url = `/api` const url = `/api`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.post(url, data)) resolve(service.post(url, data))
}) })
}, },
// 提交 // 提交
deliveryOrderConfirm(data) { deliveryOrderConfirm(data) {
const url = `/api` const url = `/api`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.post(url, data)) resolve(service.post(url, data))
}) })
}, },
// 解密 // 解密
decrypt(data) { decrypt(data) {
const url = `/api` const url = `/api`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.post(url, { data })) resolve(service.post(url, {
}) data
}, }))
// 国密sm4加密 })
sm4Encrypt(data) { },
const url = `/api` // 国密sm4加密
return new Promise((resolve, reject) => { sm4Encrypt(data) {
resolve(service.sm(url, data)) const url = `/api`
}) return new Promise((resolve, reject) => {
} resolve(service.sm(url, data))
})
}
} }
export { export {
apiService, apiService,