接口更新

This commit is contained in:
@fawn-nine
2023-09-22 17:34:42 +08:00
parent 24c0363a45
commit b902557a6a
3 changed files with 191 additions and 120 deletions

View File

@@ -50,7 +50,7 @@
<br clear="both">
</view>
<!-- <view class="orderOper" v-if="orderContet.orderStatus=='3'"> -->
<view class="orderOper" >
<view class="orderOper" v-if="item.orderStatus == 3">
<view style="width: 100%; text-align: right;">
<view v-if="userRecordid == null" @click.stop="pingji(item.productId)" class="opCan" >评价</view>
<view v-else @click.stop="showZhuiping(item.productId)" class="opCan" >追评</view>

View File

@@ -17,19 +17,30 @@
:activeStyle="{color: '#303133',fontWeight: 'bold', transform: 'scale(1.01)'}"></u-tabs>
</view>
<view class="listenList" v-if="bookList.length > 0 || tjBookLIst.length > 0">
<view class="wrap" v-if="contentShow == 0">
<u-row gutter="16" justify="flex-start" v-if="bookList.length > 0">
<u-col span="4" v-for="(item,index) in bookList" :key="index">
<view>
<view class="videoBox demo-layout bg-purple" @click="goToListenFree(item)">
<image v-if="item.image != ''" :src="item.image" mode="scaleToFill"></image>
<image v-else src="../../static/icon/wufeng.jpg" mode="scaleToFill"></image>
<!-- <u-icon class="playButton" name="play-circle" color="#54a966" size="40"></u-icon> -->
<view class="wrap" v-if="contentShow == 0" >
<view class="" v-if="bookList.length > 0">
<u-row gutter="16" justify="flex-start" >
<u-col span="4" v-for="(item,index) in bookList" :key="index">
<view>
<view class="videoBox demo-layout bg-purple" @click="goToListenFree(item)">
<image v-if="item.images != ''" :src="item.images" mode="scaleToFill"></image>
<image v-else src="../../static/icon/wufeng.jpg" mode="scaleToFill"></image>
<!-- <u-icon class="playButton" name="play-circle" color="#54a966" size="40"></u-icon> -->
</view>
<text class="bookName">{{item.name}}</text>
</view>
</u-col>
</u-row>
<view class="" style="width: 100%;">
<view v-if="freeStatus==0" style="text-align: center;">
<u-loading-icon style="display: inline-block;"></u-loading-icon>
<font style='vertical-align: super;margin-left: 10px;font-size: 26rpx;color: #909399;'>努力加载中</font>
</view>
<view v-if="freeStatus==1">
<u-divider text="全部加载完成"></u-divider>
</view>
<text class="bookName">{{item.bookName}}</text>
</view>
</u-col>
</u-row>
</view>
<u-divider v-else text="暂无已购买书籍~"></u-divider>
</view>
@@ -37,22 +48,24 @@
<u-row gutter="16" justify="flex-start" v-if="tjBookLIst.length > 0">
<u-col span="4" v-for="(item,index) in tjBookLIst" :key="index">
<view class="videoBox demo-layout bg-purple" @click="goDetail(item)">
<image :src="item.images" mode="scaleToFill"></image>
<image v-if="item.images != ''" :src="item.images" mode="scaleToFill"></image>
<image v-else src="../../static/icon/wufeng.jpg" mode="scaleToFill"></image>
<!-- <u-icon class="playButton" name="play-circle" color="#54a966" size="40"></u-icon> -->
</view>
<text class="bookName">{{item.name}}</text>
</u-col>
<view style="width: 100%;">
<view v-if="status==0" style="text-align: center;">
<u-loading-icon style="display: inline-block;"></u-loading-icon>
<font style='vertical-align: super;margin-left: 10px;font-size: 26rpx;color: #909399;'>努力加载中</font>
</view>
<view v-if="status==1">
<u-divider text="全部加载完成"></u-divider>
</view>
</view>
</u-row>
<u-divider v-else text="暂无推荐书籍~"></u-divider>
<view>
<view v-if="status==0" style="text-align: center;">
<u-loading-icon style="display: inline-block;"></u-loading-icon>
<font style='vertical-align: super;margin-left: 10px;font-size: 26rpx;color: #909399;'>努力加载中</font>
</view>
<view v-if="status==1">
<u-divider text="全部加载完成"></u-divider>
</view>
</view>
</view>
</view>
@@ -74,6 +87,8 @@
playData: {},
loadingNow: false,
bookList: [],
freeTotalPage:0,
freeStatus:3, // 已购买图书状态
contentShow: 0,
page: 1, // 页码
status: 3,
@@ -94,6 +109,8 @@
onLoad() {
},
onShow() {
this.page = 1, // 页码
this.tjPage = 1
this.tjBookLIst = []
this.bookList = []
this.getListDate()
@@ -101,6 +118,8 @@
},
onPullDownRefresh() {
console.log('下拉刷新了')
this.page = 1, // 页码
this.tjPage = 1
this.tjBookLIst = []
this.getListDate()
this.bookList = []
@@ -111,24 +130,24 @@
this.loadingNow = true
console.log('到底了')
// if(this.contentShow == 0){
// //console.log(this.page , this.ygtotalPage)
// if(this.page < this.ygtotalPage){
// this.page++
// console.log('加载',this.page)
// this.status = 0
// this.getfreeBook()
if(this.contentShow == 0){
//console.log(this.page , this.ygtotalPage)
if(this.page+1 <= this.freeTotalPage){
this.page++
// console.log('加载',this.page)
this.freeStatus = 0
this.getfreeBook()
// }else{
// this.status = 1
// console.log('加载完成了',this.page)
// return
// }
}else{
this.freeStatus = 1
console.log('加载完成了', this.freeStatus)
// return
}
// }
}
if (this.contentShow == 1) {
if (this.tjPage+1 < this.tjTotalPage) {
if (this.tjPage+1 <= this.tjTotalPage) {
this.tjPage++
console.log('加载', this.tjPage)
this.status = 0
@@ -186,25 +205,32 @@
// 获取已购买书籍
getfreeBook() {
this.$http
.post('book/userebookbuy/buylist', {
.post('/book/userebookbuy/getUserCanlistenBooks', {
// .post('book/buyorderdetail/querybuy', {
'id': this.userInfo.id,
'userId': this.userInfo.id,
'page': this.page,
'limit': 9
'limit': this.tjPageSize
})
.then(res => {
if (res.code == 0) {
// this.ygtotalPage = res.page.totalPage
res.page.forEach(item => {
if (item.canListen) {
this.bookList.push(item)
if(res.page.records.length > 0){
this.bookList = this.bookList.concat(res.page.records)
this.freeTotalPage = res.page.pages
if(res.page.pages == 1){
this.freeStatus = 1
}else{
this.freeStatus = 3
}
})
// this.bookList = = this.bookList.concat(res.page.list)
console.log('程序执行',this.freeStatus)
}else{
this.freeTotalPage = 0
this.bookList = []
}
console.log(res, '已购买')
this.status = 3
console.log(this.bookList, '已购买')
}
});
@@ -225,16 +251,13 @@
if (res.code == 0 && res.page.records.length > 0) {
this.tjBookLIst = this.tjBookLIst.concat(res.page.records)
// 计算总页数
var yu = res.page.total % this.tjPageSize
console.log(yu,'yu')
if(yu > 0){
this.tjTotalPage = parseInt(res.page.total / this.tjPageSize) +1
// console.log(this.tjTotalPage,'总页数this.tjTotalPage')
this.tjTotalPage = res.page.pages
if(res.page.pages == 1){
this.status = 1
}else{
this.tjTotalPage = parseInt(res.page.total / this.tjPageSize)
// console.log(this.tjTotalPage,'总页数this.tjTotalPage')
}
this.status = 3
this.status = 3
}
}else{
this.tjTotalPage = 0
this.status = 3
@@ -277,7 +300,7 @@
goToListenFree(item) {
uni.navigateTo({
// url: "./musicbg?bookid="+item.bookid+"&fengImg="+item.image // 后台播放版本
url: "./listen?bookid=" + item.bookId + "&fengImg=" + item.image // 前台播放版本
url: "./listen?bookid=" + item.id + "&fengImg=" + item.image // 前台播放版本
// url: "./bgMusix"
});
},
@@ -314,12 +337,13 @@
}
.bookName {
white-space: nowrap;
display: block;
white-space: nowrap;
overflow-x: hidden;
text-overflow: ellipsis;
font-size: 30rpx;
color: #333;
padding: 10rpx 0;
color: #333;
padding: 10rpx 0;
}
.videoBox {

View File

@@ -186,61 +186,45 @@
<b></b>
<text>精选商品</text>
<!-- <i @click="onShopMore('Hot')">查看更多 ></i> -->
<i @click="onPageJump('../bookShop/classify')">查看更多 ></i>
</view>
<view class="ProTabs">
<text :class="[tabsNumber == 0 ? 'cur' :'']" @click="tabsChange(0)">精选图书</text>
<text :class="[tabsNumber == 1 ? 'cur' :'']" @click="tabsChange(1)">折扣图书</text>
<!-- <i @click="onPageJump('../bookShop/classify')">查看更多 ></i> -->
</view>
<scroll-view class="scroll-view_H " scroll-x="true" scroll-left="0">
<view class="ProTabs">
<text v-for="item in tagList" :key="item.splId" :class="[tabsid == item.splId ? 'cur' :'']" @click="tabsChange(item)">{{item.labelName}}</text>
</view>
</scroll-view>
<!-- 商品展示 -->
<view class="goods">
<!-- 精选 -->
<view class="" v-show="tabsNumber == 0">
<view class="" v-if="goodsList.length > 0">
<view class="goodsItem" v-for="(item,index) in goodsList" :key="item.productId"
@click="goDetail(item.productId)">
<image :src="item.productImages" mode="" class="goodsImg"></image>
<view class="" >
<view class="" v-if="tjProList.length > 0">
<view class="goodsItem" v-for="(item,index) in tjProList" :key="index"
@click="goDetail(item.shopproudicts[0].productId)">
<image :src="item.shopproudicts[0].productImages" mode="" class="goodsImg"></image>
<view class="goodsContent">
<view class="goodsName">
{{item.productName}}
{{item.shopproudicts[0].productName}}
</view>
<view class="goodsPrice">
<span class="price" v-if="item.activityPrice && item.activityPrice > 0">{{item.activityPrice}}</span>
<span class="price" v-else>{{item.price}}</span>
<span class="Salesnum">已售{{item.sumSales}} </span>
<span class="price" v-if="item.shopproudicts[0].activityPrice && item.shopproudicts[0].activityPrice > 0">{{item.shopproudicts[0].activityPrice}}</span>
<span class="price" v-else>{{item.shopproudicts[0].price}}</span>
<span class="Salesnum">已售{{item.shopproudicts[0].sumSales}} </span>
</view>
</view>
</view>
<br clear="both">
<view v-if="status==0" style="text-align: center;">
<u-loading-icon style="display: inline-block;"></u-loading-icon>
<font style='vertical-align: super;margin-left: 10px;font-size: 26rpx;color: #909399;'>努力加载中</font>
</view>
<u-divider v-else text="暂无精选书籍哦~"></u-divider>
<view v-if="status==1">
<u-divider text="全部加载完成"></u-divider>
</view>
</view>
<u-divider v-else text="暂无数据哦~"></u-divider>
</view>
<!-- 折扣 -->
<view class="zhekou" v-show="tabsNumber == 1">
<view v-if="offSaleList.length > 0">
<view class="goodsItem" v-for="(item,index) in offSaleList" :key="item.productId"
@click="goDetail(item.productId)">
<image :src="item.productImages" mode="" class="goodsImg"></image>
<view class="goodsContent">
<view class="goodsName">
{{item.productName}}
</view>
<view class="goodsPrice flexbox">
<view class="activityPrice">
<span class="price" v-if="item.activityPrice && item.activityPrice > 0">
<i style="font-style: normal; font-size: 28rpx;"></i>{{item.activityPrice}}</span>
</view>
<view class="priceAndnum">
<span class="price">原价<span style="text-decoration:line-through;">{{item.price}}</span></span>
<span class="Salesnum">已售{{item.sumSales}} </span>
</view>
</view>
</view>
</view>
<br clear="both">
</view>
<u-divider v-else text="暂无折扣书籍哦~"></u-divider>
</view>
</view>
@@ -269,8 +253,8 @@
showEbook:false, // 显示电子书相关
transaction: { // 成功回调
},
tabsNumber : 0,
},
tabsNumber : null,
scrollLeft:0,
maxTimes:1, // 轮询最大次数
ComplateRequestInterval:null, // 轮询定时器
@@ -284,6 +268,7 @@
'../../static/icon/home_ban_3.jpg',
],
xinsList: [],
loadingNow: false,
limiTist: [],
jingList: [],
seckillList: [],
@@ -298,6 +283,12 @@
fontWeight: 'bold',
color: '#54a966',
},
tagList:[] ,// 推荐标签列表
pageSize:10,
page:1,
totalPage:0,
tjProList:[],
status : 3
};
},
onPageScroll(e) {
@@ -307,15 +298,15 @@
onLoad(e) {
// 隐藏原生的tabbar
uni.hideTabBar();
// this.requestIapOrder()
// this.requestIapOrder()
},
//页面显示
onShow() {
// 隐藏原生的tabbar
this.tjProList = []
uni.hideTabBar();
this.getData();
this.getData();
this.getTags()
},
// 页面加载完毕
onReady() {
@@ -323,11 +314,25 @@
},
// 下拉刷新
onPullDownRefresh() {
this.page = 1
this.tjProList = []
this.getData()
this.getTags()
uni.stopPullDownRefresh()
this.requestIapOrder()
},
onReachBottom() {
this.loadingNow = true
console.log('到底了')
if(this.page+1 <= this.totalPage){
this.status = 0
this.page++
this.getJtData()
}else{
this.status = 1
}
},
filters: {
// 控制字数
@@ -350,11 +355,53 @@
},
//方法
methods: {
...mapMutations(['setUserInfo']),
tabsChange(num){
if(num != this.tabsNumber){
this.tabsNumber = num
}
...mapMutations(['setUserInfo']),
// 获取商品标签
getTags() {
this.loadingNow = false
this.$http
.post('book/label/getLabels')
.then(res => {
console.log(res,'标签列表')
if(res.code == 0 && res.result.labels.length > 0){
this.tagList = res.result.labels
this.tabsid = this.tagList[0].splId
this.getJtData()
}
}).catch(e => {
console.log(e,'e')
});
},
tabsChange(item){
this.tjProList = []
this.tabsid = item.splId
this.page = 1
// 获取推荐数据
this.getJtData()
},
getJtData(){
console.log('++++++++')
this.$http
.post('book/label/list',{
'splId': this.tabsid,
'limit': this.pageSize,
'page': this.page
})
.then(res => {
if(res.code == 0 && res.page.list.length > 0){
this.tjProList = this.tjProList.concat(res.page.list)
this.totalPage = res.page.totalPage
this.status = 3
console.log(this.tjProList,'按标签检索结果')
}else{
this.tjProList = []
this.totalPage = 0
}
}).catch(e => {
console.log(e,'e')
});
},
// 获取折扣图书
getOffSale(){
@@ -376,7 +423,7 @@
getNewBook(){
this.$http
.post('book/shopproduct/getNewBook',{
'limit': 10,
'limit': 4,
'page':1
})
.then(res => {
@@ -566,13 +613,13 @@
// })
// 获取精选商品
this.$http
.post('book/shopproduct/appGetList?limit=30&page=1&istop=1')
.then(res => {
console.log(res.page.list,'首页商品')
this.goodsList = res.page.list
})
this.getOffSale()
// this.$http
// .post('book/shopproduct/appGetList?limit=30&page=1&istop=1')
// .then(res => {
// console.log(res.page.list,'首页商品')
// this.goodsList = res.page.list
// })
//this.getOffSale()
this.getNewBook()
},