blessing-getPrize.4e976740.chunk.js.map 15.8 KB
Newer Older
dazhou committed
1
{"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":""}