mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-07 15:45:08 +08:00
130 lines
2.6 KiB
JavaScript
130 lines
2.6 KiB
JavaScript
import request from '@/utils/request'
|
|
import { getRefreshToken } from '@/utils/auth'
|
|
import service from '@/utils/request'
|
|
|
|
// 登录方法
|
|
export function login(username, password, socialType, socialCode, socialState) {
|
|
const data = {
|
|
username,
|
|
password,
|
|
// 社交相关
|
|
socialType,
|
|
socialCode,
|
|
socialState
|
|
}
|
|
return request({
|
|
url: '/system/auth/login',
|
|
method: 'post',
|
|
data: data
|
|
})
|
|
}
|
|
|
|
// 获取用户详细信息
|
|
export function getInfo() {
|
|
return request({
|
|
url: '/system/auth/get-permission-info',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 退出方法
|
|
export function logout() {
|
|
return request({
|
|
url: '/system/auth/logout',
|
|
method: 'post'
|
|
})
|
|
}
|
|
|
|
// 社交授权的跳转
|
|
export function socialAuthRedirect(type, redirectUri) {
|
|
return request({
|
|
url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri,
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 社交快捷登录,使用 code 授权码
|
|
export function socialLogin(type, code, state) {
|
|
return request({
|
|
url: '/system/auth/social-login',
|
|
method: 'post',
|
|
data: {
|
|
type,
|
|
code,
|
|
state
|
|
}
|
|
})
|
|
}
|
|
|
|
// 获取登录验证码
|
|
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 相关 ==========
|
|
|
|
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: {
|
|
response_type: responseType,
|
|
client_id: clientId,
|
|
redirect_uri: redirectUri,
|
|
state: state,
|
|
auto_approve: autoApprove,
|
|
scope: JSON.stringify(scopes)
|
|
},
|
|
method: 'post'
|
|
})
|
|
}
|
|
|
|
export class socialBindLogin {
|
|
}
|