/* * @Description: 这里输入文件功能 * @Author: zhoupeng * @Date: 2020-05-06 16:11:26 * @LastEditTime: 2020-07-07 09:38:15 */ import React, { Component } from 'react'; import { connect } from 'react-redux'; import { ActivityIndicator, Carousel, Toast } from 'antd-mobile'; import { getQueryVariable } from '../../utils/helper'; import 'antd-mobile/dist/antd-mobile.less'; import styles from './index.less'; import * as Service from './services/index'; const goImg = require('./asserts/go.png'); const diskImg = require('./asserts/disk.png'); const shareImg = require('./asserts/share.png'); const titleImg = require('./asserts/prizeTitle.png'); const smileImg = require('./asserts/smile.png'); const ruleTitleImg = require('./asserts/ruleTitle.png'); const ruleButtonImg = require('./asserts/rule.png'); const PRIZR_ARR = [ { id: 1, title: '谢谢参与', detail: smileImg, detailType: 1, //1表示图片 2表示金额 }, { id: 2, title: '代金券', detail: '1', detailType: 2, //1表示图片 2表示金额 }, { id: 3, title: '谢谢参与', detail: smileImg, detailType: 1, //1表示图片 2表示金额 }, { id: 4, title: '代金券', detail: '100', detailType: 2, //1表示图片 2表示金额 }, { id: 5, title: '代金券', detail: '10', detailType: 2, //1表示图片 2表示金额 }, { id: 6, title: '代金券', detail: '50', detailType: 2, //1表示图片 2表示金额 }, { id: 7, title: '谢谢参与', detail: smileImg, detailType: 1, //1表示图片 2表示金额 }, { id: 8, title: '代金券', detail: '10', detailType: 2, //1表示图片 2表示金额 }, { id: 9, title: '代金券', detail: '20', detailType: 2, //1表示图片 2表示金额 }, { id: 10, title: '代金券', detail: '5', detailType: 2, //1表示图片 2表示金额 }, ]; window.initData = function(obj) { alert(obj); console.log(obj); // let tokenObj = JSON.parse(obj); // if (window.callback != undefined) { // window.sessionStorage.setItem('token', tokenObj && tokenObj.token ? tokenObj.token : ''); // } }; window.setCallback = function(callback) { window.callback = callback; }; @connect(({ test }) => ({ test })) class Index extends Component { constructor(props) { super(props); this.state = { modalShow: false, totalNum: '-', usedNum: '-', list: [], drawFlag: false, drawStart: false, drawrResult: null, result: { prizeName: null, facePrice: null, prizeCode: null, }, }; } componentWillMount = () => { document.title = '抽奖'; window.setCallback(this); var token = getQueryVariable('token'); window.sessionStorage.setItem('token', token); var club = getQueryVariable('club'); window.sessionStorage.setItem('club', club); }; componentDidMount = () => { this.getLotteryNum(); this.getLotteryList(); }; //获取初始化数据 getLotteryNum = async () => { const { rc, data, msg } = await Service.getLotteryNum(); if (!rc) { this.setState({ totalNum: data.totalNum ? data.totalNum : 0, usedNum: data.usedNum ? data.usedNum : 0, }); } }; getLotteryList = async () => { const { rc, data, msg } = await Service.getLotteryList(); if (!rc) { this.setState({ list: data ? data : [], }); } }; //抽奖 lottery = async () => { console.log('================================================================='); const _this = this; const { drawFlag, result, usedNum, totalNum } = _this.state; if (usedNum === totalNum) { Toast.info('没有抽奖次数啦~~'); return; } if (drawFlag) { return; } _this.setState({ drawFlag: true, drawStart: true, drawrResult: null, }); const { rc, data, msg } = await Service.lottery(); if (!rc) { _this.setState({ result: data ? data : { prizeName: null, facePrice: null, prizeCode: null, }, }); _this.getLotteryNum(); } setTimeout(function() { _this.lotteryEnd(); }, 3000); }; lotteryEnd = () => { const _this = this; const { result } = _this.state; _this.setState({ drawStart: false, drawrResult: result.prizeCode ? result.prizeCode : null, }); setTimeout(function() { if (result.facePrice === 0) { Toast.info(result.prizeName); } else if (result.prizeName) { Toast.info('恭喜获得' + result.prizeName); } _this.setState({ drawFlag: false, }); }, 8000); _this.getLotteryList(); }; showModal = () => { // alert(1); this.setState({ modalShow: true, }); }; hideModal = () => { this.setState({ modalShow: false, }); }; //分享朋友圈 share = async () => { try { if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { window.webkit.messageHandlers.shareToWXSceneTimeline.postMessage({}); } else { window.js.shareWxCircle(); } const { rc, data, msg } = await Service.share(); if (!rc) { this.getLotteryNum(); } else { Toast.info(msg, 2); } } catch (e) { alert(JSON.stringify(e)); } }; render() { const { modalShow, totalNum, usedNum, list, drawStart, drawrResult } = this.state; return (
{modalShow ? (
{ e.stopPropagation(); }} >
1.活动时间:即日起开始,奖品抽完即止。 2.活动说明:会员在活动期间将活动链接首次分享至朋友圈即可获得一次抽奖机会。另外每完成一只犬只的鼻纹采集登记,则额外叠加一次抽奖机会,抽奖次数无上限限制。 3.活动对象:仅限有效状态会员,如注销等异常状态将不能参与。 4.活动奖品:业务办理消费代金券,数量有限,可用于会员办理会员及繁殖业务时使用。代金券有效期自发放日起半年内有效,不可转让,详细使用规则以代金券说明为准。 5.活动提示:凡参与本次活动会员,即视为接受活动所有规则,且须遵循相关法律声明及其他关于活动的相关规定。通过不当途径参加本活动的行为,一经发现将终止该会员参加本次活动并取消其获奖资格。 本次活动最终解释权归宠爱王国(北京)网络科技有限公司所有。 6.上述活动与Apple inc.无关。
) : null}
指针
{PRIZR_ARR.map(({ id, title, detailType, detail }) => { if (detailType === 1) { return (
{title}
券
); } else if (detailType === 2) { return (
{title}
¥ {detail}
); } return null; })}
抽奖次数 ({usedNum}/{totalNum})
{list && list.length > 0 ? ( list.map(item => { return (
{item && item.createDate ? item.createDate.split(' ')[0] : ''}
{item && item.memberName ? item.memberName : ''}
{item && item.couponName ? item.couponName : ''}
); }) ) : (
暂无数据
)}
); } } export default Index;