Skip to content
Snippets Groups Projects
article.js 2.18 KiB
Newer Older
  • Learn to ignore specific revisions
  • Pan's avatar
    Pan committed
    import Mock from 'mockjs'
    
    Pan's avatar
    Pan committed
    import { param2Obj } from '@/utils'
    
    Pan's avatar
    Pan committed
    
    
    Pan's avatar
    Pan committed
    const List = []
    
    Pan's avatar
    Pan committed
    const count = 100
    
    Pan's avatar
    Pan committed
    
    for (let i = 0; i < count; i++) {
      List.push(Mock.mock({
    
    Pan's avatar
    Pan committed
        id: '@increment',
        timestamp: +Mock.Random.date('T'),
    
    花裤衩's avatar
    花裤衩 committed
        author: '@first',
        reviewer: '@first',
        title: '@title(5, 10)',
    
    Pan's avatar
    Pan committed
        forecast: '@float(0, 100, 2, 2)',
        importance: '@integer(1, 3)',
        'type|1': ['CN', 'US', 'JP', 'EU'],
        'status|1': ['published', 'draft', 'deleted'],
    
    Pan's avatar
    Pan committed
        display_time: '@datetime',
        pageviews: '@integer(300, 5000)'
    
    Pan's avatar
    Pan committed
      }))
    
    Pan's avatar
    Pan committed
    }
    
    export default {
    
    Pan's avatar
    Pan committed
      getList: config => {
        const { importance, type, title, page = 1, limit = 20, sort } = param2Obj(config.url)
    
        let mockList = List.filter(item => {
          if (importance && item.importance !== +importance) return false
          if (type && item.type !== type) return false
          if (title && item.title.indexOf(title) < 0) return false
          return true
        })
    
        if (sort === '-id') {
          mockList = mockList.reverse()
        }
    
        const pageList = mockList.filter((item, index) => index < limit * page && index >= limit * (page - 1))
    
        return {
          total: mockList.length,
          items: pageList
        }
      },
      getPv: () => ({
    
    花裤衩's avatar
    花裤衩 committed
        pvData: [{ key: 'PC', pv: 1024 }, { key: 'mobile', pv: 1024 }, { key: 'ios', pv: 1024 }, { key: 'android', pv: 1024 }]
    
    Pan's avatar
    Pan committed
      }),
    
    Pan's avatar
    Pan committed
      getArticle: () => ({
        id: 120000000001,
        author: { key: 'mockPan' },
        source_name: '原创作者',
        category_item: [{ key: 'global', name: '全球' }],
    
    Pan's avatar
    Pan committed
        comment_disabled: true,
    
    Pan's avatar
    Pan committed
        content: '<p>我是测试数据我是测试数据</p><p><img class="wscnph" src="https://wpimg.wallstcn.com/4c69009c-0fd4-4153-b112-6cb53d1cf943" data-wscntype="image" data-wscnh="300" data-wscnw="400" data-mce-src="https://wpimg.wallstcn.com/4c69009c-0fd4-4153-b112-6cb53d1cf943"></p>"',
        content_short: '我是测试数据',
        display_time: +new Date(),
        image_uri: 'https://wpimg.wallstcn.com/e4558086-631c-425c-9430-56ffb46e70b3',
        platforms: ['a-platform'],
        source_uri: 'https://github.com/PanJiaChen/vue-element-admin',
        status: 'published',
        tags: [],
    
    Pan's avatar
    Pan committed
        title: 'vue-element-admin'
    
    Pan's avatar
    Pan committed
      }),
      createArticle: () => ({
        data: 'success'
      }),
      updateArticle: () => ({
        data: 'success'
    
    Pan's avatar
    Pan committed
      })
    
    Pan's avatar
    Pan committed
    }