120 lines
2.4 KiB
JavaScript
120 lines
2.4 KiB
JavaScript
/**
|
||
* 用户相关API接口
|
||
*/
|
||
|
||
import request from '@/utils/request.js'
|
||
import md5 from '@/utils/md5.js'
|
||
import { base64Encode } from '@/utils/base64.js'
|
||
|
||
/**
|
||
* 用户登录
|
||
* 使用password模式(无需验证码)
|
||
*/
|
||
export function login(data) {
|
||
// 构建URL参数
|
||
const params = {
|
||
tenantId: '000000',
|
||
username: data.username,
|
||
password: md5(data.password),
|
||
grant_type: 'password', // 使用password模式
|
||
scope: 'all',
|
||
type: 'account'
|
||
}
|
||
|
||
// 转换为URL查询字符串
|
||
const queryString = Object.keys(params)
|
||
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)
|
||
.join('&')
|
||
|
||
// 使用saber3客户端凭证
|
||
const basicAuth = 'Basic ' + base64Encode('saber3:saber3_secret')
|
||
|
||
return request.post(`/blade-auth/oauth/token?${queryString}`, null, {
|
||
header: {
|
||
'Authorization': basicAuth,
|
||
'Tenant-Id': '000000'
|
||
}
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 用户注册
|
||
*/
|
||
export function register(data) {
|
||
return request.post('/blade-system/user/register', {
|
||
tenantId: '000000',
|
||
userType: 2, // 2-app
|
||
account: data.account,
|
||
password: md5(data.password),
|
||
phone: data.phone,
|
||
realName: data.realName,
|
||
sex: data.sex,
|
||
code: data.code
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 获取验证码
|
||
*/
|
||
export function getCaptcha(phone) {
|
||
return request.post('/blade-auth/captcha/send', {
|
||
phone: phone
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 刷新Token
|
||
*/
|
||
export function refreshToken(refreshToken) {
|
||
return request.post('/blade-auth/oauth/token', {
|
||
tenantId: '000000',
|
||
refresh_token: refreshToken,
|
||
grant_type: 'refresh_token'
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 退出登录
|
||
*/
|
||
export function logout() {
|
||
return request.post('/blade-auth/logout')
|
||
}
|
||
|
||
export default {
|
||
login,
|
||
register,
|
||
getCaptcha,
|
||
refreshToken,
|
||
logout,
|
||
|
||
/**
|
||
* 获取用户信息
|
||
* @returns {Promise}
|
||
*/
|
||
getUserInfo() {
|
||
return request.get('/blade-system/user/info')
|
||
},
|
||
|
||
/**
|
||
* 修改密码
|
||
* @param {Object} data { oldPassword, newPassword, newPassword1 }
|
||
* @returns {Promise}
|
||
*/
|
||
updatePassword(data) {
|
||
return request.post('/blade-system/user/update-password', {
|
||
oldPassword: md5(data.oldPassword),
|
||
newPassword: md5(data.newPassword),
|
||
newPassword1: md5(data.newPassword1)
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 修改用户基本信息
|
||
* @param {Object} data 用户信息
|
||
* @returns {Promise}
|
||
*/
|
||
updateUserInfo(data) {
|
||
return request.post('/blade-system/user/update', data)
|
||
}
|
||
}
|