新增答辩用后台管理系统
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { post, get } from '@/api/request'
|
||||
|
||||
export interface LoginParams {
|
||||
username: string
|
||||
password: string
|
||||
}
|
||||
|
||||
export interface AuthResponse {
|
||||
token: string
|
||||
userId: number
|
||||
username: string
|
||||
roles: string[]
|
||||
permissions: string[]
|
||||
}
|
||||
|
||||
export function login(params: LoginParams): Promise<AuthResponse> {
|
||||
return post('/api/auth/login', params)
|
||||
}
|
||||
|
||||
export function register(data: any) {
|
||||
return post('/api/auth/register', data)
|
||||
}
|
||||
|
||||
export function logout() {
|
||||
return post('/api/auth/logout')
|
||||
}
|
||||
|
||||
export function getCurrentUser(): Promise<AuthResponse> {
|
||||
return get('/api/auth/me')
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
import { get, post } from '@/api/request'
|
||||
|
||||
export function getSignInRecords(params: any) {
|
||||
return get('/api/checkIn/records', params)
|
||||
}
|
||||
|
||||
export function getSignInRecordById(id: number) {
|
||||
return get(`/api/checkIn/records/${id}`)
|
||||
}
|
||||
|
||||
export function getSignInStatistics(params: any) {
|
||||
return get('/api/checkIn/statistics', params)
|
||||
}
|
||||
|
||||
export function getDailySignInStats(params: any) {
|
||||
return get('/api/checkIn/daily-stats', params)
|
||||
}
|
||||
|
||||
export function getAllSignInRecords(params: any) {
|
||||
return get('/api/checkIn/admin/records', params)
|
||||
}
|
||||
|
||||
export function getAllSignInStatistics(params: any) {
|
||||
return get('/api/checkIn/admin/statistics', params)
|
||||
}
|
||||
|
||||
export function checkIn(data: any) {
|
||||
return post('/api/checkIn', data)
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { get } from '@/api/request'
|
||||
|
||||
export function getStatisticsSummary(params?: any) {
|
||||
return get('/api/datacount/summary', params)
|
||||
}
|
||||
|
||||
export function getMemberStatistics(params?: any) {
|
||||
return get('/api/datacount/member', params)
|
||||
}
|
||||
|
||||
export function getBookingStatistics(params?: any) {
|
||||
return get('/api/datacount/booking', params)
|
||||
}
|
||||
|
||||
export function getSignInStatistics(params?: any) {
|
||||
return get('/api/datacount/signin', params)
|
||||
}
|
||||
|
||||
export function getHistoricalStatistics(params?: any) {
|
||||
return get('/api/datacount/history', params)
|
||||
}
|
||||
|
||||
export function getStatsOverview() {
|
||||
return get('/api/stats/overview')
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
import { get, post, put, del } from '@/api/request'
|
||||
import type { AxiosRequestConfig } from 'axios'
|
||||
import instance from '@/api/request'
|
||||
|
||||
export function uploadImage(file: File) {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
return instance.post('/api/upload/image', formData, {
|
||||
headers: { 'Content-Type': 'multipart/form-data' },
|
||||
}).then((res) => res.data)
|
||||
}
|
||||
|
||||
export function getPresignedUrl(ossKey: string) {
|
||||
return get<{ code: number; data: { presignedUrl: string } }>('/api/upload/presign', { key: ossKey })
|
||||
}
|
||||
|
||||
export function getGroupCoursesByPage(data: any) {
|
||||
return post('/api/groupCourse/page', data)
|
||||
}
|
||||
|
||||
export function getAllGroupCourses(includeDeleted?: boolean) {
|
||||
return get('/api/groupCourse/list', { includeDeleted: includeDeleted ? 'true' : 'false' })
|
||||
}
|
||||
|
||||
export function getGroupCourseById(id: number) {
|
||||
return get(`/api/groupCourse/${id}`)
|
||||
}
|
||||
|
||||
export function getGroupCourseDetailById(id: number) {
|
||||
return get(`/api/groupCourse/${id}/detail`)
|
||||
}
|
||||
|
||||
export function createGroupCourse(data: any) {
|
||||
return post('/api/groupCourse', data)
|
||||
}
|
||||
|
||||
export function updateGroupCourse(id: number, data: any, config?: AxiosRequestConfig) {
|
||||
return put(`/api/groupCourse/${id}`, data, config)
|
||||
}
|
||||
|
||||
export function deleteGroupCourse(id: number, config?: AxiosRequestConfig) {
|
||||
return del(`/api/groupCourse/${id}`, config)
|
||||
}
|
||||
|
||||
export function restoreGroupCourse(id: number, config?: AxiosRequestConfig) {
|
||||
return post(`/api/groupCourse/${id}/restore`, null, config)
|
||||
}
|
||||
|
||||
export function cancelGroupCourse(id: number) {
|
||||
return post(`/api/groupCourse/${id}/cancel`)
|
||||
}
|
||||
|
||||
export function searchGroupCourses(data: any) {
|
||||
return post('/api/groupCourse/search', data)
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
import { get, post, put, del } from '@/api/request'
|
||||
import type { AxiosRequestConfig } from 'axios'
|
||||
|
||||
export function getAllRecommendations(params?: any) {
|
||||
return get('/api/groupCourse/recommend/list', params)
|
||||
}
|
||||
|
||||
export function getAllActiveRecommendations() {
|
||||
return get('/api/groupCourse/recommend/active')
|
||||
}
|
||||
|
||||
export function getRecommendationById(id: number) {
|
||||
return get(`/api/groupCourse/recommend/${id}`)
|
||||
}
|
||||
|
||||
export function createRecommendation(data: any) {
|
||||
return post('/api/groupCourse/recommend', data)
|
||||
}
|
||||
|
||||
export function updateRecommendation(id: number, data: any, config?: AxiosRequestConfig) {
|
||||
return put(`/api/groupCourse/recommend/${id}`, data, config)
|
||||
}
|
||||
|
||||
export function deleteRecommendation(id: number, config?: AxiosRequestConfig) {
|
||||
return del(`/api/groupCourse/recommend/${id}`, config)
|
||||
}
|
||||
|
||||
export function enableRecommendation(id: number) {
|
||||
return post(`/api/groupCourse/recommend/${id}/enable`)
|
||||
}
|
||||
|
||||
export function disableRecommendation(id: number, config?: AxiosRequestConfig) {
|
||||
return post(`/api/groupCourse/recommend/${id}/disable`, null, config)
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
import { get, post, put, del } from '@/api/request'
|
||||
import type { AxiosRequestConfig } from 'axios'
|
||||
|
||||
export function getAllGroupCourseTypes() {
|
||||
return get('/api/groupCourse/types')
|
||||
}
|
||||
|
||||
export function getGroupCourseTypeById(id: number) {
|
||||
return get(`/api/groupCourse/types/${id}`)
|
||||
}
|
||||
|
||||
export function createGroupCourseType(data: any) {
|
||||
return post('/api/groupCourse/types', data)
|
||||
}
|
||||
|
||||
export function updateGroupCourseType(id: number, data: any, config?: AxiosRequestConfig) {
|
||||
return put(`/api/groupCourse/types/${id}`, data, config)
|
||||
}
|
||||
|
||||
export function deleteGroupCourseType(id: number, config?: AxiosRequestConfig) {
|
||||
return del(`/api/groupCourse/types/${id}`, config)
|
||||
}
|
||||
|
||||
export function getCategories() {
|
||||
return get('/api/groupCourse/types/categories')
|
||||
}
|
||||
|
||||
export function getAllLabels() {
|
||||
return get('/api/groupCourse/labels')
|
||||
}
|
||||
|
||||
export function createLabel(data: any) {
|
||||
return post('/api/groupCourse/labels', data)
|
||||
}
|
||||
|
||||
export function updateLabel(id: number, data: any) {
|
||||
return put(`/api/groupCourse/labels/${id}`, data)
|
||||
}
|
||||
|
||||
export function deleteLabel(id: number) {
|
||||
return del(`/api/groupCourse/labels/${id}`)
|
||||
}
|
||||
|
||||
export function getLabelsByTypeId(typeId: number) {
|
||||
return get(`/api/groupCourse/types/${typeId}/labels`)
|
||||
}
|
||||
|
||||
export function addLabelsToType(typeId: number, labelIds: number[]) {
|
||||
return post(`/api/groupCourse/types/${typeId}/labels`, { labelIds })
|
||||
}
|
||||
|
||||
export function removeLabelFromType(typeId: number, labelId: number) {
|
||||
return del(`/api/groupCourse/types/${typeId}/labels/${labelId}`)
|
||||
}
|
||||
|
||||
export function clearTypeLabels(typeId: number) {
|
||||
return del(`/api/groupCourse/types/${typeId}/labels`)
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import { get, post, put } from '@/api/request'
|
||||
|
||||
export function searchMembers(params: any) {
|
||||
return get('/api/admin/members', params)
|
||||
}
|
||||
|
||||
export function getAllMembers(params?: any) {
|
||||
return get('/api/admin/members/all', params)
|
||||
}
|
||||
|
||||
export function getMemberDetail(id: number) {
|
||||
return get(`/api/admin/member/${id}`)
|
||||
}
|
||||
|
||||
export function updateMember(id: number, data: any) {
|
||||
return put(`/api/admin/member/${id}`, data)
|
||||
}
|
||||
|
||||
export function updateMemberPhone(id: number, data: any) {
|
||||
return post(`/api/admin/member/${id}/phone`, data)
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
import { get, post, put, del } from '@/api/request'
|
||||
|
||||
export function getAllMemberCards() {
|
||||
return get('/api/member-cards/active')
|
||||
}
|
||||
|
||||
export function listMemberCards(params?: any) {
|
||||
return get('/api/member-cards', params)
|
||||
}
|
||||
|
||||
export function getMemberCardById(id: number) {
|
||||
return get(`/api/member-cards/${id}`)
|
||||
}
|
||||
|
||||
export function createMemberCard(data: any) {
|
||||
return post('/api/member-cards', data)
|
||||
}
|
||||
|
||||
export function updateMemberCard(id: number, data: any, params?: any) {
|
||||
return put(`/api/member-cards/${id}`, data, params ? { params } : undefined)
|
||||
}
|
||||
|
||||
export function deleteMemberCard(id: number, params?: any) {
|
||||
return del(`/api/member-cards/${id}`, params ? { params } : undefined)
|
||||
}
|
||||
|
||||
export function getMemberCardRecords(memberId: number) {
|
||||
return get(`/api/member-card-records/my-cards/${memberId}`)
|
||||
}
|
||||
|
||||
export function purchaseCard(data: any) {
|
||||
return post('/api/member-card-records/purchase', data)
|
||||
}
|
||||
|
||||
export function renewCard(recordId: number, data: any) {
|
||||
return post(`/api/member-card-records/${recordId}/renew`, data)
|
||||
}
|
||||
|
||||
export function useCard(recordId: number, data: any) {
|
||||
return post(`/api/member-card-records/${recordId}/use`, data)
|
||||
}
|
||||
|
||||
export function refundCard(recordId: number, data: any) {
|
||||
return post(`/api/member-card-records/${recordId}/refund`, data)
|
||||
}
|
||||
|
||||
export function getMemberCardTransactions(params: any) {
|
||||
return get('/api/member-card-transactions', params)
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { get, post, put, del } from '@/api/request'
|
||||
|
||||
export function getAllMenus() {
|
||||
return get('/api/menus')
|
||||
}
|
||||
|
||||
export function getMenuTree() {
|
||||
return get('/api/menus/tree')
|
||||
}
|
||||
|
||||
export function getMenuById(id: number) {
|
||||
return get(`/api/menus/${id}`)
|
||||
}
|
||||
|
||||
export function createMenu(data: any) {
|
||||
return post('/api/menus', data)
|
||||
}
|
||||
|
||||
export function updateMenu(id: number, data: any) {
|
||||
return put(`/api/menus/${id}`, data)
|
||||
}
|
||||
|
||||
export function deleteMenu(id: number) {
|
||||
return del(`/api/menus/${id}`)
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { get } from '@/api/request'
|
||||
|
||||
export function getOperationLogsByPage(params: any) {
|
||||
return get('/api/logs/operation/page', params)
|
||||
}
|
||||
|
||||
export function getAllOperationLogs() {
|
||||
return get('/api/logs/operation')
|
||||
}
|
||||
|
||||
export function getOperationLogById(id: number) {
|
||||
return get(`/api/logs/operation/${id}`)
|
||||
}
|
||||
|
||||
export function exportOperationLogs(params: any) {
|
||||
return get('/api/logs/operation/export', params)
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
import { get, post, put, del } from '@/api/request'
|
||||
import type { AxiosRequestConfig } from 'axios'
|
||||
|
||||
export function getRolesByPage(params: any) {
|
||||
return get('/api/roles/page', params)
|
||||
}
|
||||
|
||||
export function getAllRoles() {
|
||||
return get('/api/roles')
|
||||
}
|
||||
|
||||
export function getRoleById(id: number) {
|
||||
return get(`/api/roles/${id}`)
|
||||
}
|
||||
|
||||
export function createRole(data: any) {
|
||||
return post('/api/roles', data)
|
||||
}
|
||||
|
||||
export function updateRole(id: number, data: any, config?: AxiosRequestConfig) {
|
||||
return put(`/api/roles/${id}`, data, config)
|
||||
}
|
||||
|
||||
export function deleteRole(id: number, config?: AxiosRequestConfig) {
|
||||
return del(`/api/roles/${id}`, config)
|
||||
}
|
||||
|
||||
export function checkRoleName(name: string) {
|
||||
return get('/api/roles/check-name', { name })
|
||||
}
|
||||
|
||||
export function getRolePermissions(id: number) {
|
||||
return get(`/api/roles/${id}/permissions`)
|
||||
}
|
||||
|
||||
export function assignPermissionsToRole(id: number, permissionIds: number[], config?: AxiosRequestConfig) {
|
||||
return post(`/api/roles/${id}/permissions`, { permissionIds }, config)
|
||||
}
|
||||
|
||||
export function getAllPermissions() {
|
||||
return get('/api/permissions')
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
import { get, post, put, del } from '@/api/request'
|
||||
import type { AxiosRequestConfig } from 'axios'
|
||||
|
||||
export function getUsersByPage(params: any) {
|
||||
return get('/api/users/page', params)
|
||||
}
|
||||
|
||||
export function getAllUsers(params?: any) {
|
||||
return get('/api/users', params)
|
||||
}
|
||||
|
||||
export function getUserById(id: number) {
|
||||
return get(`/api/users/${id}`)
|
||||
}
|
||||
|
||||
export function createUser(data: any) {
|
||||
return post('/api/users', data)
|
||||
}
|
||||
|
||||
export function updateUser(id: number, data: any, config?: AxiosRequestConfig) {
|
||||
return put(`/api/users/${id}`, data, config)
|
||||
}
|
||||
|
||||
export function deleteUser(id: number, config?: AxiosRequestConfig) {
|
||||
return del(`/api/users/${id}`, config)
|
||||
}
|
||||
|
||||
export function changePassword(id: number, data: any) {
|
||||
return post(`/api/users/${id}/action/change-password`, data)
|
||||
}
|
||||
|
||||
export function getUserRoles(id: number) {
|
||||
return get(`/api/users/${id}/roles`)
|
||||
}
|
||||
|
||||
export function assignRoles(id: number, roleIds: number[], config?: AxiosRequestConfig) {
|
||||
return post(`/api/users/${id}/roles`, { roleIds }, config)
|
||||
}
|
||||
|
||||
export function checkUsername(username: string) {
|
||||
return get('/api/users/check/username', { username })
|
||||
}
|
||||
Reference in New Issue
Block a user