{"version":3,"sources":["components/blessingGetPrize/index.js","components/blessingPreheat/listHeader/index.js","components/blessingPreheat/addressPopup/index.js"],"names":["BlessingGetPrize","connect","uid","user","data","props","popupInstance","showAddress","bool","history","name","state","push","Popup","title","content","tip","prize","handleToHide","close","date","next_date","is_winning","is_virtual","prize_data","address","_this","this","setTimeout","http","get","API","home","getParam","then","res","code","msg","setState","info","slice","className","onClick","length","text","styles","margin","map","item","index","key","src","img","alt","num","href","Component","ListHeader","size","id","cls","classnames","style","data-position","children","AddressPopup","fetchUserAddress","addressInfo","Object","assign","phone","isLoading","handleToSubmit","params","post","initialValues","validate","errors","test","validateOnBlur","validateOnChange","onSubmit","values","color","field","type","placeholder","data-status"],"mappings":"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","file":"mrstaticjs/blessing-getPrize.4e976740.chunk.js","sourcesContent":["import React, { Component } from \"react\"\nimport \"./index.scss\"\nimport ListHeader from \"./../blessingPreheat/listHeader/index\"\nimport { http, getParam } from \"src/utils\"\nimport { Toast } from \"antd-mobile\"\nimport AddressPopup from \"./../blessingPreheat/addressPopup/index\"\nimport { Popup } from \"src/common\"\nimport { connect } from \"react-redux\"\n\n@connect(({ user }) => ({\n uid: user.data.uid || \"\",\n}))\nclass BlessingGetPrize extends Component {\n popupInstance = null\n constructor(props) {\n super(props)\n this.state = {\n date: \"\",\n next_date: \"\",\n name: \"\",\n is_winning: \"\", //是否中奖\n is_virtual: 1, // 实物奖品 虚拟奖品\n prize_data: [],\n address: false,\n }\n }\n\n componentDidMount() {\n const _this = this\n setTimeout(function () {\n const { history, uid } = _this.props\n if (!uid) {\n history.push(\"/passport\")\n } else {\n http\n .get(`${API.home}/sys/lottery_result?id=${getParam(\"id\")}`)\n .then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n _this.setState({\n ...data.info,\n prize_data: data.prize_data.slice(0, 6),\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n }, 300)\n }\n\n showAddress = (bool) => {\n const { history, uid } = this.props\n const { name } = this.state\n if (bool && !uid) {\n history.push(\"/passport\")\n } else {\n if (bool && !this.popupInstance) {\n this.popupInstance = Popup({\n title: \"恭喜您\",\n content: (\n <AddressPopup\n tip=\"填写您的联系方式\"\n prize={name}\n handleToHide={() => this.showAddress(false)}\n />\n ),\n })\n } else {\n this.popupInstance.close()\n this.popupInstance = null\n }\n }\n }\n\n render() {\n const {\n date,\n next_date,\n name,\n is_winning,\n is_virtual,\n prize_data,\n } = this.state\n return (\n <div className=\"blessing_get_prize\">\n <div className=\"is__get_prize\">\n <div className=\"get_piriz__info\">\n <div className=\"result\">{date}中奖结果</div>\n {is_winning === 0 && (\n <div className=\"no_prize\">很遗憾,你未中奖~</div>\n )}\n {is_winning === 1 && is_virtual === 0 && (\n <div className=\"real__prize\">\n <div>恭喜你,已抽中{name}奖品</div>\n <span\n onClick={() => this.showAddress(true)}\n className=\"address\"\n >\n 填写收货地址\n </span>\n </div>\n )}\n {is_winning === 1 && is_virtual === 1 && (\n <div className=\"virtual \">\n <div>恭喜你抽中{name},</div>\n <div>奖品已存放到你的账户</div>\n </div>\n )}\n </div>\n </div>\n\n {prize_data && prize_data.length > 0 && (\n <>\n <div className=\"current_stage\">{next_date}</div>\n <ListHeader text=\"抽奖已开启\" styles={{ margin: \"16px 0 18px\" }} />\n\n <div className=\"prize_list_container\">\n {prize_data.length > 0 &&\n prize_data.map((item, index) => {\n return (\n <div className=\"prize__item\" key={index}>\n <img\n className=\"prize__image\"\n src={item.img}\n alt={item.name}\n ></img>\n <div className=\"name__num\">\n <span>{item.name}</span>\n <span>({`*${item.num}`})</span>\n </div>\n </div>\n )\n })}\n </div>\n\n <a href=\"/blessingPreheat\" className=\"join__button\">\n 立即参与抽奖\n </a>\n\n <div className=\"prize__tip\">\n <div className=\"line\"></div>\n <span>中奖小tips</span>\n <div className=\"line\"></div>\n </div>\n <div className=\"blessing__des\">\n 积攒的福气值越高,中奖概率越大哦\n </div>\n <a className=\"to__preheat\" href=\"/invite\">\n 积攒更多福气值\n </a>\n </>\n )}\n {(!prize_data || prize_data.length === 0) && (\n <div className=\"active_over_container\">\n <p>AI充电节返场已开启</p>\n <p>狂欢不能停~</p>\n <a href=\"/blessingPreheat\" className=\"to_active\">\n 立即查看\n </a>\n </div>\n )}\n </div>\n )\n }\n}\nexport default BlessingGetPrize\n","import React, { Component } from \"react\"\nimport classnames from \"classnames\"\nimport \"./index.scss\"\n\nclass ListHeader extends Component {\n render() {\n const { text, size, styles, id } = this.props\n const cls = size ? `list-header--${size}` : \"\"\n return (\n <div id={id} className={classnames(\"list-header\", cls)} style={styles}>\n <i className=\"list-header__decorate\" data-position=\"left\"></i>\n {text ? (\n <h2 className=\"list-header__content\">{text}</h2>\n ) : (\n this.props.children\n )}\n <i className=\"list-header__decorate\" data-position=\"right\"></i>\n </div>\n )\n }\n}\n\nexport default ListHeader\n","import React, { Component } from \"react\"\nimport { http } from \"src/utils\"\nimport { Formik, Form, Field } from \"formik\"\nimport { Toast } from \"antd-mobile\"\nimport \"./index.scss\"\n\nclass AddressPopup extends Component {\n constructor(props) {\n super(props)\n this.state = {\n isLoading: false,\n addressInfo: {\n name: \"\",\n phone: \"\",\n address: \"\",\n },\n }\n }\n\n componentDidMount() {\n this.fetchUserAddress()\n }\n\n // 获取收货信息\n fetchUserAddress = () => {\n const { addressInfo } = this.state\n http.get(`${API.home}/sys/user_address_info`).then((res) => {\n const { code, data } = res.data\n if (code === 200) {\n this.setState({\n addressInfo: Object.assign({}, addressInfo, {\n name: data.name,\n phone: data.phone,\n address: data.address,\n }),\n isLoading: true,\n })\n }\n })\n }\n\n handleToSubmit = (params = {}) => {\n const { handleToHide } = this.props\n http.post(`${API.home}/sys/collect_info`, params).then((res) => {\n const { code, msg } = res.data\n if (code === 200) {\n handleToHide()\n } else {\n Toast.info(msg, 2, null, false)\n }\n })\n }\n\n render() {\n const { isLoading, addressInfo } = this.state\n const { tip, prize } = this.props\n return (\n <>\n {isLoading && (\n <Formik\n initialValues={{\n ...addressInfo,\n }}\n validate={({ name, phone, address }) => {\n const errors = {}\n\n if (!name) {\n errors.name = \"请输入收件人\"\n }\n if (!/^1[3-9]\\d{9}$/.test(phone)) {\n errors.phone = \"请填写正确格式的手机号\"\n }\n if (!address) {\n errors.address = \"请输入收货地址\"\n }\n\n return errors\n }}\n validateOnBlur={false}\n validateOnChange={false}\n onSubmit={(values) => {\n this.handleToSubmit(values)\n }}\n >\n {({ errors }) => (\n <Form className=\"address-form\">\n {prize ? (\n <p className=\"address__prize\">\n 您抽中了{prize}\n <span style={{ color: \"#FF4000\" }}>实物奖品</span>\n </p>\n ) : null}\n {tip ? (\n <p className=\"address-form__desc\">{tip}</p>\n ) : (\n <p className=\"address-form__desc\">\n 请及时填写收货信息,获得实物奖品后将第一时间为您邮寄\n </p>\n )}\n <Field name=\"name\">\n {({ field }) => (\n <div className=\"address-form__item\">\n <input\n {...field}\n className=\"address-form__ipt\"\n type=\"text\"\n placeholder=\"收件人\"\n />\n {errors.name && (\n <p className=\"address-form__tip\">{errors.name}</p>\n )}\n </div>\n )}\n </Field>\n <Field name=\"phone\">\n {({ field }) => (\n <div className=\"address-form__item\">\n <input\n {...field}\n className=\"address-form__ipt\"\n type=\"text\"\n placeholder=\"联系方式\"\n />\n {errors.phone && (\n <p className=\"address-form__tip\">{errors.phone}</p>\n )}\n </div>\n )}\n </Field>\n <Field name=\"address\">\n {({ field }) => (\n <div className=\"address-form__item\">\n <input\n {...field}\n className=\"address-form__ipt\"\n type=\"text\"\n placeholder=\"收货地址\"\n />\n {errors.address && (\n <p className=\"address-form__tip\">{errors.address}</p>\n )}\n </div>\n )}\n </Field>\n <button\n className=\"address-form__submit\"\n data-status=\"do\"\n type=\"submit\"\n >\n 提交\n </button>\n </Form>\n )}\n </Formik>\n )}\n </>\n )\n }\n}\n\nexport default AddressPopup\n"],"sourceRoot":""}