Files
ipms-sjy/yudao-ui-admin/src/api/login.js

149 lines
2.9 KiB
JavaScript
Raw Normal View History

import request from '@/utils/request'
import {getRefreshToken} from "@/utils/auth";
import service from "@/utils/request";
// 登录方法
export function login(username, password, code, uuid) {
const data = {
username,
password,
code,
uuid
}
return request({
2022-04-26 23:36:26 +08:00
url: '/system/auth/login',
method: 'post',
data: data
})
}
// 获取用户详细信息
export function getInfo() {
return request({
2022-04-26 23:36:26 +08:00
url: '/system/auth/get-permission-info',
method: 'get'
})
}
// 退出方法
export function logout() {
return request({
url: '/system/auth/logout',
method: 'post'
})
}
// 获取验证码
export function getCodeImg() {
return request({
url: '/system/captcha/get-image',
method: 'get',
timeout: 20000
})
}
// 社交授权的跳转
export function socialAuthRedirect(type, redirectUri) {
return request({
2022-04-26 23:36:26 +08:00
url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri,
method: 'get'
})
}
2022-04-26 23:36:26 +08:00
// 社交快捷登录,使用 code 授权码
export function socialQuickLogin(type, code, state) {
return request({
2022-04-26 23:36:26 +08:00
url: '/system/auth/social-quick-login',
method: 'post',
data: {
type,
code,
state
}
})
}
2021-10-02 23:55:41 +08:00
2022-04-26 23:36:26 +08:00
// 社交绑定登录,使用 code 授权码 + + 账号密码
export function socialBindLogin(type, code, state, username, password) {
2021-10-02 23:55:41 +08:00
return request({
2022-04-26 23:36:26 +08:00
url: '/system/auth/social-bind-login',
2021-10-02 23:55:41 +08:00
method: 'post',
data: {
type,
code,
state,
username,
password
}
})
}
// 获取登录验证码
export function sendSmsCode(mobile, scene) {
return request({
url: '/system/auth/send-sms-code',
method: 'post',
data: {
mobile,
scene
}
})
}
// 短信验证码登录
export function smsLogin(mobile, code) {
return request({
url: '/system/auth/sms-login',
method: 'post',
data: {
mobile,
code
}
})
}
// 刷新访问令牌
export function refreshToken() {
return service({
url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken(),
method: 'post'
})
}
// ========== OAUTH 2.0 相关 ==========
2022-05-24 00:01:30 +08:00
export function getAuthorize(clientId) {
return request({
url: '/system/oauth2/authorize?clientId=' + clientId,
method: 'get'
})
}
export function authorize(responseType, clientId, redirectUri, state,
autoApprove, checkedScopes, uncheckedScopes) {
// 构建 scopes
const scopes = {};
for (const scope of checkedScopes) {
scopes[scope] = true;
}
for (const scope of uncheckedScopes) {
scopes[scope] = false;
}
// 发起请求
return service({
url: '/system/oauth2/authorize',
headers:{
'Content-type': 'application/x-www-form-urlencoded',
},
params: {
2022-05-24 00:01:30 +08:00
response_type: responseType,
client_id: clientId,
redirect_uri: redirectUri,
state: state,
auto_approve: autoApprove,
scope: JSON.stringify(scopes)
},
method: 'post'
})
}