// index.js
// 获取应用实例
const app = getApp()
const formLayout = {
  fieldId: '101', //对应一级表单层级
  fieldName: '基本信息',
  formInfo: [    //每个层级下面 具体表单元素
    {
      label: '名字',//标题
      type: 'text', //表单类型 text,upload,picker,time
      id: 'input-name-form',   //表单id
      placeholder: '输入您的姓名',//设置文本框默认提示
      data: [], //填充表单的数据 例如下拉框
      role: {
        type: 'reg',
        value: '',//正则表达式
      },
      force: true,//是否必输入
    },
    {
      label: '手机号',//标题
      type: 'text', //表单类型 text,upload,picker,time
      id: 'input-id-form',   //表单id
      placeholder: '输入您的手机号',//设置文本框默认提示
      data: [], //填充表单的数据 例如下拉框
      role: {
        type: 'reg',
        formatter:(v)=>{
          let reg = /^1[3-9]\d{9}$/

          if (!reg.test(v)) return '手机号输入有误'

          return ''
        }
      },
      force: true,//是否必输入
    },
    {
      label: '性别',//标题
      type: 'picker', //表单类型 text,upload,picker,time
      id: 'input-sex-form',   //表单id
      inputValue:'男',
      placeholder: '输入您的姓名',//设置文本框默认提示
      data: [
        { value: 1, label: '男' },
        { value: 2, label: '女' },
      ], //填充表单的数据 例如下拉框
      role: {
        type: 'reg',
        value: '',//正则表达式
      },
      force: false,//是否必输入
    },
    {
      label: '上传',//标题
      type: 'upload', //表单类型 text,upload,picker,time
      id: 'input-sex-form',   //表单id
      inputValue:'男',
      placeholder: '输入您的姓名',//设置文本框默认提示
      data: [
        { value: 1, label: '男' },
        { value: 2, label: '女' },
      ], //填充表单的数据 例如下拉框
      role: {
        type: 'reg',
        value: '',//正则表达式
      },
      force: false,//是否必输入
    },
    {
      label: '选择日期',//标题
      type: 'datepicker', //表单类型 text,upload,picker,time
      id: 'input-sex-form',   //表单id
      inputValue:(new Date()).toISOString().split('T')[0],
      placeholder: '选择日期',//设置文本框默认提示
      role: {
        type: 'reg',
        value: '',//正则表达式
      },
      force: false,//是否必输入
    },
  ]
}
Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    canIUseGetUserProfile: false,
    canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName'), // 如需尝试获取用户信息可改为false
    formLayout
  },
  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log(res)
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
    console.log(e)
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})
