login.js 3.16 KB
import request from './request'
import * as api from '@/common/api.js'

function pcLogin(data) {
  return request({
    url: '/login',
    method: 'post',
    params: data
  }).then((res) => {
    uni.setStorageSync('token', 'Bearer ' + res.data.token)
  }).then(getInfo)
}

function h5Login(userName) {
  return request({
    url: `/h5Login`,
    method: 'post',
    params: {
      username: userName
    }
  }).then((res) => {
    uni.setStorageSync('token', 'Bearer ' + res.data.token)
  }).then(getInfo)
}

function h5LoginAuto() {
  const userName = uni.getStorageSync('userName')
  if (userName) {
    return h5Login(userName)
  } else {
    uni.redirectTo({
      url: '/login/login'
    })
  }
}

function logout() {
  return request({
    url: '/logout',
    method: 'post'
  }).then(() => {
    uni.removeStorageSync('token')
    uni.removeStorageSync('userName')
  })
}

function getCodeImg() {
  return request({
    url: '/captchaImage',
    method: 'get'
  })
}

// 代退图形认证的获取手机验证码
function getSmsCode(data) {
  return request({
    // url: '/captchaSmsWithCaptchaImage',
    url: '/captchaSmsWithCaptchaImageForMiniApp',
    method: 'post',
    params: data
  })
}

function loginByPhone(phonenumber, code) {
  const data = {
    phonenumber,
    code
  }
  return request({
    url: '/userLoginByPhone',
    method: 'post',
    params: data
  }).then((res) => {
    uni.setStorageSync('token', 'Bearer ' + res.data.token)
  }).then(getInfo)
}

// 获取用户详细信息
function getInfo() {
  return request({
    url: '/getInfo',
    method: 'get'
  }).then(res => {
    const app = getApp()
    const user = res.data.user
    // const personInfo = res.data.personInfo
    uni.setStorageSync('userName', user.userName)
    // uni.setStorageSync('perId', personInfo.perId||-1)
    app.globalData.user = res.data.user
    app.globalData.deptType = user.dept.deptType
    app.globalData.genFlag = user.dept.genFlag
    // user.dept.deptType = '3'
    switch (user.dept.deptType) {
      case '1': // 中跆协
        app.globalData.userType = '1'
        break
      case '2': // 省
      case '3':
        app.globalData.userType = '2'
        break
      case '6': // 道馆
        app.globalData.userType = '4'
        break
      default: // 市、区
        app.globalData.userType = '3'
        break
    }

    app.globalData.userInfo = user
  })
}

// 团队会员用户注册接口
function groupMemberRegister(data) {
  return request({
    url: '/groupMemberRegister',
    method: 'post',
    params: data
  })
}
// 获取道馆信息
function getMyOwnMemberInfo() {
  return request({
    url: '/member/info/getMyOwnMemberInfo',
    method: 'get'
  }).then(res => {
    const app = getApp()
    app.globalData.authenticationStatus = res.data.authenticationStatus
    app.globalData.memberInfo = res.data.memberInfo
    app.globalData.isExam = res.data?.memberInfo?.isPoints
  })
}
export {
  pcLogin,
  getCodeImg,
  getSmsCode,
  h5Login,
  h5LoginAuto,
  loginByPhone,
  groupMemberRegister,
  getMyOwnMemberInfo,
  logout,
  getInfo
}