index.js 2.66 KB
import Mine from './mine';
import Trade from './tradeIncome';
import Favorite from './favorite';
import news from './news';
import Income from './income';
import Coupon from './coupon';
import BindAccount from './bindAccount';
import Strategy from './strategy';

export default [
  {
    name: 'IndexPage',
    path: '/xianyu/index',
    component: () => import(/* webpackChunkName: "index" */ './indexPage/index-page'),
    redirect: { name: 'ChannelPage' },
    props: (route) => {
      let { title } = route.query || {};

      switch (route.name) {
        case 'CategoryPage': {
          return {
            tabIndex: 1,
            title: title || '分类'
          };
        }
        case 'NewsPage': {
          return {
            tabIndex: 2,
            title: title || '消息'
          };
        }
        case 'MinePage': {
          return {
            tabIndex: 3,
            title: title || '我的交易'
          };
        }
        case 'ArticlePage': {
          return {
            tabIndex: 4,
            title: title || '社区'
          };
        }
        default: {
          return {
            tabIndex: 0,
            title: title || '闲鱼潮'
          };
        }
      }
    },
    children: [
      {
        name: 'ChannelPage',
        path: 'channel',
        component: () => import(/* webpackChunkName: "index" */ './channel/channel'),
        props: () => ({
          hideHeader: true,
        }),
      },
      {
        name: 'CategoryPage',
        path: 'category',
        component: () => import(/* webpackChunkName: "index" */ '../category/category'),
        props: () => ({
          hideHeader: true,
        }),
      },
      {
        name: 'NewsPage',
        path: 'news',
        component: () => import(/* webpackChunkName: "index" */ './news/news'),
        props: () => ({
          hideHeader: true,
        }),
      },
      {
        name: 'MinePage',
        path: 'mine',
        component: () => import(/* webpackChunkName: "index" */ './mine/mine'),
        props: () => ({
          hideHeader: true,
        }),
      },
      {
        name: 'ArticlePage',
        path: 'article',
        component: () => import(/* webpackChunkName: "index" */ '../article/article'),
        props: () => ({
          hideHeader: true,
        }),
      }
    ]
  },
  {
    name: 'channel',
    path: '/xianyu/channel',
    component: () => import(/* webpackChunkName: "channel" */ './channel/channel')
  },
  {
    name: 'home',
    path: '/',
    component: () => import(/* webpackChunkName: "channel" */ './channel/channel')
  },
  ...news,
  ...Mine,
  ...Trade,
  ...Favorite,
  ...Income,
  ...Coupon,
  ...BindAccount,
  ...Strategy
];