对接很多接口
parent
9d13330cc6
commit
bce9d1cf5e
|
@ -323,6 +323,10 @@ button:after{content: none!important;}
|
|||
.mar-x160{margin-bottom: 160rpx;}
|
||||
.mar-x180{margin-bottom: 180rpx;}
|
||||
/* 左---外边距 */
|
||||
.mar-z2{margin-left: 2rpx;}
|
||||
.mar-z4{margin-left: 4rpx;}
|
||||
.mar-z6{margin-left: 6rpx;}
|
||||
.mar-z8{margin-left: 8rpx;}
|
||||
.mar-z10{margin-left: 10rpx;}
|
||||
.mar-z20{margin-left: 20rpx;}
|
||||
.mar-z25{margin-left: 25rpx;}
|
||||
|
|
|
@ -6,4 +6,8 @@ export function uploadImg(data) {
|
|||
// 视频上传\音频\文件
|
||||
export function uploadFile(data) {
|
||||
return request.upload("/universal/api.upload/upload", data, 'file');
|
||||
}
|
||||
}
|
||||
// 视频播放记录上报
|
||||
export function reportRecord(data) {
|
||||
return request.post("/api/user/video-view", data);
|
||||
}
|
||||
|
|
|
@ -57,11 +57,12 @@
|
|||
statusBarHeight: uni.getSystemInfoSync().statusBarHeight, // 状态栏高度
|
||||
newHeight:uni.getSystemInfoSync().screenHeight, // 窗口高度
|
||||
isLoading:false, //加载完成
|
||||
// {src:'/static/tabbar/icon-panh.png',title:'我的练习视频'},
|
||||
funList:[
|
||||
{src:'/static/tabbar/icon-set.png',title:'个人资料'},
|
||||
{src:'/static/tabbar/icon-course.png',title:'我的课程'},
|
||||
{src:'/static/tabbar/icon-order.png',title:'我的订单'},
|
||||
{src:'/static/tabbar/icon-panh.png',title:'我的练习视频'},
|
||||
|
||||
{src:'/static/tabbar/icon-coupon.png',title:'我的优惠券'},
|
||||
{src:'/static/tabbar/icon-score.png',title:'我的积分'},
|
||||
{src:'/static/tabbar/icon-address.png',title:'我的地址'},
|
||||
|
@ -96,11 +97,12 @@
|
|||
|
||||
// 导航跳转
|
||||
chooseFun(index){
|
||||
// '/pagesA/my-video/my-video',
|
||||
let list = [
|
||||
'/pagesA/my-data/my-data',
|
||||
'/pagesA/my-course/my-course',
|
||||
'/pagesA/my-order/my-order',
|
||||
'/pagesA/my-video/my-video',
|
||||
|
||||
'/pagesA/my-coupon/my-coupon',
|
||||
'/pagesA/my-integral/my-integral',
|
||||
'/pagesA/my-address/my-address',
|
||||
|
|
|
@ -68,6 +68,7 @@
|
|||
import footTab from '@/components/foot-tabs/foot-tab.vue';
|
||||
import list from '@/components/list.vue';
|
||||
import pitera from '@/components/nothing/pitera.vue';
|
||||
import {reportRecord} from '@/jsFile/public-api.js';
|
||||
export default {
|
||||
components:{
|
||||
'foot-tab' :footTab,
|
||||
|
@ -210,7 +211,9 @@
|
|||
wx.openChannelsActivity({
|
||||
finderUserName:this.videoList[index].video_number,
|
||||
feedId:this.videoList[index].subtitle,
|
||||
success:(res)=>{},fail:()=>{
|
||||
success:(res)=>{
|
||||
reportRecord({id:this.videoList[index].id}).then(result=>{})
|
||||
},fail:()=>{
|
||||
this.$toolAll.tools.showToast('视频已丢失或已删除')
|
||||
}
|
||||
})
|
||||
|
@ -222,6 +225,7 @@
|
|||
uni.navigateTo({
|
||||
url:`/pagesB/play-video/play-video?current=${index}`
|
||||
})
|
||||
reportRecord({id:this.videoList[index].id}).then(result=>{})
|
||||
}
|
||||
},
|
||||
// 更多
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
// 底部组件
|
||||
import footTab from '@/components/foot-tabs/foot-tab.vue';
|
||||
import pitera from '@/components/nothing/pitera.vue';
|
||||
import {reportRecord} from '@/jsFile/public-api.js';
|
||||
export default {
|
||||
components:{
|
||||
'foot-tab' :footTab,
|
||||
|
@ -95,7 +96,13 @@
|
|||
wx.openChannelsActivity({
|
||||
finderUserName:this.dataList[index].video_number,
|
||||
feedId:this.dataList[index].subtitle,
|
||||
success:(res)=>{},fail:()=>{
|
||||
success:(res)=>{
|
||||
reportRecord({id:this.dataList[index].id}).then(result=>{
|
||||
if(result.code==0){
|
||||
this.dataList[index].view++;
|
||||
}
|
||||
})
|
||||
},fail:()=>{
|
||||
this.$toolAll.tools.showToast('视频已丢失或已删除')
|
||||
}
|
||||
})
|
||||
|
@ -107,6 +114,11 @@
|
|||
uni.navigateTo({
|
||||
url:`/pagesB/play-video/play-video?current=${index}`
|
||||
})
|
||||
reportRecord({id:this.dataList[index].id}).then(result=>{
|
||||
if(result.code==0){
|
||||
this.dataList[index].view++;
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
@ -20,10 +20,10 @@
|
|||
</view>
|
||||
<view class="flexs mar-z20 radius26 colf disjcac" style="width: 124rpx;height: 52rpx;" :style="{backgroundColor:current!=0?'#c0c0c0':'#f37717'}">去使用</view>
|
||||
</view>
|
||||
<view class="disac fon20 pad-s20" style="color: #747474;">
|
||||
<!-- <view class="disac fon20 pad-s20" style="color: #747474;">
|
||||
<span @tap="lookDetail(index)">详细信息</span>
|
||||
<view @tap="lookDetail(index)" class="icon icon-return fon20 mar-z10" :class="item.show?'isshow':'noshow'"></view>
|
||||
</view>
|
||||
</view> -->
|
||||
<!-- 图标 -->
|
||||
<view class="posia" v-if="current!=0" style="position: absolute;right: 120rpx;top: 60rpx;">
|
||||
<image v-if="current==1" src="/static/tabbar/icon-used.png" style="width: 90rpx;height: 86rpx;" mode="" lazy-load></image>
|
||||
|
@ -31,17 +31,17 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="item.show" class="fon20 line-h36 pad-zy20 pad-s20" style="color: #898989;">
|
||||
<!-- <view v-if="item.show" class="fon20 line-h36 pad-zy20 pad-s20" style="color: #898989;">
|
||||
<view class="">时间:2022.07.11 00:00:00 - 2022.07.30 23:59:59</view>
|
||||
<view class="">来源:秒杀抢卷所得</view>
|
||||
<view class="">渠道:全部渠道可</view>
|
||||
<view class="disac">编号:全部渠道可
|
||||
<image class="mar-z10" src="/static/tabbar/icon-bh.png" mode="" style="width: 22rpx;height: 22rpx;" lazy-load></image>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="pad-zy20">
|
||||
<view class="pad-zy20" v-if="noMore">
|
||||
<pitera textStr="上滑加载更多/到底了~~" textColor="#b0aaa9" paddingStr="40rpx 0 20rpx 0"></pitera>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -71,13 +71,30 @@
|
|||
{price:10,title:'【满减卷】满100元减10元抵扣卷',time:'2022.07.11-2022.07.30',show:false},
|
||||
{price:10,title:'【满减卷】满100元减10元抵扣卷',time:'2022.07.11-2022.07.30',show:false},
|
||||
{price:10,title:'【满减卷】满100元减10元抵扣卷',time:'2022.07.11-2022.07.30',show:false},
|
||||
]
|
||||
],
|
||||
status:'normal',
|
||||
page:1,
|
||||
size:20,
|
||||
total:0,
|
||||
noMore:false
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.total!=this.dataList.length){
|
||||
this.page++;
|
||||
this.getCouponList();
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getCouponList();
|
||||
},
|
||||
methods: {
|
||||
// tab点击事件
|
||||
clickTab(index){
|
||||
this.current = index;
|
||||
this.status = ['normal','used','invalid'][this.current];
|
||||
this.page = 1;
|
||||
this.getCouponList();
|
||||
},
|
||||
// 去商品详情
|
||||
goDetail(id){
|
||||
|
@ -93,6 +110,24 @@
|
|||
this.dataList.forEach(item=>item.show=false);
|
||||
this.dataList[index].show = true;
|
||||
}
|
||||
},
|
||||
// 获取优惠券列表
|
||||
getCouponList(){
|
||||
let params = {
|
||||
status:this.status,
|
||||
page:this.page,
|
||||
size:this.size
|
||||
}
|
||||
this.$requst.get('/api/user/coupon-list',params).then(res=>{
|
||||
if(res.code==0){
|
||||
// this.total = res.data.total;
|
||||
// if(this.page==1){this.dataList=[];}
|
||||
// this.dataList = [...this.dataList,...res.data.list];
|
||||
// if(this.total==this.dataList.length && this.page!=1){
|
||||
// this.noMore = true;
|
||||
// }
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,22 +2,22 @@
|
|||
<view>
|
||||
<status-container titlet="我的课程" returnc="#FFFFFF">
|
||||
<view slot="content" style="margin-top: -20rpx;">
|
||||
<view class="pad-zy30 bacf pad-x30">
|
||||
<view class="pad-zy30 bacf pad-x30" v-if="total">
|
||||
<view class="pad-sx30 disac fon24 bbot" v-for="(item,index) in dataList" :key="index">
|
||||
<image class="flexs" :src="item.imgsrc" mode="aspectFill" style="width: 228rpx;height: 160rpx;"></image>
|
||||
<image class="flexs" :src="item.cover" mode="aspectFill" style="width: 228rpx;height: 160rpx;"></image>
|
||||
<view class="disjbac fc width100 mar-z20" style="height: 160rpx;">
|
||||
<view class="fon26 col26 width100">
|
||||
<view class="clips2">{{item.title}}</view>
|
||||
<view class="fon20 mar-s10" style="color: #7f7f7f;">{{item.time}}</view>
|
||||
<view class="clips2">{{item.name}}</view>
|
||||
<view class="fon20 mar-s10" style="color: #7f7f7f;">{{item.created_at}}</view>
|
||||
</view>
|
||||
<view class="disjbac width100">
|
||||
<view class="fon24">¥{{item.price}}</view>
|
||||
<view class="disjcac fon22 radius26" style="width: 144rpx;height: 52rpx;color: #f37717;border: 2rpx solid #f37717;">点击学习</view>
|
||||
<view @tap="$toolAll.tools.goPage(`/pagesB/course-detail/course-detail?id=${item.id}`)" class="disjcac fon22 radius26" style="width: 144rpx;height: 52rpx;color: #f37717;border: 2rpx solid #f37717;">点击学习</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pad-zy20">
|
||||
<view class="pad-zy20" v-if="noMore">
|
||||
<pitera textStr="上滑加载更多/到底了~~" textColor="#b0aaa9" paddingStr="40rpx 0 20rpx 0"></pitera>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -40,26 +40,33 @@
|
|||
{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',title:'思通造化随通而行为术基础动作教学思通造化随通而行为术基础动作教学',time:'2022.07.20 12:12:12',price:'199.00'},
|
||||
{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',title:'思通造化随通而行为术基础动作教学思通造化随通而行为术基础动作教学',time:'2022.07.20 12:12:12',price:'199.00'},
|
||||
{imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',title:'思通造化随通而行为术基础动作教学思通造化随通而行为术基础动作教学',time:'2022.07.20 12:12:12',price:'199.00'},
|
||||
]
|
||||
],
|
||||
page:1,
|
||||
size:20,
|
||||
total:0,
|
||||
noMore:false,
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
onLoad() {
|
||||
// 获取课程列表
|
||||
this.getCouresList();
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.total!=this.dataList.lenght){
|
||||
this.page++;
|
||||
this.getCouresList();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 获取课程列表
|
||||
getCouresList(){
|
||||
uni.showLoading({
|
||||
title:'加载中'
|
||||
});
|
||||
this.$requst.get('/api/spu/course').then(res=>{
|
||||
console.log(res,'课程列表')
|
||||
if(res.code==0) {
|
||||
this.userInfo = res.data;
|
||||
this.$requst.get('/api/user/course').then(res=>{
|
||||
this.total = res.data.total;
|
||||
if(this.page==1){this.dataList=[];}
|
||||
this.dataList = [...this.dataList,...res.data.list];
|
||||
if(this.total==this.dataList.length && this.page!=1){
|
||||
this.noMore = true;
|
||||
}
|
||||
uni.hideLoading();
|
||||
this.isLoading = true;
|
||||
})
|
||||
},
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<template>
|
||||
<view>
|
||||
<status-container titlet="我的推广" returnc="#FFFFFF">
|
||||
<view slot="content" style="margin-top: -20rpx;">
|
||||
<view slot="content" style="margin-top: -20rpx;" v-if="loading">
|
||||
<view class="bacf pad-zy20 boxshow2">
|
||||
<view class="disjcac pad-sx30 bbot">
|
||||
<image src="https://s6.jpg.cm/2022/02/14/L4oDhy.jpg" mode="aspectFill" style="width: 242rpx;height: 242rpx;" lazy-load></image>
|
||||
<image :src="personCode" mode="aspectFill" style="width: 242rpx;height: 242rpx;" lazy-load></image>
|
||||
</view>
|
||||
<view class="disjbac pad-sx20 pad-zy10">
|
||||
<view class="fon22 col26">推广获取积分</view>
|
||||
|
@ -12,7 +12,7 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="mar-s30 pad-zy20 bacf boxshow2">
|
||||
<view class=" col26 pad-sx20 pad-zy10 disac borbot" v-for="(item,index) in 20" :key="index" @tap="$toolAll.tools.goPage(`/pagesB/second-level/second-level?id=${0}`)">
|
||||
<view @tap="$toolAll.tools.goPage(`/pagesB/second-level/second-level?id=${0}`)" class=" col26 pad-sx20 pad-zy10 disac borbot" v-for="(item,index) in 20" :key="index">
|
||||
<image src="https://s6.jpg.cm/2022/02/14/L4oDhy.jpg" class="flexs radius_100 mar-y20" style="width: 78rpx;height: 78rpx;" mode="aspectFill" lazy-load></image>
|
||||
<view class="width100">
|
||||
<view class="disjbac">
|
||||
|
@ -26,7 +26,9 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<pitera textStr="上滑加载更多/到底了~~" textColor="#b0aaa9" paddingStr="40rpx 0 20rpx 0"></pitera>
|
||||
<view class="" v-if="noMore">
|
||||
<pitera textStr="上滑加载更多/到底了~~" textColor="#b0aaa9" paddingStr="40rpx 0 20rpx 0"></pitera>
|
||||
</view>
|
||||
</view>
|
||||
</status-container>
|
||||
</view>
|
||||
|
@ -34,17 +36,70 @@
|
|||
|
||||
<script>
|
||||
import pitera from '@/components/nothing/pitera.vue';
|
||||
import {base64ToPath} from '@/jsFile/base64-src.js';
|
||||
export default {
|
||||
components:{
|
||||
pitera
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
dataList:[],
|
||||
page:1,
|
||||
size:20,
|
||||
total:0,
|
||||
noMore:false,
|
||||
personCode:'',
|
||||
loading:false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getCode();
|
||||
this.getExtend();
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.total!=this.dataList.lenght){
|
||||
this.page++;
|
||||
this.getExtend();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
// 获取一级推广人
|
||||
getExtend(){
|
||||
let params = {
|
||||
grade:'first',
|
||||
page:this.page,
|
||||
size:this.size
|
||||
}
|
||||
this.$requst.get('/api/user/share-users',params).then(res=>{
|
||||
if(res.code==0){
|
||||
this.total = res.data.total;
|
||||
if(this.page==1){this.dataList=[];}
|
||||
this.dataList = [...this.dataList,...res.data.list];
|
||||
if(this.total==this.dataList.length && this.page!=1){
|
||||
this.noMore = true;
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取推广码
|
||||
getCode(){
|
||||
if(uni.getStorageSync('personCode')){
|
||||
this.loading = true;
|
||||
this.personCode = uni.getStorageSync('personCode');
|
||||
} else {
|
||||
this.$toolAll.tools.showToast('加载中...');
|
||||
this.$requst.get('/api/user/personal-qr').then(res=>{
|
||||
if(res.code==0){
|
||||
base64ToPath(res.data.qr).then(result=>{
|
||||
this.personCode = result;
|
||||
uni.setStorageSync('personCode',this.personCode);
|
||||
this.loading = true;
|
||||
uni.hideToast();
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
</view>
|
||||
<swiper-tab id="tab" :ifBetween="false" :ifPadding="true" :list="tabList" v-model="current" @changeEv="clickTab" :itemColor="'#e42417'" :lineColor="'#e42417'"></swiper-tab>
|
||||
</view>
|
||||
<view class="mar-s30 bacf pad-zy40 pad-sx20 boxshow2">
|
||||
<view class="mar-s30 bacf pad-zy40 pad-sx20 boxshow2" v-if="total">
|
||||
<view class="pad-sx20 col26 bbot" v-for="(item,index) in dataList" :key="index">
|
||||
<view class="fon26 disjbac">
|
||||
<view class="">{{item.title}}</view>
|
||||
|
@ -21,7 +21,7 @@
|
|||
<view class="fon20" style="color: #8b8b8b;">{{item.time}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pad-zy20">
|
||||
<view class="pad-zy20" v-if="noMore">
|
||||
<pitera textStr="上滑加载更多/到底了~~" textColor="#b0aaa9" paddingStr="40rpx 0 20rpx 0"></pitera>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -55,13 +55,48 @@
|
|||
{price:10,title:'签到',time:'2022.07.11-2022.07.30'},
|
||||
{price:10,title:'分享',time:'2022.07.11-2022.07.30'},
|
||||
{price:10,title:'推荐消费',time:'2022.07.11-2022.07.30'},
|
||||
]
|
||||
],
|
||||
page:1,
|
||||
size:20,
|
||||
type:'',
|
||||
total:0,
|
||||
noMore:false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getIntegral();
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.total!=this.dataList.length){
|
||||
this.page++;
|
||||
this.getIntegral();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// tab点击事件
|
||||
clickTab(index){
|
||||
this.current = index;
|
||||
this.type = ['','in','out'][this.current];
|
||||
this.page = 1;
|
||||
this.getIntegral();
|
||||
},
|
||||
// 获取积分列表
|
||||
getIntegral(){
|
||||
let params = {
|
||||
type:this.type,
|
||||
page:this.page,
|
||||
size:this.size
|
||||
}
|
||||
this.$requst.get('/api/user/score-log',params).then(res=>{
|
||||
if(res.code==0){
|
||||
this.total = res.data.total;
|
||||
if(this.page==1){this.dataList=[];}
|
||||
this.dataList = [...this.dataList,...res.data.list];
|
||||
if(this.total==this.dataList.length && this.page!=1){
|
||||
this.noMore = true;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,21 +6,23 @@
|
|||
<swiper-tab id="tab" :list="dataList" v-model="current" @changeEv="clickTab" :itemColor="'#e42417'" :lineColor="'#e42417'"></swiper-tab>
|
||||
</view>
|
||||
<view class="bacf mar-s20 pad-x20">
|
||||
<view @tap="$toolAll.tools.goPage(`/pagesB/order-detail/order-detail?id=${0}`)" class="bbot disac pad30 col26" v-for="(item,index) in 3" :key="index">
|
||||
<image class="flexs mar-y20" src="https://s6.jpg.cm/2022/02/14/L4oDhy.jpg" style="width: 192rpx;height: 134rpx;" mode="aspectFill" lazy-load></image>
|
||||
<view @tap="$toolAll.tools.goPage(`/pagesB/order-detail/order-detail?id=${0}`)" class="bbot disac pad30 col26" v-for="(item,index) in orderList" :key="index">
|
||||
<image class="flexs mar-y20" :src="item.skus[0].spu_cover" style="width: 192rpx;height: 134rpx;" mode="aspectFill" lazy-load></image>
|
||||
<view class="fon24 width100 disjbac fc" style="height: 134rpx;">
|
||||
<view class="dis width100">
|
||||
<view class="clips2">武术用品商品名称后用品商品名称后 台上传基础动作教学</view>
|
||||
<view class="mar-z50">x3</view>
|
||||
<view class="clips2 width100">{{item.skus[0].spu_name}}</view>
|
||||
<view class="mar-z50">x{{item.skus[0].num}}</view>
|
||||
</view>
|
||||
<view class="disjbac width100">
|
||||
<view class="">实付:¥199.00</view>
|
||||
<view @tap.stop="clickBtn(index)" class="fon22 radius26 disjcac" :style="{backgroundColor:['#FFFFF','#f37717','#FFFFF'][index],color:['#f37717','#FFFFFF','#969696'][index],borderColor:['#f37717','#f37717','#c9c9c9'][index]}" style="border: 2rpx solid #f37717;color: #f37717;width: 134rpx;height: 50rpx;">{{['确认收货','去付款','查看物流'][index]}}</view>
|
||||
<view class="">实付:¥{{item.skus[0].price}}</view>
|
||||
<view v-if="item.status=='paid'" @tap.stop="clickBtn(index)" class="fon22 radius26 disjcac" style="background-color:#f37717;border: 2rpx solid #f37717;color: #FFFFFF;width: 134rpx;height: 50rpx;">去付款</view>
|
||||
<!-- <view @tap.stop="clickBtn(index)" class="fon22 radius26 disjcac" :style="{backgroundColor:['#FFFFF','#f37717','#FFFFF'][index],color:['#f37717','#FFFFFF','#969696'][index],borderColor:['#f37717','#f37717','#c9c9c9'][index]}" style="border: 2rpx solid #f37717;color: #f37717;width: 134rpx;height: 50rpx;">{{['确认收货','去付款','查看物流'][index]}}</view>
|
||||
<view @tap.stop="clickBtn(index)" class="fon22 radius26 disjcac" :style="{backgroundColor:['#FFFFF','#f37717','#FFFFF'][index],color:['#f37717','#FFFFFF','#969696'][index],borderColor:['#f37717','#f37717','#c9c9c9'][index]}" style="border: 2rpx solid #f37717;color: #f37717;width: 134rpx;height: 50rpx;">{{['确认收货','去付款','查看物流'][index]}}</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pad-zy20">
|
||||
<view class="pad-zy20" v-if="noMore">
|
||||
<pitera textStr="上滑加载更多/到底了~~" textColor="#b0aaa9" paddingStr="40rpx 0 20rpx 0"></pitera>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -50,11 +52,22 @@
|
|||
tipsTitle:'提示信息',
|
||||
dynamicText:{
|
||||
content:''
|
||||
}
|
||||
},
|
||||
page:1,
|
||||
size:20,
|
||||
total:0,
|
||||
noMore:false,
|
||||
orderList:[]
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
this.getOrderList();
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.total!=this.orderList.length){
|
||||
this.page++;
|
||||
this.getOrderList();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// tab点击事件
|
||||
|
@ -67,6 +80,23 @@
|
|||
this.showType = [2,3,1][index];
|
||||
this.$refs.refFrame.ifLogistics = true;
|
||||
this.$refs.refFrame.ifAnimated = true;
|
||||
},
|
||||
// 获取我的订单列表
|
||||
getOrderList(){
|
||||
let params = {
|
||||
page:this.page,
|
||||
size:this.size
|
||||
}
|
||||
if(this.page==1) this.orderList = [];
|
||||
this.$requst.get('/api/user/order',params).then(res=>{
|
||||
if(res.code==0){
|
||||
this.total = res.data.total;
|
||||
this.orderList = [...this.orderList,...res.data.list];
|
||||
if(this.total==this.orderList.length && this.page!=1){
|
||||
this.noMore = true;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,28 +4,30 @@
|
|||
<image src="/static/tabbar/my-back.png" mode="" class="width100 posia" style="top: 0;z-index: -1;" lazy-load :style="{height:newHeight+'px'}"></image>
|
||||
<view class="disac colf fon42" style="height: 42px;padding: 0 30rpx;"><view class="icon icon-return fon38 colf" @tap="goBack"></view><span @tap="goBack">每日签到</span></view>
|
||||
</view>
|
||||
<view class="disjcac mar-x20">
|
||||
<view class="posir disjcac" @tap="signEv">
|
||||
<image src="/static/public/icon-sign-box.png" mode="" style="width: 166rpx;height: 166rpx;" lazy-load></image>
|
||||
<view class="disjcac fc posia fon38 bold" style="color: #f37c20;">
|
||||
<image class="mar-x10" src="/static/public/icon-sign.png" mode="" style="width: 40rpx;height: 36rpx;" lazy-load></image>
|
||||
{{signText}}
|
||||
<view class="" v-if="loading">
|
||||
<view class="disjcac mar-x20">
|
||||
<view class="posir disjcac" @tap="signEv">
|
||||
<image src="/static/public/icon-sign-box.png" mode="" style="width: 166rpx;height: 166rpx;" lazy-load></image>
|
||||
<view class="disjcac fc posia fon38 bold" style="color: #f37c20;">
|
||||
<image class="mar-x10" src="/static/public/icon-sign.png" mode="" style="width: 40rpx;height: 36rpx;" lazy-load></image>
|
||||
{{signText}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pad-zy30">
|
||||
<view class="disjbac" style="background: linear-gradient(to bottom, #fefcfc 0%, #f8efed 100%);border-radius: 24rpx 24rpx 0 0;">
|
||||
<view class="disjcac fc fon24 pad-sx30 width100" :class="sameDay==index?'activeDay':''" v-for="(item,index) in signList" :key="index">
|
||||
<view class="">{{item.score}}</view>
|
||||
<view class="mar-s10">{{item.day}}</view>
|
||||
<view class="pad-zy30">
|
||||
<view class="disjbac" style="background: linear-gradient(to bottom, #fefcfc 0%, #f8efed 100%);border-radius: 24rpx 24rpx 0 0;">
|
||||
<view class="disjcac fc fon24 pad-sx30 width100" :class="item.is_today==1?'activeDay':''" v-for="(item,index) in signList" :key="index">
|
||||
<view class="">{{item.score}}</view>
|
||||
<view class="mar-s10">{{item.key}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pad-zy20">
|
||||
<view class="posir bacf disac fw pad-zy10 boxshow2 pad-x30" style="z-index: 1;">
|
||||
<view class="disjbac bbot width100 pad-sx20 pad-zy30" v-for="(item,index) in dataList" :key="index">
|
||||
<view class="fon24 col-e42417">{{item.price}}</view>
|
||||
<view class="fon20" style="color: #676767;">{{item.time}}</view>
|
||||
<view class="pad-zy20">
|
||||
<view class="posir bacf disac fw pad-zy10 boxshow2 pad-x30" style="z-index: 1;">
|
||||
<view class="disjbac bbot width100 pad-sx20 pad-zy30" v-for="(item,index) in dataList" :key="index">
|
||||
<view class="fon24 col-e42417">{{item.num}}</view>
|
||||
<view class="fon20" style="color: #676767;" v-if="item.created_at">{{item.created_at.slice(0,10).split('-').join('.')}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -65,23 +67,55 @@
|
|||
],
|
||||
sameDay:1,
|
||||
signText:'签到',
|
||||
showType:4
|
||||
showType:4,
|
||||
page:1,
|
||||
size:20,
|
||||
loading:false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
this.getSignInfo();
|
||||
},
|
||||
methods: {
|
||||
// 获取签到信息
|
||||
getSignInfo(){
|
||||
this.$requst.get('/api/sign/info').then(res=>{
|
||||
if(res.code==0){
|
||||
this.signList = res.data.week;
|
||||
this.signText = ['签到','已签到'][res.data.today_sign];
|
||||
this.loading = true;
|
||||
this.getSignList();
|
||||
}
|
||||
})
|
||||
},
|
||||
// 返回
|
||||
goBack(){
|
||||
uni.navigateBack({
|
||||
delta:1
|
||||
})
|
||||
},
|
||||
// 执行签到
|
||||
signEv(){
|
||||
this.signText = "已签到";
|
||||
this.$refs.refFrame.ifLogistics = true;
|
||||
this.$refs.refFrame.ifAnimated = true;
|
||||
this.$requst.post('/api/sign/sign').then(res=>{
|
||||
if(res.code==0){
|
||||
this.signText = "已签到";
|
||||
this.$refs.refFrame.ifLogistics = true;
|
||||
this.$refs.refFrame.ifAnimated = true;
|
||||
this.getSignList();
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取签到记录
|
||||
getSignList(){
|
||||
let params = {
|
||||
page:this.page,
|
||||
size:this.size
|
||||
}
|
||||
this.$requst.get('/api/user/sign-score',params).then(res=>{
|
||||
if(res.code==0){
|
||||
this.dataList = res.data.list;
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,24 +3,24 @@
|
|||
<status-container titlet="课程购买" returnc="#FFFFFF">
|
||||
<view slot="content" style="margin-top: -20rpx;">
|
||||
<view class="bacf pad30 fon24 boxshowb">
|
||||
<view class="disac bbot pad-x30">
|
||||
<image src="https://s6.jpg.cm/2022/02/14/L4oDhy.jpg" mode="aspectFill" class="flexs mar-y20" style="width: 228rpx;height: 160rpx;" lazy-load></image>
|
||||
<view class="disac bbot pad-x30" v-for="(item,index) in courseInfo.list" :key="index">
|
||||
<image :src="item.spu_cover" mode="aspectFill" class="flexs mar-y20" style="width: 228rpx;height: 160rpx;" lazy-load></image>
|
||||
<view class="disjb fc pad-s10 pad-x20" style="height: 160rpx;">
|
||||
<view class="fon26 col26 clips2">武,止戈为武;术,思通造化、随通而 行为术基础动作教学</view>
|
||||
<view class="fon26 col26 clips2">{{item.spu_name}}</view>
|
||||
<view class="col-e42417 dis ae">
|
||||
<view class="bold">¥199.00</view>
|
||||
<view class="tline-through fon20 col-969696 mar-z10">¥220.00</view>
|
||||
<view class="bold">¥{{item.price}}</view>
|
||||
<view class="tline-through fon20 col-969696 mar-z10">¥{{item.original_price}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bbot pad-sx30">
|
||||
<view class="disjbac">
|
||||
<view class="">商品金额</view>
|
||||
<view class="">¥199.00</view>
|
||||
<view class="">¥{{$toolAll.tools.addXiaoShu(courseInfo.original_total*1)}}</view>
|
||||
</view>
|
||||
<view class="disjbac mar-s30">
|
||||
<view class="">优惠券抵扣</view>
|
||||
<view class="disjbac col-e42417">-¥10.00 <i class="icon icon-next fon20" style="color: #7f7f7f;"></i></view>
|
||||
<view class="disjbac col-e42417">-¥{{couponInfo.coupon_price}} <i class="icon icon-next fon20" style="color: #7f7f7f;"></i></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -30,8 +30,8 @@
|
|||
</view>
|
||||
<!-- 立即购买 -->
|
||||
<view class="posixzy bacf pad-sx20 disjbac pad-zy30 boxshowt">
|
||||
<view class="fon30 col-e42417 bold">¥189.00</view>
|
||||
<view class="fon24 colf radius32 disjcac" style="background-color: #f37617;width: 184rpx;height: 64rpx;">去支付</view>
|
||||
<view class="fon30 col-e42417 bold">¥{{realityPrice}}</view>
|
||||
<view @tap="goPay" class="fon24 colf radius32 disjcac" style="background-color: #f37617;width: 184rpx;height: 64rpx;">去支付</view>
|
||||
</view>
|
||||
</view>
|
||||
</status-container>
|
||||
|
@ -45,14 +45,73 @@
|
|||
components:{'foot-tab' :footTab},
|
||||
data() {
|
||||
return {
|
||||
|
||||
courseInfo:'',
|
||||
couponInfo:{
|
||||
coupon_id:'',//优惠券ID
|
||||
coupon_price:0//优惠券抵扣金额
|
||||
},
|
||||
flag:true
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
this.courseInfo = uni.getStorageSync('courseInfo');
|
||||
// uni.getStorageSync('skuList');
|
||||
},
|
||||
computed:{
|
||||
realityPrice(){
|
||||
let newPrice = 0;
|
||||
if(this.courseInfo){
|
||||
this.courseInfo.list.forEach(item=>{
|
||||
let tempprice = this.$toolAll.tools.operationEv(item.price,item.num,'*',2)
|
||||
newPrice = this.$toolAll.tools.operationEv(tempprice,newPrice,'+',2);
|
||||
})
|
||||
}
|
||||
// 商品金额减优惠券抵扣
|
||||
newPrice = this.$toolAll.tools.operationEv(newPrice,this.couponInfo.coupon_price,'-',2);
|
||||
return newPrice;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
// 去支付
|
||||
goPay(){
|
||||
if(this.flag){
|
||||
this.flag = false;
|
||||
this.$toolAll.tools.showToast('正在调起支付...');
|
||||
let params = {
|
||||
sku_list:uni.getStorageSync('skuList'),
|
||||
total:this.realityPrice,//实际付款金额 即:使用优惠券、积分抵扣等所有优惠后的金额(需加上运费)
|
||||
...this.couponInfo,
|
||||
type:'course',//订单类型 spu=商品 course=课程
|
||||
}
|
||||
this.$requst.post('/api/order/create',params).then(res=>{
|
||||
if(res.code==0){
|
||||
let info = res.data;
|
||||
uni.requestPayment({
|
||||
provider: 'wxpay',
|
||||
appId:info.payment_params.appId,//appId
|
||||
timeStamp: info.payment_params.timeStamp,//时间戳
|
||||
nonceStr: info.payment_params.nonceStr,//随机字符串
|
||||
package: info.payment_params.package,//package
|
||||
signType: info.payment_params.signType,//MD5
|
||||
paySign: info.payment_params.sign,//签名
|
||||
success:(result)=> {
|
||||
this.$requst.post('/api/order/paid',{order_coding:info.coding}).then(res=>{
|
||||
if(res.code==0){
|
||||
this.$toolAll.tools.showToast('支付成功(*^▽^*)');
|
||||
} else this.$toolAll.tools.showToast(res.msg);
|
||||
})
|
||||
},
|
||||
fail:()=> {
|
||||
this.$toolAll.tools.showToast('支付已取消o(╥﹏╥)o');
|
||||
},
|
||||
complete:()=> {
|
||||
this.flag = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -49,8 +49,7 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="pad-zy20">
|
||||
<list @goDetail="goDetail"></list>
|
||||
<list @goDetail="goDetail"></list>
|
||||
<list ref="refproduct" @goDetail="goDetail"></list>
|
||||
</view>
|
||||
<!-- 底部导航 -->
|
||||
<view class="disjbac bacf pad20 posixzy fon24 boxshowt">
|
||||
|
@ -103,6 +102,8 @@
|
|||
this.getCartList();
|
||||
// 检测是否全选
|
||||
this.judgeSelectAllEv();
|
||||
uni.removeStorageSync('orderInfo');
|
||||
uni.removeStorageSync('skuList');
|
||||
},
|
||||
onHide() {
|
||||
// 关闭banner图自动轮播
|
||||
|
@ -134,6 +135,20 @@
|
|||
|
||||
},
|
||||
methods: {
|
||||
// 热门商品
|
||||
getShopList(){
|
||||
let params = {
|
||||
page:1,
|
||||
size:1000,
|
||||
is_hot:1
|
||||
}
|
||||
this.$requst.post('/api/spu/list',params).then(res=>{
|
||||
if(res.code==0){
|
||||
// 设置商品列表
|
||||
this.$refs.refproduct.list = res.data.list;
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取购物车列表
|
||||
getCartList(){
|
||||
let params = {
|
||||
|
@ -155,6 +170,7 @@
|
|||
})
|
||||
}
|
||||
this.loading = true;
|
||||
this.getShopList();
|
||||
}
|
||||
})
|
||||
},
|
||||
|
@ -182,11 +198,13 @@
|
|||
if(exit!=-1){
|
||||
let newList = [];
|
||||
this.datalist.forEach(item=>{
|
||||
let obj = {
|
||||
sku_coding:item.sku.coding,
|
||||
num:item.num,
|
||||
if(item.ifcheck){
|
||||
let obj = {
|
||||
sku_coding:item.sku.coding,
|
||||
num:item.num,
|
||||
}
|
||||
newList.push(obj);
|
||||
}
|
||||
newList.push(obj);
|
||||
})
|
||||
let params = {
|
||||
sku_list:newList
|
||||
|
@ -197,6 +215,7 @@
|
|||
url:'/pagesB/confirm-order/confirm-order'
|
||||
})
|
||||
uni.setStorageSync('orderInfo',res.data);
|
||||
uni.setStorageSync('skuList',params.sku_list);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
|
@ -234,7 +253,7 @@
|
|||
// 去商品详情事件
|
||||
goDetail(id){
|
||||
uni.navigateTo({
|
||||
url:'/pagesB/shop-detail/shop-detail'
|
||||
url:`/pagesB/shop-detail/shop-detail?id=${id}`
|
||||
})
|
||||
},
|
||||
// 数量加减事件
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<view class="mar-x10">{{item.sku_name}}</view>
|
||||
<view class=" disjbac">
|
||||
<view class="">¥{{item.price}}</view>
|
||||
<view style="letter-spacing: 6rpx;">X{{item.num}}</view>
|
||||
<view>X <span class="mar-z6">{{item.num}}</span></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -28,24 +28,24 @@
|
|||
<view class="bbot pad-sx30">
|
||||
<view class="disjbac">
|
||||
<view class="">商品金额</view>
|
||||
<view class="">¥{{orderInfo.original_total}}</view>
|
||||
<view class="">¥{{$toolAll.tools.addXiaoShu(orderInfo.original_total*1)}}</view>
|
||||
</view>
|
||||
<view class="disjbac mar-s30">
|
||||
<view class="">优惠券抵扣</view>
|
||||
<view class="disjbac col-e42417">-¥10.00 <view class="icon icon-next fon28 mar-z10" style="color: #777777;"></view></view>
|
||||
<view class="disjbac col-e42417">-¥{{couponInfo.coupon_price}} <view class="icon icon-next fon28 mar-z10" style="color: #777777;"></view></view>
|
||||
</view>
|
||||
<view class="disjbac mar-s30">
|
||||
<view class="">积分抵扣</view>
|
||||
<view class="disjbac col-e42417">-¥10.00 <view class="icon icon-next fon28 mar-z10" style="color: #777777;"></view></view>
|
||||
<view class="disjbac col-e42417">-¥{{score}} <view class="icon icon-next fon28 mar-z10" style="color: #777777;"></view></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="disje pad-s30 pad-x10 pad-y30">
|
||||
合计:¥1168.00
|
||||
合计:¥{{realityPrice}}
|
||||
</view>
|
||||
</view>
|
||||
<!-- 立即购买 -->
|
||||
<view class="posixzy bacf pad-sx20 disjbac pad-zy30 boxshowt">
|
||||
<view class="fon24">合计:<span class="col-e42417 fon34 bold">¥189.00</span></view>
|
||||
<view class="fon24">合计:<span class="col-e42417 fon34 bold">¥{{realityPrice}}</span></view>
|
||||
<view @tap="goPay" class="fon24 colf radius32 disjcac" style="background-color: #f37617;width: 184rpx;height: 64rpx;">去支付</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -62,7 +62,12 @@
|
|||
return {
|
||||
addressInfo:'',
|
||||
orderInfo:'',
|
||||
flag:true
|
||||
flag:true,
|
||||
couponInfo:{
|
||||
coupon_id:'',//优惠券ID
|
||||
coupon_price:0//优惠券抵扣金额
|
||||
},
|
||||
score:0
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
|
@ -71,6 +76,22 @@
|
|||
onLoad() {
|
||||
this.getAddress();
|
||||
},
|
||||
computed:{
|
||||
realityPrice(){
|
||||
let newPrice = 0;
|
||||
if(this.orderInfo){
|
||||
this.orderInfo.list.forEach(item=>{
|
||||
let tempprice = this.$toolAll.tools.operationEv(item.price,item.num,'*',2)
|
||||
newPrice = this.$toolAll.tools.operationEv(tempprice,newPrice,'+',2);
|
||||
})
|
||||
}
|
||||
// 商品金额减优惠券抵扣
|
||||
newPrice = this.$toolAll.tools.operationEv(newPrice,this.couponInfo.coupon_price,'-',2);
|
||||
// 商品金额减积分抵扣
|
||||
newPrice = this.$toolAll.tools.operationEv(newPrice,this.score,'-',2);
|
||||
return newPrice;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 收货地址查询
|
||||
getAddress(){
|
||||
|
@ -94,6 +115,49 @@
|
|||
if(this.flag){
|
||||
this.flag = false;
|
||||
this.$toolAll.tools.showToast('正在调起支付...');
|
||||
let params = {
|
||||
sku_list:uni.getStorageSync('skuList'),
|
||||
total:this.realityPrice,//实际付款金额 即:使用优惠券、积分抵扣等所有优惠后的金额(需加上运费)
|
||||
express_code:'',
|
||||
freight:0,//运费
|
||||
...this.couponInfo,
|
||||
address_id:this.addressInfo.id,//地址ID
|
||||
type:'spu',//订单类型 spu=商品 course=课程
|
||||
score:0,//使用积分
|
||||
score_deduct_price:0//积分抵扣的金额
|
||||
}
|
||||
this.$requst.post('/api/order/create',params).then(res=>{
|
||||
if(res.code==0){
|
||||
let info = res.data;
|
||||
uni.requestPayment({
|
||||
provider: 'wxpay',
|
||||
appId:info.payment_params.appId,//appId
|
||||
timeStamp: info.payment_params.timeStamp,//时间戳
|
||||
nonceStr: info.payment_params.nonceStr,//随机字符串
|
||||
package: info.payment_params.package,//package
|
||||
signType: info.payment_params.signType,//MD5
|
||||
paySign: info.payment_params.sign,//签名
|
||||
success:(result)=> {
|
||||
this.$requst.post('/api/order/paid',{order_coding:info.coding}).then(res=>{
|
||||
if(res.code==0){
|
||||
this.$toolAll.tools.showToast('支付成功(*^▽^*)');
|
||||
setTimeout(()=>{
|
||||
uni.navigateTo({
|
||||
url:'/pagesA/my-order/my-order'
|
||||
})
|
||||
},1000)
|
||||
} else this.$toolAll.tools.showToast(res.msg);
|
||||
})
|
||||
},
|
||||
fail:()=> {
|
||||
this.$toolAll.tools.showToast('支付已取消o(╥﹏╥)o');
|
||||
},
|
||||
complete:()=> {
|
||||
this.flag = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<view class="disjcac pad-sx40">
|
||||
<view class="disjcac fon28 radius34"
|
||||
style="width: 290rpx;height: 68rpx;border: 2rpx solid #e42417;color: #e42417;"
|
||||
@tap="$toolAll.tools.goPage('/pagesB/buy-now/buy-now')">立即购买</view>
|
||||
@tap="goBuy">立即购买</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pad-zy20">
|
||||
|
@ -67,29 +67,53 @@
|
|||
classId:'', //分类id
|
||||
id:'', //课程id
|
||||
page:1, //页数
|
||||
size:6, //条数
|
||||
size:1000, //条数
|
||||
courseList:[]
|
||||
}
|
||||
},
|
||||
onLoad(op) {
|
||||
if(op.category_id){
|
||||
this.classId = op.category_id
|
||||
}
|
||||
if(op.id){
|
||||
this.id = op.id;
|
||||
this.classId = op.category_id
|
||||
// 获取课程详情
|
||||
this.getCouresDetail(op.id);
|
||||
}
|
||||
},
|
||||
onShareAppMessage(res) {
|
||||
var shareObj = {
|
||||
title: ``, // 默认是小程序的名称(可以写slogan等)
|
||||
path: `/pagesB/course-detail/course-detail?id=${this.id}&category_id=${this.classId}&is_activity=${this.detailObj.is_activity==0 ? 0 : 1}&invite_code=${uni.getStorageSync('invite_code')}`, // 默认是当前页面,必须是以‘/’开头的完整路径
|
||||
imageUrl: ``//自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
|
||||
};
|
||||
return shareObj;
|
||||
},
|
||||
onShow() {
|
||||
uni.removeStorageSync('courseInfo');
|
||||
uni.removeStorageSync('skuList');
|
||||
},
|
||||
methods: {
|
||||
// 获取课程详情
|
||||
getCouresDetail(id){
|
||||
uni.showLoading({
|
||||
title:'加载中'
|
||||
});
|
||||
this.$requst.get('/api/spu/detail',{id:id}).then(res=>{
|
||||
this.$requst.get('/api/spu/detail',{id}).then(res=>{
|
||||
console.log(res,'课程详情')
|
||||
if(res.code==0) {
|
||||
this.couresDetail = res.data.detail;
|
||||
// 课程规格
|
||||
this.$requst.get('/api/spu/spec',{id}).then(resspec=>{
|
||||
if(resspec.code==0){
|
||||
this.courseList.push({
|
||||
sku_list:[
|
||||
{
|
||||
sku_coding:resspec.data.sku.coding,
|
||||
num:1,
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
})
|
||||
// 获取课程推荐
|
||||
this.getCouresRecommend();
|
||||
}
|
||||
|
@ -97,7 +121,21 @@
|
|||
this.isLoading = true;
|
||||
})
|
||||
},
|
||||
|
||||
// 立即购买
|
||||
goBuy(){
|
||||
let params = {
|
||||
sku_list:this.courseList[0].sku_list
|
||||
};
|
||||
this.$requst.post('/api/order/prepare-info',params).then(res=>{
|
||||
if(res.code==0){
|
||||
uni.setStorageSync('courseInfo',res.data);
|
||||
uni.setStorageSync('skuList',params.sku_list);
|
||||
uni.navigateTo({
|
||||
url:'/pagesB/buy-now/buy-now'
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取课程推荐
|
||||
getCouresRecommend(){
|
||||
let params = {
|
||||
|
|
|
@ -40,7 +40,8 @@
|
|||
|
||||
},
|
||||
onLoad(op) {
|
||||
this.currentIndex = op.current;
|
||||
// this.currentIndex = op.current;
|
||||
this.currentIndex = 0;
|
||||
uni.getStorageSync('videoList').forEach(item=>{
|
||||
let obj = {
|
||||
...item,
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<view slot="content" style="margin-top: -20rpx;">
|
||||
<view class="bacf pad-zy20 boxshow2">
|
||||
<view class="disjcac pad-sx30 bbot">
|
||||
<image src="https://s6.jpg.cm/2022/02/14/L4oDhy.jpg" mode="aspectFill" style="width: 242rpx;height: 242rpx;" lazy-load></image>
|
||||
<image :src="personCode" mode="aspectFill" style="width: 242rpx;height: 242rpx;" lazy-load></image>
|
||||
</view>
|
||||
<view class="disjbac fon24 col26 pad-sx20 pad-zy10">
|
||||
<view class="">代理登记</view>
|
||||
|
@ -30,7 +30,9 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<pitera textStr="上滑加载更多/到底了~~" textColor="#b0aaa9" paddingStr="40rpx 0 20rpx 0"></pitera>
|
||||
<view class="" v-if="noMore">
|
||||
<pitera textStr="上滑加载更多/到底了~~" textColor="#b0aaa9" paddingStr="40rpx 0 20rpx 0"></pitera>
|
||||
</view>
|
||||
</view>
|
||||
</status-container>
|
||||
</view>
|
||||
|
@ -44,11 +46,44 @@
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
dataList:[],
|
||||
page:1,
|
||||
size:20,
|
||||
total:0,
|
||||
noMore:false,
|
||||
personCode:'',
|
||||
loading:false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.personCode = uni.getStorageSync('personCode');
|
||||
this.getExtend();
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.total!=this.dataList.lenght){
|
||||
this.page++;
|
||||
this.getExtend();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
// 获取二级推广人
|
||||
getExtend(){
|
||||
let params = {
|
||||
grade:'second',
|
||||
page:this.page,
|
||||
size:this.size
|
||||
}
|
||||
this.$requst.get('/api/user/share-users',params).then(res=>{
|
||||
if(res.code==0){
|
||||
this.total = res.data.total;
|
||||
if(this.page==1){this.dataList=[];}
|
||||
this.dataList = [...this.dataList,...res.data.list];
|
||||
if(this.total==this.dataList.length && this.page!=1){
|
||||
this.noMore = true;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -80,6 +80,8 @@
|
|||
// 开启banner图自动轮播
|
||||
this.$store.commit('setAutoplay',true);
|
||||
uni.removeStorageSync('addressInfo');
|
||||
uni.removeStorageSync('orderInfo');
|
||||
uni.removeStorageSync('skuList');
|
||||
},
|
||||
onHide() {
|
||||
// 关闭banner图自动轮播
|
||||
|
@ -178,6 +180,7 @@
|
|||
url:'/pagesB/confirm-order/confirm-order'
|
||||
})
|
||||
uni.setStorageSync('orderInfo',res.data);
|
||||
uni.setStorageSync('skuList',params.sku_list);
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue