riku
2022-10-28 b45a01a8bee4a9bff5f9c248ead301b8675d1099
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()
  },
  /**
@@ -35,79 +52,91 @@
  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
    if (app.globalData.userProfile) {
      wx.requestSubscribeMessage({
        tmplIds: [
          '6JQFOJ12yBvKfRg_duSdwKiH5_J3LpICmz3Li-L1Cr8',
          'zPNMzF5WsshniJyl83DD-lDZtNvx7JyqLbKgqDl0qvU',
          'dqREi7vAd03OOirTgBGcm5aCihZJKBjVpiA8Kbu4B8w'
        ],
        success(res) {
          console.log(res);
        },
        fail(e) {
          console.log(e);
        },
        complete() {
          that.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)
        },
        complete() {
          wx.requestSubscribeMessage({
            tmplIds: [
              '6JQFOJ12yBvKfRg_duSdwKiH5_J3LpICmz3Li-L1Cr8',
              'zPNMzF5WsshniJyl83DD-lDZtNvx7JyqLbKgqDl0qvU',
              'dqREi7vAd03OOirTgBGcm5aCihZJKBjVpiA8Kbu4B8w'
            ],
            success(res) {
              console.log(res);
            },
            fail(e) {
              console.log(e);
            },
            complete() {
            }
          })
        }
      })
    }
        that.login()
      }
  },
  _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',
              })
  gotoLogin(toast) {
    if (!this.waitAgree()) return
    wx.requestSubscribeMessage({
      tmplIds: [
        '6JQFOJ12yBvKfRg_duSdwKiH5_J3LpICmz3Li-L1Cr8',
        'zPNMzF5WsshniJyl83DD-lDZtNvx7JyqLbKgqDl0qvU',
        'dqREi7vAd03OOirTgBGcm5aCihZJKBjVpiA8Kbu4B8w'
      ],
      success(res) {
        console.log(res);
      },
      fail(e) {
        console.log(e);
      },
      complete() {
        wx.navigateTo({
          url: '/pages/m_user/userloginpw/userloginpw',
          success: (result) => {
            if (typeof toast === 'function') {
              toast()
            }
          },
          complete() {
            that.setData({
              loading: false
            })
            wx.hideLoading()
          }
        })
      },
      fail(e) { //获取失败
        //后台查询微信是否绑定账号,未绑定则跳转注册界面
        wx.navigateTo({
          url: '/pages/m_user/userregistercompany/userregistercompany',
          success: (result) => {},
          fail: (res) => {},
          complete: (res) => {},
        })
@@ -115,30 +144,49 @@
    })
  },
  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',
            })
          }
        })
      }
  checkboxChange(e) {
    var a = !this.data.agree
    this.setData({
      agree: a
    })
    wx.setStorage({
      key: 'agree',
      data: a
    })
  },
  gotoLogin() {
    wx.navigateTo({
      url: '/pages/m_user/userloginpw/userloginpw',
      success: (result) => {},
      fail: (res) => {},
      complete: (res) => {},
  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);
          }
        })
      }
    })
  }
})