445e7ac290
- Fix token missing issue after email code registration/login - Add last login time update for code-based login - Support email login in addition to username login - Fix password login for code-registered users (allow setting password) - Fix referral code parameter passing from URL hash - Add email column to user management table - Improve profile page layout (align card heights, reorganize layout) - Add i18n support for Register Bonus, Referral Bonus, Code Lock Minutes, Code Max Attempts - Fix billing service add_credits to support reference_id parameter - Update password handling documentation
119 lines
2.2 KiB
JavaScript
119 lines
2.2 KiB
JavaScript
import request from '@/utils/request'
|
|
|
|
/**
|
|
* Get security configuration (Turnstile, OAuth settings)
|
|
*/
|
|
export function getSecurityConfig () {
|
|
return request({
|
|
url: '/api/auth/security-config',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
/**
|
|
* User login
|
|
* @param {Object} data - { username, password, turnstile_token }
|
|
*/
|
|
export function login (data) {
|
|
return request({
|
|
url: '/api/auth/login',
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
/**
|
|
* User logout
|
|
*/
|
|
export function logout () {
|
|
return request({
|
|
url: '/api/auth/logout',
|
|
method: 'post'
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Get current user info
|
|
*/
|
|
export function getUserInfo () {
|
|
return request({
|
|
url: '/api/auth/info',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Send verification code
|
|
* @param {Object} data - { email, type, turnstile_token }
|
|
* type: 'register' | 'login' | 'reset_password' | 'change_password' | 'change_email'
|
|
*/
|
|
export function sendVerificationCode (data) {
|
|
return request({
|
|
url: '/api/auth/send-code',
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Login with email verification code (quick login)
|
|
* @param {Object} data - { email, code, turnstile_token }
|
|
*/
|
|
export function loginWithCode (data) {
|
|
return request({
|
|
url: '/api/auth/login-code',
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
/**
|
|
* User registration
|
|
* @param {Object} data - { email, code, username, password, turnstile_token }
|
|
*/
|
|
export function register (data) {
|
|
return request({
|
|
url: '/api/auth/register',
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Reset password
|
|
* @param {Object} data - { email, code, new_password, turnstile_token }
|
|
*/
|
|
export function resetPassword (data) {
|
|
return request({
|
|
url: '/api/auth/reset-password',
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Change password (for logged-in users)
|
|
* @param {Object} data - { code, new_password }
|
|
*/
|
|
export function changePassword (data) {
|
|
return request({
|
|
url: '/api/auth/change-password',
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Get Google OAuth URL
|
|
*/
|
|
export function getGoogleOAuthUrl () {
|
|
return `${process.env.VUE_APP_API_BASE_URL || ''}/api/auth/oauth/google`
|
|
}
|
|
|
|
/**
|
|
* Get GitHub OAuth URL
|
|
*/
|
|
export function getGitHubOAuthUrl () {
|
|
return `${process.env.VUE_APP_API_BASE_URL || ''}/api/auth/oauth/github`
|
|
}
|