Commit bcfcd172 authored by 李硕's avatar 李硕

提交

parent aba109ea
export * from "./interface"
\ No newline at end of file
export const baseInfo = { export const baseInfo = {
"data": { "data": {
"vipLevel": "w2", "vipLevel": "W1",
"adUrl": "1", "adUrl": "http://www.baidu.com",
"adMes": "1", "adMes": "1",
"tenDjStock": 1200, "tenDjStock": 1200,
"fiveDjStock": 2000, "fiveDjStock": 2000,
...@@ -18,7 +18,7 @@ export const verbPrize = { ...@@ -18,7 +18,7 @@ export const verbPrize = {
"name": "奖品名称", "name": "奖品名称",
"icon": "2" "icon": "2"
}, },
"code": null, "code": 600008,
"message": null, "message": null,
"success": true "success": false
} }
\ No newline at end of file
...@@ -2,12 +2,8 @@ let projectId = window.CFG.projectId || ''; ...@@ -2,12 +2,8 @@ let projectId = window.CFG.projectId || '';
const apiCfg = { const apiCfg = {
getRule: `/projectx/${projectId}/projectRule.query`, getRule: `/projectx/${projectId}/projectRule.query`,
getBaseInfo: { getBaseInfo: `/projectx/${projectId}/weekly_award/index.do`,
uri: `/projectx/${projectId}/weekly_award/index.do`, verbPrize: `/projectx/${projectId}/weekly_award/join.do`
},
verbPrize: {
uri: `/projectx/${projectId}/weekly_award/join.do`
}
} }
export default apiCfg; export default apiCfg;
\ No newline at end of file
...@@ -10,18 +10,25 @@ class Commessagemodal extends Component { ...@@ -10,18 +10,25 @@ class Commessagemodal extends Component {
this.state = { resList: resList }; this.state = { resList: resList };
} }
render() { render() {
// {
// title,
// desc,
// content,
// img
// }
let { data, onClose } = this.props;
return ( return (
<div className="messagemodal "> <div className="messagemodal ">
<div className="modal "> <div className="modal ">
<img className="shadebg " src={this.state.resList['282e8c6f-d242-4aa0-a393-c77166c6cb7a'].url} /> <img className="shadebg " src={this.state.resList['282e8c6f-d242-4aa0-a393-c77166c6cb7a'].url} />
<img className="modalbg " src={this.state.resList['21a22cd9-40c5-4370-9370-d4f846b0dbb3'].url} /> <img className="modalbg " src={this.state.resList['21a22cd9-40c5-4370-9370-d4f846b0dbb3'].url} />
<img className="closebtn " src={this.state.resList['af5dbf3f-5044-4431-9bae-bcc0cd4990aa'].url} /> <img className="closebtn " onClick={onClose} src={this.state.resList['af5dbf3f-5044-4431-9bae-bcc0cd4990aa'].url} />
<span className="titlelab ">很抱歉</span> <span className="titlelab ">{data.title}</span>
<img className="timeimg " src={this.state.resList['9b80be59-4fa3-4f6a-b629-2debba82ac8c'].url} /> <img className={data.prize == 1 ? "w1img" :"timeimg"} src={this.state.resList[data.img].url} />
<img className="w1img " src={this.state.resList['42783179-c885-470c-9eae-6b59493f2986'].url} /> {/* <img className="w1img " src={this.state.resList['42783179-c885-470c-9eae-6b59493f2986'].url} /> */}
<span className="desc ">还没到活动时间哦</span> <span className="desc ">{data.desc}</span>
<span className="content ">周三10点再来试试吧</span> <span className="content ">{data.content}</span>
<img className="knowbtn " src={this.state.resList['9e93fc0f-c93e-4c72-8c37-244c3377d44b'].url} /> <img className="knowbtn " onClick={onClose} src={this.state.resList['9e93fc0f-c93e-4c72-8c37-244c3377d44b'].url} />
</div> </div>
</div> </div>
); );
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
width: 750px; width: 750px;
height: 1624px; height: 1624px;
display: block; display: block;
position: absolute; position: fixed;
.modal { .modal {
width: 750px; width: 750px;
height: 1334px; height: 1334px;
...@@ -65,13 +65,12 @@ ...@@ -65,13 +65,12 @@
top: 527px; top: 527px;
position: absolute; position: absolute;
transform-origin: 0px 0px 0px; transform-origin: 0px 0px 0px;
display: none;
} }
.desc { .desc {
width: 259px; width: 500px;
height: 44px; height: 44px;
opacity: 1; opacity: 1;
left: 248px; left:130px;
top: 698px; top: 698px;
position: absolute; position: absolute;
transform-origin: 0px 0px 0px; transform-origin: 0px 0px 0px;
...@@ -80,10 +79,10 @@ ...@@ -80,10 +79,10 @@
text-align: center; text-align: center;
} }
.content { .content {
width: 218px; width: 400px;
height: 34px; height: 34px;
opacity: 1; opacity: 1;
left: 268px; left: 180px;
top: 747px; top: 747px;
position: absolute; position: absolute;
transform-origin: 0px 0px 0px; transform-origin: 0px 0px 0px;
......
export const ModalImage = { export const ModalImage = {
NO_STOCK: "9b80be59-4fa3-4f6a-b629-2debba82ac8c", NO_STOCK: "9b80be59-4fa3-4f6a-b629-2debba82ac8c",
VIP_CHECK: "c9af4a2c-f766-48f8-b3bb-840d8bb2ae22", VIP_CHECK: "c9af4a2c-f766-48f8-b3bb-840d8bb2ae22",
W1_IMG: "42783179-c885-470c-9eae-6b59493f2986", W1: "42783179-c885-470c-9eae-6b59493f2986",
W2_IMG: "f16d3f74-51d1-4c29-aaa2-ec78963483a1", W2: "f16d3f74-51d1-4c29-aaa2-ec78963483a1",
W3_IMG: "40ed1f27-265b-4bc8-84f4-91780e389a98", W3: "40ed1f27-265b-4bc8-84f4-91780e389a98",
NOTIMES_IMG: "", NOTIMES_IMG: "b97d2668-3e0a-481e-8df8-aa2f532b1fbc",
END_IMG: "" END_IMG: "5ce85621-f1aa-41c7-993f-80f41d2ff9ff",
NOT_START: "0d308df7-2e36-4484-9fb9-5abe50d80bbf"
} }
export const AWARD_TYPE = {
PRIZE_W1: 1,
PRIZE_W2: 2,
PRIZE_W3: 3
};
export const MODAL_TYPE = { export const MODAL_TYPE = {
NO_STOCK: 1, NO_STOCK: 1,
VIP_CHECK: 2, VIP_CHECK: 2,
W1_PRIZE: 3, W1_PRIZE: 3,
W2_PRIZE: 4, W2_PRIZE: 4,
W3_PRIZE: 5 W3_PRIZE: 5,
NO_TIMES: 6,
END: 7,
NOT_START: 8
} }
export const PRIZE_TYPE = { export const PRIZE_TYPE = {
...@@ -28,47 +25,77 @@ export const PRIZE_TYPE = { ...@@ -28,47 +25,77 @@ export const PRIZE_TYPE = {
W3: "ru_3" W3: "ru_3"
} }
export function Modal_Lables(modalType, imgUuid, level) { export const CURRENT_LEVEL = {
level1: "W1",
level2: "W2",
level3: "W3"
}
export function Modal_Lables(modalType, level) {
let title = ""; let title = "";
let desc = ""; let desc = "";
let content = ""; let content = "";
let img = ""; let img = "";
let prize = 0;
// 未中奖title // 未中奖title
if ([MODAL_TYPE.NO_STOCK, MODAL_TYPE.VIP_CHECK].includes(modalType)) { if ([1, 2, 5, 6, 7, 8].includes(modalType)) {
title = "很抱歉" title = "很抱歉"
} else { } else {
title = "恭喜您" title = "恭喜您"
} }
//没有库存的限制 //没有库存的限制
if (modalType = MODAL_TYPE.NO_STOCK) { if (modalType == MODAL_TYPE.NO_STOCK) {
desc = "券已领完"; desc = "券已领完";
content = "下次早点来哦"; content = "下次早点来哦";
img = imgUuid; img = ModalImage.NO_STOCK;
} }
//未到达VIP等级弹窗展示 //未到达VIP等级弹窗展示
if (modalType = MODAL_TYPE.VIP_CHECK) { if (modalType == MODAL_TYPE.VIP_CHECK) {
desc = `您暂时还不是${level}用户`; desc = `您暂时还不是${level}用户`;
content = "暂时无法领取代金券"; content = "暂时无法领取代金券";
img = imgUuid; img = ModalImage.VIP_CHECK;
}
if (modalType == MODAL_TYPE.NOT_START) {
desc = "还没到活动时间哦";
content = "周三10点再来试试吧";
img = ModalImage.NOT_START;
} }
if (modalType == MODAL_TYPE.NO_TIMES) {
desc = "本月可领取次数已用完";
content = "下个月再来哦";
img = ModalImage.NOTIMES_IMG;
}
if (modalType == MODAL_TYPE.END) {
desc = "活动已结束";
content = "下次再来吧";
img = ModalImage.END_IMG;
}
console.log('level===', level);
if ([MODAL_TYPE.W1_PRIZE, MODAL_TYPE.W2_PRIZE, MODAL_TYPE.W3_PRIZE].includes(modalType)) { if ([MODAL_TYPE.W1_PRIZE, MODAL_TYPE.W2_PRIZE, MODAL_TYPE.W3_PRIZE].includes(modalType)) {
content = "可前往“我的奖品”查看"; content = "可前往“我的奖品”查看";
img = imgUuid; img = ModalImage[level];
} }
if (modalType = MODAL_TYPE.W1_PRIZE) { if (modalType == MODAL_TYPE.W1_PRIZE) {
desc = '已领取流量日包券一张'; desc = '已领取流量日包券一张';
} }
if (modalType = MODAL_TYPE.W2_PRIZE) { if (modalType == MODAL_TYPE.W2_PRIZE) {
desc = '已领取5元无门槛代金券一张'; desc = '已领取5元无门槛代金券一张';
} }
if (modalType = MODAL_TYPE.W3_PRIZE) { if (modalType == MODAL_TYPE.W3_PRIZE) {
desc = '已领取10元无门槛代金券一张'; desc = '已领取10元无门槛代金券一张';
} }
return { console.log("======", {
title, title,
desc, desc,
content, content,
img img
});
return {
title,
desc,
content,
img,
prize
} }
} }
...@@ -80,23 +107,60 @@ export function ERROR_MESSSAGE(errorCode) { ...@@ -80,23 +107,60 @@ export function ERROR_MESSSAGE(errorCode) {
message = "网络繁忙,请稍后重试"; message = "网络繁忙,请稍后重试";
break; break;
case 600002: case 600002:
message = "任务列表配置出错";
break;
case 600003:
message = "参数异常"; message = "参数异常";
break; break;
case 600004: // case 600003:
message = "任务不存在"; // message = "活动未开始";
break; // break;
// case 600004:
// message = "会员等级不足";
// break;
case 600005: case 600005:
message = "任务无法完成"; message = "仅限上海联通用户参与";
break;
case 600006:
message = "不在可完成任务时间内";
break; break;
// case 600006:
// message = "库存不足";
// break;
// case 600007:
// message = "本周已领取";
// break;
// case 600008:
// message = "活动已结束";
// break;
default: default:
message = "网络故障"; message = "网络故障";
break; break;
} }
return message; return message;
} }
export function ERROR_MODAL(errorCode) {
let type = "";
switch (errorCode) {
case 600003:
type = MODAL_TYPE.NOT_START;
break;
case 600004:
type = MODAL_TYPE.VIP_CHECK;
break;
// case 600005:
// type = "仅限上海联通用户参与";
// break;
case 600006:
type = MODAL_TYPE.NO_STOCK;
break;
case 600007:
type = MODAL_TYPE.NO_TIMES;
break;
case 600008:
type = MODAL_TYPE.END;
break;
default:
type = "网络故障";
break;
}
console.log("modalType-----", type);
return type;
}
\ No newline at end of file
/**
* 截图方法封装
*
*
* 使用方法: npm install --save html2canvas
*
*
* import { createrPoster } from '../../libs/spark_createposter';
async createPoster()
{
let url = await createPoster("rule",{
x:window.innerWidth/4,
y:window.innerHeight/4,
width:window.innerWidth/2,
height:window.innerHeight/2
});
this.setState({
img_src:url
})
}
调用:this.createPoster();
jsx:
const {img_src=""} = this.state;
{img_src && <img src={img_src} style={{ width: '50vw', height: '50vw', position: "absolute", left: 0, top: 0 }} />}
*
*
* 注意事项:html2canvas有各种兼容问题
* 1:html2canvas 使用 1.0.0-rc.5 版本, ios 设备上会没有任何显示。then函数不会被回调也不会报错。请降级强制使用 1.0.0-rc.4 版本。(注意package.json 内的 "^1.0.0-rc.4" ^ 符号要去掉)
* 2:所有 dom 内的图片不能跨域,否则会导致白屏等奇怪问题。即使加上useCORS 与 allowTaint也无法解决,浏览器控制台直接会打印CORS相关报错。
* 3:生成的图片清晰度受原始图片的质量与width、height、windowWidth、windowHeight、scale 影响,请根据实际情况来调节这几个参数。
* 4:如果生成的base64图片过大,会导致图片无法显示,请相应减小3中的几个参数值。
* 5:不可将图片转换为Blob的形式,设备虽然可以正常显示图片,但是无法进行长按保存,保存下来的图片可能为一个空白的图像。
* 6:在指定dom来生成图片时,会受offsetTop与offsetLeft影响。例如 offsetTop 为 20 时,生成的图片顶部 20px(不一定为 20px)的距离会被所设置的backgroundColor(默认白色)颜色填充。这时,可使用 x与y参数进行校正。
* 7:如果一直出现跨域的情况,或者图片一直不出现的情况,可考虑将图片资源转换成 base64。例如就遇到二维码图片链接某些设备上一直不出现,则可以考虑接口直接返回二维码内容,由前端根据返回的内容来创建二维码。
* 8:当还出现一些奇奇怪怪的问题时,可尝试切换html2canvas版本。
*/
import html2Canvas from 'html2canvas';
/**
*
* @param {*} domId dom的id名,不传默认是body
* @param {*} options 重写的截图配置,具体参考html2canvas官方示例:http://html2canvas.hertzen.com/configuration
* @param {*} imgType 图片类型,默认是jpg
*/
const createPoster=async (domId,options={},imgType="image/jpeg")=>{
let dom = domId?document.getElementById(domId):document.body;
let defaultOptions={
useCORS:true,
scale:devicePixelRatio||1,
width:window.innerWidth,
height:window.innerHeight,
windowWidth:window.innerWidth,
windowHeight:window.innerHeight
}
options={
...defaultOptions,
...options
}
let canvas = await html2Canvas(dom,options).catch(err=>{console.error("截图失败:",err)})
return canvas.toDataURL(imgType);
}
export default createPoster;
\ No newline at end of file
/**
* 两种获取token封装(getPxToken和getDuibaToken)
*
*
*/
/**
* @param {} callback
*/
if (!document.getElementById("scriptkey")) {
const scriptkey = document.createElement('script')
scriptkey.async = 'async';
scriptkey.src = `getTokenKey`;
scriptkey.id = "scriptkey";
document.getElementsByTagName('head')[0].appendChild(scriptkey);
const scriptjs = document.createElement('script')
scriptjs.async = 'async';
scriptjs.id = "scriptjs";
scriptjs.src = `//yun.duiba.com.cn/js-libs/px-token/0.0.3/px-token.min.js`;
document.getElementsByTagName('head')[0].appendChild(scriptjs);
scriptjs.onload = () => {
}
}
const getPxToken = (callback) => {
if (window.getPxToken) {
__getPxToken(callback);
return;
}
console.log("px-token.min.js尚未加载完成,请稍后再试")
// callback("waiting..."); //这里就不返回,不做处理
}
function __getPxToken(callback) {
console.info(location.origin)
if(location.origin == "http://localhost:8088"){
callback("11111");
}else{
if (window.getPxToken) {
window.getPxToken((e, token) => {
console.info('get px token:', e);
switch (e) {
case 'net error':
break;
case 'need reload':
break;
case 'need login':
break;
case 'state invalid':
break;
default:
callback(token);
}
})
}
}
}
/**
* @param {} resolve
* @param {} reject
* @param {} againOrderId
*/
const getDuibaToken=(resolve, reject,againOrderId)=>{
$.ajax({
url: '/ctoken/getToken',
type: 'post',
dataType: 'json',
success: function (res) {
if (res.success) {
var data = {
actId: CFG?.actId||"",
oaId: CFG?.oaId||""
};
eval(res.token);
var key = '';
data.token = window[key];
if (againOrderId) {
data.againOrderId = againOrderId;
}
resolve && resolve(data);
} else {
reject('systemError', { message: res.message });
}
},
error: function () {
reject('networkError');
}
});
}
module.exports={
getPxToken,
getDuibaToken
}
/**
* 接口轮询组件封装
*
* import startRolling from '../../libs/spark_requstrolling.js';
*
* async rollingTest() {
await startRolling(async() => {
return await API.getOrderStatusForThrough({});
}, 5, 1000, "data.lottery.id", 7489, (data) => {
console.log("success:", data);
}, (err) => {
console.log("error:", err);
});
}
调用:this.rollingTest();
*
*
*
* @param {*} fn API请求方法
* @param {*} count 轮询次数
* @param {*} delay 每次轮询的延迟时间(毫秒)
* @param {*} rollKey 断定轮询的条件 采用a.b.c.d结构,例如data.lottery.id
* @param {*} rollValue 断定轮询的值
* @param {*} resolve 成功回调
* @param {*} reject 失败回调
* @param {*} rollingIndex 起始次数,不用传,默认就好
*/
const startRolling = async (fn, count, delay, rollKey, rollValue, resolve, reject, rollingIndex = 1) => {
if (typeof fn !== "function") {
if(reject)reject()
return;
}
console.log("开始轮询,当前轮询次数",rollingIndex)
let result = await fn();
console.log(result);
if (result.success) {
rollingIndex = 1;
if (resolve) resolve(result);
} else {
if (rollKey) {
let rollKeyArr = rollKey.split(".");
let condition = result;
rollKeyArr.map(res => condition = condition[res])
if (condition == rollValue && rollingIndex < count) {
setTimeout(() => {
startRolling(fn, count, delay, rollKey, rollValue, resolve, reject, ++rollingIndex);
}, delay);
} else {
if (reject) reject(result);
}
} else {
if (reject) reject(result);
}
}
}
export default startRolling;
/**
* 微信分享组件封装
*
* 使用方法:
* import wxShare from '../../libs/spark_wxshare'
* wxShare(options)
*
*
* options 参数(可选)
* appId: (必填) String, 公众号的唯一标识
* timestamp: (必填) String, 生成签名的时间戳
* nonceStr: (必填) String, 生成签名的时间戳
* signature: (必填) String, 签名
* jsApiList: (可选) Array, 调用接口列表,默认 ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ']
* title: (可选) String, 分享标题,默认doucment.title
* desc: (可选) String, 分享描述,默认空
* shareUrl: (可选) String, 分享链接, 默认当前链接
* imgUrl: (可选) String, 分享图片,默认空
*
*/
const configBuilder = {
onMenuShareTimeline(config) {
return {
title: config.title,
desc: config.desc,
link: config.shareUrl,
imgUrl: config.imgUrl
}
},
onMenuShareAppMessage(config) {
return {
title: config.title,
desc: config.desc,
link: config.shareUrl,
imgUrl: config.imgUrl
}
},
onMenuShareQQ(config) {
return {
title: config.title,
desc: config.desc,
link: config.shareUrl,
imgUrl: config.imgUrl
}
}
}
export default function (config = {}) {
if (!/MicroMessenger/.test(window.navigator.userAgent)) {
return false
}
if(document.getElementById("jweixin"))
{
__handleReady(config);
return;
}
const script = document.createElement('script')
script.async = 'async';
script.id="jweixin";
script.src = `${document.location.protocol}//res.wx.qq.com/open/js/jweixin-1.2.0.js`
document.getElementsByTagName('head')[0].appendChild(script)
script.onload = () => {
__handleReady(config);
}
}
function __handleReady(config) {
if (typeof wx !== 'undefined') {
config.api = config.api || ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ']
// 默认值
config.imgUrl = config.imgUrl || window.location.protocol + '//mmbiz.qpic.cn/mmbiz_png/UUn1BJoX4UlEbDXKVFqFsSLcmmagib3oQ31FewyWkLfIbpHgw0xYv02zKrgQJNPGytLpudpib45dWZbC0hnawu9Q/0?wx_fmt=png'
config.shareUrl = config.shareUrl || window.location.href
config.desc = config.desc || ''
config.title = config.title || document.title
wx.config({
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
debug: config.debug || false,
// 必填,公众号的唯一标识
appId: config.appid || config.appId || '',
// 必填,生成签名的时间戳
timestamp: config.timestamp || '',
// 必填,生成签名的随机串
nonceStr: config.nonceStr || '',
// 必填,签名,见附录1
signature: config.signature || '',
// 必填,需要使用的JS接口列表
jsApiList: [].concat(config.api)
})
wx.ready(() => {
// wx.checkJsApi({
// jsApiList: config.api
// })
config.api.forEach(key => {
wx[key](configBuilder[key](config))
})
})
}
}
...@@ -6,7 +6,7 @@ import { Toast, Loading, getModalHoc } from '../../../node_modules/spark-design' ...@@ -6,7 +6,7 @@ import { Toast, Loading, getModalHoc } from '../../../node_modules/spark-design'
import API from '../../api'; import API from '../../api';
import { getPxToken } from '../../libs/spark_gettoken'; import { getPxToken } from '../../libs/spark_gettoken';
import verbModal from '../../components/commessagemodal/commessagemodal.jsx' import verbModal from '../../components/commessagemodal/commessagemodal.jsx'
import { ModalImage, AWARD_TYPE, MODAL_TYPE, Modal_Lables, ERROR_MESSSAGE, PRIZE_TYPE } from '../../constant'; import { ModalImage, MODAL_TYPE, Modal_Lables, ERROR_MESSSAGE, PRIZE_TYPE, ERROR_MODAL, CURRENT_LEVEL } from '../../constant';
import './pageweekverb.less'; import './pageweekverb.less';
const VerbModal = getModalHoc(verbModal); const VerbModal = getModalHoc(verbModal);
...@@ -15,15 +15,16 @@ class Pageweekverb extends Component { ...@@ -15,15 +15,16 @@ class Pageweekverb extends Component {
super(props); super(props);
this.state = { this.state = {
resList: resList, resList: resList,
modalStatus: false, modalStatus: "",
baseData: { baseData: {
vipLevel: "w2", vipLevel: "",
adUrl: "http://www.baidu.com", adUrl: "",
adMes: "1", adMes: "",
tenDjStock: 1200, tenDjStock: "",
fiveDjStock: 2000, fiveDjStock: "",
llbStock: 3000 llbStock: ""
} },
modalData: {}
}; };
} }
...@@ -31,13 +32,27 @@ class Pageweekverb extends Component { ...@@ -31,13 +32,27 @@ class Pageweekverb extends Component {
this.getBaseInfoData(); this.getBaseInfoData();
} }
submit() {
let pass = true;
if (pass) {
pass = false;
setTimeout(() => {
pass = true
}, 2000);
}
return !pass;
}
jumpUrl(url) { jumpUrl(url) {
if (url) { if (this.submit()) {
window.location.herf = url; if (url) {
} console.log("url===", url);
else { window.location.href = url;
Toast('网络出现故障,请重试') }
else {
Toast('网络出现故障,请重试')
}
} }
} }
/** /**
...@@ -54,43 +69,61 @@ class Pageweekverb extends Component { ...@@ -54,43 +69,61 @@ class Pageweekverb extends Component {
"llbStock": 3000 "llbStock": 3000
}, },
*/ */
// console.log('======'); console.log('======');
// let data = await API.getBaseInfo(); let { success, data, code, message } = await API.getBaseInfo();
// console.log("data====", data); console.log("data====", data);
if (success) {
this.setState({
baseData: data
})
} else {
Toast("网络异常");
}
} }
/** /**
* 领取奖品调用接口 * 领取奖品调用接口
* @param {*} prizeType * @param {*} prizeType
*/ */
verbPrizeInterface(prizeType, modalType, imgUuid, level) { verbPrizeInterface(prizeType, modalType, level) {
getPxToken( getPxToken(
async token => { async token => {
let { success, message, code } = await API.verbPrize({ token: token, awardType: prizeType }); let { success, message, code } = await API.verbPrize({ token: token, awardType: prizeType });
console.log("success====", success, "message-====", message); console.log("success====", success, "message-====", message);
if (success) { if (success) {
console.log('领取奖品结束'); console.log('领取奖品结束', modalType);
let modalInfo = Modal_Lables(modalType, level);
modalInfo.prize = 1;
this.setState({
modalStatus: 1,
modalData: modalInfo
})
} else { } else {
Toast(ERROR_MESSSAGE(code)); Toast(ERROR_MESSSAGE(code));
this.errorModal(code, this.state.baseData.vipLevel);
} }
} }
) )
} }
/**
* 打开错误信息的弹窗
showModal(modalType, imgUuid, level) { * @param {*} errorCode
this.state.modalStatus = true; * @param {*} level
*/
errorModal(errorCode, level) {
console.log("打开弹窗");
let modalType = ERROR_MODAL(errorCode);
let modalInfo = Modal_Lables(modalType, level);
this.setState({
modalStatus: 1,
modalData: modalInfo
});
// Modal_Lables(modalType, level);
} }
render() { render() {
let { baseData, modalStatus } = this.state; let { baseData, modalStatus, modalData } = this.state;
return ( return (
<div className="weekverb "> <div className="weekverb ">
<img className="wholebg " src={this.state.resList['8c8463a4-658c-431f-ba5b-0fb00f4fda44'].url} /> <img className="wholebg " src={this.state.resList['8c8463a4-658c-431f-ba5b-0fb00f4fda44'].url} />
...@@ -101,19 +134,19 @@ class Pageweekverb extends Component { ...@@ -101,19 +134,19 @@ class Pageweekverb extends Component {
<img className="w1bg " src={this.state.resList['86fa1e7e-97b5-4d2d-9b73-42c629ec7c8e'].url} /> <img className="w1bg " src={this.state.resList['86fa1e7e-97b5-4d2d-9b73-42c629ec7c8e'].url} />
<span className="w1limit ">W1会员及以上</span> <span className="w1limit ">W1会员及以上</span>
<span className="w1stock ">剩余{baseData.llbStock || 0}</span> <span className="w1stock ">剩余{baseData.llbStock || 0}</span>
<img className="w1verb " onClick={() => { this.showModal() }} src={this.state.resList['1f277473-a3c7-4f2a-a473-907c1d7428eb'].url} /> <img className="w1verb " onClick={() => { this.verbPrizeInterface(PRIZE_TYPE.W1, MODAL_TYPE.W1_PRIZE, CURRENT_LEVEL.level1) }} src={this.state.resList['1f277473-a3c7-4f2a-a473-907c1d7428eb'].url} />
</div> </div>
<div className="w2rewar "> <div className="w2rewar ">
<img className="w2bg " src={this.state.resList['fd31ffa9-c0ab-4f93-b894-c7ff817e1f30'].url} /> <img className="w2bg " src={this.state.resList['fd31ffa9-c0ab-4f93-b894-c7ff817e1f30'].url} />
<span className="w2limit ">W2会员专享</span> <span className="w2limit ">W2会员专享</span>
<span className="w2stock ">剩余{baseData.fiveDjStock || 0}</span> <span className="w2stock ">剩余{baseData.fiveDjStock || 0}</span>
<img className="w2verb " onClick={() => { this.showModal() }} src={this.state.resList['1f277473-a3c7-4f2a-a473-907c1d7428eb'].url} /> <img className="w2verb " onClick={() => { this.verbPrizeInterface(PRIZE_TYPE.W2, MODAL_TYPE.W2_PRIZE, CURRENT_LEVEL.level2) }} src={this.state.resList['1f277473-a3c7-4f2a-a473-907c1d7428eb'].url} />
</div> </div>
<div className="w3rewar "> <div className="w3rewar ">
<img className="w3bg " src={this.state.resList['23116b8a-cbb7-4a44-a1f8-bbb7b23a8392'].url} /> <img className="w3bg " src={this.state.resList['23116b8a-cbb7-4a44-a1f8-bbb7b23a8392'].url} />
<span className="w3limit ">W3及以上会员专享</span> <span className="w3limit ">W3及以上会员专享</span>
<span className="w3stock ">剩余{baseData.tenDjStock || 0}</span> <span className="w3stock ">剩余{baseData.tenDjStock || 0}</span>
<img className="w3verb " onClick={() => { this.showModal() }} src={this.state.resList['1f277473-a3c7-4f2a-a473-907c1d7428eb'].url} /> <img className="w3verb " onClick={() => { this.verbPrizeInterface(PRIZE_TYPE.W3, MODAL_TYPE.W3_PRIZE, CURRENT_LEVEL.level3) }} src={this.state.resList['1f277473-a3c7-4f2a-a473-907c1d7428eb'].url} />
</div> </div>
<img className="myrewar " src={this.state.resList['b1f11e37-165a-4bfa-8058-ceddecb14ba2'].url} /> <img className="myrewar " src={this.state.resList['b1f11e37-165a-4bfa-8058-ceddecb14ba2'].url} />
{/* <img className="adborde " src={this.state.resList['d45b8c4a-1eaa-436c-b992-cca999839d66'].url} /> */} {/* <img className="adborde " src={this.state.resList['d45b8c4a-1eaa-436c-b992-cca999839d66'].url} /> */}
...@@ -121,7 +154,7 @@ class Pageweekverb extends Component { ...@@ -121,7 +154,7 @@ class Pageweekverb extends Component {
<span className="adslot ">广告位</span> <span className="adslot ">广告位</span>
</div> </div>
{modalStatus && <VerbModal></VerbModal>} {modalStatus == 1 && <VerbModal data={modalData} onClose={() => { this.setState({ modalStatus: 0 }) }}></VerbModal>}
</div> </div>
); );
} }
......
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