const Mock = require('mockjs') const PROTOCOLS = ['http', 'https', 'MQ', 'FTP'] const APITYPE = ['post', 'get', 'head', 'put', 'delete', 'options', 'trace', 'connect'] const DATATYPE = ['number', 'string', 'boolean', 'array', 'object'] module.exports = [ { url: '/vue-admin-template/gateway/interface/list', type: 'get', response: config => { const data = Mock.mock({ 'items|11': [{ 'id|+1': 1, title: '@word(4, 10)', description: '/api/@word(10,20)/@word(5,10)', 'protocol|1': PROTOCOLS, flag: '@boolean' }] }) const items = data.items return { code: 20000, data: { items: items } } } }, { url: '/vue-admin-template/gateway/limit/list', type: 'get', response: config => { const data = Mock.mock({ 'items|11': [{ 'id|+1': 1, title: '@word(4, 10)', visitTimes: '@natural(0, 30000)', visitDuration: '@natural(0, 100)', inBlacklist: '@boolean', flag: '@boolean' }] }) const items = data.items return { code: 20000, data: { items: items } } } }, { url: '/vue-admin-template/gateway/circuit-break/list', type: 'get', response: config => { const data = Mock.mock({ 'items|11': [{ 'id|+1': 1, title: '@word(4, 10)', circuitBreakDuration: '@natural(1, 100)', timeoutPeriod: '@natural(1, 100)', circuitBreakStandard: '@natural(1, 10)', interfaceBinding: '@natural(0, 10)', flag: '@boolean' }] }) const items = data.items return { code: 20000, data: { items: items } } } }, { url: '/vue-admin-template/gateway/document/list', type: 'get', response: config => { const data = Mock.mock({ 'items|11': [{ 'id|+1': 265912187337729, name: '/api/@word(10,20)/@word(5,10)', 'protocol|1': PROTOCOLS, 'type|1': APITYPE, time: '@datetime("yyyy/MM/dd HH:mm:ss")', method() { return this.name }, description() { return this.name }, params: { 'input|0-2': [ { name: '@word(4,10)', 'type|1': DATATYPE, length: '@natural(1,100)', default() { switch (this.type) { case 'number': return 1 case 'string': return 'AAA' case 'boolean': return 'true' case 'array': return '[]' case 'object': return '{}' } }, reference: '无', required: '@boolean', superior: '', description: '@csentence' } ], 'output|0-2': [ { name: '@word(4,10)', 'type|1': DATATYPE, length: '@natural(1,100)', default() { switch (this.type) { case 'number': return 1 case 'string': return 'AAA' case 'boolean': return 'true' case 'array': return '[]' case 'object': return '{}' } }, reference: '无', superior: '', description: '@csentence' } ] } }] }) const items = data.items return { code: 20000, data: { items: items } } } } ]