From 262adf2a525eaa506244413a65e335a7e241de4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=84=E7=81=BF=E4=BC=9F?= <1445484116@qq.com>
Date: Mon, 1 Jun 2026 18:59:38 +0800
Subject: [PATCH] feat:zy
---
...256\344\270\216Vue\347\232\204CRUD.md.txt" | 287 ++++++++++++++++++
1 file changed, 287 insertions(+)
create mode 100644 "\351\273\204\347\201\277\344\274\237/2026.05.25-Mock\346\225\260\346\215\256\344\270\216Vue\347\232\204CRUD.md.txt"
diff --git "a/\351\273\204\347\201\277\344\274\237/2026.05.25-Mock\346\225\260\346\215\256\344\270\216Vue\347\232\204CRUD.md.txt" "b/\351\273\204\347\201\277\344\274\237/2026.05.25-Mock\346\225\260\346\215\256\344\270\216Vue\347\232\204CRUD.md.txt"
new file mode 100644
index 0000000..67ffa81
--- /dev/null
+++ "b/\351\273\204\347\201\277\344\274\237/2026.05.25-Mock\346\225\260\346\215\256\344\270\216Vue\347\232\204CRUD.md.txt"
@@ -0,0 +1,287 @@
+# Vue3 + Mock 模拟数据 + CRUD 完整实战笔记
+**适用场景**:前端独立开发、接口未就绪时模拟增删改查、本地测试业务逻辑
+**技术栈**:Vue3 + Vite + Mock.js + Element Plus
+
+## 一、环境搭建
+### 1. 创建/进入 Vue3 项目
+```bash
+# 已有项目直接跳过
+npm create vite@latest my-vue-crud -- --template vue
+cd my-vue-crud
+npm install
+```
+
+### 2. 安装依赖
+```bash
+# Mock 模拟数据
+npm install mockjs -S
+
+# UI 组件(CRUD 表格、表单)
+npm install element-plus -S
+```
+
+### 3. 全局注册 Element Plus
+`main.js`
+```js
+import { createApp } from 'vue'
+import App from './App.vue'
+// 引入 Element Plus
+import ElementPlus from 'element-plus'
+import 'element-plus/dist/index.css'
+
+const app = createApp(App)
+app.use(ElementPlus)
+app.mount('#app')
+```
+
+## 二、Mock 数据配置(核心)
+### 1. 创建 mock 文件夹
+```
+src/
+├─ mock/
+│ ├─ index.js # mock 入口
+│ └─ user.js # 用户模块 CRUD 数据
+```
+
+### 2. user.js(模拟用户接口 + 数据)
+```js
+import Mock from 'mockjs'
+
+// 生成 10 条模拟用户数据
+const userList = Mock.mock({
+ 'list|10': [
+ {
+ id: '@id', // 随机ID
+ name: '@cname', // 随机中文姓名
+ age: '@integer(18, 60)', // 18-60随机年龄
+ phone: /^1[3-9]\d{9}$/, // 手机号正则
+ email: '@email', // 邮箱
+ createTime: '@datetime' // 创建时间
+ }
+ ]
+})
+
+// ==================== 模拟接口 ====================
+// 1. 查询所有用户
+Mock.mock('/api/user/list', 'get', () => {
+ return {
+ code: 200,
+ data: userList.list,
+ message: '查询成功'
+ }
+})
+
+// 2. 新增用户
+Mock.mock('/api/user/add', 'post', (options) => {
+ const user = JSON.parse(options.body)
+ user.id = Mock.mock('@id')
+ user.createTime = Mock.mock('@datetime')
+ userList.list.unshift(user)
+ return { code: 200, message: '新增成功' }
+})
+
+// 3. 修改用户
+Mock.mock('/api/user/update', 'put', (options) => {
+ const user = JSON.parse(options.body)
+ const index = userList.list.findIndex(item => item.id === user.id)
+ if (index !== -1) userList.list[index] = user
+ return { code: 200, message: '修改成功' }
+})
+
+// 4. 删除用户
+Mock.mock(/\/api\/user\/delete/, 'delete', (options) => {
+ const id = options.url.split('/').pop()
+ userList.list = userList.list.filter(item => item.id !== id)
+ return { code: 200, message: '删除成功' }
+})
+```
+
+### 3. mock 入口文件
+`mock/index.js`
+```js
+import './user'
+console.log('✅ Mock 已启动,拦截接口请求')
+```
+
+### 4. 项目入口引入 mock
+`main.js`
+```js
+import './mock' // 只需要加这一行
+```
+
+> 说明:启动项目后,所有 `/api/xxx` 请求会被 Mock 拦截,无需后端
+
+## 三、CRUD 页面组件(完整代码)
+直接新建 `src/views/UserList.vue`,复制即可运行
+
+```vue
+
+
+
+
+ 新增用户
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确认
+
+
+
+
+
+
+```
+
+## 四、App.vue 挂载页面
+```vue
+
+
+
+
+
+```
+
+## 五、启动项目
+```bash
+npm run dev
+```
+
+打开浏览器即可看到:
+- 自动加载 Mock 模拟用户列表
+- 新增、编辑、删除、查询完整功能
+- 所有数据存在内存中,刷新重置
+
+---
+
+# 核心知识点总结
+## 1. Mock 作用
+- 拦截 Ajax/fetch 请求
+- 生成随机数据(ID、姓名、时间、手机号等)
+- 前端独立开发,不依赖后端接口
+
+## 2. CRUD 对应请求方式
+- 查询:`GET`
+- 新增:`POST`
+- 修改:`PUT`
+- 删除:`DELETE`
+
+## 3. Vue3 组合式 API 关键点
+- `ref`:定义响应式数据
+- `onMounted`:页面加载获取数据
+- 表单双向绑定:`v-model`
+- 异步请求:`async/await`
+
+## 4. 开发流程(通用模板)
+1. 定义数据列表
+2. 页面加载请求列表
+3. 新增/编辑弹窗 + 表单
+4. 提交(新增/修改)
+5. 删除确认
+6. 每次操作后刷新列表
+
+---
+
+### 总结
+这份笔记是 **Vue3 + Mock + CRUD 最精简可运行版**,2026 年通用前端模拟接口开发标准流程:
+- 无需后端、无需数据库、开箱即用
+- 适合课程作业、毕设、企业项目前期开发
+- 接口替换真实地址即可直接上线(只需改请求 URL)
\ No newline at end of file
--
Gitee