import type { MockMethod } from 'vite-plugin-mock'
import { Random } from 'mockjs'
import { Response } from '../_util'

function getRandomPics(count = 10): string[] {
    const arr: string[] = []
    for (let i = 0; i < count; i++) {
        arr.push(Random.image('800x600', Random.color(), Random.color(), Random.title()))
    }
    return arr
}

const demoList = (() => {
    const result: any[] = []
    for (let index = 0; index < 200; index++) {
        result.push({
            id: `${index}`,
            beginTime: '@datetime',
            endTime: '@datetime',
            address: '@city()',
            name: '@cname()',
            name1: '@cname()',
            name2: '@cname()',
            name3: '@cname()',
            name4: '@cname()',
            name5: '@cname()',
            name6: '@cname()',
            name7: '@cname()',
            name8: '@cname()',
            avatar: Random.image('400x400', Random.color(), Random.color(), Random.first()),
            imgArr: getRandomPics(Math.ceil(Math.random() * 3) + 1),
            imgs: getRandomPics(Math.ceil(Math.random() * 3) + 1),
            date: `@date('yyyy-MM-dd')`,
            time: `@time('HH:mm')`,
            'no|100000-10000000': 100000,
            'status|1': ['normal', 'enable', 'disable'],
        })
    }
    return result
})()

export default [
    {
        url: '/basic-api/table/getDemoList',
        timeout: 100,
        method: 'get',
        response: () => {
            return Response.ok({
                data: demoList,
                total: demoList.length,
            })
        },
    },
] as MockMethod[]
