// pages/changeMobile/changeMobile2.js
const utils = require('../../utils/util.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: '',
    mobile: '',
    smsCode: '',
    password: '',
    canSend: false, //是否可以发送手机验证码(true为不行，false为可以)
    time: 60, //倒计时
    timeText: '获取验证码', //倒计时文字
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      userInfo: utils.getInfo()
    })
  },

  //修改手机号码
  submitData() {
    let params = {
      reqChannel: 5,
      oriMobile: this.data.userInfo.mobile,
      mobile: utils.trimAll(this.data.mobile),
      smsCode: utils.trimAll(this.data.smsCode),
      password: utils.trimAll(this.data.password)
    }
    if (params.mobile === '') {
      utils.toast('手机号码不能为空')
      return
    }
    if (params.smsCode === '') {
      utils.toast('验证码不能为空')
      return
    }
    if (params.password === '') {
      utils.toast('密码不能为空')
      return
    }
    utils.axios({
      method: 'post',
      url: '/auth/comm/user/modifyMobile',
      data: params,
      sendBefore() {
        wx.showLoading({
          title: '修改提交中...',
          mask: true
        })
      },
      complete() {
        wx.hideLoading()
      },
      success: res => {
        let user = wx.getStorageSync('userInfo')
        user.mobile = params.mobile
        wx.setStorageSync('userInfo', user)
        this.toSuccess()
      }
    })
  },

  //获取验证码
  sendCode(e) {
    let params = {
      phoneNo: utils.trimAll(this.data.mobile),
    }
    if (params.phoneNo === '') {
      utils.toast('手机号码不能为空')
      return
    }
    if (!utils.testMobile(params.phoneNo)) {
      utils.toast('请填写正确的手机号码')
      return
    }
    utils.axios({
      method: 'post',
      url: '/sms/getSmscode',
      data: params,
      sendBefore() {
        wx.showLoading({
          title: '验证码发送中...',
          mask: true
        })
      },
      complete() {
        wx.hideLoading()
      },
      success: () => {
        this.countDown()
        utils.toast('发送成功')
      }
    })
  },

  //获取新手机号
  getMobile(e) {
    let mobile = e.detail.value
    this.setData({
      mobile
    })
  },

  //获取验证码
  getSmsCode(e) {
    let smsCode = e.detail.value
    this.setData({
      smsCode
    })
  },

  //获取密码
  getPwd(e) {
    let password = e.detail.value
    this.setData({
      password
    })
  },

  //修改完成
  toSuccess() {
    wx.navigateTo({
      url: '/pages/changeMobile/changeMobile3'
    })
  },

  //控制发送验证码按钮是否可以点击
  controlSend() {
    if (utils.testMobile(this.data.account)) {
      this.setData({
        canSend: false
      })
    } else {
      this.setData({
        canSend: true
      })
    }
  },

  //倒计时
  countDown() {
    let time = this.data.time
    this.setData({
      canSend: true
    })
    let clearTimer = setInterval(() => {
      if (time <= 0) {
        clearInterval(clearTimer)
        this.setData({
          time: 60,
          timeText: '重发验证码',
          canSend: false
        })
      } else {
        time--
        this.setData({
          time: time,
          timeText: time + '秒后可重发'
        })
      }
    }, 1000)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})