Original link: https://chegva.com/5600.html
I used mock.js in the project, and it took a lot of time to create data for the first time, but overall it is quite easy to use.
let users = ['anzhihe1', 'anzhihe2', 'atom', 'Messi', 'C.Ronaldo'] Mock.mock({ data: { list: Random.pick(users, 1, 4), // Randomly select 1-4 elements from users to form a new array list } }) Random. extend({ newUsers: users, // The custom placeholder name is newUserArr newUserArr: function (date) { return this.pick(this.newUsers, 1, 4).join(','); } }) const list = Mock.mock({ 'list|20': [{ 'id|+1': 0, 'groupName': '@Groups', 'groupID': '@integer(50,100)', 'resourceName': '@string', 'lbName': '@string', 'domain': '@domain', 'treePath': '@string', 'cloudVendors|1': ['aws', 'aliyun', 'azure', 'ks'], 'region': '@region', 'account': '@word', 'targetHostNumber|0-100': 0, 'maintainer': '@newUserArr', 'remark': '@word(20)', 'createdTime': '@DATETIME', 'updateTime': '@DATETIME', "special": null, //special field }] }) // Mock.mock(RegExp(`${process.env.VUE_APP_API_BASE_URL}/elasticGroups` + '.*'),'get', ({url}) => { // Mock.mock(RegExp('.*'),'get', ({url}) => { Mock.mock(RegExp('/list'), 'get', ({ url }) => { const params = parseUrlParams(decodeURI(url)) let { page, pageSize } = params page = eval(page) - 1 || 0 pageSize = eval(pageSize) || 10 delete params.page delete params. pageSize let result = list.list.filter(item => { for (let [key, value] of Object. entries(params)) { if (item[key] != value) { return false } } return true }) const total = result. length if ((page) * pageSize > total) { result = [] } else { result = result. slice(page * pageSize, (page + 1) * pageSize) } return { code: 200, message: 'success', // data: { // page: page + 1, //pageSize, // total, // list: result // }, data: result, total: total, page: page + 1, pageSize: pageSize } }) // Create a new elastic group Mock.mock(RegExp('/add'), 'post', (parameter) => { let params = JSON. parse(parameter. body); let total = list.list.unshift(params) let result = params return { code: 200, message: 'Added successfully', data: result, total: total } }) // Update elastic group Mock.mock(RegExp('/update'), 'put', (parameter) => { const params = JSON. parse(parameter. body); let result = params list.list = list.list.map(item => { return item.id === params.id ? params : item }) return { code: 200, message: 'Update successful', data: result } }) // Delete elastic group Mock.mock(RegExp('/delete'), 'delete', (parameter) => { const params = JSON. parse(parameter. body); const index = list.list.findIndex(item => item.id === params.id) list. list. splice(index, 1) return { code: 200, message: 'Deleted successfully', data: list.list } }) // Rapid scaling of elastic groups Mock.mock(RegExp('/scale'), 'post', (parameter) => { const params = JSON. parse(parameter. body); console.log(params.id); console. log(params); let result = list.list.map(item => { // let tmp = Object. assign({}, item) return item.id === params.id ? item.targetHostNumber = params.targetHostNumber : item }) return { code: 200, message: 'The rapid expansion and contraction of the elastic group succeeded', data: result } }) const hosts = [ { "instanceId": "i-0fcd93b7dc18", //InstanceID "instanceType": "m5.large", //instance specification "launchTime": "2022-12-02T07:17:22Z", //launch time "privateIpAddress": "10.15.36.18", //private IP "state": "running" //running state }, { "instanceId": "i-0fcdK8627dc19", //InstanceID "instanceType": "m5.large", //instance specification "launchTime": "2022-12-02T07:17:22Z", //launch time "privateIpAddress": "10.15.36.89", //private IP "state": "running" //running state }, { "instanceId": "i-0fcd93K7dc90", //InstanceID "instanceType": "m5.large", //Instance specification "launchTime": "2022-12-02T07:17:22Z", //Launch time "privateIpAddress": "10.15.36.90", //Private IP "state": "shutdown" //running state } ] // Get elastic group host list Mock.mock(RegExp('/describe'), 'get', (parameter) => { const params = JSON. parse(parameter. body); // console.log(params.id); console. log(params); return { code: 0, message: 'success', requestId: "5a38c305-f13d-44b7-af48-9de7396213434a", //request ID data: hosts } }) // Eliminate cloud host Mock.mock(RegExp('/terminate'), 'delete', (parameter) => { const params = JSON. parse(parameter. body); console.log('params', params); let instanceId = params. instanceId for (let id of instanceId) { let index = hosts. findIndex(item => item. instanceId === id) if (index != -1) hosts.splice(index, 1) } return { code: 200, message: 'The instance was deleted successfully', data: hosts } })
This article is transferred from: https://chegva.com/5600.html
This site is only for collection, and the copyright belongs to the original author.