import request from '@/http/request'
import { Base64 } from 'js-base64'

// 登录认证接口
export function login({ username, password, vercode, vercodeToken, googleCode }) {
  const data = {
    ia: Base64.encode(username), // 账号
    ip: Base64.encode(password), // 密码
    vc: Base64.encode(vercode), // 验证码值
    vt: Base64.encode(vercodeToken), // 验证码token
    mc: Base64.encode(googleCode), // 谷歌验证码
    lt: Base64.encode('WEB')
  }
  return request.request({
    url: '/api/anon/auth/validate',
    method: 'post',
    data: data
  }, true, false, false)
}

// 手机号登录认证接口
export function phoneLogin({ phone, code }) {
  const data = {
    phone: Base64.encode(phone), // 手机号
    code: Base64.encode(code), // 验证码
    lt: Base64.encode('WEB')
  }
  return request.request({
    url: '/api/anon/auth/phoneCode',
    method: 'post',
    data: data
  }, true, false, false)
}

// 获取图形验证码信息接口
export function vercode() {
  return request.request({ url: '/api/anon/auth/vercode', method: 'get' }, true, true, true)
}

// 获取当前用户信息
export function getCurrentUserInfo() {
  return request.request({
    url: '/api/current/user',
    method: 'get'
  })
}

// 发送短信验证接口
export function sendSmsCode({ phone, smsType, vercodeToken, vercode }) {
  const data = {
    phone: phone, // 手机号
    smsType: smsType,  // 短信类型
    vercodeToken: vercodeToken,  // 短信类型
    vercode: vercode  // 短信类型
  }
  return request.request({
    url: '/api/anon/sms/code',
    method: 'post',
    data: data
  }, true, true, false)
}

// 重置密码接口
export function retrieve({ phone, code, newPwd }) {
  const data = {
    phone: Base64.encode(phone), // 手机号
    code: Base64.encode(code), // 验证码
    newPwd: Base64.encode(newPwd) // 密码
  }
  return request.request({
    url: '/api/anon/cipher/retrieve',
    method: 'post',
    data: data
  }, true, true, false)
}

// 商户注册接口
export function register({ mchName, phone, code, confirmPwd, mchType, inviteCode }) {
  const data = {
    mchName: mchName, // 商户名
    phone: Base64.encode(phone), // 手机号
    code: Base64.encode(code), // 验证码
    confirmPwd: Base64.encode(confirmPwd), // 密码
    mchType: mchType,  // 商户类型
    inviteCode: inviteCode  // 邀请码
  }
  return request.request({
    url: '/api/anon/register/mchRegister',
    method: 'post',
    data: data
  }, true, true, false)
}

//QrCode 二维码登录
export function QrCodeLogin(params) {
  return request.request({
    url: '/api/anon/auth/qrcodeStatus',
    method: 'get',
    params
  })
}
// 获取上传 配置接口
export function $getUploadImgSize() {
  return request.request({
    url: '/api/defaultConfig',
    method: 'get'
  })
}