import http from './http' export const getAdminUsers = (params) => http.get('/users', { params }) export const getAdminRoleOptions = () => http.get('/users/role-options') export const createAdminUser = (data) => http.post('/users', data) export const updateAdminUser = (id, data) => http.put(`/users/${id}`, data) export const updateAdminUserStatus = (id, status) => http.put(`/users/${id}/status`, { status }) export const resetAdminUserPassword = (id, data) => http.put(`/users/${id}/password`, data) export const deleteAdminUser = (id) => http.delete(`/users/${id}`) export const getMiniUsers = (params) => http.get('/mini-users', { params }) export const getMiniUserDetail = (id) => http.get(`/mini-users/${id}`) export const updateMiniUserStatus = (id, status) => http.put(`/mini-users/${id}/status`, { status }) export const getGuideUsers = (params) => http.get('/guide-users', { params }) export const getGuideUserDetail = (id) => http.get(`/guide-users/${id}`) export const updateGuideUserDetail = (id, data) => http.put(`/guide-users/${id}`, data) export const uploadGuideUserAvatar = (id, file) => { const data = new FormData() data.append('file', file) return http.post(`/guide-users/${id}/avatar`, data) } export const uploadGuideUserDocument = (id, documentType, file) => { const data = new FormData() data.append('file', file) return http.post(`/guide-users/${id}/documents/${documentType}`, data) } export const getGuideUserDocumentBlob = async (documentUrl) => { const apiUrl = new URL(http.defaults.baseURL) const fileUrl = new URL(documentUrl, apiUrl.origin) if (fileUrl.origin !== apiUrl.origin || !fileUrl.pathname.startsWith('/uploads/guide-applications/')) { return null } const token = localStorage.getItem('admin_token') const response = await fetch(fileUrl, { headers: token ? { Authorization: `Bearer ${token}` } : {}, }) if (!response.ok) throw new Error('证件图片加载失败') return response.blob() } export const addGuideScenicConfig = (id, scenicSpotId) => http.post(`/guide-users/${id}/scenic-configs`, { scenicSpotId }) export const deleteGuideScenicConfig = (id, configId) => http.delete(`/guide-users/${id}/scenic-configs/${configId}`) export const createGuideUser = (data) => http.post('/guide-users', data) export const updateGuideUserStatus = (id, status) => http.put(`/guide-users/${id}/status`, { status }) export const updateGuideWhitelist = (id, enabled) => http.put(`/guide-users/${id}/whitelist`, { enabled }) export const updateGuidePremiumPermission = (id, enabled) => http.put(`/guide-users/${id}/premium-permission`, { enabled }) export const getGuideAutoDisableConfig = () => http.get('/guide-users/auto-disable/config') export const updateGuideAutoDisableConfig = (data) => http.put('/guide-users/auto-disable/config', data)