| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- import Mock from 'mockjs'
- import { MockMethod } from 'vite-plugin-mock'
- const codeData = Mock.mock({
- 'data|15-20': [
- {
- id: '@id',
- shipName: '@shipNames',
- shipCode: '@integer(10000, 10100)',
- areaCode: '@integer(1000, 2010)'
- }
- ]
- }).data
- const data = [
- ...Mock.mock({
- 'data|150-200': [
- {
- id: '@id',
- shipId: `@pick("${codeData.map((v: any) => v.id).join('","')}")`,
- userName: '@cname',
- userCode: '@integer(1000, 2000)'
- }
- ]
- }).data
- ]
- const mockMethodNine: MockMethod[] = [
- {
- url: '/mock/api/nine/code',
- method: 'get',
- timeout: 1000,
- response: () => {
- return {
- code: '0',
- data: codeData
- }
- }
- },
- {
- url: '/mock/api/nine/user',
- method: 'get',
- timeout: 1000,
- response: ({ query }: { query: any }) => {
- const id = query.shipId || codeData[0]?.id
- const shipName = codeData.find((f: any) => f.id === id).shipName
- return {
- code: '0',
- data: data.filter(({ shipId }) => shipId === id).map((v) => ({ ...v, shipName }))
- }
- }
- },
- {
- url: '/mock/api/nine/code/save',
- method: 'post',
- timeout: 1000,
- response: ({ body }: { body: any }) => {
- updateData(codeData, body)
- return {
- code: '0'
- }
- }
- },
- {
- url: '/mock/api/nine/code/del',
- method: 'post',
- timeout: 1000,
- response: ({ body }: { body: any }) => {
- deleteData(codeData, body.id)
- return {
- code: '0'
- }
- }
- },
- {
- url: '/mock/api/nine/user/save',
- method: 'post',
- timeout: 1000,
- response: ({ body }: { body: any }) => {
- updateData(data, body)
- return {
- code: '0'
- }
- }
- },
- {
- url: '/mock/api/nine/user/del',
- method: 'post',
- timeout: 1000,
- response: ({ body }: { body: any }) => {
- console.log(body)
- deleteData(data, body.id)
- return {
- code: '0'
- }
- }
- }
- ]
- function deleteData(data: any[], id: string) {
- const ids: string[] = [id]
- console.log(ids)
- ids.forEach((i) => {
- const index = data.findIndex((d) => d.id === i)
- data.splice(index, 1)
- })
- }
- function updateData(data: any[], params: any) {
- let index = data.length
- if (params.id) {
- index = data.findIndex((f) => f.id === params.id)
- }
- data[index] = params
- }
- export default mockMethodNine
|