riku
2022-10-17 eb7366f400867d3f401fe60f06d848d6d1448457
pages/m_user/userlogin/userlogin.js
@@ -1,29 +1,46 @@
// pages/m_user/userlogin/userlogin.js
const $f = require("../../../service//baserequest")
const userservice = require("../../../service/userservice")
import b_login from '../behaviors/b_login'
import $f from "../../../service//baserequest"
const app = getApp()
Page({
  behaviors: [b_login],
  /**
   * 页面的初始数据
   */
  data: {
    bgPath: $f.baseIconUrl + 'userlogin-1.png'
    bgPath: $f.baseIconUrl + 'userlogin-1.png',
    agree: false,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.getStorage({
      key: 'agree',
      success: (res) => {
        this.setData({
          agree: res.data
        })
      }
    })
    wx.getStorage({
      key: 'userProfile',
      success: (res) => {
        this.setData({
          userProfile: res.data
        })
      },
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    // this.login()
  },
  /**
@@ -34,111 +51,95 @@
  },
  loginWx() {
    var that = this
    wx.getUserProfile({
      lang: 'zh_CN',
      desc: '用于显示,提示用户当前已登录',
      success(res) {
        console.log(res);
        // wx.login({
        //   timeout: 10000,
        //   success: (result) => {
        //     console.log(result);
        //   },
        //   fail: (res) => {},
        //   complete: (res) => {},
        // })
    if (!this.waitAgree()) return
        that.login()
      }
    if (app.globalData.userProfile) {
      this.loginPw(app.globalData.userProfile)
    }else {
      wx.getUserProfile({
        lang: 'zh_CN',
        desc: '用于显示,提示用户当前已登录',
        success:(res)=> {
          console.log(res);
          wx.setStorage({
            data: res.userInfo,
            key: 'userProfile',
          })
          this.loginPw(res.userInfo)
        }
      })
    }
  },
  _onLoginFail(e) {
    this.gotoLogin(function () {
      wx.showToast({
        title: '未绑定账号',
        duration: 1000,
        icon: 'none',
      })
    })
  },
  login() {
    //获取缓存的用户账户密码
    var that = this
    wx.getStorage({
      key: 'accessToken',
      success(res) { //获取成功自动登录
        app.globalData.accessToken = res.data
        that.setData({
          userName: res.data.userName,
          password: res.data.password
        })
        wx.showLoading({
          title: '登录中',
          mask: true,
        })
        setTimeout(() => {
          wx.hideLoading()
        }, 10000);
        userservice.login(that.data.userName, that.data.password, {
          success(data) {
            if (data.success) {
              app.globalData.accessToken = {
                userName: that.data.userName,
                password: that.data.password,
                userId: data.userId,
                suserId: data.suserId,
              }
              wx.setStorage({
                key: 'accessToken',
                data: app.globalData.accessToken,
              })
              that.getUserInfo()
            } else {
              wx.showToast({
                title: '账户或密码错误',
                duration: 1000,
                icon: 'none',
              })
            }
          },
          complete() {
            that.setData({
              loading: false
            })
            wx.hideLoading()
          }
        })
      },
      fail(e) { //获取失败
        //后台查询微信是否绑定账号,未绑定则跳转注册界面
        wx.navigateTo({
          url: '/pages/m_user/userregistercompany/userregistercompany',
          success: (result) => {},
          fail: (res) => {},
          complete: (res) => {},
        })
      }
    })
  },
  getUserInfo() {
    userservice.getUserInfo(app.globalData.accessToken.userId, {
      success(data) {
        app.globalData.userInfo = data
        app.globalData.isLogin = true
        wx.setStorage({
          key: 'userInfo',
          data: data,
          success: (result) => {
            wx.switchTab({
              url: '/pages/home/home',
            })
          }
        })
      }
    })
  },
  gotoLogin() {
  gotoLogin(toast) {
    if (!this.waitAgree()) return
    wx.navigateTo({
      url: '/pages/m_user/userloginpw/userloginpw',
      success: (result) => {},
      success: (result) => {
        if (typeof toast === 'function') {
          toast()
        }
      },
      fail: (res) => {},
      complete: (res) => {},
    })
  },
  checkboxChange(e) {
    var a = !this.data.agree
    this.setData({
      agree: a
    })
    wx.setStorage({
      key: 'agree',
      data: a
    })
  },
  waitAgree() {
    if (this.data.agree) {
      return true
    } else {
      wx.showToast({
        title: '请先同意说明',
        icon: 'none'
      })
      return false
    }
  },
  gotoAgreement() {
    wx.showLoading({
      title: ' 打开中',
      mask: true,
    })
    wx.downloadFile({
      url: app.globalData.agreement,
      success: function (res) {
        wx.hideLoading()
        const filePath = res.tempFilePath
        wx.openDocument({
          filePath: filePath,
          success: function (res) {
            console.log('打开文档成功')
          },
          fail(error) {
            console.log(error);
          }
        })
      }
    })
  }
})