login-page.js 2.41 KB
// pages/login-page/login-page.js
import regeneratorRuntime from '../libs/regenerator-runtime/index.js';
import { getSettingPromise } from '../utils/index.js'
const event = global.event;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    openType: 'getUserInfo'
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.checkUnionId();
    event.on('wechat-login-success', this.loginSuccess);
    event.on('wechat-login-callback', this.loginCallback);
    event.on('wechat-login-change-status', this.loginChangeStatus);
    event.on('wechat-login-error', this.loginError);
  },

  async checkUnionId() {
    let union_id = wx.getStorageSync('union_id');
    let res = await getSettingPromise();

    if (res.authSetting["scope.userInfo"] !== null &&
      res.authSetting["scope.userInfo"] !== undefined &&
      res.authSetting["scope.userInfo"] === true) {
      if (union_id) {
        this.setData({
          openType: 'none-open-type',
        })
      } else {
        this.setData({
          openType: 'getUserInfo'
        })
      }
    } else {
      this.setData({
        openType: 'getUserInfo'
      })
    }
  },

  loginChangeStatus(params) {
    let { openType } = params;
    this.setData({
      openType
    })
  },

  loginCallback(params) {
    console.log(params);
  },

  loginSuccess(params) {
    console.log(params);
    this.goReferer();
  },

  loginError(error) {
    console.error(error);
  },

  goReferer() {
    wx.navigateBack({
      delta: 1
    });
  },

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

  },

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

  },

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

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    event.remove('wechat-login-success', this.loginSuccess);
    event.remove('wechat-login-callback', this.loginCallback);
    event.remove('wechat-login-change-status', this.loginChangeStatus);
    event.remove('wechat-login-error', this.loginError);
  },

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

  },

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

  },

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

  }
})