config.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. export const baseConfig = {
  2. h5: {
  3. rewriteFun: true, // 是否对uni-app reLaunch/navigateBack 两个方法重写 处理uni刷新直接返回到首页和触发路由守卫
  4. paramsToQuery: false, // h5端上通过params传参时规则是vue-router 刷新会丢失 开启此开关将变成?连接的方式
  5. loading: true, // 是否显示加载动画
  6. hinderTab: false, // 是否拦截uni-app自带底部菜单 TODO
  7. vueRouterDev: false, // 完全使用采用vue-router的开发模式
  8. useUniConfig: true, // 是否采用在pages.json下的所有页面配置信息,false时需开发者自行设置页面
  9. keepUniIntercept: false, // 保留uni-app使用vue-router的拦截器
  10. vueNext: false, // 在next管道函数中是否获取vueRouter next的原本参数
  11. replaceStyle: false, // 是否对resetStyle函数中返回的style节点进行全部替换,否则为追加
  12. resetStyle: () => JSON.parse('{}'), // 自定义加载样式函数 可返回一个包涵 html、style、script 的对象来重置Router内置的加载动画
  13. mode: 'hash',
  14. base: '/',
  15. linkActiveClass: 'router-link-active',
  16. linkExactActiveClass: 'router-link-exact-active',
  17. scrollBehavior: (to, from, savedPostion) => savedPostion,
  18. fallback: true,
  19. },
  20. APP: {
  21. holdTabbar: true, // 是否开启底部菜单拦截
  22. loddingPageStyle: () => JSON.parse('{"backgroundColor":"#FFF"}'), // 当前等待页面的样式 必须返回一个json
  23. loddingPageHook: (view) => { plus.navigator.closeSplashscreen(); view.show(); }, // 刚刚打开页面处于等待状态,会触发此事件
  24. animation: { animationType: 'pop-in', animationDuration: 300 }, // 页面切换动画
  25. switchPageOutTime: 1000, // 最高能忍耐的页面切换时间 达到此时间 不管切换有没有完成都会显示页面出来 这对启动页帮助很大
  26. },
  27. debugger: false, // 是否处于开发阶段 设置为true则打印日志
  28. encodeURI: true, // 是否对url传递的参数进行编码
  29. routerBeforeEach: () => {}, // router 前置路由函数 每次触发跳转前先会触发此函数
  30. routerAfterEach: () => {}, // router 后置路由函数 每次触发跳转后会触发此函数
  31. routes: [],
  32. };
  33. export const methods = {
  34. push: 'navigateTo',
  35. replace: 'redirectTo',
  36. replaceAll: 'reLaunch',
  37. pushTab: 'switchTab',
  38. back: 'navigateBack',
  39. };
  40. export const H5FnTypeToggle = {
  41. push: 'push',
  42. replace: 'replace',
  43. replaceAll: 'replace',
  44. pushTab: 'replace',
  45. };
  46. export const lifeCycle = {
  47. beforeHooks: [],
  48. afterHooks: [],
  49. routerHooks: [],
  50. routerbeforeHooks: [], // 内部跳转前生命周期
  51. routerAfterHooks: [], // 内部跳转后生命周期
  52. };
  53. export const Global = { // 缓存一些必要的对象,作为全局可以访问的参数
  54. $parseQuery: null, // url query 帮助类实例
  55. Router: {},
  56. vueRouter: {},
  57. addedRoutes: [], // 用于缓存用户动态添加的路由
  58. RouterReadyPromise: () => {},
  59. H5RouterReady: null, // 当前router是否就绪
  60. backLayerC: 1, // 返回api调用时开发者传递的 delta
  61. LockStatus: false, // 当前是否正在进行跳转 正在跳转调用api是不给跳转的
  62. };
  63. export const uniAppHook = {
  64. indexVue: {}, // 首页 组件对象
  65. toutiaoIndexThis: {}, // 头条小程序Index this对象
  66. appVue: {}, // 同getApp()获取到的对象一毛一样的 其实就是app.vue组件
  67. onLaunch: { fun: [], args: {}, isHijack: false }, // 这两个是app.vue
  68. onShow: { fun: [], args: {}, isHijack: false },
  69. variationFuns: ['onReady', 'onUnload'], // 一些uni-app的变异方法 需要处理下
  70. waitHooks: {}, // 首页等待中的生命钩子 一些需要等待的Hooks,就是在页面没有进来之前一些提前触发的生命钩子 主要是用户已经声明好的
  71. indexCallHooks: ['onLoad', 'onReady', 'created', 'onShow'], // 在首页首次启动时需要触发的生命周期
  72. needHooks: ['onLoad', 'onReady', 'onShow', 'created', 'onHide', 'onUnload', 'onResize'], // 首页需要拦截的生命钩子
  73. pageReady: false,
  74. onLaunched: false, // 否触发onLaunch事件
  75. };
  76. export const appletsConfig = { // 小程序端的一些路由所需配置
  77. onLaunchEd: false, // 当前小程序端是否触发onLaunch事件
  78. };
  79. export const route = function (object = {}) {
  80. return {
  81. ...object,
  82. params: {},
  83. query: {},
  84. };
  85. };