Authored by htoooth

fix

import api from '../../common/api';
export default {
/**
* 查询助力信息
*
* @param {*} uid
* @param {*} limitCode
* @returns
*/
getAssistInfo(uid, limitCode) {
return api.post({
url: '',
data: {
userId: uid,
limitProductCode: limitCode,
method: 'app.limitProduct.queryHelpInfo'
}
});
},
/**
* 增加助力
*
* @param {*} params
* @returns
*/
addAssist({userId, helpUserId, helpUserName, helpUserImgUrl, limitProductCode}) {
return api.post({
url: '',
data: {
method: 'app.limitProduct.addHelpUserInfo',
userId,
helpUserId,
helpUserName,
helpUserImgUrl,
limitProductCode
}
});
}
};
... ... @@ -22,4 +22,46 @@ export default {
data
});
},
};
/**
* 查询助力信息
*
* @param {*} uid
* @param {*} limitCode
* @returns
*/
getAssistInfo(uid, limitCode) {
return api.get({
url: '',
data: {
userId: uid,
limitProductCode: limitCode,
method: 'app.limitProduct.queryHelpInfo'
}
});
},
getQueueInfo(uid) {
},
/**
* 增加助力
*
* @param {*} params
* @returns
*/
addAssist({userId, helpUserId, helpUserName, helpUserImgUrl, limitProductCode}) {
return api.post({
url: '',
data: {
method: 'app.limitProduct.addHelpUserInfo',
userId,
helpUserId,
helpUserName,
helpUserImgUrl,
limitProductCode
}
});
}
};
\ No newline at end of file
... ...
... ... @@ -2,6 +2,25 @@ Component({
options: {
multipleSlots: true // 在组件定义时的选项中启用多slot支持
},
properties: { /* ... */ },
methods: { /* ... */ }
properties: {
list: {
type: Array,
value: [],
observer: '_propertyChange'
},
num: {
type: Number,
value: 5
}
},
data: {
count: 0,
},
methods: {
_propertyChange(newVal) {
this.setData({
count: newVal.length
});
}
}
});
... ...
<view class="bottom-assis-list">
<view class="assis-title">当前已成功助力好友数:0/5</view>
<view class="assis-title">当前已成功助力好友数:{{count}}/{{num}}</view>
<view class="avatar-list">
<view class="avatar-item"></view>
<view class="avatar-item"></view>
<view class="avatar-item"></view>
<view class="avatar-item"></view>
<view class="avatar-item"></view>
<view class="avatar-item" wx:for="{{list}}">
<image class="avatar-image" src="{{item.helpUserImgUrl}}"></image>
</view>
</view>
</view>
\ No newline at end of file
... ...
... ... @@ -26,9 +26,11 @@
}
.bottom-assis-list .avatar-item {
margin-left: 10rpx;
}
.avatar-image {
width: 40rpx;
height: 40rpx;
background-color: white;
border-radius: 20rpx;
margin-left: 10rpx;
}
\ No newline at end of file
}
... ...
... ... @@ -8,6 +8,57 @@ import {
let app = getApp();
let router = global.router;
const LIMIT_TYPE = {
UNKNOWN: 0,
ASSIS: 4,
QUEUE: 5
};
const SHOW_STATUS = {
UNKONWN: 0,
SHARE: 1,
NOT_BUY_NOW: 2,
END: 3,
BUY_NOW: 4,
CODE_EMPTY: 5,
COMING_SOON: 6,
USED: 7
};
const PRODUCT_SOURCE_TYPE = {
UNKONWN: 0,
ORIGIN: 1,
SHARE: 2
};
const ASSIS_STATUS = {
UNKONWN: 0,
UN_ASSIS: 1,
ASSIS_FULL: 2,
ASSIS_ACTION: 3,
};
const QUEUE_STATUS = {
UNKONWN: 0,
UN_QUEUE: 1,
QUEUE_PROCESSING: 2,
QUEUE_END: 3,
QUEUE_ACTION: 4,
WAIT_FOR_BUY: 5
};
const ASSIS_SUCCESS = {
unknown: 0,
ok: 1,
repeat: 2
};
const QUEUE_SUCCESS = {
unknown: 0,
ok: 1,
repeat: 2
}
let {
windowHeight
} = app.getSystemInfo();
... ... @@ -23,6 +74,19 @@ Page(Object.assign({
defaultImage: '',
productDesc: [],
snapData: {},
originUid: '',
avatarList: [],
uid: '',
limitProductType: LIMIT_TYPE.ASSIS,
showStatus: SHOW_STATUS.SHARE,
productSourceType: PRODUCT_SOURCE_TYPE.SHARE,
assisStatus: ASSIS_STATUS.UN_ASSIS,
queueStatus: QUEUE_STATUS.UN_QUEUE,
showAssisList: true,
assisLimit: 0,
assisSuccess: ASSIS_SUCCESS.unknown,
queueSuccess: QUEUE_SUCCESS.unknown,
actionSheet: {
componentId: 'shareActionSheet',
... ... @@ -43,11 +107,19 @@ Page(Object.assign({
},
onLoad: function(options) {
let limitProductCode = options.limitProductCode ? options.limitProductCode : '';
let originUid = options.originUid ? options.originUid : '';
// let uid = app.getUid();
let uid = '500027570';
this.setData({
limitProductCode
limitProductCode,
originUid,
uid,
});
this.productInfo().then(() => {
this.getAssitInfo();
});
this.productInfo();
yas = new Yas(app);
yas.pageOpenReport();
... ... @@ -102,7 +174,9 @@ Page(Object.assign({
}
},
productInfo: function() {
detailModel.productInfo(app.getUid(), this.data.limitProductCode)
let uid = this.data.originUid || this.data.uid;
return detailModel.productInfo(uid, this.data.limitProductCode)
.then(res => {
if (res.code === 200) {
let defaultImage;
... ... @@ -132,24 +206,100 @@ Page(Object.assign({
product_skn: this.data.productSkn
};
let productSourceType = PRODUCT_SOURCE_TYPE.ORIGIN;
if (this.data.originUid) {
productSourceType = PRODUCT_SOURCE_TYPE.SHARE;
}
this.setData({
productSkn: res.data.productSkn,
productName: res.data.productName,
price: res.data.price,
saleTime: res.data.saleTime,
reminderNum: res.data.reminderNum,
limitProductTyp: res.data.limitProductType,
showStatus: res.data.showStatus,
assisLimit: res.data.helpLimit,
defaultImage,
productDesc,
snapData
snapData,
productSourceType
});
}
});
},
_dataReport: function() {
yas.report('YB_GDS_DT_BILL', {
PRD_SKN: this.data.productSkn,
RPD_SKU: this.data.selectedSKU,
PRD_ID: this.data.selectedProductId
getAssitInfo() {
let uid = this.data.originUid || this.data.uid;
if (this.data.limitProductType === LIMIT_TYPE.ASSIS) {
return detailModel.getAssistInfo(uid, this.data.limitProductCode).then(result => {
if (result.code !== 200) {
return;
}
let assisStatus = ASSIS_STATUS.SHARE;
if (this.assisLimit === result.data.length) {
assisStatus = ASSIS_STATUS.ASSIS_FULL;
} else {
if (this.originUid) {
assisStatus = ASSIS_STATUS.ASSIS_ACTION;
} else {
assisStatus = ASSIS_STATUS.UN_ASSIS;
}
}
this.setData({
avatarList: result.data,
assisStatus
});
});
} else {
return detailModel.getQueueInfo(uid).then(result => {
});
}
},
assisShare() {
this.share();
},
assisAction() {
this.setData({
assisSuccess: ASSIS_SUCCESS.ok
});
// this.setData({
// assisSuccess: ASSIS_SUCCESS.repeat
// });
},
queueAction() {
this.setData({
queueSuccess: QUEUE_SUCCESS.ok
});
// this.setData({
// queueSuccess: QUEUE_SUCCESS.repeat
// });
},
queueCancel() {
},
assisCancel() {
},
buyNow() {
},
goList() {
},
restartSelfShare() {
},
goQueueList() {
}
}, Actionsheet));
... ...
... ... @@ -30,105 +30,180 @@
</view>
<copyright></copyright>
<!-- <assis-list></assis-list> -->
<assis-list wx:if="{{showAssisList}}" list="{{avatarList}}" num="{{assisLimit}}"></assis-list>
<block wx:if="{{limitProductType === 4}}">
<block wx:if="{{showStatus === 1}}">
<block wx:if="{{productSourceType === 1}}">
<action-bar wx:if="{{assisStatus === 1}}">
<view class="bottom1-action">
<view class="action-btn" bindtap="assisShare">邀请好友助力获取限购码</view>
<view class="help">?</view>
</view>
</action-bar>
<action-bar wx:if="{{assisStatus === 2}}">
<view class="bottom1-action">
<view class="action-btn3">即将开售</view>
</view>
</action-bar>
</block>
<block wx:if="{{productSourceType === 2}}">
<action-bar wx:if="{{assisStatus === 3}}">
<view class="top-assis-action">
<view class="top-title" >你的好友邀请你为ta助力</view>
<view class="top-action">
<view class="top-ok" bindtap="assisAction">帮ta助力</view>
<view class="top-cancel" bindtap="assisCancel">取消</view>
</view>
</view>
</action-bar>
<action-bar wx:if="{{assisStatus === 2}}">
<view class="top-assis-action">
<view class="top-title">你的好友已助力成功</view>
<view class="top-ok" bindtap="rrestartSelfShare">我也要参加</view>
</view>
</action-bar>
</block>
</block>
<block wx:elif="{{showStatus === 2 || showStatus === 7}}">
<action-bar>
<view class="bottom1-action">
<view class="action-btn disable">立即购买</view>
</view>
</action-bar>
</block>
<block wx:elif="{{showStatus === 3}}">
<action-bar>
<view class="top-assis-action">
<view class="top-title" >当前活动已结束</view>
<view class="top-action1">
<view class="top-ok" bindtap="goList">查看其他活动</view>
</view>
</view>
</action-bar>
</block>
<!-- <action-bar>
<view class="bottom1-action">
<view class="action-btn" bindtap="share">邀请好友助力获取限购码</view>
<view class="help">?</view>
</view>
</action-bar> -->
<block wx:elif="{{showStatus === 4}}">
<action-bar>
<view class="bottom1-action">
<view class="action-btn ok" bindtap="buyNow">立即购买</view>
</view>
</action-bar>
</block>
<!-- <action-bar>
<view class="bottom1-action">
<view class="action-btn" bindtap="share">立刻购买</view>
<view class="help">?</view>
</view>
</action-bar> -->
<block wx:elif="{{showStatus === 5}}">
<action-bar>
<view class="bottom1-action">
<view class="action-btn2 disable">限购码已抢光</view>
</view>
</action-bar>
</block>
<!-- <action-bar>
<view class="bottom1-action">
<view class="action-btn2" bindtap="share">参加排队</view>
<view class="help">?</view>
</view>
</action-bar> -->
<!-- <action-bar>
<view class="top-assis-action">
<view class="top-title" >你的好友邀请你为ta助力</view>
<view class="top-action">
<view class="top-ok">帮ta助力</view>
<view class="top-cancel">取消</view>
</view>
</view>
</action-bar> -->
<!-- <action-bar>
<view class="top-assis-action">
<view class="top-title" >你的好友邀请你为ta助力参加排队</view>
<view class="top-action">
<view class="top-ok">帮ta助力</view>
<view class="top-cancel" ><text decode="{{true}}">&ensp;取消&ensp;</text></view>
</view>
</view>
</action-bar> -->
<block wx:elif="{{showStatus === 6}}">
<action-bar>
<view class="bottom1-action">
<view class="action-btn2 disable">即将开售</view>
</view>
</action-bar>
</block>
<block wx:else>
<action-bar>
<view class="top-assis-action">
<view class="top-title" >当前活动已结束</view>
<view class="top-action1">
<view class="top-ok" bindtap="goList">查看其他活动</view>
</view>
</view>
</action-bar>
</block>
<!-- <action-bar>
<view class="top-assis-action">
<view class="top-title" >你的好友已助力成功</view>
<view class="top-action1">
<view class="top-ok">我也要参加</view>
</view>
</view>
</action-bar> -->
</block>
<!-- <action-bar>
<view class="top-assis-action">
<view class="top-title" >当前活动已结束</view>
<view class="top-action1">
<view class="top-ok">查看其他活动</view>
</view>
</view>
</action-bar> -->
<block wx:elif="{{limitProductType === 5}}">
<block wx:if="{{productSourceType === 1}}">
<action-bar wx:if="{{queueStatus === 1}}">
<view class="bottom1-action">
<view class="action-btn" bindtap="assisShare">参加排队</view>
<view class="help">?</view>
</view>
</action-bar>
<action-bar wx:if="{{queueStatus === 2}}">
<view class="bottom1-action">
<view class="action-list">
<view class="action-btn3" bindtap="goQueueList">排队中,查看详情</view>
<view class="action-btn" bindtap="assisShare">邀请好友助力排队</view>
</view>
</view>
</action-bar>
<!-- <action-bar>
<view class="bottom1-action">
<view class="action-list">
<view class="action-btn3" bindtap="share">排队中,查看详情</view>
<view class="action-btn" bindtap="share">邀请好友助力排队</view>
</view>
<view class="help">?</view>
</view>
</action-bar> -->
<action-bar wx:if="{{queueStatus === 3}}">
<view class="bottom1-action">
<view class="action-list">
<view class="action-btn3" bindtap="goQueueList">活动结束,点击查看排队详情</view>
</view>
</view>
</action-bar>
</block>
<block wx:if="{{productSourceType === 2}}">
<action-bar>
<view class="top-assis-action">
<view class="top-title" >你的好友邀请你为ta助力参加排队</view>
<view class="top-action">
<view class="top-ok" bindtap="queueAction">帮ta助力</view>
<view class="top-cancel" bindtap="queueCancel"><text decode="{{true}}">&ensp;取消&ensp;</text></view>
</view>
</view>
</action-bar>
<action-bar>
<view class="top-assis-action">
<view class="top-title" >你的好友已助力成功</view>
<view class="top-action1">
<view class="top-ok" bindtap="restartSelfShare" >我也要参加</view>
</view>
</view>
</action-bar>
</block>
</block>
<!-- <yoho-alert>
<yoho-alert wx:if="{{assisSuccess === 1}}">
<view class="modal-content">
<view class="modal-title">
<view class="sub-title">助力成功</view>
<view class="sub-title2">帮好友助力成功,您也来参与吧~</view>
</view>
<view class="modal-ok">
<view class="modal-ok" bindtap="restartSelfShare">
我也要参加
</view>
</view>
</yoho-alert> -->
</yoho-alert>
<!-- <yoho-alert>
<yoho-alert wx:if="{{assisSuccess === 2}}">
<view class="modal-content">
<view class="modal-title">
<view class="sub-title">重复助力</view>
<view class="sub-title2">您已经助力过啦,自己也来参加吧~</view>
</view>
<view class="modal-ok">
<view class="modal-ok" bindtap="restartSelfShare">
我也要参加
</view>
</view>
</yoho-alert> -->
</yoho-alert>
<!-- <yoho-alert>
<yoho-alert wx:if="{{queueSuccess === 1}}">
<view class="modal-content">
<view class="modal-title">
<view class="sub-title">助力成功</view>
... ... @@ -139,18 +214,18 @@
</view>
<view class="modal-btn">
<view class="modal-ok">
<view class="modal-ok" bindtap="restartSelfShare">
我也要参加
</view>
<view class="modal-cancel">
<view class="modal-cancel" bindtap="goQueueList">
查看详情
</view>
</view>
</view>
</yoho-alert> -->
</yoho-alert>
<!-- <yoho-alert>
<yoho-alert wx:if="{{queueSuccess === 2}}">
<view class="modal-content">
<view class="modal-title">
<view class="sub-title">重复助力</view>
... ... @@ -161,15 +236,15 @@
</view>
<view class="modal-btn">
<view class="modal-ok">
<view class="modal-ok" bindtap="restartSelfShare">
我也要参加
</view>
<view class="modal-cancel">
<view class="modal-cancel" bindtap="goQueueList">
查看详情
</view>
</view>
</view>
</yoho-alert> -->
</yoho-alert>
<template is="zan-actionsheet" data="{{...actionSheet}}" />
\ No newline at end of file
... ...
... ... @@ -102,6 +102,10 @@
border-radius: 25rpx;
}
.action-btn.disable {
background-color: #444;
}
.bottom1-action .action-btn2 {
height: 50rpx;
padding-left: 20rpx;
... ... @@ -113,6 +117,10 @@
border-radius: 25rpx;
}
.action-btn2.disable {
background-color: #444;
}
.bottom1-action .action-btn3 {
height: 50rpx;
padding-left: 20rpx;
... ...
... ... @@ -33,7 +33,7 @@
"list": []
},
"miniprogram": {
"current": 3,
"current": 2,
"list": [
{
"id": 0,
... ... @@ -48,10 +48,10 @@
"query": "f"
},
{
"id": 1,
"id": 2,
"name": "情详页",
"pathName": "pages/product/detail/detail",
"query": "limitProductCode=2018030117484051"
"query": "limitProductCode=2018062115403668"
},
{
"id": 2,
... ...