user.js 2.17 KB
import request from '@/utils/request'
import { encryptedData } from '@/utils/encrypt'
import { loginRSA, tokenName } from '@/config'

export async function login(data) {
  const params = {
    password: data.password,
    username: data.username,
    verificationCode: data.verificationCode,
    verificationKey: data.verificationKey,
  }
  const tenantId = data.tenantId
  if (loginRSA) {
    const { password } = params
    params['password'] = await encryptedData(password)
  }
  return request({
    url: `${context.auth}/auth?tenantId=${tenantId || '-1'}`,
    method: 'post',
    data: params,
  })
}

export async function scanLogin(data) {
  return request({
    url: `${context.auth}/auth/scanLogin?code=${data.code}&type=${data.type}&redirectUri=${data.redirectUri}&tenantId=${data.tenantId}`,
    method: 'get',
    data,
  })
}

export async function ssoLogin(data) {
  let url = ''
  if (window.ssoConfig.mode == 'cas') {
    url = `${context.auth}/sso/auth?ssoMode=cas&ticket=${data.ticket}&service=${data.service}`
  } else if (window.ssoConfig.mode == 'oauth') {
    url = `${context.auth}/sso/auth?ssoMode=oauth&code=${data.code}&service=${data.service}`
  } else {
    console.error('当前非单点登录模式,不能请求后台单点登录接口。')
  }
  return request({
    url,
  })
}

export function getUserInfo(accessToken) {
  const params = {
    url: `${context.uc}/api/user/v1/user/getByAccount`,
    method: 'get',
  }
  if (accessToken) {
    params.headers = {
      Authorization: `Bearer ${accessToken}`,
    }
  }
  return request(params)
}

export function logout() {
  return request({
    url: `${context.auth}/signout`,
    method: 'get',
  })
}

// 通过 account 获取用户详细信息
export function getDetailByAccountOrId(account) {
  const url = `${context.uc}/api/user/v1/user/getDetailByAccountOrId`
  return request.post(url, {
    accountOrId: account,
  })
}

// 修改密码
export function updatePassword(data) {
  const url = `${context.uc}/api/user/v1/user/changUserPsd`
  return request.post(url, data)
}

//更新用户信息

export function userUpdateUser(data) {
  const url = `${context.uc}/api/user/v1/user/updateUser`
  return request.post(url, data)
}