feat(config): 按业务模块拆分 Mock 开关
用 VITE_MOCK_* 系列环境变量替换全局 VITE_USE_MOCK,各模块独立控制演示数据 启用,并新增 src/utils/mock-flags.ts 统一解析缺省值。文档库关闭演示库时 如实提示接口待接入,避免静默沿用本地数据或覆盖已保存内容。
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { unwrapApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse, PageResult } from '@/types/common'
|
||||
|
||||
@@ -11,7 +12,8 @@ import type {
|
||||
BackendPage,
|
||||
} from './types'
|
||||
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK !== 'false'
|
||||
// 审计日志当前只用于签署留痕,跟随签署工作台的开关;后续有独立页面时再拆出来。
|
||||
const useMockData = mockFlags.signing
|
||||
|
||||
function formatDateTime(value: string) {
|
||||
const date = new Date(value)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { unwrapApiResponse, unwrapNullableApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse, PageResult } from '@/types/common'
|
||||
|
||||
@@ -30,8 +31,7 @@ import type {
|
||||
UpdateRolePermissionPolicyRequest,
|
||||
} from './types'
|
||||
|
||||
// 仅显式开启 VITE_USE_MOCK=true 时使用演示数据,避免联调环境因未注入变量而误入 Mock 分支。
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK === 'true'
|
||||
const useMockData = mockFlags.documentPermissions
|
||||
|
||||
export const isPermissionMockEnabled = useMockData
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import axios from 'axios'
|
||||
|
||||
import { unwrapApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse, PageResult } from '@/types/common'
|
||||
|
||||
@@ -17,8 +18,7 @@ import type {
|
||||
TemplateVersionResponseDto,
|
||||
} from './types'
|
||||
|
||||
// 仅显式开启 VITE_USE_MOCK=true 时使用演示数据,避免联调环境因未注入变量而误入 Mock 分支。
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK === 'true'
|
||||
const useMockData = mockFlags.documents
|
||||
|
||||
export const isDocumentMockEnabled = useMockData
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { unwrapApiResponse, unwrapNullableApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse, PageResult } from '@/types/common'
|
||||
|
||||
@@ -13,8 +14,7 @@ import type {
|
||||
UpdateDepartmentRequest,
|
||||
} from './types'
|
||||
|
||||
// 仅显式开启 VITE_USE_MOCK=true 时使用演示数据,避免联调环境因未注入变量而误入 Mock 分支。
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK === 'true'
|
||||
const useMockData = mockFlags.organization
|
||||
|
||||
function getRecords(data: BackendCollection<OrganizationResponseDto>) {
|
||||
return Array.isArray(data) ? data : (data.records ?? data.items ?? data.content ?? [])
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import axios from 'axios'
|
||||
|
||||
import { unwrapApiResponse, unwrapNullableApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse, PageResult } from '@/types/common'
|
||||
|
||||
@@ -14,8 +15,7 @@ import type {
|
||||
UpdateApiPermissionRequest,
|
||||
} from './types'
|
||||
|
||||
// 仅显式开启 VITE_USE_MOCK=true 时使用演示权限目录。
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK === 'true'
|
||||
const useMockData = mockFlags.users
|
||||
|
||||
export const isApiPermissionMockEnabled = useMockData
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { unwrapApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse } from '@/types/common'
|
||||
|
||||
@@ -13,7 +14,7 @@ import type {
|
||||
ReportTasksQueryDto,
|
||||
} from './types'
|
||||
|
||||
export const isReportsMockEnabled = import.meta.env.VITE_USE_MOCK !== 'false'
|
||||
export const isReportsMockEnabled = mockFlags.reports
|
||||
|
||||
function compactQuery(values: object) {
|
||||
return Object.fromEntries(
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { unwrapApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse } from '@/types/common'
|
||||
|
||||
@@ -14,8 +15,7 @@ import type {
|
||||
UpdateRoleRequest,
|
||||
} from './types'
|
||||
|
||||
// 仅显式开启 VITE_USE_MOCK=true 时使用演示数据,避免联调环境因未注入变量而误入 Mock 分支。
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK === 'true'
|
||||
const useMockData = mockFlags.users
|
||||
|
||||
const fallbackColors = ['#6b5bd2', '#0e6e8c', '#0f9d6c', '#d9821f', '#c65d5d']
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
|
||||
import type { SystemSettingsResponse, UpdateSystemSettingsRequest } from './types'
|
||||
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK !== 'false'
|
||||
const useMockData = mockFlags.settings
|
||||
|
||||
const mockSettings: SystemSettingsResponse = {
|
||||
sections: [
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import axios from 'axios'
|
||||
|
||||
import { unwrapApiResponse, unwrapNullableApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse, PageResult } from '@/types/common'
|
||||
|
||||
@@ -22,8 +23,7 @@ import type {
|
||||
UserRolesUpdateRequest,
|
||||
} from './types'
|
||||
|
||||
// 仅显式开启 VITE_USE_MOCK=true 时使用演示数据,避免联调环境因未注入变量而误入 Mock 分支。
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK === 'true'
|
||||
const useMockData = mockFlags.users
|
||||
|
||||
export const isUserMockEnabled = useMockData
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import axios from 'axios'
|
||||
|
||||
import { unwrapApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
|
||||
import type {
|
||||
@@ -11,7 +12,7 @@ import type {
|
||||
SigningArtifact,
|
||||
} from './types'
|
||||
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK !== 'false'
|
||||
const useMockData = mockFlags.signing
|
||||
|
||||
type ArtifactCollection = SignArtifactResponseDto[] | ApiPageResponse<SignArtifactResponseDto>
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { getCampuses } from '@/api/management/organization'
|
||||
import { unwrapApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse } from '@/types/common'
|
||||
|
||||
@@ -18,7 +19,8 @@ import type {
|
||||
WorkbenchTodoTask,
|
||||
WorkbenchTrendPoint,
|
||||
} from './types'
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK !== 'false'
|
||||
|
||||
const useMockData = mockFlags.workbenchHome
|
||||
|
||||
interface MockCampusOverview {
|
||||
summary: WorkbenchOverviewResponse['summary']
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import axios from 'axios'
|
||||
|
||||
import { unwrapApiResponse } from '@/utils/api-response'
|
||||
import { mockFlags } from '@/utils/mock-flags'
|
||||
import { readLocalSigningTemplates } from '@/utils/mock-document-library'
|
||||
import { MOCK_STORAGE_KEYS, readMockState, writeMockState } from '@/utils/mock-storage'
|
||||
import { request } from '@/utils/request'
|
||||
@@ -35,7 +36,7 @@ import type {
|
||||
VisitType,
|
||||
} from './types'
|
||||
|
||||
const useMockData = import.meta.env.VITE_USE_MOCK !== 'false'
|
||||
const useMockData = mockFlags.signing
|
||||
|
||||
const mockPatients: PatientProfile[] = [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user