148 lines
2.7 KiB
JavaScript
148 lines
2.7 KiB
JavaScript
/**
|
|
* 移动端认证接口 — 对接 Go /app/*
|
|
*/
|
|
import { request, requestRaw } from '@/api/request.js'
|
|
|
|
/** 账号密码登录 */
|
|
export function login(data) {
|
|
return request({
|
|
url: '/app/login',
|
|
method: 'POST',
|
|
data
|
|
})
|
|
}
|
|
|
|
/** 发送登录验证码(账号二次校验用,需后台开启验证) */
|
|
export function sendLoginCode(data) {
|
|
return request({
|
|
url: '/app/sendLoginCode',
|
|
method: 'POST',
|
|
data
|
|
})
|
|
}
|
|
|
|
/** 手机号验证码登录 */
|
|
export function loginBySms(data) {
|
|
return request({
|
|
url: '/app/loginBySms',
|
|
method: 'POST',
|
|
data
|
|
})
|
|
}
|
|
|
|
/** 退出登录(后端无状态,失败可忽略;短超时避免卡住) */
|
|
export function logoutApi(data = {}) {
|
|
return request({
|
|
url: '/app/logout',
|
|
method: 'POST',
|
|
data,
|
|
silent: true,
|
|
timeout: 5000
|
|
})
|
|
}
|
|
|
|
/** 当前用户信息 */
|
|
export function getCurrentUser() {
|
|
return request({
|
|
url: '/app/currentUser',
|
|
method: 'GET'
|
|
})
|
|
}
|
|
|
|
/** 是否开启登录人机/验证码校验 */
|
|
export function getOpenVerify() {
|
|
return request({
|
|
url: '/app/login/getOpenVerify',
|
|
method: 'GET',
|
|
silent: true,
|
|
timeout: 8000
|
|
})
|
|
}
|
|
|
|
/** 极验 3 配置 */
|
|
export function getGeetest3Infos() {
|
|
return request({
|
|
url: '/app/login/getGeetest3Infos',
|
|
method: 'GET',
|
|
silent: true
|
|
})
|
|
}
|
|
|
|
/** 极验 4 配置 */
|
|
export function getGeetest4Infos() {
|
|
return request({
|
|
url: '/app/login/getGeetest4Infos',
|
|
method: 'GET',
|
|
silent: true,
|
|
timeout: 8000
|
|
})
|
|
}
|
|
|
|
/** 注册 */
|
|
export function register(data) {
|
|
return request({
|
|
url: '/app/register',
|
|
method: 'POST',
|
|
data
|
|
})
|
|
}
|
|
|
|
/** 发送注册验证码 */
|
|
export function sendRegisterCode(data) {
|
|
return request({
|
|
url: '/app/sendRegisterCode',
|
|
method: 'POST',
|
|
data
|
|
})
|
|
}
|
|
|
|
/** 重置密码 */
|
|
export function resetPassword(data) {
|
|
return request({
|
|
url: '/app/resetPassword',
|
|
method: 'POST',
|
|
data
|
|
})
|
|
}
|
|
|
|
/** 验证租户和账号(找回密码第一步) */
|
|
export function verifyAccount(data) {
|
|
return request({
|
|
url: '/app/verifyAccount',
|
|
method: 'POST',
|
|
data
|
|
})
|
|
}
|
|
|
|
/** 发送找回密码验证码(找回密码第二步) */
|
|
export function sendResetCode(data) {
|
|
return request({
|
|
url: '/app/sendResetCode',
|
|
method: 'POST',
|
|
data
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 解析 getOpenVerify 返回的 label/value 列表
|
|
* @returns {Promise<{ openVerify: boolean, verifyType: string }>}
|
|
*/
|
|
export async function fetchVerifyConfig() {
|
|
try {
|
|
const data = await getOpenVerify()
|
|
const list = Array.isArray(data) ? data : []
|
|
const map = {}
|
|
list.forEach((item) => {
|
|
if (item && item.label) map[item.label] = item.value
|
|
})
|
|
return {
|
|
openVerify: map.openVerify === '1' || map.openVerify === 1,
|
|
verifyType: map.verifyType || ''
|
|
}
|
|
} catch {
|
|
return { openVerify: false, verifyType: '' }
|
|
}
|
|
}
|
|
|
|
export { requestRaw }
|