diff --git a/frontend/src/features/admin/index.ts b/frontend/src/features/admin/index.ts index f8d37ac..f13a825 100644 --- a/frontend/src/features/admin/index.ts +++ b/frontend/src/features/admin/index.ts @@ -1,11 +1,22 @@ // Admin 模块统一导出 -export * from './api/adminAuth' export * from './api/adminDashboard' export * from './api/adminUsers' export * from './api/adminMgr' -export * from './api/adminRoles' export * from './api/adminWallet' export * from './api/adminAudit' export * from './api/systemConfigs' export * from './composables/useAdminTable' export * from './composables/useAdminPaginatedTable' + +// adminAuth 和 adminRoles 都导出 AdminRole,需要显式导出避免冲突 +export { loginAdmin, logoutAdmin, fetchCurrentAdmin, type AdminUser } from './api/adminAuth' +export { + fetchRoles, + fetchRole, + createRole, + updateRole, + deleteRole, + fetchAllPermissions, + type AdminRole, + type Permission +} from './api/adminRoles' diff --git a/frontend/src/features/admin/views/AdminChatsView.vue b/frontend/src/features/admin/views/AdminChatsView.vue index fcd8d60..9f6740b 100644 --- a/frontend/src/features/admin/views/AdminChatsView.vue +++ b/frontend/src/features/admin/views/AdminChatsView.vue @@ -18,8 +18,8 @@ import { uploadAdminFile } from '@/shared/api/files' import ChatAttachmentImage from '@/components/ChatAttachmentImage.vue' import { useChatSSE, type ChatEvent } from '@/features/chats/composables/useChatSSE' import { formatDateMinute } from '@/utils/time' -import TransferDialog from './components/TransferDialog.vue' -import QuickReplyDialog from './components/QuickReplyDialog.vue' +import TransferDialog from '../components/TransferDialog.vue' +import QuickReplyDialog from '../components/QuickReplyDialog.vue' const currentAdminId = Number(localStorage.getItem('admin_id') || 0) diff --git a/frontend/src/features/admin/views/AdminMgrUsersView.vue b/frontend/src/features/admin/views/AdminMgrUsersView.vue index f3b585f..e96e0a1 100644 --- a/frontend/src/features/admin/views/AdminMgrUsersView.vue +++ b/frontend/src/features/admin/views/AdminMgrUsersView.vue @@ -6,8 +6,8 @@ import { fetchAdminMgrUsers, deleteAdminMgrUser, changeAdminPassword, type Admin import { useAdminPaginatedTable } from '@/features/admin/composables/useAdminPaginatedTable' import { formatDateTime } from '@/utils/time' -import AdminUserDialog from './components/AdminUserDialog.vue' -import AssignRolesDialog from './components/AssignRolesDialog.vue' +import AdminUserDialog from '../components/AdminUserDialog.vue' +import AssignRolesDialog from '../components/AssignRolesDialog.vue' const showDialog = ref(false) const editingAdmin = ref(null) diff --git a/frontend/src/features/admin/views/AdminRolesView.vue b/frontend/src/features/admin/views/AdminRolesView.vue index 5b78eee..95b5a57 100644 --- a/frontend/src/features/admin/views/AdminRolesView.vue +++ b/frontend/src/features/admin/views/AdminRolesView.vue @@ -5,8 +5,8 @@ import { ref } from 'vue' import { fetchRoles, deleteRole, type Role } from '@/features/admin/api/adminRoles' import { useAdminTable } from '@/features/admin/composables/useAdminTable' -import AssignPermissionsDialog from './components/AssignPermissionsDialog.vue' -import RoleDialog from './components/RoleDialog.vue' +import AssignPermissionsDialog from '../components/AssignPermissionsDialog.vue' +import RoleDialog from '../components/RoleDialog.vue' const showDialog = ref(false) const editingRole = ref(null) diff --git a/frontend/src/features/admin/views/AdminSystemConfigsView.vue b/frontend/src/features/admin/views/AdminSystemConfigsView.vue index 66d9724..1156e85 100644 --- a/frontend/src/features/admin/views/AdminSystemConfigsView.vue +++ b/frontend/src/features/admin/views/AdminSystemConfigsView.vue @@ -21,12 +21,12 @@ import { safeParseJSON } from '@/utils/json' import { formatSystemConfigSelectValue } from '@/utils/systemConfigOptions' // 导入重构后的 Dialog 子组件 -import PublishOptionsDialog from './components/PublishOptionsDialog.vue' -import SalePriceDialog from './components/SalePriceDialog.vue' -import HomeAnnouncementsDialog from './components/HomeAnnouncementsDialog.vue' -import HomeBannersDialog from './components/HomeBannersDialog.vue' -import GeneralConfigDialog from './components/GeneralConfigDialog.vue' -import AutoWelcomeConfig from './components/AutoWelcomeConfig.vue' +import PublishOptionsDialog from '../components/PublishOptionsDialog.vue' +import SalePriceDialog from '../components/SalePriceDialog.vue' +import HomeAnnouncementsDialog from '../components/HomeAnnouncementsDialog.vue' +import HomeBannersDialog from '../components/HomeBannersDialog.vue' +import GeneralConfigDialog from '../components/GeneralConfigDialog.vue' +import AutoWelcomeConfig from '../components/AutoWelcomeConfig.vue' const loading = ref(false) const configs = ref([]) diff --git a/frontend/src/features/auth/api/notifications.ts b/frontend/src/features/auth/api/notifications.ts index 91e3c57..67481dd 100644 --- a/frontend/src/features/auth/api/notifications.ts +++ b/frontend/src/features/auth/api/notifications.ts @@ -1,6 +1,6 @@ -import { apiClient } from './client' +import { apiClient } from '@/shared/api/client' -import type { ApiResponse, PaginatedResult } from './types' +import type { ApiResponse, PaginatedResult } from '@/shared/types/types' export interface NotificationItem { id: number diff --git a/frontend/src/features/auth/api/realname.ts b/frontend/src/features/auth/api/realname.ts index 8acc319..b31cab5 100644 --- a/frontend/src/features/auth/api/realname.ts +++ b/frontend/src/features/auth/api/realname.ts @@ -1,5 +1,5 @@ import { apiClient } from '@/shared/api/client' -import type { ApiResponse } from './types' +import type { ApiResponse } from '@/shared/types/types' import type { RealnameStatusValue } from '@/types/status' export interface RealnameStatus { diff --git a/frontend/src/features/disputes/api/disputes.ts b/frontend/src/features/disputes/api/disputes.ts index 99297f5..ecddc7b 100644 --- a/frontend/src/features/disputes/api/disputes.ts +++ b/frontend/src/features/disputes/api/disputes.ts @@ -1,6 +1,6 @@ -import { apiClient } from './client' +import { apiClient } from '@/shared/api/client' -import type { ApiResponse, PaginatedResult } from './types' +import type { ApiResponse, PaginatedResult } from '@/shared/types/types' import type { DisputeStatus } from '@/types/status' export interface Dispute { diff --git a/frontend/src/features/listings/views/HomeView.vue b/frontend/src/features/listings/views/HomeView.vue index ab5301d..29abf18 100644 --- a/frontend/src/features/listings/views/HomeView.vue +++ b/frontend/src/features/listings/views/HomeView.vue @@ -13,12 +13,12 @@ import { } from '@/features/listings/api/listingOptions' import { useHomeFilters } from '@/features/listings/composables/useHomeFilters' import { useListingQuery } from '@/features/listings/composables/useListingQuery' -import HomeAnnouncement from './components/HomeAnnouncement.vue' -import HomeBanner from './components/HomeBanner.vue' -import HomeStats from './components/HomeStats.vue' -import HomeFilters from './components/HomeFilters.vue' -import HomeZonesAndSort from './components/HomeZonesAndSort.vue' -import ListingCard from './components/ListingCard.vue' +import HomeAnnouncement from '../components/HomeAnnouncement.vue' +import HomeBanner from '../components/HomeBanner.vue' +import HomeStats from '../components/HomeStats.vue' +import HomeFilters from '../components/HomeFilters.vue' +import HomeZonesAndSort from '../components/HomeZonesAndSort.vue' +import ListingCard from '../components/ListingCard.vue' const announcements = ref(defaultHomeAnnouncements) const banners = ref(defaultHomeBanners)