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>} */ 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)}`) }