当前位置: 首页 > Web前端 > HTML5

Vue+Mock.js模拟登录和表单增删改查

时间:2023-04-04 23:11:41 HTML5

前言关于mockjs,官网介绍1.前后端分离2.无需修改现有代码,可以拦截Ajax请求并返回模拟响应数据。3.丰富的数据类型4.通过随机数据模拟各种场景。5项目不怪(后端提供接口的话可能会怪)等优点,我加在最后一个。第一步是安装mock.jsnpminstallmockjs--save-dev第二步是使用mock.jsimportMockfrom'mockjs'并在任何使用的地方导入它。我在项目src/mock/index.js中使用mock.js。详情请参考官方文档。重点一:Mock.mock()Mock.mock(rurl?,rtype?,template|function(options))这里的参数都是可选的:rurl(可选)。表示要拦截的URL,可以是URL字符串,也可以是常规URL。例如//domain/list.json/,'/domian/list.json'。类型(可选)。表示需要拦截的Ajax请求类型。例如GET、POST、PUT、DELETE等模板(可选)。表示一个数据模板,可以是一个对象,也可以是一个字符串。例如{'data|1-10':[{}]},'@EMAIL'。功能(选项)(可选)。表示用于生成响应数据的函数。options:指向为此请求设置的Ajax选项。重点2:模板生成语法:数据模板中的每个属性由3部分组成:属性名,生成规则,属性值://属性名名称//生成规则规则//属性值value'name|rule':竖条|用于分隔值属性名称和生成规则。生成规则是可选的。生成规则有7种格式:'name|min-max':value'name|count':value'name|min-max.dmin-dmax':value'name|min-max.dcount':value'name|count.dmin-dmax':value'name|count.dcount':value'name|+step':value`生成规则的含义取决于属性值的类型来确定。属性值可以包含@占位符。属性值还指定了初始值和最终值的类型。举个栗子:栗子1://string表示属性名//3表示后面的属性值重复的次数Mock.mock({"string|3":"★"})result://的次数starsis3{"string":"★★★"}栗子2://num为属性名//生成一个大于等于1小于等于100的整数,属性值100只用判断类型Mock.mock({"num|1-100":100})Result{"number":8}Othersettings//设置全局延迟如果没有延迟,有时会检测不到数据变化.建议保留Mock.setup({timeout:'300-600'})模拟登录//模拟登录用户/登录界面,对应函数为loginByUsernameMock.mock(/\/user\/login/,'post',loginByUsername)调用登录接口user/login时,会自动对应函数loginByUsername执行该函数,该函数会返回登录是否成功。返回成功数据表示登录成功,否则相反。mock模拟登录ok接下来介绍mock表的增删改查。其实都差不多//User-relatedMock.mock(/\/user\/listpage/,'get',getUserList)//模拟页面查询用户信息接口Mock.mock(/\/user\/remove/,'get',deleteUser)//模拟删除用户信息接口Mock.mock(/\/user\/add/,'get',createUser)//模拟添加用户信息接口Mock.mock(/\/user\/edit/,'get',updateUser)//模拟编辑用户信息接口只是返回条件查询后的假数据集合,假数据是通过mock.js模拟出来的。首先循环添加60个假用户letList=[]constcount=60for(leti=0;i{const{name,page=1,limit=20}=param2Obj(config.url)constmockList=List.filter(user=>{if(name&&user.name.indexOf(name)===-1)返回false返回true})constpageList=mockList。filter((item,index)=>index=limit*(page-1))return{code:0,data:{total:mockList.length,users:pageList}}}关于添加,删除和修改,只需要返回一条数据信息=“操作成功”。第三步将我们刚才写的src/mock/index.js引入main.jsimport'./mock'//模拟数据路径index.js可以省略至此集成完成。.老司机连忙上车,来不及解释。溜走。笔者相关的Vue文章都是基于Vue2.0实现后台系统权限控制。前端文档总结