6c6f690788
- 移除冗余依赖包 - 新增账号禁用校验与用户管理能力 - 新增文档下载与管理页面文件展示 - 新增API文档页面与用户管理前端页面 - 重构时区处理与docker-compose部署配置 - 完善测试用例与项目文档
66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
import http from './client'
|
|
|
|
/**
|
|
* 用户名密码登录
|
|
* @param {string} username
|
|
* @param {string} password
|
|
* @returns {Promise<{access_token:string, expires_in:number, user:{username:string, role:string, created_at:string}}>}
|
|
*/
|
|
export function login(username, password) {
|
|
return http.post('/api/v1/auth/login', { username, password })
|
|
}
|
|
|
|
/**
|
|
* 获取当前登录用户信息
|
|
* @returns {Promise<{username:string, role:string, created_at:string}>}
|
|
*/
|
|
export function me() {
|
|
return http.get('/api/v1/auth/me')
|
|
}
|
|
|
|
/**
|
|
* 列出全部用户(admin 专用)
|
|
* @returns {Promise<Array<{username:string, role:string, enabled:boolean, must_change_password:boolean, created_at:string}>>}
|
|
*/
|
|
export function listUsers() {
|
|
return http.get('/api/v1/auth/users')
|
|
}
|
|
|
|
/**
|
|
* 创建用户(admin 专用)
|
|
* @param {string} username
|
|
* @param {string} password
|
|
* @param {'admin'|'user'} [role='user']
|
|
*/
|
|
export function createUser(username, password, role = 'user') {
|
|
return http.post('/api/v1/auth/users', { username, password, role })
|
|
}
|
|
|
|
/**
|
|
* 更新用户角色 / 启用状态(admin 专用,至少传一项)
|
|
* @param {string} username
|
|
* @param {{ role?: 'admin'|'user', enabled?: boolean }} payload
|
|
*/
|
|
export function updateUser(username, payload) {
|
|
return http.patch(`/api/v1/auth/users/${encodeURIComponent(username)}`, payload)
|
|
}
|
|
|
|
/**
|
|
* 重置指定用户密码(admin 专用)
|
|
* @param {string} username
|
|
* @param {string} newPassword
|
|
*/
|
|
export function resetPassword(username, newPassword) {
|
|
return http.post(`/api/v1/auth/users/${encodeURIComponent(username)}/password`, {
|
|
new_password: newPassword
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 删除用户(admin 专用)
|
|
* @param {string} username
|
|
*/
|
|
export function deleteUser(username) {
|
|
return http.delete(`/api/v1/auth/users/${encodeURIComponent(username)}`)
|
|
}
|