// components/login/login.js
const Util = require('../../utils/util.js');
const app = getApp();
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    loginTitle: {
      type: String,
      value: '请先授权登录',
    },
    loginMsg: {
      type: String,
      value: '为了更好的为您提供服务，请允许微信授权后再使用功能',
    },
    loginBtn:{
      type: String,
      value: '登 录',
    },
    showClose:{
      type:Boolean,
      value:false
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    canIUseGetUserProfile: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  lifetimes: {
    attached: function() {
      // 在组件实例进入页面节点树时执行
      if (wx.getUserProfile) {
        this.setData({
          canIUseGetUserProfile: true
        })
      }
    },
    detached: function() {
      // 在组件实例被从页面节点树移除时执行
    },
  },
  /**
   * 组件的方法列表
   */
  methods: {
    //隐藏弹框
    hideLogin() {
      this.setData({
        isShow: false
      })
    },
    //展示弹框
    showLogin() {
      this.setData({
        isShow: true
      })
    },
    getInfo: function (e) {
      let that = this;
      if (e) {
        wx.showLoading({
          title: '正在登录',
          mask:true,
        })
        app.getUserInfo(e,function (cb) {
          if (!Util.isEmpty(cb)) {
            wx.showToast({
              title: '登录成功',
            })
            that.hideLogin();
            that._refreshEvent();
          }
        });
      }
    },
    getUserProfile(e) {
      let that = this;
      // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
      // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
      wx.getUserProfile({
        desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
        success: (res) => {
          console.log("login",res)
          that.getInfo(res.userInfo);
        }
      })
    },
    getUserInfo(e) {
      // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
      console.log("login",e.detail)
      this.getInfo(e.detail.userInfo);
    },

    //回调
    _refreshEvent() {
      this.triggerEvent('refreshEvent')
    },
    //默认Tap事件，阻止开发工具警告消息
    true(){},
  }
})