暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用Mock来模拟响应式API

一一小知 2021-06-24
772

我们使用的是EasyMock来模拟数据,网站:https://easy-mock.com

编辑接口如下:

输入内容:

{
 code: function({
   _req
 }) {
   let username = _req.query.username.trim()
   let password = _req.query.password.trim()
   let token = _req.query.token.trim()
   if (username.length > 0 && password.length > 0 && token.length > 0) {
     if (username === 'admin' && password === 'admin' && token === 'admin') {
       return 20000
     }
   }
   return 50000
 },
 data: function({
   _req,
   Mock
 }) {
   let username = _req.query.username.trim()
   let password = _req.query.password.trim()
   let token = _req.query.token.trim()
   if (username.length > 0 && password.length > 0 && token.length > 0) {
     if (username === 'admin' && password === 'admin' && token === 'admin') {
       return Mock.mock({
         "roles": [
           "admin"
         ],
         "name": "admin",
         "avatar": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
       })
     }
   }
   return '登录失败'
 }
}

如上的接口模拟数据中,一部分是模拟响应式数据。如上的接口可以对如下的接口请求参数进行判断和响应。

  • 模拟错误的请求(将username、password、token其中任意一个不匹配):

https://easy-mock.com/mock/5c45504832a47545ea4c37cf/base/user/info?password=admin&username=admin&token=admintest

响应:

{
   "code": 50000,
   "data": "登录失败"
}


  • 模拟正确的请求(username、password、token的值都是admin):

https://easy-mock.com/mock/5c45504832a47545ea4c37cf/base/user/info?password=admin&username=admin&token=admin

响应:

{
   "code": 20000,
   "data": {
       "roles": [
           "admin"
       ],
       "name": "admin",
       "avatar": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
   }
}


Mock语法参考:

Mock.js 1.0 Wiki:https://github.com/nuysoft/Mock/wiki


题外

JavaScript代码debug

.vscode
文件夹中新建launch.json,设置内容如下:

{
   "version": "0.2.0",
   "configurations": [
       {
           "name": "Launch",
           "type": "node",
           "request": "launch",
           "program": "${workspaceRoot}/test.js",
           "stopOnEntry": false,
           "args": [],
           "cwd": "${workspaceRoot}",
           "runtimeExecutable": null,
           "runtimeArgs": [
               "--nolazy"
           ],
           "env": {
               "NODE_ENV": "development"
           },
           "externalConsole": false,
           "preLaunchTask": "",
           "sourceMaps": false,
           "outDir": null
       },
       {
           "name": "Attach",
           "type": "node",
           "request": "attach",
           "port": 5858
       }
   ]
}


VS Code debug(PHP, Ruby, Go, C#, Python, C++, Powershell and many others)更详细的配置参考网址:https://code.visualstudio.com/docs/editor/debugging

test.js内容如下:

var msg = '  test    '
kongge1(msg)
/* 使用String.trim()函数,来判断字符串是否全为空*/
function kongge1(test) {
   let str = test.trim().length;
   if (str.length == 0) {
       console.log('字符串全是空格');
   } else {
       console.log('输入的字符串为:' + test);
   }
}

输出log如下:



文章转载自一一小知,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论