nativeLogin.js 2.4 KB
import event from '../../utils/event.js'
import { getLoginButtonType } from '../../libs/login/login.js'
import Yas from '../../utils/yas';

let yas;

Page({

  /**
   * 页面的初始数据
   */
  data: {
    loginText: '微信登录',
    loginButtonType: '',
    loginTips: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    yas = new Yas(this);
    yas.pageOpenReport();
    let that = this;
    event.one('user-login-success', () => {
      // 返回上一页
      this.goReferer(); // 如果不需要绑定手机则返回前一页
    });
    event.one('change-login-status', params => {
      that.setData({
        loginText: params.text || '微信登录',
        loginTips: params.tips || '',
        loginButtonType: params.openType || ''
      });
    });
    event.one('user-login-callback', this.loginCallback);
    event.one('user-get-phonenumber-error', this.getPhonenumberError);
  },

  getPhonenumberError(error) {
    if (error === 'getPhoneNumber:fail user deny') {
      error = '获取手机号失败, 请使用验证码登录';
    }

    let timeOut = 1000;

    if (error === 'getUserInfo:fail auth deny') {
      timeOut = 0;
    }

    setTimeout(() => {
      wx.navigateTo({
        url: `../login/index`,
      })
    }, timeOut);

    wx.showToast({
      title: error,
      duration: 3000,
      icon: 'none'
    });

  },

  loginCallback(res) {

  },

  goReferer() {
    console.log('执行返回');
    // 隐藏登录
    wx.navigateBack({
      delta: 1
    });
  },

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

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    const buttonType = getLoginButtonType();
    this.setData({
      loginButtonType: buttonType
    });
  },

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

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    event.remove('user-login-callback', this.loginCallback);
    event.remove('user-get-phonenumber-error', this.getPhonenumberError);
  },

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

  },

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

  },

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

  }
})