| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364 |
- 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
- }
- // 系统配置相关API
- export const listSysConfig = async (page = 0, size = 20, type) => {
- const params = { page, size }
- if (type) params.type = type
- const response = await api.get('/sys-config', { params })
- return response.data
- }
- export const createSysConfig = async (configData) => {
- const response = await api.post('/sys-config', configData)
- return response.data
- }
- export const updateSysConfig = async (name, configData) => {
- const response = await api.post(`/sys-config/update/${name}`, configData)
- return response.data
- }
- export const deleteSysConfig = async (name) => {
- const response = await api.post(`/sys-config/delete/${name}`)
- return response.data
- }
- export const getSysConfigByName = async (name) => {
- const response = await api.get(`/sys-config/${name}`)
- 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 uploadImage = async (file) => {
- const formData = new FormData()
- formData.append('file', file)
- const response = await api.post('/files/upload/image', 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
- }
- // ==================== 收入记录相关API ====================
- // 创建收入记录
- export const createIncome = async (incomeData) => {
- const response = await api.post('/income', incomeData)
- return response.data
- }
- // 获取收入记录列表
- export const listIncome = async (page = 0, size = 20, agentName, incomeType, startDate, endDate) => {
- const params = { page, size }
- if (agentName) params.agentName = agentName
- if (incomeType) params.incomeType = incomeType
- if (startDate) params.startDate = startDate
- if (endDate) params.endDate = endDate
- const response = await api.get('/income', { params })
- return response.data
- }
- // 获取单个收入记录
- export const getIncome = async (id) => {
- const response = await api.get(`/income/${id}`)
- return response.data
- }
- // 更新收入记录
- export const updateIncome = async (id, incomeData) => {
- const response = await api.put(`/income/${id}`, incomeData)
- return response.data
- }
- // 软删除收入记录
- export const deleteIncome = async (id) => {
- const response = await api.delete(`/income/${id}`)
- return response.data
- }
- // 永久删除收入记录
- export const hardDeleteIncome = async (id) => {
- const response = await api.delete(`/income/${id}/hard`)
- return response.data
- }
- // 获取收入统计数据
- export const getIncomeStatistics = async (startDate, endDate) => {
- const params = {}
- if (startDate) params.startDate = startDate
- if (endDate) params.endDate = endDate
- const response = await api.get('/income/statistics/summary', { params })
- return response.data
- }
- // ==================== 财务记录相关API ====================
- // 创建财务记录
- export const createFinance = async (financeData) => {
- const response = await api.post('/finance', financeData)
- return response.data
- }
- // 获取财务记录列表
- export const listFinance = async (page = 0, size = 20, status, paymentName, startDate, endDate) => {
- const params = { page, size }
- if (status) params.status = status
- if (paymentName) params.paymentName = paymentName
- if (startDate) params.startDate = startDate
- if (endDate) params.endDate = endDate
- const response = await api.get('/finance', { params })
- return response.data
- }
- // 获取单个财务记录
- export const getFinance = async (id) => {
- const response = await api.get(`/finance/${id}`)
- return response.data
- }
- // 更新财务记录
- export const updateFinance = async (id, financeData) => {
- const response = await api.put(`/finance/${id}`, financeData)
- return response.data
- }
- // 更新财务状态
- export const updateFinanceStatus = async (id, statusData) => {
- const response = await api.patch(`/finance/${id}/status`, statusData)
- return response.data
- }
- // 软删除财务记录
- export const deleteFinance = async (id) => {
- const response = await api.delete(`/finance/${id}`)
- return response.data
- }
- // 永久删除财务记录
- export const hardDeleteFinance = async (id) => {
- const response = await api.delete(`/finance/${id}/hard`)
- return response.data
- }
- // 获取财务统计数据
- export const getFinanceStatistics = async (startDate, endDate) => {
- const params = {}
- if (startDate) params.startDate = startDate
- if (endDate) params.endDate = endDate
- const response = await api.get('/finance/statistics/summary', { params })
- return response.data
- }
- // ==================== 团队相关API ====================
- // 创建团队
- export const createTeam = async (teamData) => {
- const response = await api.post('/teams', teamData)
- return response.data
- }
- // 获取团队列表
- export const listTeams = async (page = 0, size = 20, name) => {
- const params = { page, size }
- if (name) params.name = name
- const response = await api.get('/teams', { params })
- return response.data
- }
- // 获取单个团队
- export const getTeam = async (id) => {
- const response = await api.get(`/teams/${id}`)
- return response.data
- }
- // 更新团队
- export const updateTeam = async (id, teamData) => {
- const response = await api.put(`/teams/${id}`, teamData)
- return response.data
- }
- // 更新团队收入
- export const updateTeamRevenue = async (id, revenueData) => {
- const response = await api.patch(`/teams/${id}/revenue`, revenueData)
- return response.data
- }
- // 删除团队
- export const deleteTeam = async (id) => {
- const response = await api.delete(`/teams/${id}`)
- return response.data
- }
- // 重置今日收入
- export const resetAllTodayRevenue = async () => {
- const response = await api.post('/teams/reset-today-revenue')
- return response.data
- }
- // 获取团队统计数据
- export const getTeamStatistics = async () => {
- const response = await api.get('/teams/statistics/summary')
- return response.data
- }
- // ==================== 推广链接相关API ====================
- // 创建推广链接
- export const createLink = async (linkData) => {
- const response = await api.post('/links', linkData)
- return response.data
- }
- // 获取推广链接列表
- export const listLinks = async (page = 0, size = 20, name, type) => {
- const params = { page, size }
- if (name) params.name = name
- if (type) params.type = type
- const response = await api.get('/links', { params })
- return response.data
- }
- // 获取单个推广链接
- export const getLink = async (id) => {
- const response = await api.get(`/links/${id}`)
- return response.data
- }
- // 更新推广链接
- export const updateLink = async (id, linkData) => {
- const response = await api.put(`/links/${id}`, linkData)
- return response.data
- }
- // 删除推广链接
- export const deleteLink = async (id) => {
- const response = await api.delete(`/links/${id}`)
- return response.data
- }
- // 按类型获取推广链接
- export const getLinksByType = async (type) => {
- const response = await api.get(`/links/type/${type}`)
- return response.data
- }
- // 获取推广链接统计数据
- export const getLinkStatistics = async () => {
- const response = await api.get('/links/statistics/summary')
- return response.data
- }
|