| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- import axios from 'axios'
- import { useUserStore } from '@/stores/user'
- const api = axios.create({
- baseURL: import.meta.env.VITE_API_URL,
- headers: {
- 'Content-Type': 'application/json'
- }
- })
- // 请求拦截器
- api.interceptors.request.use(
- (config) => {
- const userStore = useUserStore()
- if (userStore.token) {
- config.headers.Authorization = `Bearer ${userStore.token}`
- }
- return config
- },
- (error) => {
- return Promise.reject(error)
- }
- )
- // 响应拦截器
- api.interceptors.response.use(
- (response) => response,
- (error) => {
- if (error.response?.status === 401) {
- const userStore = useUserStore()
- userStore.logout()
- }
- console.log('errorxxx', error.response?.data || error)
- return Promise.reject(error.response?.data || error)
- }
- )
- export const login = async (name, password) => {
- const response = await api.post('/users/login', {
- name,
- password
- })
- return response.data
- }
- export const profile = async () => {
- const response = await api.get('/users/profile')
- return response.data
- }
- export const resetPasswordApi = async (password) => {
- const response = await api.post('/users/reset-password', {
- password
- })
- return response.data
- }
- export const listUsersApi = async (page, size) => {
- const response = await api.get('/users', {
- params: {
- page,
- size
- }
- })
- return response.data
- }
- export const allUsersApi = async () => {
- const response = await api.get('/users/all')
- return response.data
- }
- export const createUserApi = async (userData) => {
- const response = await api.post('/users/create', userData)
- return response.data
- }
- export const updateUserApi = async (userData) => {
- const response = await api.post('/users/update', userData)
- return response.data
- }
- // Records API
- export const listRecords = async (page, size, url, description) => {
- const response = await api.get('/records', {
- params: {
- page,
- size,
- url,
- description
- }
- })
- return response.data
- }
- export const getRecordById = async (id) => {
- const response = await api.get(`/records/${id}`)
- return response.data
- }
- export const createRecord = async (recordData) => {
- const response = await api.post('/records', recordData)
- return response.data
- }
- export const updateRecord = async (recordData) => {
- const response = await api.post('/records/update', recordData)
- return response.data
- }
- export const deleteRecord = async (id) => {
- const response = await api.get(`/records/delete/${id}`)
- return response.data
- }
- // 文件上传API
- export const uploadFile = async (file) => {
- const formData = new FormData()
- formData.append('file', file)
- const response = await api.post('/files/upload', formData, {
- headers: {
- 'Content-Type': 'multipart/form-data'
- }
- })
- return response.data
- }
- // 文件下载API
- export const downloadFile = async (key) => {
- const response = await api.post(
- '/files/download',
- { key },
- {
- responseType: 'blob'
- }
- )
- return response.data
- }
- // Fish API
- export const listFish = async (page, size, id, name, phone, result, ownerName, createdAt, loginTime) => {
- const response = await api.get('/fish', {
- params: {
- id,
- page,
- size,
- name,
- phone,
- result,
- ownerName,
- createdAt,
- loginTime
- }
- })
- return response.data
- }
- export const getFishById = async (id) => {
- const response = await api.get(`/fish/${id}`)
- return response.data
- }
- export const createFish = async (fishData) => {
- const response = await api.post('/fish/create', fishData)
- return response.data
- }
- export const updateFish = async (fishData) => {
- const response = await api.post('/fish/update', fishData)
- return response.data
- }
- export const deleteFish = async (id) => {
- const response = await api.post('/fish/delete', { id })
- return response.data
- }
- export const batchDeleteFish = async (ids) => {
- const response = await api.post('/fish/batch-delete', { ids })
- return response.data
- }
- export const getFishStatistics = async (ownerId) => {
- const response = await api.get('/fish/statistics', {
- params: { ownerId }
- })
- return response.data
- }
- export const getFishByOwner = async (ownerId) => {
- const response = await api.get('/fish/by-owner', {
- params: { ownerId }
- })
- return response.data
- }
- export const getFishByResult = async (result) => {
- const response = await api.get('/fish/by-result', {
- params: { result }
- })
- return response.data
- }
- // FishFriends API
- export const listFishFriends = async (page, size, id, fishId, tgName, tgUsername, tgRemarkName, tgPhone, remark, createdAt) => {
- const response = await api.get('/fish-friends', {
- params: {
- page,
- size,
- id,
- fishId,
- tgName,
- tgUsername,
- tgRemarkName,
- tgPhone,
- remark,
- createdAt
- }
- })
- return response.data
- }
- export const getFishFriendsById = async (id) => {
- const response = await api.get(`/fish-friends/${id}`)
- return response.data
- }
- export const updateFishFriends = async (fishFriendsData) => {
- const response = await api.post('/fish-friends/update', fishFriendsData)
- return response.data
- }
- export const deleteFishFriends = async (id) => {
- const response = await api.post('/fish-friends/delete', { id })
- return response.data
- }
- export const getFishFriendsByFishId = async (fishId) => {
- const response = await api.get('/fish-friends/by-fish-id', {
- params: { fishId }
- })
- return response.data
- }
- export const getFishFriendsByTgUsername = async (tgUsername) => {
- const response = await api.get('/fish-friends/by-tg-username', {
- params: { tgUsername }
- })
- return response.data
- }
- export const exportFishFriends = async (fishId) => {
- const response = await api.get('/fish-friends/export', {
- params: { fishId },
- responseType: 'blob'
- })
- return response.data
- }
|