import { template } from 'xe-ajax-mock'
template({
'id|number': '1',
'name': 'test 1',
'region|array(1)': ["beijing", "shanghai", "guangzhou", "shenzhen"],
'active|boolean': '1'
'age|number': '30'
})
// {id: 1, name: 'test 1', region: ['shanghai'], active: true, age: 30}
import { template } from 'xe-ajax-mock'
template(['{{ random.repeat("abcdefg",10,20) }}', '{{ random.date("2018-03-04","2018-03-20") }}'])
// ['gbabcdefega', '2018-03-13 14:52:02']
template([{
'id|number': '1',
'name': 'test1',
'region|array(1)': ["beijing", "shanghai", "guangzhou", "shenzhen"],
'active|boolean': '0',
'age|number': '30'
}])
// [{id: 1,name: 'test 0', region: ['guangzhou'], active: false, age: 30}]
$size — получает размер массива. $index — получает индекс массива. $params — получает параметры запроса. $body — получает данные из тела запроса. $pathVariable — получает переменные пути запроса.
import { template } from 'xe-ajax-mock'
template({
'result|array(1-5)': {
'id|number': '{{ $index }}',
'size|number': '{{ $size }}',
'name': '{{ $params.name }}',
'password': '{{ $body.password }}'
}
})
// {
// age: {pageSize: 10, currentPage: 1},
// result: [
// {id: 0, size: 2, name: 'test', password: ''},
// {id: 1, size: 2, name: 'test', password: ''}
// ]
// }
~ Если объект содержит только один атрибут, возвращает соответствующее значение.
import { template } from 'xe-ajax-mock'
template({
'~': {
'id|number': '1',
'name': 'test {{ $index }}',
'region|array(1)': ["beijing", "shanghai", "guangzhou", "shenzhen"],
'active|boolean': '{{ random.num(0,1) }}',
'age|number': '{{ random.num(18,60) }}'
}
})
// {id: 1, name: 'test 0', region: ['shenzhen'], active: true, age: 30}
template({
'~|array(1-2)': {
'id|number': '{{ $index+1 }}',
'name': 'test {{ $index }}',
'region|array(1)': ["beijing", "shanghai", "guangzhou", "shenzen"],
'active|boolean': '{{ random.num(0,1) }}',
'age|number': '{{ random.num(18,60) }}'
}
})
// [{id: 1, name: 'test 0', region: ['shanghai'], active: true, age: 30},
// {id: 2, name: 'test 1', region: ['shenzen'], active: false, age: 42}]
random.num (min, max) — генерирует случайное число в указанном диапазоне.
import { template } from 'xe-ajax-mock'
template({
'age': '{{ random.num(18,60) }}'
})
// {age: '30'}
template({
'ip': '{{ random.num(1,254) }}.{{ random.num(1,254) }}.{{ random.num(1,254) }}.{{ random.num(1,254) }}'
})
// {ip: '147.136.43.175'}
template({
'color': 'rgb({{ random.num(100,120) }}, {{ random.num(140,180) }}, {{ random.num(140,160) }})'
})
// {color: 'rgb(242, 121, 132)'}
random.repeat (array | string, min, max) — случайным образом повторяет содержимое указанное количество раз.
import { template } from 'xe-ajax-mock'
template({
'describe': '{{ random.repeat("abcdefg",10,200) }}'
})
// {describe: 'bacdeggaccedbga'}
template({
'email': '{{ random.repeat("abcdefg",5,20) }}@163.{{ random.repeat(["com","net"],1) }}'
})
// {email: 'abcfdgecee@163.com'}
random.time (startDate, endDate) — генерирует случайную временную метку в заданном диапазоне дат.
import { template } from 'xe-ajax-mock'
template({
'datetime': '{{ random.time("2018-03-04") }}'
})
// {datetime: '1520092800000'}
template({
'datetime': '{{ random.time("2018-03-04","2018-03-20") }}'
})
// {datetime: '1520611200000'}
random.date (startDate, endDate, format) — генерирует случайную дату в заданном диапазоне с указанным форматом.
import { template } from 'xe-ajax-mock'
template({
'dateStr': '{{ random.date("2018-03-04") }}'
})
// {dateStr: '2018-03-04'}
template({
'dateStr': '{{ random.date("2018-03-04",null,"yyyy-MM-dd HH:mm:ss.S") }}'
})
// {dateStr: '2018-03-04 00:00:00.0'}
template({
'dateStr': '{{ random.date("2018-03-04","2018-03-20") }}'
}) ### Пример использования функций template и mixin
```javascript
import { template } from 'xe-ajax-mock'
template({
'dateStr': '{{ random.date("2018-03-04","2018-03-20","yyyy-MM-dd HH:mm:ss.S") }}'
})
// {dateStr: '2018-03-10 10:30:20.500'}
import { template } from 'xe-ajax-mock'
// GET('http://xuliangzhan.com/api/user/list/{pageSize/{currentPage}') ==> XEAjax.fetchGet('api/user/list/10/1')
template({
"page": {
"currentPage|number": "{{ $pathVariable.currentPage }}",
"pageSize|number": "{{ $pathVariable.pageSize }}",
"totalResult|number": "{{ random.num(100,200) }}"
},
"result|array({{ $pathVariable.pageSize }})": {
"id|number": "{{ $index+1 }}",
"name": "test {{ $index }}",
"region|random(1)": ["beijing", "shanghai", "guangzhou", "shenzhen"],
"roles|array(1-3)": ["admin", "developer", "tester", "designer"],
"isLogin|boolean": "{{ random.num(0,1) }}",
"email": "{{ random.repeat('abcdefg',5,20) }}@qq.{{ random.repeat(['com','net'],1) }}",
"color": "rgb(120, {{ random.num(140,180) }}, {{ random.num(140,160) }})",
"ip": "192.168.{{ random.num(1,254) }}.{{ random.num(1,254) }}",
"age|number": "{{ random.num(18,60) }}",
"password": "{{ random.num(100000,999999) }}",
"describe": "{{ random.repeat('abcdefg',10,200) }}",
"createDate": "{{ random.date('2018-01-01','2018-06-20') }}",
"updateTime": "{{ random.time('2018-01-01','2018-06-20') }}"
}
})
import { Mock } from 'xe-ajax-mock'
Mock([{
path: '/api/user',
children: [{
method: 'GET',
path: 'list',
response: {
'~|array(1-3)': {
'id|number': '{{ $index+1 }}',
'name': '{{ random.repeat("abcdefg",4,20) }}'
}
},
}, {
method: 'POST',
path: 'submit',
response: {msg: 'success'},
},
{
method: 'DELETE',
path : 'delete/{id}',
response (request, response) {
response.status = 500
response.body = {msg: 'error'}
return response
}
}])
import { HEAD } from 'xe-ajax-mock'
HEAD('/api/user/head', null)
import { GET } from 'xe-ajax-mock'
GET('/api/user/list', {msg: 'success'})
GET('/api/user/list', (request, response) => {
response.status = 200
response.statusText = 'OK'
response.body = {
'~|array(1-3)': {
'id|number': '{{ $index+1 }}',
'name': '{{ random.repeat("abcdefg",4,20) }}'
}
}
return response
})
GET('/api/user/list/{pageSize}/{currentPage}', (request, response, { pathVariable }) => {
response.body = {
'page': {
'currentPage|number': '{{ $pathVariable.currentPage }}',
'pageSize|number': '{{ $pathVariable.pageSize }}'
},
'result|array(2-5)': {
'id|number': '{{ $index+1 }}',
'name': '{{ random.repeat("abcdefg",4,20) }}'
}
}
return response
})
import { template, POST } from 'xe-ajax-mock'
POST('/api/user/save', {msg: 'success'})
POST('/api/user/save', (request, response) => {
response.body = {msg: 'success'}
return response
})
POST('/api/user/save', (request, response) => {
// 简单模拟后台校验
if (request.params.id) {
response.body = {msg: 'success'}
} else {
response.status = 500
response.body = {msg: 'error'}
}
return response
})
import { PUT } from 'xe-ajax-mock'
PUT('/api/user/update', {msg: 'success'})
PUT('/api/user/update', (request, response) => {
response.status = 500
response.body = {msg: 'error'}
return response
})
import { DELETE } from 'xe-ajax-mock'
DELETE('/api/user/delete/{id}', {msg: 'success'})
DELETE('/api/user/delete/{id}', (request, response) => {
response.body = {msg: 'success'}
return response
})
import {
В данном тексте используется язык JavaScript.
Текст представляет собой фрагмент кода на языке JavaScript, который описывает использование функций template и mixin из библиотеки xe-ajax-mock для создания фиктивных ответов на запросы к API. Также в тексте приводятся примеры использования различных методов HTTP (GET, POST, PUT, DELETE, PATCH) для взаимодействия с API.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )