routes.js 950B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. const routes = [
  2. /**********************************
  3. * Tab 页面
  4. *********************************/
  5. {
  6. name: '登录',
  7. page: 'pages/login/index',
  8. pkg: 'main',
  9. isTab: true,
  10. type: 'main',
  11. shortcut: {
  12. chat: false,
  13. consultant: true,
  14. },
  15. // auth: ['phone', 'avatar']
  16. },
  17. ]
  18. /**
  19. * 获取 app pages 列表
  20. */
  21. function getPages () {
  22. const grp = routes.reduce((g, r) => {
  23. const { pkg, page } = r
  24. const pg = g[pkg] || []
  25. return Object.assign(g, {
  26. [`${pkg}`]: pg.concat(page),
  27. })
  28. }, {});
  29. const pages = grp.main;
  30. const subPackages = Object.keys(grp).filter(x => x !== 'main').reduce(((pkg, key) => {
  31. return pkg.concat({
  32. root: key,
  33. pages: grp[key],
  34. })
  35. }), [])
  36. return {
  37. pages,
  38. subPackages,
  39. }
  40. }
  41. // eslint-disable-next-line import/no-commonjs
  42. module.exports = {
  43. routes,
  44. getPages,
  45. };