Commit 9530cf30 authored by zhaofei's avatar zhaofei

Merge branch 'c_client' of gitlab2.dui88.com:qinhaitao/taobao-mini-template into c_client

parents c8cec2df b567d582
No preview for this file type
......@@ -9,6 +9,7 @@
"pages/endPage/endPage"
],
"window": {
"defaultTitle": "C端模板"
"defaultTitle": "C端模板",
"enableSkia":"true"
}
}
<view class="goods-modal-container" style="{{{'background':`url(${task.image.bg}) no-repeat`}}}">
<view class="goods-modal-container" style="{{{'background':`url(${task.image.bg}) no-repeat`,'backgroundSize': '750rpx 1624rpx'}}}">
<view a:if="{{task.type == '01'}}"
style="{{{'background':`url(${task.image.title}) no-repeat`,'backgroundSize': '100% 100%'}}}" class="goods-modal-container__title"></view>
style="{{{'background':`url(${task.image.title}) no-repeat`,'backgroundSize': '100% 100%'}}}"
class="goods-modal-container__title">
</view>
<view a:else class="goods-modal-container__banner" style="{{{'background':`url(${task.image.banner}) no-repeat`,'backgroundSize': '100% 100%','height':task.bannerHeight+'rpx'}}}"></view>
<view class="goods-modal-container__content" style="{{{'top':task.type == '02'?task.bannerHeight+'rpx':'209rpx'}}}">
<scroll-view scroll-y="{{true}}" class="goods-modal-container__scroll">
......
......@@ -53,14 +53,21 @@ Component({
* 收藏商品
*/
async goToCollectGoods(e) {
const { itemId, collected } = e.target.dataset.item
let { itemId, collected } = e.target.dataset.item
const { taskType } = this.props.task
if(collected) {
commonToast('您已收藏过该商品了')
return;
}
let result = await collectGoods(+itemId)
//判断是否活动外已收藏商品
let isCollected = await checkGoodsCollectedStatus(+itemId)
if(isCollected) {
this.props.onCompleteTask(taskType, itemId)
return;
}
let result = await collectGoods(+itemId)
if(result) {
this.props.onCompleteTask(taskType, itemId)
}
......
<view class="my-prize-page" style="{{{'background':`url(${task.image.bg}) no-repeat center top/cover`}}}">
<view class="my-prize-wrap">
<view class="my-prize-label"></view>
<view class="my-prize-label" style="{{{'background':`url(${task.image.title}) no-repeat`,'backgroundSize':'100% 100%'}}}"></view>
<view class="my-prize-list" a:if="{{myPrizeList && myPrizeList.length > 0}}">
<view class="my-prize-item" a:for="{{myPrizeList}}">
<image class="my-prize-avatar" src="{{item.image}}"/>
......
......@@ -42,6 +42,18 @@ Page({
console.log(10 - this.usePercent)
}
},
onHide() {
// 页面隐藏
if (this.timer) {
clearInterval(this.timer)
}
},
onUnload() {
// 页面被关闭
if (this.timer) {
clearInterval(this.timer)
}
},
init() {
this.setData({
task: {
......
......@@ -56,7 +56,7 @@ Page({
const { success, data } = await API.getCollectGoodsList({ activityId, itemIds }).catch(res => {
res && commonToast(res)
}) || {}
if(!success || success) {
if(success) {
this.setData({ goodsList: data || [] })
}
},
......
......@@ -4,11 +4,9 @@ import API from "/api";
const app = getApp();
const { tbcc } = app;
const { commonToast, navigateToOutside, getUserAddress, setClipboard } = tbcc.tb;
const { dateFormatter } = tbcc.utils;
const { dateFormatter, throttleHandle } = tbcc.utils;
const { PRIZE_TYPE_MAP, PRIZE_DRAW_STATUS_MAP } = tbcc.constants;
let flag = false;
Page({
data: {
PRIZE_TYPE_MAP,
......@@ -41,7 +39,6 @@ Page({
}
},
onShow() {
flag = false
this.getMyPrize();
},
// 到期时间
......@@ -85,7 +82,7 @@ Page({
},
//领取奖品
async handleClick(e) {
handleClick: throttleHandle(async function(e) {
const { item } = e.target.dataset;
// 领取权益
if (item.type === PRIZE_TYPE_MAP.EQUITY) return this.handleGetEquity(e)
......@@ -93,13 +90,9 @@ Page({
if (item.type === PRIZE_TYPE_MAP.ENTITY) return this.handleGetEntity(e)
// 领取积分
if (item.type === PRIZE_TYPE_MAP.INTEGRATION) return this.handleGetIntergation(e)
},
},1000),
// 优惠券
async handleGetEquity(e) {
if (flag) {
return
}
flag = true;
const { activityId } = app;
const { item } = e.target.dataset;
console.log(item, '领取权益')
......@@ -111,17 +104,10 @@ Page({
commonToast('领取成功')
this.getMyPrize()
}
setTimeout(() => {
flag = false
}, 500)
},
// 领取实物前询问
async handleGetEntity(e) {
if (flag) {
return
}
my.showLoading();
flag = true;
const { activityId } = app;
const { item } = e.target.dataset;
const userAddress = await getUserAddress().catch(err => {
......@@ -160,7 +146,6 @@ Page({
}
},
});
flag = false
},
// 领取实物
async receiveObjectPrize(params) {
......@@ -174,10 +159,6 @@ Page({
},
// 积分
async handleGetIntergation(e) {
if (flag) {
return
}
flag = true;
// 判断是否为会员
await this.getUserInfo()
const { isVip, vipLink } = app;
......@@ -186,7 +167,6 @@ Page({
setTimeout(() => {
navigateToOutside(vipLink)
}, 1000)
flag = false
return
}
const { activityId } = app;
......@@ -198,7 +178,6 @@ Page({
if (success && data) {
commonToast('领取成功')
}
flag = false
this.getMyPrize()
},
......
......@@ -93,3 +93,22 @@ export const generateAPI = (apiList, request) => {
api.fn = capiFn(apiList, request);
return api;
};
/**
* 防连点
* @param {fn} fn 函数
* @param {wait} wait 时间
*/
export const throttleHandle = (fn, wait = 500) => {
let lastTime = 0
return function cb(...args) {
let nowTime = Date.now()
if(nowTime - lastTime > wait) {
fn.call(this,...args)
lastTime = nowTime
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment