register.js 3.73 KB
let Date = require('../../utils/date.js');
let Utils = require('../../utils/util.js');

let app = getApp();
Page({
  data: {
    tipsRegisteredVisible: false,
    // form start
    name: "",
    mobile: "",
    verifyCode: "",
    birthday: "",
    password: "",
    sex: 0,
    isTerms: false,
    // form end
    auth_time: 0,
    sendAuthCode: true,
    /*布尔值,通过v-show控制显示‘获取按钮’还是‘倒计时’ */
  },
  onShareAppMessage() {},
  onLoad(options) {
    this.initData();
  },
  initData() {

  },
  showLog(msg) {
    wx.showToast({
      title: msg,
      icon: "none"
    })
  },
  doRegister() {
    this.checkForm().then((result) => {
      // 注册
      let data = {
        mobile: this.data.mobile,
        name: this.data.name,
        birthday: this.data.birthday,
        verifyCode: this.data.verifyCode,
      }
      app.post({
        url: app.api.register,
        data: data
      }).then((result) => {
        wx.showModal({
          title: "登陆成功",
          content: "继续生成我的心愿单",
          confirmText: "马上前往",
          showCancel: false,
          success(res) {
            app.router.push({
              openType: "reLaunch",
              path: "createWish"
            })
          }
        })
      });
    })
  },
  // 表单检查
  checkForm() {
    return new Promise((resolve, reject) => {
      if (!this.data.name) {
        this.showLog("请输入姓名");
        reject();
      } else if (!this.data.mobile) {
        this.showLog("请输入手机号码");
        reject();
      } else if (!Utils.checkMobile(this.data.mobile)) {
        this.showLog("请输正确手机号码");
        reject();
      } else if (!this.data.verifyCode) {
        this.showLog("请输入验证码");
        reject();
      } else if (!this.data.isTerms) {
        this.showLog("请同意服务条款");
        reject();
      } else {
        resolve();
      }
    });
  },
  // 是否同意条款
  onTermsHandler() {
    console.log("onTermsHandler");
    this.setData({
      isTerms: !this.data.isTerms
    })
  },
  // 跳转至会员条款
  onPolicyHandler() {

  },
  // 获取验证码
  reqGetSmsRequest() {
    if (!this.data.sendAuthCode) return;
    let mobile = this.data.mobile
    if (!mobile || !Utils.checkMobile(mobile)) {
      this.showLog("请输入正确的手机号码");
      return
    }
    this.getAuthCode();
    app.post({
      url: app.api.mobileVerifyCode,
      data: {
        mobile: mobile,
        forRegister: 1
      }
    }).then((result) => {
      wx.showToast({
        title: "短信发送成功",
        icon: "none"
      })
    });
  },
  // 倒数
  getAuthCode() {
    let _this = this;
    _this.setData({
      sendAuthCode: false,
      auth_time: 60
    })
    var auth_timetimer = setInterval(() => {
      _this.setData({
        auth_time: _this.data.auth_time - 1
      })
      if (_this.data.auth_time <= 0) {
        _this.setData({
          sendAuthCode: true
        });
        clearInterval(auth_timetimer)
      }
    }, 1000)
  },

  bindMobileInput(e) {
    this.setData({
      "mobile": e.detail.value
    })
  },
  bindNameInput(e) {
    this.setData({
      "name": e.detail.value
    })
  },
  bindBirthdayInput(e) {
    this.setData({
      "birthday": e.detail.value
    })
  },
  bindVerifyCodeInput(e) {
    this.setData({
      "verifyCode": e.detail.value
    })
  },
  bindBirthdayChange(e) {
    this.setData({
      birthday: e.detail.value
    })
  },
  // 子组件事件
  evtcomp(evt) {
    let {
      name,
      data
    } = evt.detail;
    switch (name) {

      case "_evt_hide_mask":
        this.setData({
          tipsRegisteredVisible: false
        })
        break;

      default:
        break;
    }
  },
})