anxin-ruoyi/.kiro/specs/digital-credit-frontend/design.md
2025-12-23 18:33:17 +08:00

27 KiB
Raw Blame History

数字债权服务系统前端页面设计文档

概览

基于RuoYi-Vue3框架和数字债权服务系统的后端API接口设计完整的前端页面架构。系统将包含8个核心业务模块每个模块都有完整的CRUD页面、数据展示和交互功能确保用户能够高效地管理数字债权业务。

架构

基于RuoYi权限体系的架构

RuoYi权限集成架构
├── 权限API集成层
│   ├── 角色权限API: GET /dev-api/system/role/list
│   ├── 菜单权限API: GET /dev-api/system/menu/roleMenuTreeselect/{roleId}
│   ├── 权限数据缓存和同步机制
│   └── 权限变更实时通知
├── 业务角色映射层
│   ├── 安保公司 → RuoYi角色ID映射
│   ├── 甲方单位 → RuoYi角色ID映射
│   ├── 金融机构 → RuoYi角色ID映射
│   ├── 系统管理员 → RuoYi管理员角色
│   └── 平台运营 → RuoYi运营角色
└── 前端权限控制层
    ├── 页面访问权限控制
    ├── 功能按钮显示控制
    ├── 数据范围权限过滤
    └── 操作权限验证

RuoYi菜单配置结构

数字债权服务系统菜单配置 (在RuoYi菜单管理中配置)
├── 数字债权服务 (主菜单)
│   ├── 合同管理
│   │   ├── 合同列表 [security_company, client_company, administrator]
│   │   ├── 合同创建 [security_company, administrator]
│   │   ├── 合同上传 [security_company, administrator]
│   │   └── 合同确认 [client_company, administrator]
│   ├── 债权管理
│   │   ├── 债权列表 [security_company, financial_institution, administrator]
│   │   ├── 债权生成 [security_company, administrator]
│   │   ├── 债权验证 [all_roles]
│   │   └── 数字签名 [security_company, financial_institution, administrator]
│   ├── 融资管理
│   │   ├── 融资申请列表 [security_company, financial_institution, administrator]
│   │   ├── 融资申请 [security_company, administrator]
│   │   ├── 融资审批 [financial_institution, administrator]
│   │   └── 风险评估 [financial_institution, administrator]
│   ├── 支付结算
│   │   ├── 支付管理 [client_company, financial_institution, administrator]
│   │   ├── 支付处理 [client_company, administrator]
│   │   ├── 监管账户 [financial_institution, administrator]
│   │   └── 资金分配 [financial_institution, administrator]
│   ├── 区块链集成
│   │   ├── 区块链管理 [administrator, platform_operator]
│   │   ├── 数据上链 [administrator, platform_operator]
│   │   ├── 数据验证 [all_roles]
│   │   └── 智能合约 [administrator, platform_operator]
│   ├── 报表分析
│   │   ├── 仪表板 [all_roles] (个性化数据)
│   │   ├── 报表生成 [administrator, platform_operator]
│   │   ├── 财务报表 [相关方可访问]
│   │   └── 风险分析 [financial_institution, administrator]
│   ├── 安全管理
│   │   ├── 安全管理 [administrator]
│   │   ├── MFA设置 [all_roles] (个人设置)
│   │   └── 审计日志 [administrator]
│   └── 通知服务
│       ├── 通知管理 [administrator, platform_operator]
│       ├── 消息发送 [administrator, platform_operator]
│       ├── 消息模板 [administrator, platform_operator]
│       └── 投递状态 [administrator, platform_operator]

RuoYi角色配置

数字债权业务角色配置 (在RuoYi角色管理中配置)
├── 安保公司角色
│   ├── 角色名称:数字债权-安保公司
│   ├── 角色权限security_company
│   ├── 数据范围:仅本公司数据
│   ├── 菜单权限:合同管理、债权管理、融资管理、支付查看、报表查看
│   └── 按钮权限:创建、编辑、删除(限本公司数据)
├── 甲方单位角色
│   ├── 角色名称:数字债权-甲方单位
│   ├── 角色权限client_company
│   ├── 数据范围:相关合同数据
│   ├── 菜单权限:合同查看、支付管理、报表查看
│   └── 按钮权限:确认、支付、查看
├── 金融机构角色
│   ├── 角色名称:数字债权-金融机构
│   ├── 角色权限financial_institution
│   ├── 数据范围:融资相关数据
│   ├── 菜单权限:融资管理、风险评估、支付管理、报表分析
│   └── 按钮权限:审批、评估、资金管理
├── 系统管理员角色
│   ├── 角色名称:数字债权-系统管理员
│   ├── 角色权限administrator
│   ├── 数据范围:全部数据
│   ├── 菜单权限:所有模块
│   └── 按钮权限:所有操作
└── 平台运营角色
    ├── 角色名称:数字债权-平台运营
    ├── 角色权限platform_operator
    ├── 数据范围:平台级数据
    ├── 菜单权限:报表分析、通知服务、区块链管理
    └── 按钮权限:分析、通知、技术运维

页面模块架构

数字债权服务系统前端
├── 合同管理模块 (Contract Management) [安保公司主导,甲方单位参与]
│   ├── 合同列表页面 (ContractList.vue) [所有角色可访问,数据范围不同]
│   ├── 合同创建页面 (ContractCreate.vue) [仅安保公司]
│   ├── 合同详情页面 (ContractDetail.vue) [相关方可访问]
│   ├── 合同上传页面 (ContractUpload.vue) [安保公司、管理员]
│   └── 合同确认页面 (ContractConfirm.vue) [甲方单位、管理员]
├── 债权管理模块 (Credit Management) [安保公司主导,金融机构查看]
│   ├── 债权列表页面 (CreditList.vue) [安保公司、金融机构、管理员]
│   ├── 债权生成页面 (CreditGenerate.vue) [仅安保公司、管理员]
│   ├── 债权详情页面 (CreditDetail.vue) [相关方可访问]
│   ├── 债权验证页面 (CreditValidate.vue) [所有角色]
│   └── 数字签名页面 (CreditSignature.vue) [安保公司、金融机构、管理员]
├── 融资管理模块 (Financing Management) [安保公司申请,金融机构审批]
│   ├── 融资申请列表页面 (FinancingList.vue) [安保公司、金融机构、管理员]
│   ├── 融资申请页面 (FinancingApply.vue) [仅安保公司]
│   ├── 融资审批页面 (FinancingApprove.vue) [仅金融机构、管理员]
│   ├── 风险评估页面 (RiskAssessment.vue) [金融机构、管理员]
│   └── 利率信息页面 (InterestRate.vue) [安保公司、金融机构]
├── 支付结算模块 (Payment Settlement) [甲方单位主导,其他角色查看]
│   ├── 支付管理页面 (PaymentManagement.vue) [甲方单位、金融机构、管理员]
│   ├── 支付处理页面 (PaymentProcess.vue) [甲方单位、管理员]
│   ├── 监管账户页面 (EscrowAccount.vue) [金融机构、管理员]
│   ├── 资金分配页面 (FundDistribution.vue) [金融机构、管理员]
│   └── 支付历史页面 (PaymentHistory.vue) [相关方可访问]
├── 区块链集成模块 (Blockchain Integration) [技术模块,管理员和运营]
│   ├── 区块链管理页面 (BlockchainManagement.vue) [管理员、平台运营]
│   ├── 数据上链页面 (DataStorage.vue) [管理员、平台运营]
│   ├── 数据验证页面 (DataVerification.vue) [所有角色]
│   ├── 智能合约页面 (SmartContract.vue) [管理员、平台运营]
│   └── 交易查询页面 (TransactionQuery.vue) [所有角色]
├── 报表分析模块 (Report Analytics) [所有角色,数据范围不同]
│   ├── 仪表板页面 (Dashboard.vue) [所有角色,个性化数据]
│   ├── 报表生成页面 (ReportGenerate.vue) [管理员、平台运营]
│   ├── 财务报表页面 (FinancialReport.vue) [相关方可访问]
│   ├── 风险分析页面 (RiskAnalysis.vue) [金融机构、管理员]
│   └── 统计数据页面 (Statistics.vue) [管理员、平台运营]
├── 安全管理模块 (Security Management) [管理员专用]
│   ├── 安全管理页面 (SecurityManagement.vue) [仅管理员]
│   ├── MFA设置页面 (MFASettings.vue) [所有角色个人设置]
│   ├── 审计日志页面 (AuditLogs.vue) [仅管理员]
│   ├── 数据加密页面 (DataEncryption.vue) [管理员、平台运营]
│   └── 用户认证页面 (UserAuthentication.vue) [仅管理员]
└── 通知服务模块 (Notification Service) [管理员和运营主导]
    ├── 通知管理页面 (NotificationManagement.vue) [管理员、平台运营]
    ├── 消息发送页面 (MessageSend.vue) [管理员、平台运营]
    ├── 消息模板页面 (MessageTemplate.vue) [管理员、平台运营]
    ├── 投递状态页面 (DeliveryStatus.vue) [管理员、平台运营]
    └── 批量发送页面 (BatchSend.vue) [管理员、平台运营]

API服务架构

src/api/
├── system/
│   ├── role.js          # RuoYi角色权限API
│   └── menu.js          # RuoYi菜单权限API
├── credit/
│   ├── contract.js      # 合同管理API
│   ├── credit.js        # 债权管理API
│   └── financing.js     # 融资管理API
├── payment/
│   └── payment.js       # 支付结算API
├── blockchain/
│   └── blockchain.js    # 区块链集成API
├── reports/
│   └── reports.js       # 报表分析API
├── security/
│   └── security.js      # 安全管理API
└── notification/
    └── notification.js  # 通知服务API

路由权限控制架构

src/router/modules/
├── contract.js          # 合同管理路由 [security_company, client_company, administrator]
├── credit.js            # 债权管理路由 [security_company, financial_institution, administrator]
├── financing.js         # 融资管理路由 [security_company, financial_institution, administrator]
├── payment.js           # 支付结算路由 [client_company, financial_institution, administrator]
├── blockchain.js        # 区块链集成路由 [administrator, platform_operator]
├── reports.js           # 报表分析路由 [所有角色,数据范围不同]
├── security.js          # 安全管理路由 [administrator]
└── notification.js      # 通知服务路由 [administrator, platform_operator]

// 路由守卫配置
const routePermissions = {
  '/contract': ['security_company', 'client_company', 'administrator'],
  '/contract/create': ['security_company', 'administrator'],
  '/contract/confirm': ['client_company', 'administrator'],
  '/credit': ['security_company', 'financial_institution', 'administrator'],
  '/credit/generate': ['security_company', 'administrator'],
  '/financing': ['security_company', 'financial_institution', 'administrator'],
  '/financing/apply': ['security_company', 'administrator'],
  '/financing/approve': ['financial_institution', 'administrator'],
  '/payment': ['client_company', 'financial_institution', 'administrator'],
  '/payment/process': ['client_company', 'administrator'],
  '/blockchain': ['administrator', 'platform_operator'],
  '/reports': ['all'], // 所有角色可访问,但数据范围不同
  '/security': ['administrator'],
  '/notification': ['administrator', 'platform_operator']
}

组件和接口

核心页面组件

权限控制组件设计

RoleBasedAccess.vue (角色权限控制组件)
// 主要功能
- 基于用户角色控制页面访问
- 动态显示/隐藏功能按钮
- 数据范围权限过滤
- 操作权限验证

// 权限配置
const rolePermissions = {
  'security_company': {
    modules: ['contract', 'credit', 'financing', 'payment_view', 'report_view'],
    actions: ['contract_create', 'credit_generate', 'financing_apply'],
    dataScope: 'own_company'
  },
  'client_company': {
    modules: ['contract_view', 'payment', 'report_view'],
    actions: ['contract_confirm', 'payment_process'],
    dataScope: 'related_contracts'
  },
  'financial_institution': {
    modules: ['financing', 'risk_assessment', 'payment_manage', 'report_analytics'],
    actions: ['financing_approve', 'risk_assess', 'fund_distribute'],
    dataScope: 'financing_related'
  },
  'administrator': {
    modules: ['all'],
    actions: ['all'],
    dataScope: 'all'
  },
  'platform_operator': {
    modules: ['report_analytics', 'notification', 'blockchain'],
    actions: ['report_generate', 'message_send', 'blockchain_manage'],
    dataScope: 'platform_level'
  }
}

1. 合同管理模块组件

ContractList.vue (合同列表页面)
// 角色权限差异
- 安保公司显示自己创建的合同可创建编辑删除
- 甲方单位显示相关的合同可确认查看详情
- 金融机构显示融资相关的合同仅查看
- 管理员显示所有合同可执行所有操作
- 平台运营显示统计信息不能操作具体合同

// API调用基于角色
- GET /api/credit/contracts?role={userRole}&scope={dataScope}
- 数据过滤根据用户角色和数据权限范围过滤返回结果
ContractCreate.vue (合同创建页面)
// 访问权限
- 允许角色security_company, administrator
- 禁止角色client_company, financial_institution, platform_operator

// 功能差异
- 安保公司可创建与自己相关的合同
- 管理员可创建任意合同可指定合同双方
ContractConfirm.vue (合同确认页面)
// 访问权限
- 允许角色client_company, administrator
- 禁止角色security_company, financial_institution, platform_operator

// 功能差异
- 甲方单位只能确认与自己相关的合同
- 管理员可确认任意合同

2. 债权管理模块组件

CreditList.vue (债权列表页面)
// 角色权限差异
- 安保公司显示自己生成的债权可生成查看验证
- 金融机构显示融资申请相关的债权可查看验证
- 甲方单位显示相关合同的债权仅查看
- 管理员显示所有债权可执行所有操作

// 数据范围控制
- 根据用户角色过滤债权数据
- 敏感信息如数字签名根据权限显示
CreditGenerate.vue (债权生成页面)
// 访问权限
- 允许角色security_company, administrator
- 禁止角色client_company, financial_institution, platform_operator

// 合同选择范围
- 安保公司只能选择自己的已确认合同
- 管理员可选择任意已确认合同

3. 融资管理模块组件

FinancingList.vue (融资申请列表页面)
// 角色权限差异
- 安保公司显示自己的融资申请可申请查看状态
- 金融机构显示待审批和已审批的申请可审批评估
- 管理员显示所有申请可执行所有操作
- 其他角色无权访问
FinancingApply.vue (融资申请页面)
// 访问权限
- 允许角色security_company, administrator
- 债权选择范围只能选择自己的有效债权
FinancingApprove.vue (融资审批页面)
// 访问权限
- 允许角色financial_institution, administrator
- 审批权限金融机构只能审批分配给自己的申请

4. 支付结算模块组件

PaymentManagement.vue (支付管理页面)
// 角色权限差异
- 甲方单位显示自己的支付订单可处理支付
- 金融机构显示融资相关的支付可管理资金分配
- 安保公司显示收款记录仅查看
- 管理员显示所有支付可执行所有操作
PaymentProcess.vue (支付处理页面)
// 访问权限
- 允许角色client_company, administrator
- 支付范围甲方单位只能处理自己的待付款项

5. 区块链集成模块组件

BlockchainManagement.vue (区块链管理页面)
// 访问权限
- 允许角色administrator, platform_operator
- 功能差异
  - 管理员完全管理权限
  - 平台运营监控和维护权限不能修改配置
DataVerification.vue (数据验证页面)
// 访问权限
- 允许角色所有角色
- 验证范围根据角色限制可验证的数据类型

6. 报表分析模块组件

Dashboard.vue (仪表板页面)
// 个性化仪表板
- 安保公司合同统计债权概览融资状态
- 甲方单位支付提醒合同状态费用统计
- 金融机构融资概览风险分析收益统计
- 管理员系统概览用户活跃度业务统计
- 平台运营技术指标系统健康数据分析
ReportGenerate.vue (报表生成页面)
// 访问权限
- 允许角色administrator, platform_operator
- 报表类型根据角色提供不同的报表模板

7. 安全管理模块组件

SecurityManagement.vue (安全管理页面)
// 访问权限
- 允许角色administrator
- 功能用户管理权限配置安全策略
MFASettings.vue (MFA设置页面)
// 访问权限
- 允许角色所有角色个人设置
- 功能每个用户管理自己的MFA设置

8. 通知服务模块组件

NotificationManagement.vue (通知管理页面)
// 访问权限
- 允许角色administrator, platform_operator
- 功能差异
  - 管理员完全管理权限可发送系统通知
  - 平台运营业务通知管理不能发送系统级通知

数据模型

用户角色和权限模型

用户角色枚举

const UserRole = {
  SECURITY_COMPANY: 'security_company',      // 安保公司
  CLIENT_COMPANY: 'client_company',          // 甲方单位
  FINANCIAL_INSTITUTION: 'financial_institution', // 金融机构
  ADMINISTRATOR: 'administrator',            // 系统管理员
  PLATFORM_OPERATOR: 'platform_operator'    // 平台运营
}

权限数据模型

const PermissionModel = {
  userId: String,
  role: String,
  permissions: Array, // 具体权限列表
  dataScope: String,  // 数据访问范围
  companyId: String,  // 所属公司ID
  departmentId: String, // 所属部门ID
  createdAt: Date,
  updatedAt: Date
}

前端数据模型定义

合同数据模型

const ContractModel = {
  id: String,
  contractNumber: String,
  title: String,
  clientCompany: String,
  clientCompanyId: String,    // 甲方单位ID
  securityCompany: String,
  securityCompanyId: String,  // 安保公司ID
  amount: Number,
  startDate: Date,
  endDate: Date,
  status: String, // 'draft', 'pending', 'confirmed', 'completed'
  fileUrl: String,
  createdBy: String,          // 创建者ID
  createdByRole: String,      // 创建者角色
  createdAt: Date,
  updatedAt: Date,
  // 权限相关字段
  canEdit: Boolean,           // 当前用户是否可编辑
  canConfirm: Boolean,        // 当前用户是否可确认
  canDelete: Boolean          // 当前用户是否可删除
}

债权数据模型

const CreditModel = {
  id: String,
  creditNumber: String,
  contractId: String,
  contractNumber: String,
  securityCompanyId: String,  // 债权持有方
  amount: Number,
  issueDate: Date,
  maturityDate: Date,
  status: String, // 'generated', 'active', 'transferred', 'settled'
  digitalSignature: String,
  blockchainHash: String,
  createdAt: Date,
  // 权限相关字段
  canTransfer: Boolean,       // 当前用户是否可转让
  canValidate: Boolean,       // 当前用户是否可验证
  canView: Boolean            // 当前用户是否可查看详情
}

融资数据模型

const FinancingModel = {
  id: String,
  applicationNumber: String,
  creditId: String,
  applicantId: String,        // 申请方ID (安保公司)
  financialInstitutionId: String, // 金融机构ID
  requestedAmount: Number,
  approvedAmount: Number,
  interestRate: Number,
  term: Number,
  status: String, // 'pending', 'approved', 'rejected', 'disbursed'
  riskLevel: String, // 'low', 'medium', 'high'
  createdAt: Date,
  approvedAt: Date,
  approvedBy: String,         // 审批人ID
  // 权限相关字段
  canApprove: Boolean,        // 当前用户是否可审批
  canModify: Boolean,         // 当前用户是否可修改
  canCancel: Boolean          // 当前用户是否可取消
}

支付数据模型

const PaymentModel = {
  id: String,
  paymentNumber: String,
  amount: Number,
  paymentType: String, // 'contract_payment', 'financing_disbursement'
  payerId: String,            // 付款方ID
  payeeId: String,            // 收款方ID
  status: String, // 'pending', 'processing', 'completed', 'failed'
  escrowAccountId: String,
  transactionHash: String,
  createdAt: Date,
  completedAt: Date,
  // 权限相关字段
  canProcess: Boolean,        // 当前用户是否可处理
  canCancel: Boolean,         // 当前用户是否可取消
  canView: Boolean            // 当前用户是否可查看
}

角色仪表板数据模型

// 安保公司仪表板数据
const SecurityCompanyDashboard = {
  totalContracts: Number,
  activeCredits: Number,
  pendingFinancing: Number,
  totalRevenue: Number,
  recentActivities: Array,
  contractStatusChart: Object,
  monthlyTrend: Array
}

// 甲方单位仪表板数据
const ClientCompanyDashboard = {
  totalContracts: Number,
  pendingPayments: Number,
  paidAmount: Number,
  upcomingPayments: Array,
  paymentHistory: Array,
  contractStatusChart: Object
}

// 金融机构仪表板数据
const FinancialInstitutionDashboard = {
  pendingApplications: Number,
  approvedAmount: Number,
  totalLoans: Number,
  riskDistribution: Array,
  portfolioPerformance: Object,
  marketIndicators: Array
}

// 管理员仪表板数据
const AdminDashboard = {
  systemHealth: Object,
  userActivity: Object,
  transactionVolume: Object,
  securityEvents: Array,
  platformStatistics: Object,
  businessMetrics: Object
}

// 平台运营仪表板数据
const PlatformOperatorDashboard = {
  systemMetrics: Object,
  dataAnalytics: Object,
  notificationStats: Object,
  blockchainStatus: Object,
  performanceIndicators: Array
}

正确性属性

属性是一个特征或行为,应该在系统的所有有效执行中保持为真——本质上,是关于系统应该做什么的正式声明。属性作为人类可读规范和机器可验证正确性保证之间的桥梁。

属性 1: API调用一致性

对于任何页面组件和API调用前端发送的请求格式应该与后端API接口规范完全匹配 验证: 需求 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 8.1

属性 2: 数据展示完整性

对于任何API返回的数据页面应该正确解析并完整展示所有必要的业务信息 验证: 需求 1.5, 2.3, 3.3, 4.3, 5.3, 6.3, 7.3, 8.3

属性 3: RuoYi权限API集成一致性

对于任何权限相关的API调用前端应该正确调用RuoYi权限接口并正确处理返回的权限数据 验证: 需求 12.1, 12.2, 12.3

属性 4: 菜单配置完整性

对于任何数字债权业务功能应该在RuoYi菜单管理中有对应的菜单配置和权限设置 验证: 需求 11.1, 11.3

属性 5: 角色权限一致性

对于任何用户角色和页面访问显示的功能模块和操作按钮应该与RuoYi权限体系完全匹配 验证: 需求 10.1, 11.4

属性 6: 数据范围权限控制

对于任何用户查询请求,返回的数据应该严格限制在该用户的权限范围内 验证: 需求 10.3, 10.5

属性 7: 表单验证完整性

对于任何用户输入表单,应该进行完整的客户端验证并与服务端验证保持一致 验证: 需求 1.2, 2.2, 3.2, 4.2, 5.2, 6.2, 7.2, 8.2

属性 8: 错误处理一致性

对于任何API调用失败或异常情况页面应该提供统一的错误处理和用户提示 验证: 需求 9.2

属性 9: 响应式布局适配

对于任何屏幕尺寸和设备类型,页面布局应该自动调整并保持功能完整性 验证: 需求 9.1

属性 10: 数据状态同步

对于任何数据更新操作,页面显示的数据状态应该与服务端数据保持同步 验证: 需求 10.5

属性 9: 操作权限验证

对于任何用户操作请求,应该在前端进行权限预检查并与后端权限验证保持一致 验证: 需求 10.4

属性 10: 页面加载性能

对于任何页面访问请求,页面应该在合理时间内完成加载并提供良好的用户体验 验证: 需求 9.5

属性 11: 角色数据隔离

对于任何不同角色的用户,应该只能访问和操作与其角色相关的业务数据 验证: 需求 10.1, 10.3

属性 12: 路由权限守卫

对于任何页面路由访问,应该根据用户角色进行权限验证,未授权访问应被阻止 验证: 需求 10.2

属性 13: 权限数据同步一致性

对于任何权限数据变更前端权限控制应该与RuoYi后端权限数据保持实时同步 验证: 需求 11.3, 11.5

错误处理

1. API调用失败处理

  • 场景: 网络异常、服务器错误、超时等
  • 处理: 统一的错误提示组件,支持重试机制
  • 用户体验: 友好的错误信息,避免技术术语

2. 数据验证失败处理

  • 场景: 表单数据不符合要求
  • 处理: 实时验证提示,字段级错误显示
  • 用户体验: 清晰的验证规则说明

3. 权限不足处理

  • 场景: 用户访问无权限的功能
  • 处理: 隐藏功能按钮,显示权限说明
  • 用户体验: 引导用户联系管理员

4. 文件上传失败处理

  • 场景: 文件格式不支持、大小超限等
  • 处理: 上传前验证,进度显示,失败重试
  • 用户体验: 清晰的文件要求说明

测试策略

单元测试

  • 组件渲染测试:验证页面组件正确渲染
  • API调用测试验证API请求格式和响应处理
  • 数据处理测试:验证数据格式化和验证逻辑
  • 权限控制测试:验证基于角色的功能显示

集成测试

  • 页面流程测试:验证完整的业务操作流程
  • API集成测试验证前后端接口集成
  • 权限集成测试:验证权限控制的端到端流程
  • 数据同步测试:验证数据更新的实时同步

端到端测试

  • 用户场景测试:验证真实用户操作场景
  • 跨页面导航测试:验证页面间的导航和数据传递
  • 响应式测试:验证不同设备上的显示效果
  • 性能测试:验证页面加载和响应性能

属性基础测试

使用 Vitest 和 Vue Test Utils 进行属性基础测试,每个测试运行最少 100 次迭代以确保属性在各种输入下都成立。每个属性基础测试必须使用注释明确引用设计文档中的正确性属性。