diff --git "a/\351\237\246\346\230\214\345\235\244/2022-5-16.\345\210\240\351\231\244\344\270\216\345\210\267\346\226\260.md" "b/\351\237\246\346\230\214\345\235\244/2022-5-16.\345\210\240\351\231\244\344\270\216\345\210\267\346\226\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..a17d18c111fd67a7dd64d729b68e5b4d78e0f3f9 --- /dev/null +++ "b/\351\237\246\346\230\214\345\235\244/2022-5-16.\345\210\240\351\231\244\344\270\216\345\210\267\346\226\260.md" @@ -0,0 +1,121 @@ +## mockjs的封装 + +#### mock的modlue的data.js文件 + +``` +import { Random } from 'mockjs' +let arr = [] +//定义一个数组向arr中添加数据 +for (let i = 0; i < 10; i++) { + arr.push( + { + id: Random.uuid(),//以后经常用uuid,相当于无限 + categoryName: Random.cname(), + IsActived: Random.boolean(), + updatedTime: Random.datetime(), + remarks: Random.cparagraph(2), + } + ) +} +//显示列表数据 +export function getAll() { + return { + url: '/article/category', + type: 'get', + template: function () { + + return { + code: 1000, + data: arr, + msg: "获取数据成功!" + } + } + } +} +//删除指定数据 +export function deleted() { + return { + url: RegExp('/article/category' + '/*'),//正则获取url地址 + type: 'delete', + template: function(req) { + let id = req.url.replace('/article/category/', '')//获取id,切割前面多余的部分 + console.log(id); + return { + code: 1000, + data: { id }, + msg: "删除数据成功!" + } + } + } +} +``` + +### mock文件中的index.js + +``` +const { mock } = require("mockjs"); +// 找到mock下modules下的所有js文件 +let files= require.context("@/mock/module", true, /\.js$/).keys(); +files.forEach(item=>{ + // tmpFile是引入的模块,是一个对象,遍历这个对象的属性,这些属性每一个都是一个方法 + let tmpFile=require('./module/'+item.slice(2)); + for(let key in tmpFile){ + let obj=tmpFile[key](); + // console.log(obj); + // 使用mock来捕获(拦截)对应url、type的请求,返回template(template可以是个对象、字符串或者函数) + mock(obj.url,obj.type,obj.template) + } +}) +``` + +### ArticleCategory.vue显示列表 + +``` + getData() { + axios.get("/article/category").then(({ data }) => { + console.log(data); + this.tbData = data.data; + }); + }, +``` + +### ArticleCategory.vue删除数据以及判断是否删除 + +``` + handleDelete(index, row) {{ + this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + console.log(index, row); + axios.delete(`/article/category/${row.id}`).then(({data})=>{ + console.log(data); + this.tbData=this.tbData.filter(item=>{ + return item.id!==data.data.id + }) + }) + this.$message({ + type: 'success', + message: '删除成功!' + + }); + }).catch(() => { + this.$message({ + type: 'info', + message: '已取消删除' + }); + }); + } + }, +``` + + 刷新页面 + + + ``` + handleRefresh() { + this.$message.success("刷新数据成功"); + this.getData(); + } + ``` \ No newline at end of file