// pages/login/login.js
import WxValidate from '../../utils/wxValidate'
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    frameStyle: { useTop: true, name: '', leftArrow: true, useBar: false },
    // 主体高度
    infoHeight: '',
    form: {},
    // 用户类别
    typeList: [
      { label: '0', value: '管理用户' },
      { label: '1', value: '团队创建人' },
      { label: '2', value: '个人用户' }
    ],
  },
  initValidate() {
    const rules = { phone: { required: true, tel: true }, password: { required: true, } }
    // 验证字段的提示信息，若不传则调用默认的信息
    const messages = { phone: { required: '请输入账号', }, password: { required: '请输入密码', } };
    this.WxValidate = new WxValidate(rules, messages)
  },
  back: function () {
    wx.navigateBack({ url: '/pages/login/index' })
  },
  // 选择用户类别
  typeChange: function (e) {
    const that = this;
    let index = e.detail.value;
    let data = that.data.typeList[index];
    if (data) that.setData({ 'form.type': data.label });
    that.setData({ 'form.type_name': data.value });
  },
  // 提交登录
  onSubmit: function (e) {
    const that = this;
    const params = e.detail.value;
    if (!this.WxValidate.checkForm(params)) {
      const error = this.WxValidate.errorList[0];
      wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
      return false
    } else {
      if (params.password !== params.is_password) {
        wx.showToast({ title: '密码输入不一致', duration: 2000, icon: 'error', })
      } else {
        wx.request({
          url: `${app.globalData.publicUrl}/courtAdmin/api/user`, //接口地址
          method: 'post',
          data: params,
          success(res) {
            if (res.data.errcode == 0) {
              wx.showToast({
                title: '注册账号成功',
                duration: 2000,
                icon: 'success',
                success: (res) => { that.back() }
              })
            } else {
              wx.showToast({ title: res.data.errmsg, icon: 'error', duration: 2000 })
            }
          }
        })
      }
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //验证规则函数
    this.initValidate()
    // 计算高度
    this.searchHeight()
  },
  // 计算高度
  searchHeight: function () {
    let frameStyle = this.data.frameStyle;
    let client = app.globalData.client;
    let infoHeight = client.windowHeight;
    // 是否去掉状态栏
    if (frameStyle.useTop) infoHeight = infoHeight - (client.statusBarHeight + client.getMenu.height + (client.getMenu.top - client.statusBarHeight) * 2);
    // 是否减去底部菜单
    if (frameStyle.useBar) infoHeight = infoHeight - 50;
    if (infoHeight) this.setData({ infoHeight: infoHeight })
  },

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

  },

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

  },

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

  },

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

  },

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

  },

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

  },

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

  }
})