router.js 6.86 KB
import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)
const whiteList = [
  '/login', // 登录页面
  '/register', // 注册页面
  // ...其他不需要登录的路由
];
const router = new Router({
	 mode: 'history', // 使用history模式
  routes: [
    {
      path: '/home',
      name: 'home',
      component: () => import('@/pages/home/home.vue'),
      meta: {
        navigationStyle: 'custom'
      }
    },
    {
      path: '/login',
      name: 'login',
      component: () => import('@/pages/login/login.vue'),
      meta: {
        navigationBarTitleText: '登录',
        navigationBarBackgroundColor: '#FFFFFF'
      }
    },
	{
	  path: '/my',
	  name: 'my',
	  component: () => import('@/pages/my/my.vue'),
	  meta: {
	     navigationStyle: 'custom'
	  }
	},
	
	{
	  path: '/apply',
	  name: 'apply',
	  component: () => import('@/pages/apply/apply.vue'),
	  meta: {
	    navigationBarTitleText: '申请记录',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/shops',
	  name: 'shops',
	  component: () => import('@/pages/shops/shops.vue'),
	  meta: {
	    navigationBarTitleText: '租商铺',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/applyDetail',
	  name: 'applyDetail',
	  component: () => import('@/pages/applyDetail/applyDetail.vue'),
	  meta: {
	    navigationBarTitleText: '详情',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/message',
	  name: 'message',
	  component: () => import('@/pages/message/message.vue'),
	  meta: {
	    navigationStyle: 'custom'
	  }
	},
	{
	  path: '/field',
	  name: 'field',
	  component: () => import('@/pages/field/field.vue'),
	  meta: {
	    navigationBarTitleText: '租场地',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/advertisement',
	  name: 'advertisement',
	  component: () => import('@/pages/advertisement/advertisement.vue'),
	  meta: {
	    navigationBarTitleText: '租广告',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/details',
	  name: 'details',
	  component: () => import('@/pages/details/details.vue'),
	  meta: {
	    navigationBarTitleText: '详情',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/leaseAdd',
	  name: 'leaseAdd',
	  component: () => import('@/pages/leaseAdd/leaseAdd.vue'),
	  meta: {
	    navigationBarTitleText: '申请租赁',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/recordService',
	  name: 'recordService',
	  component: () => import('@/pages/recordService/recordService.vue'),
	  meta: {
	    navigationBarTitleText: '服务记录',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/activityAdd',
	  name: 'activityAdd',
	  component: () => import('@/pages/activityAdd/activityAdd.vue'),
	  meta: {
	    navigationBarTitleText: '活动申请',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/complaint',
	  name: 'complaint',
	  component: () => import('@/pages/complaint/complaint.vue'),
	  meta: {
	    navigationBarTitleText: '投诉建议',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/repair',
	  name: 'repair',
	  component: () => import('@/pages/repair/repair.vue'),
	  meta: {
	    navigationBarTitleText: '故障报修',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/advertisementTime',
	  name: 'advertisementTime',
	  component: () => import('@/pages/advertisementTime/advertisementTime.vue'),
	  meta: {
	    navigationBarTitleText: '租赁时段选择',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/advertisementAdd',
	  name: 'advertisementAdd',
	  component: () => import('@/pages/advertisementAdd/advertisementAdd.vue'),
	  meta: {
	    navigationBarTitleText: '申请',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/participation',
	  name: 'participation',
	  component: () => import('@/pages/participation/participation.vue'),
	  meta: {
	    navigationBarTitleText: '活动参与',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/questionnaire',
	  name: 'questionnaire',
	  component: () => import('@/pages/questionnaire/questionnaire.vue'),
	  meta: {
	    navigationBarTitleText: '问卷调查',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/createQuestionnaire',
	  name: 'createQuestionnaire',
	  component: () => import('@/pages/createQuestionnaire/createQuestionnaire.vue'),
	  meta: {
	    navigationBarTitleText: '创建问卷',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/mycreated',
	  name: 'mycreated',
	  component: () => import('@/pages/mycreated/mycreated.vue'),
	  meta: {
	    navigationBarTitleText: '我创建的活动',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/record',
	  name: 'record',
	  component: () => import('@/pages/record/record.vue'),
	  meta: {
	    navigationBarTitleText: '申请记录',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/accepting',
	  name: 'accepting',
	  component: () => import('@/pages/accepting/accepting.vue'),
	  meta: {
	    navigationBarTitleText: '详情',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/servicerecords',
	  name: 'servicerecords',
	  component: () => import('@/pages/servicerecords/servicerecords.vue'),
	  meta: {
	    navigationBarTitleText: '服务记录',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/servicedetails',
	  name: 'servicedetails',
	  component: () => import('@/pages/servicedetails/servicedetails.vue'),
	  meta: {
	    navigationBarTitleText: '详情',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/application',
	  name: 'application',
	  component: () => import('@/pages/application/application.vue'),
	  meta: {
	    navigationBarTitleText: '推广方案申请',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
	{
	  path: '/projectManagement',
	  name: 'projectManagement',
	  component: () => import('@/pages/projectManagement/projectManagement.vue'),
	  meta: {
	    navigationBarTitleText: '推广方案管理',
	    navigationBarBackgroundColor: '#FFFFFF'
	  }
	},
    // ...其他路由配置
    {
      path: '/mycreated',
      name: 'mycreated',
      component: () => import('@/pages/mycreated/mycreated.vue'),
      meta: {
        navigationBarTitleText: '我创建的活动',
        navigationBarBackgroundColor: '#FFFFFF'
      }
    },
    // ...其他路由配置
  ]
})

router.beforeEach((to, from, next) => {
  // 检查目标页面是否在白名单中
  let token = uni.getStorageSync('token');
  if (whiteList.includes(to.path)) {
    // 如果在白名单中,直接放行
    next();
  } else {
    // 如果不在白名单中,检查用户是否登录
    if (token) {
      // 如果已登录,继续跳转到目标页面
      next();
    } else {
      // 如果未登录,跳转到登录页面
      next({ path: '/login' });
    }
  }
});
export default router