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)
|
|
}
|
|
}
|