我是如何用Cursor在10分钟内实现项目管理Mock方案的

一、功能概述

本文详细介绍了如何在 Vue.js 项目中实现项目管理功能,并使其使用 Mock 数据,同时确保其他页面继续使用后端接口。主要涉及以下几个文件的修改:

  1. src/mock/project.ts - Mock 数据定义
  1. src/api/project.ts - API 调用修改
  1. src/views/project/ProjectList.vue - 项目管理页面

二、具体实现

1. Mock 数据定义 (src/mock/project.ts)

2. API 调用修改 (src/api/project.ts)

三、实现细节说明

1. Mock 数据实现

Mock 数据的实现主要包含三个部分:

  1. 静态数据:
  • 定义了基础的项目数据数组 mockProjects
  • 每个项目包含 id、projectNo、projectName、status 等字段
  • 使用 TypeScript 类型确保数据结构符合 Project 接口定义
  1. 列表查询功能:
  • mockGetProjectList 函数模拟了后端的分页查询
  • 支持按项目名称和编号进行筛选
  • 实现了分页逻辑,返回指定页码的数据
  • 使用 Promise 和 setTimeout 模拟网络延迟
  1. 新增功能:
  • mockAddProject 函数模拟了项目新增操作
  • 自动生成项目 ID 和创建时间
  • 将新项目添加到 mockProjects 数组中

2. API 层改造

API 层的改造采用了无缝切换的策略:

  1. 保持接口不变:
  • 维持原有的函数名和参数类型不变
  • 确保其他页面的调用方式不需要修改
  1. 切换数据源:
  • 将原有的 HTTP 请求替换为 Mock 数据调用
  • 保持返回数据格式与原接口一致

3. 页面实现

项目列表页面实现了完整的项目管理功能:

  1. 搜索功能:
  • 支持按项目名称和编号搜索
  • 实现了表单重置功能
  • 搜索条件变更时自动刷新列表
  1. 分页功能:
  • 支持页码切换和每页条数调整
  • 分页参数变更时自动刷新列表
  • 显示总记录数和跳转功能
  1. 新增功能:
  • 使用模态框实现新增表单
  • 包含必填字段验证
  • 提供表单重置和取消功能

四、注意事项

  1. 类型安全:
  • 使用 TypeScript 类型定义确保类型安全
  • 修复了 id 字段的类型问题(从 string 改为 number)
  1. 错误处理:
  • 添加了适当的错误处理和提示
  • 使用 i18n 支持错误消息国际化
  1. 性能考虑:
  • 添加了加载状态控制
  • 模拟了合理的网络延迟

五、总结

通过以上改造,我们实现了:

  1. 项目管理功能使用 Mock 数据,而其他页面继续使用后端接口
  1. 保持了良好的代码组织和类型安全
  1. 提供了完整的项目管理功能,包括查询、新增等
  1. 确保了系统其他部分不受影响

这种实现方式既满足了开发测试需求,又保证了系统的可维护性和扩展性。

相关推荐
花间相见1 小时前
【终端效率工具01】—— Yazi:Rust 编写的现代化终端文件管理器,告别繁琐操作
前端·ide·git·rust·极限编程
|晴 天|2 小时前
我如何用Vue 3打造一个现代化个人博客系统(性能提升52%)
前端·javascript·vue.js
风止何安啊2 小时前
网页都知道要双向握手才加载!从 URL 到页面渲染,单向喜欢连 DNS 都解析不通
前端·javascript·面试
太极OS2 小时前
给 AI Skill 做 CI/CD:GitHub + ClawHub + Xiaping 同步发布实战
前端
你_好2 小时前
Chrome 内置了 AI 工具协议?WebMCP 抢先体验 + 开源 DevTools 全解析
前端·mcp
GISer_Jing2 小时前
LangChain.js + LangGraph.js 前端AI开发实战指南
前端·javascript·langchain
正在发育ing__2 小时前
从源码看vue的key和状态错乱的patch
前端
yuqifang2 小时前
vue3+typescript+vite封装自己的UI组件库并上传至npm
vue.js·arkui
黄林晴2 小时前
第一次听到 Tauri 这个词,去学习一下
前端
可可爱爱的你吖2 小时前
蜂鸟云地图简单实现
前端