chore: 继续修复导入路径

- 修复 auth 和 disputes API 导入
- 修复所有 Vue 文件中剩余的 @/api/ 导入
- 修复 admin index.ts 类型导出冲突
- 修复组件相对路径导入

类型错误:135 → 129
This commit is contained in:
yml2213
2026-06-04 09:35:11 +08:00
parent 956c2eca91
commit 29e79ff835
9 changed files with 36 additions and 25 deletions
+13 -2
View File
@@ -1,11 +1,22 @@
// Admin 模块统一导出 // Admin 模块统一导出
export * from './api/adminAuth'
export * from './api/adminDashboard' export * from './api/adminDashboard'
export * from './api/adminUsers' export * from './api/adminUsers'
export * from './api/adminMgr' export * from './api/adminMgr'
export * from './api/adminRoles'
export * from './api/adminWallet' export * from './api/adminWallet'
export * from './api/adminAudit' export * from './api/adminAudit'
export * from './api/systemConfigs' export * from './api/systemConfigs'
export * from './composables/useAdminTable' export * from './composables/useAdminTable'
export * from './composables/useAdminPaginatedTable' 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'
@@ -18,8 +18,8 @@ import { uploadAdminFile } from '@/shared/api/files'
import ChatAttachmentImage from '@/components/ChatAttachmentImage.vue' import ChatAttachmentImage from '@/components/ChatAttachmentImage.vue'
import { useChatSSE, type ChatEvent } from '@/features/chats/composables/useChatSSE' import { useChatSSE, type ChatEvent } from '@/features/chats/composables/useChatSSE'
import { formatDateMinute } from '@/utils/time' import { formatDateMinute } from '@/utils/time'
import TransferDialog from './components/TransferDialog.vue' import TransferDialog from '../components/TransferDialog.vue'
import QuickReplyDialog from './components/QuickReplyDialog.vue' import QuickReplyDialog from '../components/QuickReplyDialog.vue'
const currentAdminId = Number(localStorage.getItem('admin_id') || 0) const currentAdminId = Number(localStorage.getItem('admin_id') || 0)
@@ -6,8 +6,8 @@ import { fetchAdminMgrUsers, deleteAdminMgrUser, changeAdminPassword, type Admin
import { useAdminPaginatedTable } from '@/features/admin/composables/useAdminPaginatedTable' import { useAdminPaginatedTable } from '@/features/admin/composables/useAdminPaginatedTable'
import { formatDateTime } from '@/utils/time' import { formatDateTime } from '@/utils/time'
import AdminUserDialog from './components/AdminUserDialog.vue' import AdminUserDialog from '../components/AdminUserDialog.vue'
import AssignRolesDialog from './components/AssignRolesDialog.vue' import AssignRolesDialog from '../components/AssignRolesDialog.vue'
const showDialog = ref(false) const showDialog = ref(false)
const editingAdmin = ref<AdminMgrUser | null>(null) const editingAdmin = ref<AdminMgrUser | null>(null)
@@ -5,8 +5,8 @@ import { ref } from 'vue'
import { fetchRoles, deleteRole, type Role } from '@/features/admin/api/adminRoles' import { fetchRoles, deleteRole, type Role } from '@/features/admin/api/adminRoles'
import { useAdminTable } from '@/features/admin/composables/useAdminTable' import { useAdminTable } from '@/features/admin/composables/useAdminTable'
import AssignPermissionsDialog from './components/AssignPermissionsDialog.vue' import AssignPermissionsDialog from '../components/AssignPermissionsDialog.vue'
import RoleDialog from './components/RoleDialog.vue' import RoleDialog from '../components/RoleDialog.vue'
const showDialog = ref(false) const showDialog = ref(false)
const editingRole = ref<Role | null>(null) const editingRole = ref<Role | null>(null)
@@ -21,12 +21,12 @@ import { safeParseJSON } from '@/utils/json'
import { formatSystemConfigSelectValue } from '@/utils/systemConfigOptions' import { formatSystemConfigSelectValue } from '@/utils/systemConfigOptions'
// 导入重构后的 Dialog 子组件 // 导入重构后的 Dialog 子组件
import PublishOptionsDialog from './components/PublishOptionsDialog.vue' import PublishOptionsDialog from '../components/PublishOptionsDialog.vue'
import SalePriceDialog from './components/SalePriceDialog.vue' import SalePriceDialog from '../components/SalePriceDialog.vue'
import HomeAnnouncementsDialog from './components/HomeAnnouncementsDialog.vue' import HomeAnnouncementsDialog from '../components/HomeAnnouncementsDialog.vue'
import HomeBannersDialog from './components/HomeBannersDialog.vue' import HomeBannersDialog from '../components/HomeBannersDialog.vue'
import GeneralConfigDialog from './components/GeneralConfigDialog.vue' import GeneralConfigDialog from '../components/GeneralConfigDialog.vue'
import AutoWelcomeConfig from './components/AutoWelcomeConfig.vue' import AutoWelcomeConfig from '../components/AutoWelcomeConfig.vue'
const loading = ref(false) const loading = ref(false)
const configs = ref<SystemConfig[]>([]) const configs = ref<SystemConfig[]>([])
@@ -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 { export interface NotificationItem {
id: number id: number
+1 -1
View File
@@ -1,5 +1,5 @@
import { apiClient } from '@/shared/api/client' import { apiClient } from '@/shared/api/client'
import type { ApiResponse } from './types' import type { ApiResponse } from '@/shared/types/types'
import type { RealnameStatusValue } from '@/types/status' import type { RealnameStatusValue } from '@/types/status'
export interface RealnameStatus { export interface RealnameStatus {
@@ -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' import type { DisputeStatus } from '@/types/status'
export interface Dispute { export interface Dispute {
@@ -13,12 +13,12 @@ import {
} from '@/features/listings/api/listingOptions' } from '@/features/listings/api/listingOptions'
import { useHomeFilters } from '@/features/listings/composables/useHomeFilters' import { useHomeFilters } from '@/features/listings/composables/useHomeFilters'
import { useListingQuery } from '@/features/listings/composables/useListingQuery' import { useListingQuery } from '@/features/listings/composables/useListingQuery'
import HomeAnnouncement from './components/HomeAnnouncement.vue' import HomeAnnouncement from '../components/HomeAnnouncement.vue'
import HomeBanner from './components/HomeBanner.vue' import HomeBanner from '../components/HomeBanner.vue'
import HomeStats from './components/HomeStats.vue' import HomeStats from '../components/HomeStats.vue'
import HomeFilters from './components/HomeFilters.vue' import HomeFilters from '../components/HomeFilters.vue'
import HomeZonesAndSort from './components/HomeZonesAndSort.vue' import HomeZonesAndSort from '../components/HomeZonesAndSort.vue'
import ListingCard from './components/ListingCard.vue' import ListingCard from '../components/ListingCard.vue'
const announcements = ref<string[]>(defaultHomeAnnouncements) const announcements = ref<string[]>(defaultHomeAnnouncements)
const banners = ref<HomeBannerSlide[]>(defaultHomeBanners) const banners = ref<HomeBannerSlide[]>(defaultHomeBanners)