import request from '@/utils/request'
import config from '@/config'

// 客户端ID - 从配置文件获取或使用默认值
const clientId = config.clientId || 'e5cd7e4891bf95d1d19206ce24a7b32e'

// 登录方法
export function login(data) {
  const params = {
    ...data,
    clientId: data.clientId || clientId,
    grantType: data.grantType || 'password',
    tenantId: data.tenantId || '000000'
  }
  return request({
    'url': '/auth/login',
    headers: {
      isToken: false,
      isEncrypt: true,
      repeatSubmit: false
    },
    'method': 'post',
    'data': params
  })
}

// 获取用户详细信息
export function getInfo() {
  return request({
    'url': '/system/user/getInfo',
    'method': 'get'
  })
}

// 退出方法
export function logout() {
  return request({
    'url': '/auth/logout',
    'method': 'post'
  })
}

// 获取验证码
export function getCodeImg() {
  return request({
    'url': '/auth/code',
    headers: {
      isToken: false
    },
    method: 'get',
    timeout: 20000
  })
}

// 注册方法
export function register(data) {
  const params = {
    ...data,
    clientId: clientId,
    grantType: 'password'
  }
  return request({
    url: '/auth/register',
    headers: {
      isToken: false,
      isEncrypt: true,
      repeatSubmit: false
    },
    method: 'post',
    data: params
  })
}

// 获取租户列表
export function getTenantList(isToken) {
  return request({
    url: '/auth/tenant/list',
    headers: {
      isToken: isToken
    },
    method: 'get'
  })
}